Bug 243254 - Review Request: arm-gp2x-linux-zlib - Cross Compiled zlib Library targeted at arm-gp2x-linux
Summary: Review Request: arm-gp2x-linux-zlib - Cross Compiled zlib Library targeted at...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Kevin Kofler
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-06-08 10:06 UTC by Hans de Goede
Modified: 2007-11-30 22:12 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-08-07 14:11:20 UTC
Type: ---
Embargoed:
kevin: fedora-review+
tcallawa: fedora-cvs+


Attachments (Terms of Use)

Description Hans de Goede 2007-06-08 10:06:19 UTC
Spec URL: http://people.atrpms.net/~hdegoede/arm-gp2x-linux-zlib.spec
SRPM URL: http://people.atrpms.net/~hdegoede/arm-gp2x-linux-zlib-1.2.3-4.fc8.src.rpm
Description:
This is a Cross Compiled version of the zlib Library, which can be used to
compile and link zlib using applications for the arm-gp2x-linux platform,
instead of for the native %{_arch} platform.

Comment 1 Kevin Kofler 2007-07-26 19:42:32 UTC
Reviewing this one.

Comment 2 Kevin Kofler 2007-07-28 13:28:27 UTC
This one is also missing the %defattr in the %files section.

Comment 3 Kevin Kofler 2007-08-03 19:40:18 UTC
Can you please submit an updated specfile for this with the missing %defattr 
added and the License tag updated to the new canonical abbreviation 
(just "zlib" instead of "zlib/libpng License") so we don't waste time on these 
during the review?

Comment 4 Hans de Goede 2007-08-05 19:04:10 UTC
New version with the following changes:

* Sat Aug  4 2007 Hans de Goede <j.w.r.degoede> 1.2.3-5
- Add missing %%defattr to %%files
- Update License tag for new Licensing Guidelines compliance
- Do NOT provide and require native .so files <sigh>

here:
Spec URL: http://people.atrpms.net/~hdegoede/arm-gp2x-linux-zlib.spec
SRPM URL: http://people.atrpms.net/~hdegoede/arm-gp2x-linux-zlib-1.2.3-5.fc8.src.rpm


Comment 5 Kevin Kofler 2007-08-06 12:33:17 UTC
This one tries to call ldconfig during the build process:
> cd /var/tmp/arm-gp2x-linux-zlib-1.2.3-5.fc7-root/usr/arm-gp2x-linux/lib; if 
test -f libz.so.1.2.3; then \
>           rm -f libz.so libz.so.1; \
>           ln -s libz.so.1.2.3 libz.so; \
>           ln -s libz.so.1.2.3 libz.so.1; \
>           (ldconfig || true)  >/dev/null 2>&1; \
>         fi
which is a big no-no (package builds aren't supposed to touch the running 
system), even more so for a cross-compiling package. ;-)


Comment 6 Kevin Kofler 2007-08-06 12:40:31 UTC
The native package:
http://cvs.fedora.redhat.com/viewcvs/rpms/zlib/devel/
has a patch to use autotools and libtool instead of the custom configure 
script, which should also fix this nonsense as a side effect, along with the 3 
other makefile patches in the native package (which are now commented out) and 
also the need to run configure twice to get both shared and static libraries.

Comment 7 Hans de Goede 2007-08-06 13:16:41 UTC
Good idea, here is a new version using the native zlib autotool patch:
Spec URL: http://people.atrpms.net/~hdegoede/arm-gp2x-linux-zlib.spec
SRPM URL: http://people.atrpms.net/~hdegoede/arm-gp2x-linux-zlib-1.2.3-6.fc8.src.rpm


Comment 8 Kevin Kofler 2007-08-06 15:45:01 UTC
MUST Items:
+ rpmlint output:
  + SRPM:
    W: arm-gp2x-linux-zlib invalid-license zlib
    This is the F7 rpmlint being out of date. :-)
    E: arm-gp2x-linux-zlib configure-without-libdir-spec
    This one's OK for a cross library. (There's no 64-bit GP2X ;-).)
  + noarch RPM:
    W: arm-gp2x-linux-zlib 
devel-file-in-non-devel-package /usr/arm-gp2x-linux/lib/libz.so
    W: arm-gp2x-linux-zlib 
devel-file-in-non-devel-package /usr/arm-gp2x-linux/lib/libz.a
    W: arm-gp2x-linux-zlib 
devel-file-in-non-devel-package /usr/arm-gp2x-linux/include/zconf.h
    W: arm-gp2x-linux-zlib 
devel-file-in-non-devel-package /usr/arm-gp2x-linux/include/zlib.h
    OK because this is a cross-development package, and these are all target 
development files. It would make no sense to make a separate devel vs. runtime 
part because we aren't going to run ARM GP2X binaries on i386/x86_64/ppc/... 
Fedora anyway.
    E: arm-gp2x-linux-zlib 
library-without-ldconfig-postin /usr/arm-gp2x-linux/lib/libz.so.1.2.3
    E: arm-gp2x-linux-zlib 
