Bug 226050 - Merge Review: libtool
Merge Review: libtool
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Karel Klíč
Fedora Package Reviews List
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-01-31 14:28 EST by Nobody's working on this, feel free to take it
Modified: 2013-03-03 17:59 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-05-11 04:14:32 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
kklic: fedora‑review+


Attachments (Terms of Use)

  None (edit)
Description Nobody's working on this, feel free to take it 2007-01-31 14:28:06 EST
Fedora Merge Review: libtool

http://cvs.fedora.redhat.com/viewcvs/devel/libtool/
Initial Owner: karsten@redhat.com
Comment 1 Karsten Hopp 2007-02-21 10:08:40 EST
libtool-1.5.22-10 prepared for review
Comment 2 Susi Lehtola 2009-03-27 15:20:58 EDT
Any reason why you're not using %configure?
Comment 3 Karsten Hopp 2009-03-27 18:04:51 EDT
%configure used to copy config.sub and config.guess files from /usr/share/libtool/config into the top source directory. That's not a good idea when you try to build a newer libtooll to update those files...  I haven't checked for a while if %configure still does that, though.
Comment 4 Robert Scheck 2009-03-27 18:10:08 EDT
That behaviour has been removed at Fedora 10 already. Now I've to copy
these files myself into buildroot to get old software rebuilding. So
%configure should work with Fedora >= 10 for you again. Maybe we just
can test it in a scratch build?
Comment 5 Susi Lehtola 2009-03-27 18:25:52 EDT
Hmm, according to the build logs %configure is just a macro that exports compiler flags and calls ./configure with a bunch of arguments that set destinations, for example on rawhide i586 the arguments are

