Bug 744416 - Review Request: libisofs1 - Library to create ISO 9660 disk images
Summary: Review Request: libisofs1 - Library to create ISO 9660 disk images
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: Package Review
Version: el6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Mukundan Ragavan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-10-08 14:21 UTC by Robert Scheck
Modified: 2016-05-19 16:20 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-05-19 16:17:10 UTC
Type: ---
Embargoed:
nonamedotc: fedora-review+


Attachments (Terms of Use)
licensecheck (2.79 KB, text/plain)
2016-04-30 20:24 UTC, Mukundan Ragavan
no flags Details

Description Robert Scheck 2011-10-08 14:21:09 UTC
Spec URL: http://labs.linuxnetz.de/bugzilla/libisofs1.spec
SRPM URL: http://labs.linuxnetz.de/bugzilla/libisofs1-1.1.6-2.src.rpm
Description:
Libisofs is a library to create an ISO-9660 filesystem and supports
extensions like RockRidge or Joliet. It is also a full featured
ISO-9660 editor, allowing you to modify an ISO image or multisession
disc, including file addition or removal, change of file names and
attributes etc. It supports the extension AAIP which allows to store
ACLs and xattr in ISO-9660 filesystems as well. As it is linked with
zlib, it supports zisofs compression, too.


RHEL 6 is shipping libisofs-0.6.32-1.el6, but Red Hat doesn't seem to
be interested to update libisofs to a more recent version, which would
be required to build libisoburn/xorriso for RHEL 6. This package can be
installed in parallel with the regular RHEL 6 package due to renaming.

Comment 1 R P Herrold 2014-09-08 16:09:00 UTC
I see these rpmlint errors

libisofs1.src: W: strange-permission libisofs-1.1.6.tar.gz 0444L
libisofs1.src:65: W: macro-in-comment %doc

Comment 2 Robert Scheck 2014-09-08 16:14:53 UTC
Before you review I would like to bump the package to a more recent version.

Comment 5 Robert Scheck 2015-12-26 16:36:46 UTC
Russell, could you proceed with the review, please?

Spec URL: http://labs.linuxnetz.de/bugzilla/libisofs1.spec
SRPM URL: http://labs.linuxnetz.de/bugzilla/libisofs1-1.4.2-2.src.rpm

Comment 6 Mukundan Ragavan 2016-04-15 23:41:00 UTC
Invoking "Policy for stalled package reviews" [1] here and taking up the package for review.

[1] https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews

Comment 7 Mukundan Ragavan 2016-04-29 01:40:51 UTC
Hi robert, sorry for the delay. I got caught up in several other things. I will have this taken care of in the next three or four days.

Comment 8 Mukundan Ragavan 2016-04-30 18:03:07 UTC
Hmmm ... build fails.

+ cd /builddir/build/BUILD
+ cd libisofs-1.4.2
+ LICENSEDIR=/builddir/build/BUILDROOT/libisofs1-1.4.2-2.fc25.x86_64/usr/share/licenses/libisofs1
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/libisofs1-1.4.2-2.fc25.x86_64/usr/share/licenses/libisofs1
+ cp -pr COPYING /builddir/build/BUILDROOT/libisofs1-1.4.2-2.fc25.x86_64/usr/share/licenses/libisofs1
+ exit 0
RPM build errors:
    File not found: /builddir/build/BUILDROOT/libisofs1-1.4.2-2.fc25.x86_64/usr/lib64/libisofs1*.so.*


This is because the library generated is /usr/lib64/libisofs.so.6.78.0 I think.



In reponse to our email conversation, I think it might be best to use libisofs1*so* to build this library. This might simplify building dependent packages (kust passing -libisofs1 at compile time) without having to address the different path in relation to libisofs.

Can you please take a look at this? Please also a do a koji scratch build.

Thanks.

Comment 9 Robert Scheck 2016-04-30 18:43:18 UTC
The build failure is because you built against Fedora rather EPEL, while
this package is intended for EPEL only.

Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=13869361