library-without-ldconfig-postun /usr/arm-gp2x-linux/lib/libz.so.1.2.3
    OK, as this a target library (twice the same...) which isn't even in the 
ldconfig search path. The required symlinks are already there anyway.
    W: arm-gp2x-linux-zlib invalid-license zlib
    Again, the F7 rpmlint being out of date.
    E: arm-gp2x-linux-zlib 
arch-independent-package-contains-binary-or-object /usr/arm-gp2x-linux/lib/libz.a
    E: arm-gp2x-linux-zlib 
arch-independent-package-contains-binary-or-object /usr/arm-gp2x-linux/lib/libz.so.1.2.3
    Again, this is OK because those are target files.
    W: arm-gp2x-linux-zlib non-standard-dir-in-usr arm-gp2x-linux
    This one's OK too for a cross-library package.
+ named and versioned according to the Package Naming Guidelines
+ spec file name matches base package name
+ Packaging Guidelines:
  + License zlib OK, matches actual license
  + No known patent problems
  + No emulator, no firmware, no binary-only or prebuilt components
  + Complies with the FHS (with the cross-toolchain exception 
for %{_prefix}/%{target})
  + proper changelog, tags, BuildRoot, Requires, BuildRequires, Summary, 
Description
  + no non-UTF-8 characters
  + relevant documentation is included
  + It would make no sense to use RPM_OPT_FLAGS here because this is a target 
package, which is built using a cross GCC which won't understand stuff 
like -fstack-protector, and for which x86 -march and -mtune switches definitely 
don't make sense. Thus the omission of RPM_OPT_FLAGS is correct.
  + no -debuginfo package because this is noarch
  + no host static libraries nor .la files
    (I think we can give the target static library a pass. This isn't a Fedora 
target, so trying to apply our static library policies to the target wouldn't 
make much sense.)
  + no duplicated system libraries
  + no rpaths (no host executables or libraries at all, I also ran readelf -d 
on the target shared library to make sure and there's no rpath there either)
  + no configuration files, so %config guideline doesn't apply
  + no init scripts, so init script guideline doesn't apply
  + no GUI programs, so no .desktop file present or needed
  + no timestamp-clobbering file commands
  + _smp_mflags used
  + scriptlets are valid
  + not a web application, so web application guideline doesn't apply
  + no conflicts
+ complies with all the legal guidelines
+ license contained in README which is included as %doc
+ spec file written in American English
+ spec file is legible
+ source matches upstream:
  MD5SUM: dee233bf288ee795ac96a98cc2e369b6
  SHA1SUM: 967e280f284d02284b0cd8872a8e2e04bfdc7283
  The patch also matches the one in the native package.
+ builds on at least one arch (F7 i386 live system)
+ no known non-working arches, so no ExcludeArch needed
+ no missing BR
+ no translations, so translation/locale guidelines don't apply
+ no host shared libraries, so no ldconfig calls needed
+ package not relocatable
+ ownership correct (owns package-specific directories, doesn't own directories 
owned by another package)
+ no duplicate files in %files
+ permissions set properly (%defattr present)
+ %clean section present and correct
+ macros used where possible (%configure not used for several reasons, 
including it playing jokes with --target and using host-specific RPM_OPT_FLAGS)
+ no non-code content
+ no large documentation files, so no -doc package needed
+ %doc files not required at runtime
+ no host headers, target headers are OK in this cross-development package
+ no host static libraries, so no -static package needed
+ no .pc files, so no Requires: pkgconfig needed
+ no host shared libraries, so .so symlink guidelines don't apply
+ no -devel package, so the guideline to require the main package in it doesn't 
apply
+ no .la files
+ no GUI programs, so no .desktop file needed
+ buildroot is deleted at the beginning of %install
  (same nitpick about mkdir $RPM_BUILD_ROOT as for arm-gp2x-linux-binutils)
+ all filenames are valid UTF-8

SHOULD Items:
+ license already included upstream (in README)
+ no translations for description and summary provided by upstream
* Skipping mock test.
* Skipping the "all architectures" test, I only have i386.
+ package functions as described:
  All the examples from the zlib source code compile and link (except gzlog.c 
which doesn't include a main function, just utility functions).
+ scriptlets are sane
+ no subpackages other than -devel, so "Usually, subpackages other than devel 
should require the base package using a fully versioned dependency." is 
irrelevant
+ no .pc files, so "placement of .pc files" is irrelevant
+ no file dependencies

APPROVED

Comment 9 Hans de Goede 2007-08-06 17:54:47 UTC
Thanks!

New Package CVS Request
=======================
Package Name:      arm-gp2x-linux-zlib
Short Description: Cross Compiled zlib Library targeted at arm-gp2x-linux
Owners:            j.w.r.degoede
Branches:          FC-6 F-7 devel
InitialCC:         <empty>




Comment 10 Tom "spot" Callaway 2007-08-06 21:19:51 UTC
CVS done.

Comment 11 Hans de Goede 2007-08-07 14:11:20 UTC
imported and build for rawhide (rest is slow due to new F-7 procedures delaying
needed other bits)



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