Bug 226050

Summary: Merge Review: libtool
Product: [Fedora] Fedora Reporter: Nobody's working on this, feel free to take it <nobody>
Component: Package ReviewAssignee: Karel Klíč <kklic>
Status: CLOSED RAWHIDE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: karsten, kasal, kklic, redhat-bugzilla, rvokal, susi.lehtola
Target Milestone: ---Flags: kklic: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-05-11 08:14:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nobody's working on this, feel free to take it 2007-01-31 19:28:06 UTC
Fedora Merge Review: libtool

http://cvs.fedora.redhat.com/viewcvs/devel/libtool/
Initial Owner: karsten

Comment 1 Karsten Hopp 2007-02-21 15:08:40 UTC
libtool-1.5.22-10 prepared for review

Comment 2 Susi Lehtola 2009-03-27 19:20:58 UTC
Any reason why you're not using %configure?

Comment 3 Karsten Hopp 2009-03-27 22:04:51 UTC
%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 22:10:08 UTC
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 22:25:52 UTC
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 10:00:53 UTC
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 10:09:05 UTC
(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 11:12:39 UTC
[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
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 14:37:47 UTC
ping

Comment 10 Karsten Hopp 2010-04-12 15:57:56 UTC
>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
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 16:47:41 UTC
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.