Comment 10 Mukundan Ragavan 2016-04-30 18:44:53 UTC
(In reply to Robert Scheck from comment #9)
> The build failure is because you built against Fedora rather EPEL, while
> this package is intended for EPEL only.
> 
> Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=13869361

Oh yes indeed! :(

Comment 11 Mukundan Ragavan 2016-04-30 19:37:11 UTC
Just two questions. See below.


Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Large documentation must go in a -doc subpackage. Large could be size
  (~1MB) or number of files.
  Note: Documentation size is 3409920 bytes in 72 files.
  See:
  http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation


---> Any reason not to create a -doc package?

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "MIT/X11 (BSD like)", "GPL", "GPL (with incorrect FSF
     address)", "GPL (v2 or later)", "Unknown or generated". 22 files have
     unknown license. Detailed output of licensecheck in
     /home/mukundan/ownCloud/misc_pkgs/pkg_reviews/744416-libisofs1/licensecheck.txt


---> Nothing seems problematic.

libisofs-1.4.2/libisofs/aaip-os-dummy.c
libisofs-1.4.2/libisofs/aaip-os-freebsd.c
libisofs-1.4.2/libisofs/aaip-os-linux.c
libisofs-1.4.2/libisofs/aaip_0_2.c
libisofs-1.4.2/libisofs/aaip_0_2.h
libisofs-1.4.2/libisofs/hfsplus_case.c
libisofs-1.4.2/libisofs/libiso_msgs.c
libisofs-1.4.2/libisofs/libiso_msgs.h


---> All these are listed under "unknown" by licensecheck. Looking at the source files, all are GPLv2.

[x]: License file installed when any subpackage combination is installed.


---> /usr/share/licenses/libisofs1-1.4.2/COPYING


[!]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.

---> Please fix this. Should also include MIT.

License:	GPLv2+ and LGPLv2+

https://fedoraproject.org/wiki/Licensing:FAQ?rd=Licensing/FAQ#How_should_I_handle_multiple_licensing_situations.3F


[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Buildroot is not present
     Note: Buildroot: present but not needed
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: %clean present but not required
[x]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     libisofs1-devel , libisofs1-debuginfo


---> Requires:	%{name}%{?_isa} = %{version}-%{release}, pkgconfig


[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: Scriptlets must be sane, if used.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 3471360 bytes in /usr/share

---> ---> Any reason not to create a -doc package?

[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: libisofs1-1.4.2-2.el7.centos.x86_64.rpm
          libisofs1-devel-1.4.2-2.el7.centos.x86_64.rpm
          libisofs1-debuginfo-1.4.2-2.el7.centos.x86_64.rpm
          libisofs1-1.4.2-2.el7.centos.src.rpm
libisofs1.x86_64: W: spelling-error %description -l en_US Libisofs -> Libidos
libisofs1.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
libisofs1.x86_64: W: spelling-error %description -l en_US multisession -> simulation
libisofs1.x86_64: W: spelling-error %description -l en_US xattr -> attract
libisofs1.x86_64: W: spelling-error %description -l en_US filesystems -> file systems, file-systems, ecosystems
libisofs1.x86_64: W: spelling-error %description -l en_US zlib -> lib, glib, z lib
libisofs1.x86_64: W: spelling-error %description -l en_US zisofs -> kissoffs
libisofs1.x86_64: W: incoherent-version-in-changelog 1.4.2-2 ['1.4.2-2.el7.centos', '1.4.2-2.centos']
libisofs1.x86_64: E: incorrect-fsf-address /usr/share/doc/libisofs1-1.4.2/COPYRIGHT
libisofs1.x86_64: E: incorrect-fsf-address /usr/share/licenses/libisofs1-1.4.2/COPYING
libisofs1-devel.x86_64: W: only-non-binary-in-usr-lib
libisofs1.src: W: spelling-error %description -l en_US Libisofs -> Libidos
libisofs1.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
libisofs1.src: W: spelling-error %description -l en_US multisession -> simulation
libisofs1.src: W: spelling-error %description -l en_US xattr -> attract
libisofs1.src: W: spelling-error %description -l en_US filesystems -> file systems, file-systems, ecosystems
libisofs1.src: W: spelling-error %description -l en_US zlib -> lib, glib, z lib
libisofs1.src: W: spelling-error %description -l en_US zisofs -> kissoffs
4 packages and 0 specfiles checked; 2 errors, 16 warnings.


---> None of this is an issue.



Rpmlint (debuginfo)
-------------------
Checking: libisofs1-debuginfo-1.4.2-2.el7.centos.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
libisofs1-debuginfo.x86_64: W: only-non-binary-in-usr-lib
libisofs1.x86_64: W: incoherent-version-in-changelog 1.4.2-2 ['1.4.2-2.el7.centos', '1.4.2-2.centos']
libisofs1.x86_64: E: incorrect-fsf-address /usr/share/doc/libisofs1-1.4.2/COPYRIGHT
libisofs1.x86_64: E: incorrect-fsf-address /usr/share/licenses/libisofs1-1.4.2/COPYING
3 packages and 0 specfiles checked; 2 errors, 2 warnings.



Requires
--------
libisofs1-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    libisofs1(x86-64)
    libisofs1.so.6()(64bit)
    pkgconfig

libisofs1-debuginfo (rpmlib, GLIBC filtered):

libisofs1 (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libacl.so.1()(64bit)
    libacl.so.1(ACL_1.0)(64bit)
    libc.so.6()(64bit)
    libpthread.so.0()(64bit)
    libz.so.1()(64bit)
    libz.so.1(ZLIB_1.2.0)(64bit)
    rtld(GNU_HASH)



Provides
--------
libisofs1-devel:
    libisofs1-devel
    libisofs1-devel(x86-64)
    pkgconfig(libisofs1-1)

libisofs1-debuginfo:
    libisofs1-debuginfo
    libisofs1-debuginfo(x86-64)

libisofs1:
    libisofs1
    libisofs1(x86-64)
    libisofs1.so.6()(64bit)
    libisofs1.so.6(LIBISOFS6)(64bit)



Source checksums
----------------
http://files.libburnia-project.org/releases/libisofs-1.4.2.tar.gz :
  CHECKSUM(SHA256) this package     : d5e7f3ea613a78924dde979f699427b1c6b85ba4540d275aa67945b4a70fb3ab
  CHECKSUM(SHA256) upstream package : d5e7f3ea613a78924dde979f699427b1c6b85ba4540d275aa67945b4a70fb3ab


Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20
Command line :/usr/bin/fedora-review -m epel-7-x86_64 -b 744416
Buildroot used: epel-7-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 12 Robert Scheck 2016-04-30 20:08:03 UTC
(In reply to Mukundan Ragavan from comment #11)
> Just two questions. See below.

Aweseome, thank you very much for the time and efforts to do the review!

> - Large documentation must go in a -doc subpackage. Large could be size
>   (~1MB) or number of files.
>   Note: Documentation size is 3409920 bytes in 72 files.
>   See:
>   http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation
> 
> 
> ---> Any reason not to create a -doc package?

Good point, didn't look to the size for a long time; investigating now.

> [!]: If the package is under multiple licenses, the licensing breakdown
>      must be documented in the spec.
> 
> ---> Please fix this. Should also include MIT.
> 
> License:	GPLv2+ and LGPLv2+

Maybe I'm overlooking something...but which files are MIT?

Comment 13 Mukundan Ragavan 2016-04-30 20:24:32 UTC
Created attachment 1152638 [details]
licensecheck

Sorry! meant to attach the file.

just the install-sh.

Please take a look. Now, i'm not so sure about adding MIT.

Comment 14 Robert Scheck 2016-04-30 20:41:42 UTC
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License:_field
says: "The License: field refers to the licenses of the contents of the binary
rpm." - as the "install-sh" file is not part of the binary RPM, I would not
add MIT to the spec file (at least that's my understanding).

Comment 15 Mukundan Ragavan 2016-04-30 20:45:01 UTC
Actually, you don't need to add MIT. install-sh is not part of the binary rpm. So, my comment about the license field is incorrect.

Comment 16 Mukundan Ragavan 2016-04-30 20:45:58 UTC
(In reply to Robert Scheck from comment #14)
> https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License:_field
> says: "The License: field refers to the licenses of the contents of the
> binary
> rpm." - as the "install-sh" file is not part of the binary RPM, I would not
> add MIT to the spec file (at least that's my understanding).


Yes indeed. I had written the same thing .. :)

So, -doc subpackage is the only "issue" remaining.

Comment 17 Robert Scheck 2016-04-30 21:14:27 UTC
(In reply to Mukundan Ragavan from comment #16)
> So, -doc subpackage is the only "issue" remaining.

Spec URL: http://labs.linuxnetz.de/bugzilla/libisofs1.spec
SRPM URL: http://labs.linuxnetz.de/bugzilla/libisofs1-1.4.2-3.src.rpm

Comment 18 Mukundan Ragavan 2016-04-30 21:21:42 UTC
$ diff -Nu srpm-unpacked/libisofs1.spec libisofs1.spec 
--- srpm-unpacked/libisofs1.spec	2015-12-26 10:36:39.000000000 -0500
+++ libisofs1.spec	2016-04-30 17:13:37.000000000 -0400
@@ -3,14 +3,14 @@
 Summary:	Library to create ISO 9660 disk images
 Name:		libisofs1
 Version:	1.4.2
-Release:	2%{?dist}
+Release:	3%{?dist}
 # make_isohybrid_mbr.c is under LGPLv2+, the rest under GPLv2+
 License:	GPLv2+ and LGPLv2+
 Group:		System Environment/Libraries
 URL:		http://libburnia-project.org/
 Source:		http://files.libburnia-project.org/releases/%{pkgname}-%{version}.tar.gz
 Patch0:		libisofs-0.6.16-multilib.patch
-BuildRequires:	libacl-devel, zlib-devel, doxygen, graphviz
+BuildRequires:	libacl-devel, zlib-devel
 %if 0%{?rhel} >= 6
 BuildRequires:	autoconf, automake, libtool
 %endif
@@ -34,6 +34,19 @@
 The %{name}-devel package contains libraries and header files for
 developing applications that use %{name}.
 
+%package doc
+Summary:	Documentation files for %{name}
+Group:		Documentation
+%if 0%{?fedora} || 0%{?rhel} >= 6
+BuildArch:	noarch
+%endif
+BuildRequires:	doxygen, graphviz
+
+%description doc
+Libisofs is a library to create an ISO-9660 filesystem and supports
+extensions like RockRidge or Joliet. This package contains the API
+documentation for developing applications that use %{name}.
+
 %prep
 %setup -q -n %{pkgname}-%{version}
 %patch0 -p1 -b .multilib
@@ -82,12 +95,18 @@
 
 %files devel
 %defattr(-,root,root,-)
-%doc doc/html
-%{_includedir}/%{name}
+%{_includedir}/%{name}/
 %{_libdir}/%{name}.so
 %{_libdir}/pkgconfig/%{name}*.pc
 
+%files doc
+%defattr(-,root,root,-)
+%doc doc/html/
+
 %changelog
+* Sat Apr 30 2016 Robert Scheck <robert> 1.4.2-3
+- Move large documentation into -doc subpackage (#744416)
+
 * Sat Dec 26 2015 Robert Scheck <robert> 1.4.2-2
 - Reworked spec file to build libisofs1 for RHEL >= 6 (#744416)



---> spec file changes look fine.


Package builds on all arches.

https://koji.fedoraproject.org/koji/taskinfo?taskID=13871208


-doc subpackage generated.


I have nothing else to complain about. Package APPROVED.

Comment 19 Gwyn Ciesla 2016-05-01 15:55:50 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/libisofs1

Comment 20 Gwyn Ciesla 2016-05-01 18:18:42 UTC
Package request has been denied with the reason: Already done in 5121

Comment 21 Gwyn Ciesla 2016-05-01 18:19:11 UTC
Package request has been denied with the reason: Done in 5121

Comment 22 Fedora Update System 2016-05-01 18:38:28 UTC
libisofs1-1.4.2-3.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-872f0b825c

Comment 23 Fedora Update System 2016-05-01 18:41:48 UTC
libisofs1-1.4.2-3.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-88e31bd2ae

Comment 24 Fedora Update System 2016-05-02 00:21:28 UTC
libisofs1-1.4.2-3.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-872f0b825c

Comment 25 Fedora Update System 2016-05-02 06:20:52 UTC
libisofs1-1.4.2-3.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-88e31bd2ae

Comment 26 Fedora Update System 2016-05-19 16:17:06 UTC
libisofs1-1.4.2-3.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.

Comment 27 Fedora Update System 2016-05-19 16:20:32 UTC
libisofs1-1.4.2-3.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.


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