./configure --build=i386-redhat-linux-gnu --host=i386-redhat-linux-gnu --target=i586-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=/var/lib --mandir=/usr/share/man --infodir=/usr/share/inf
Comment 6 Michael Schwendt 2009-05-20 06:00:53 EDT
Check out older redhat-rpm-config packages' macros file, e.g. in F8, to see the old definition where it copied files as Karsten says. You can use "rpm --eval %configure", btw.
Comment 7 Susi Lehtola 2009-05-20 06:09:05 EDT
(In reply to comment #6)
> Check out older redhat-rpm-config packages' macros file, e.g. in F8, to see the
> old definition where it copied files as Karsten says.

OK, but that's no problem anymore since rawhide is F12 :)

> You can use "rpm --eval %configure", btw. 

Duh, true.
Comment 8 Karel Klíč 2009-12-10 06:12:39 EST
[YES] source files match upstream: a4b36980765003b47dd75ac9429f4f11  libtool-2.2.6b.tar.lzma
[YES] package meets naming and versioning guidelines 
[YES] specfile is properly named
[YES] specfile is cleanly written
[???] uses macros consistently: %{name} should be used instead of 
      $PACKAGE and %{_datadir} instead of $datadir
[YES] dist tag is present
[YES] build root is correct
[YES] license field matches the actual license
[YES] license is open source-compatible
[YES] license text included in package
[YES] latest version is being packaged
[???] BuildRequires are proper: no need to include gcc and gcc-c++, because 
      they are added automatically
[YES] compiler flags are appropriate
[YES] %clean is present
[YES] package builds in mock
[YES] debuginfo package looks complete
[NO] rpmlint is silent

$ rpmlint *.rpm
libtool.i686: E: no-binary
libtool.i686: W: file-not-utf8 /usr/share/doc/libtool-2.2.6/ChangeLog.2002
libtool.i686: E: script-without-shebang /usr/share/libtool/config/ltmain.sh
libtool.i686: W: file-not-utf8 /usr/share/doc/libtool-2.2.6/ChangeLog.1998
libtool.i686: W: file-not-utf8 /usr/share/doc/libtool-2.2.6/ChangeLog.1999
libtool.i686: W: file-not-utf8 /usr/share/doc/libtool-2.2.6/ChangeLog.1997
libtool-debuginfo.i686: W: hidden-file-or-dir /usr/src/debug/libtool-2.2.6b/libltdl/.libs
libtool-debuginfo.i686: W: hidden-file-or-dir /usr/src/debug/libtool-2.2.6b/libltdl/.libs
libtool-ltdl.i686: W: shared-lib-calls-exit /usr/lib/libltdl.so.7.2.1 exit@GLIBC_2.0
libtool-ltdl-devel.i686: W: no-documentation
5 packages and 0 specfiles checked; 2 errors, 8 warnings.

[YES] final provides and requires look sane
[OK] %check is present, but "make check" is commented out
[YES] no shared libraries are added to the regular linker search paths in app package
[YES] owns the directories it creates
[YES] doesn't own any directories it shouldn't
[YES] no duplicates in %files
[YES] file permissions are appropriate
[YES] scriptlets ok
[YES] code, not content
[YES] documentation is small, so no -docs subpackage is necessary
[YES] %docs are not necessary for the proper functioning of the package
[YES] no headers
[YES] no pkgconfig files
[YES] no libtool .la droppings
[YES] not a GUI app
Comment 9 Karel Klíč 2010-04-12 10:37:47 EDT
ping
Comment 10 Karsten Hopp 2010-04-12 11:57:56 EDT
>rpmlint i386/*-2.6-19.fc14.i386.rpm.rpm
libtool.i386: W: spelling-error %description -l en_US Autotools -> Auto tools, Auto-tools, Autopilots
libtool.i386: W: spelling-error %description -l en_US Autoconf -> Autocrat, Autocross, Autoclave
libtool.i386: W: spelling-error %description -l en_US Automake -> Automaker, Automate, Auto make
libtool.i386: W: spelling-error %description -l en_US ltdl -> ltd, ltd l, Ltd
libtool.i386: E: no-binary
libtool.i386: E: script-without-shebang /usr/share/libtool/config/ltmain.sh
libtool-debuginfo.i386: E: non-standard-dir-perm /usr/lib/debug 0775L
libtool-debuginfo.i386: W: hidden-file-or-dir /usr/src/debug/libtool-2.2.6b/libltdl/.libs
libtool-debuginfo.i386: W: hidden-file-or-dir /usr/src/debug/libtool-2.2.6b/libltdl/.libs
libtool-debuginfo.i386: E: non-standard-dir-perm /usr/src/debug/libtool-2.2.6b/libltdl/libltdl 0775L
libtool-debuginfo.i386: E: non-standard-dir-perm /usr/src/debug/libtool-2.2.6b/libltdl 0775L
libtool-debuginfo.i386: E: non-standard-dir-perm /usr/src/debug/libtool-2.2.6b/libltdl/loaders 0775L
libtool-ltdl.i386: W: spelling-error Summary(en_US) Runtime -> Run time, Run-time, Untimely
libtool-ltdl.i386: W: spelling-error %description -l en_US runtime -> run time, run-time, untimely
libtool-ltdl.i386: W: spelling-error %description -l en_US Autotools -> Auto tools, Auto-tools, Autopilots
libtool-ltdl.i386: W: spelling-error %description -l en_US Autoconf -> Autocrat, Autocross, Autoclave
libtool-ltdl.i386: W: spelling-error %description -l en_US Automake -> Automaker, Automate, Auto make
libtool-ltdl.i386: W: shared-lib-calls-exit /usr/lib/libltdl.so.7.2.1 exit@GLIBC_2.0
4 packages and 0 specfiles checked; 6 errors, 12 warnings.


The spelling errors can be ignored as spell doesn't know about auto{conf,make} tools and marks their names as errors.

libtool is an arch package as it has some paths to arch dependend gcc stuff in it, it cannot be a noarch package even though it has no binaries. 

I'm not sure about the debuginfo errors/warnings. libtool ships no .libs subdir and doesn't create /usr/lib/debug, so this might be a rpmlint bug. My umask is set to 0002, which is quite common and shouldn't lead to rpmlint errors.
Should rpmlint be run on the debuginfo packages, btw ? I couldn't find anything about it on our wiki.

shared-lib-calls-exit: There's exactly one exit call in libltdl and that one is in the alloc_die_default function with the comment '/* Unless overridden, exit on memory failure.  */' This function isn't called by anything in libtool-* and is used as some kind of template which should be overwritten when required. 
I'd say we can ignore this rpmlint warning, too.

So the real fixes in -19 are the conversion of the changelogs to utf8, the move of some documentation to the ltdl-devel subpackage and the selfchecks are now enabled
Comment 11 Karel Klíč 2010-04-12 12:47:41 EDT
Thank you.
Overall it looks good now.

The .libs directory is created automatically when creating separate debuginfo, and that's ok.

This review can now be closed.

Note You need to log in before you can comment on or make changes to this bug.