Requesting review (II)/approval on Enlightenment DR17 package+ some EFLs

Nils Philippsen nphilipp at redhat.com
Thu Jun 9 07:56:00 UTC 2005


Hi Didier,

On Wed, 2005-06-08 at 23:48 +0800, Didier Casse wrote:
> On 6/3/05, Nils Philippsen <nphilipp at redhat.com> wrote:
> 
> > - "%configure --prefix=%{_prefix} --bindir=%{_bindir} --libdir=
> > %{_libdir} --includedir=%{_includedir}" is redundant, "%configure" is
> > sufficient (try "rpm --eval %configure" to see what I mean)
> 
> Dear Nils, 
>                 Thanks for all the constructive comments. Everything's
> fine but only 2 glitches remained: In the %configure option, I can
> remove all the options bar  the --prefix one. i.e It must be
> 
> %configure --prefix=%{_prefix}  
> 
> at least or else it will install in /usr/local instead of  /usr. 

That's strange, because %configure already contains that:

--- 8< ---
nils at wombat:~> rpm --eval %configure

  CFLAGS="${CFLAGS:--O2 -g -pipe -m32 -march=i386 -mtune=pentium4}" ; export CFLAGS ;
  CXXFLAGS="${CXXFLAGS:--O2 -g -pipe -m32 -march=i386 -mtune=pentium4}" ; export CXXFLAGS ;
  FFLAGS="${FFLAGS:--O2 -g -pipe -m32 -march=i386 -mtune=pentium4}" ; export FFLAGS ;
  for i in $(find . -name config.guess -o -name config.sub) ; do
           [ -f /usr/lib/rpm/redhat/$(basename $i) ] && /bin/rm -f $i && /bin/cp -fv /usr/lib/rpm/redhat/$(basename $i) $i ;
  done ;
  ./configure --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu \
        --target=i386-redhat-linux-gnu \
        --program-prefix= \
        --prefix=/usr \
        --exec-prefix=/usr \
        --bindir=/usr/bin \
        --sbindir=/usr/sbin \
        --sysconfdir=/etc \
        --datadir=/usr/share \
        --includedir=/usr/include \
        --libdir=/usr/lib \
        --libexecdir=/usr/libexec \
        --localstatedir=/var \
        --sharedstatedir=/usr/com \
        --mandir=/usr/share/man \
        --infodir=/usr/share/info
--- >8 ---

> > - "%{__make} %{?mflags_install} DESTDIR=%{buildroot} install", the same
> > as above, besides doesn't %makeinstall work?
> 
> Nope... At least not for all packages. And some packages have to be
> compiled twice so that I can an rpm out with the %makeinstall option.
> 
> So 
> 
> %{__make} %{?mflags_install} DESTDIR=%{buildroot} install
> 
> really remains the best option at least for the time being, unless
> somebody wants to patch all the autofoo stuff, which is more
> cumbersome.

Still this should be addressed upstream sometime (this is something many
projects get wrong). Usually this amounts to renaming reused standard
directory names, e.g. when a package does this in Makefile.am:

datadir=@datadir@/packagename
...
data_DATA=*.png
...

Because the well known name "datadir" is reused (abused ;-)),
%makeinstall will fail because it subsequently overrides it again. This
can be fixed thusly:

packagedatadir=$(datadir)/packagename
...
packagedata_DATA=*.png
...

Nils
-- 
     Nils Philippsen    /    Red Hat    /    nphilipp at redhat.com
"They that can give up essential liberty to obtain a little temporary
 safety deserve neither liberty nor safety."     -- B. Franklin, 1759
 PGP fingerprint:  C4A8 9474 5C4C ADE3 2B8F  656D 47D8 9B65 6951 3011




More information about the fedora-extras-list mailing list