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