Opened 18 years ago

Closed 17 years ago

Last modified 15 years ago

#7613 closed defect (fixed)

BUG: Building rpm from spec fails when "Processing files"

Reported by: giulio.eulisse@… Owned by: n3npq@…
Priority: Normal Milestone:
Component: ports Version: 1.2
Keywords: Cc: markd@…
Port:

Description

building (rpmbuild -ba spec) a package with the following spec file fails when rpmbuild says "Processing files" (with no further message).

---

# DO NOT EDIT! This file was automatically generated with IGUANA's # install.sh. To change this file, edit the appropriate part of # Ig_Infrastructure/IgBuildScripts/src/install.sh, not this spec.

%define pkgname uuid %define pkgversion 1.38 %define pkgcategory external %define instroot /Users/ktf/Utilities/BuildScripts %define gccver 3.2.3 ### FILE rpm-preamble

# Preliminarily define where things go. These are the places we # know even without knowing the architecture yet. In particular # we need %_specdir to find "cmsos" to determine the architecture. # Note that we define the values all here, but some of them are # not actually usable until we've managed to defined %cmsplatf. # # "instroot" is the root of the private RPM package tree, it gets # both the RPM database as well as all the packages into it. It # also has all the RPM standard dirs in it: SPECS, SOURCES, BUILD, # RPMS, SRPMS. However we fudge those significantly to make sure # there is no chance data from packages or different platforms can # ever mix. # # Under the "instroot" there are other subtrees: external, lcg, cms. # External software is installed under the first, while LHC software # releases go under the others. Which tree is used is determined by # install.sh from the group the spec belongs to. # # The default installation root is "/cms". This can be changed, # e.g. from RPM command line, but currently only up to producing # binary RPMs. The binaries are not relocatable (yet?). %if "%{?instroot:set}" != "set" %define instroot /cms %endif

%define pkgdir %{pkgcategory}/%{pkgname}/%{pkgversion}

# Architecture comes first by default. Run with "--define 'archfirst no'" # to change this. %if "%{?archfirst:set}" != "set" %define archfirst yes %endif

%if "%archfirst" == "yes" %define pkgrel %{cmsplatf}/%{pkgdir} %else %define pkgrel %{pkgdir}/%{cmsplatf} %endif

%define pkginstroot %{instroot}/%{pkgrel}

#define _rpmdbdir %{instroot}/RPMDB %define _sourcedir %{instroot}/SOURCES/%{pkgdir} %define _builddir %{instroot}/BUILD/%{cmsplatf}/%{pkgdir} %define _specdir %{instroot}/SPECS/%{pkgdir} %define _rpmdir %{instroot}/RPMS %define _srcrpmdir %{instroot}/SRPMS %define _tmppath %{instroot}/tmp %define _topdir %{instroot}

%define _rpmfilename %{cmsplatf}/%{pkgcategory}+%{pkgname}+%{pkgversion}-%{version}-%{release}.%{cmsplatf}.rpm

# Force use of system gcc on darwin. Set/unset as necessary -- but # then make sure the right compiler gets picked up in the environment # by setting $PATH and $LD_LIBRARY_PATH correctly. %ifos darwin %define use_system_gcc yes %endif

# FIXME: Support other compilers %define cmscompiler gcc

# Guess compiler version. "gccver" is defined by install.sh when # producing the spec file from the version of the gcc spec. %if "%cmscompiler" == "gcc" %if "%use_system_gcc" == "yes" %{expand:%%define cmscompilerv %(gcc --version | head -1 | cut -d' ' -f3 | cut -d. -f1,2 | tr -d .)} %else %{expand:%%define cmscompilerv %(echo %gccver | cut -d. -f1,2 | tr -d .)} %endif %endif

# Define compiler platform version strings. We use an external # script to determine platform name as RPM doesn't support multi- # line macros in spec files, only in "rpmmacros" files. %define cmscomp %{cmscompiler}%{cmscompilerv} %{expand:%%define cmsos %(sh %_specdir/cmsos)} %define cmsplatf %{cmsos}_%{cmscomp}

# We are now done with locations. Move to other things.

# Disable for Fedora %define check_files %{nil} %define debug_package %{nil}

# define ARCH %{cmsplatf}? # No BuildRoot # No %buildsubdir # No Distribution: # No DistURL: # No %_excludedocs # No Packager: # No Provides: # FIXME need %make -> gmake/make as appropriate?

