#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
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}
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)
Change History (7)
comment:1 Changed 19 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 18 years ago by pipping@…
Milestone: | → Port Bugs |
---|
Changed 18 years ago by giulio.eulisse@…
Attachment: | rpm-port.patch added |
---|
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: | new → closed |
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.
my fix for the problem.