# This little magic incantation figures out "Requires" from this # spec itself. This allows us to handle (see below) those and # only those packages the build on this platform actually needs. # We protect against recursive expansion of "pkgreqs", otherwise # this is pretty obvious -- it works because of strict control # over directories so we always know where our spec file is. %if "%norecurse" != "yes" %{expand:%%define pkgreqs %%{nil}%(rpm --define "norecurse yes" -q -R --specfile %_specdir/spec | sed '/(none)/d' | perl -p -e 'chomp; print " "'; echo)} %endif

# Define a little helper scriptlet to source package inits from other # packages. This allows cross-package environment setup to work while # building. See above how we determine the list by parsing the spec # itself. %if "%archfirst" == "yes" %define initenv for x in %{pkgreqs} .; do i=%{instroot}/%{cmsplatf}/$(echo $x | sed 's/
([+]*
)+
(.*
)+
([A-Z0-9].*
)/
1
2
3/' | tr ' ' '/')/etc/profile.d/init.sh; [ -f $i ] && . $i; done %else %define initenv for x in %{pkgreqs} .; do i=%{instroot}/$(echo $x | sed 's/
([
+]*
)+
(.*
)+
([A-Z0-9].*
)/
1
2
3/' | tr ' ' '/')/%{cmsplatf}/etc/profile.d/init.sh; [ -f $i ] && . $i; done %endif

%if "%{?compiling_processes:set}" == "set" %define makeprocesses -j %compiling_processes %else %define makeprocesses %{nil} %endif ### RPM external uuid 1.38 # Patches by Lassi A. Tuura <lat@…> (FIXME: contribute to e2fsprogs) Source: http://switch.dl.sourceforge.net/sourceforge/e2fsprogs/e2fsprogs-%{pkgversion}.tar.gz

#Patch0: uuid #Patch1: uuid-osx

Name: external+uuid+1.38 Version: 1 Release: 1 Summary: CMS Software Package uuid version 1.38 License: Unknown Group: external Packager: CMS <cms-orca-developers@…> Distribution: CMS Vendor: CMS Prefix: %{pkginstroot} Obsoletes: external+uuid+1.38 Provides: external+uuid+1.38 %if "%{?use_system_gcc:set}" != "set" Requires: external+gcc+3.2.3 %endif %if "%{?use_distcc:set}" == "set" Requires: +distcc+ %endif %if "%{?use_ccache:set}" == "set" Requires: +ccache+ %endif

%description No description

%prep %initenv [ -d %{pkginstroot} ] && chmod -R u+w %{pkginstroot} rm -fr %{pkginstroot} %setup -n e2fsprogs-%{pkgversion} #%patch0 #%ifos darwin #%patch1 #endif

%build %initenv

true
exit 0

./configure $([ $(uname) != Darwin ] && echo --enable-elf-shlibs) --prefix=%{pkginstroot} make lib/ext2fs/ext2_types.h cd lib/uuid make

%install %initenv mkdir -p %{pkginstroot}

true
exit 0

mkdir -p %{pkginstroot}/lib mkdir -p %{pkginstroot}/include cd lib/uuid make install mkdir -p %{pkginstroot}/etc/profile.d cat <<\EOF > %{pkginstroot}/etc/profile.d/init.sh PATH="%{pkginstroot}/bin"${PATH+":$PATH"}; export PATH LD_LIBRARY_PATH="%{pkginstroot}/lib"${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}; export LD_LIBRARY_PATH DYLD_LIBRARY_PATH="%{pkginstroot}/lib"${DYLD_LIBRARY_PATH+":$DYLD_LIBRARY_PATH"}; export DYLD_LIBRARY_PATH UUID_ROOT="%{pkginstroot}"; export UUID_ROOT UUID_VERSION="%{pkgversion}"; export UUID_VERSION EOF

%files %{pkginstroot}

Attachments (1)

rpm-port.patch (1.3 KB) - added by giulio.eulisse@… 17 years ago.
my fix for the problem.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 18 years ago by mww@…

Owner: changed from darwinports-bugs@… to n3npq@…
Summary: Building rpm from spec fails when "Processing files"BUG: Building rpm from spec fails when "Processing files"

comment:2 Changed 17 years ago by pipping@…

Milestone: Port Bugs

Changed 17 years ago by giulio.eulisse@…

Attachment: rpm-port.patch added

my fix for the problem.

comment:3 Changed 17 years ago by giulio.eulisse@…

The attached patch fixes the problem for me.

comment:4 Changed 17 years ago by markd@…

Cc: n3npq@… added

Can this be closed after the update to 4.4.9?

comment:5 Changed 17 years ago by markd@…

Cc: markd@… added; n3npq@… removed
Resolution: fixed
Status: newclosed

The port has been updated to 4.4.9. If there any continuing problems with the port, please put them on a ticket against the current version.

comment:6 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.