Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 598688

Summary: Review Request: archivemount - FUSE based filesystem for mounting compressed archives
Product: [Fedora] Fedora Reporter: Niels de Vos <ndevos>
Component: Package ReviewAssignee: Tomas Mraz <tmraz>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, mail, notting, pahan, paul, randyn3lrx, susi.lehtola, tmraz, tsmetana
Target Milestone: ---Flags: tmraz: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: archivemount-0.6.1-4.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-31 19:53:49 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:
Attachments:
Description Flags
Patch for configure none

Description Niels de Vos 2010-06-01 20:40:06 UTC
Spec URL:
http://www.nixpanic.net/software/packages/archivemount/archivemount.spec


SRPM URL:
http://www.nixpanic.net/software/packages/archivemount/archivemount-0.6.0-1.fc13.src.rpm


My page containing the files:
http://nixpanic.net/software/packages/archivemount
or a compiled version (x86_64) at http://people.nixpanic.net/ndevos/archivemount


Description:
Archivemount is a piece of glue code between libarchive and FUSE. It can be
used to mount a (possibly compressed) archive (as in .tar.gz or .tar.bz2)
and use it like an ordinary filesystem.


Notes:
- This is my first Fedora package and therefore I need a sponsor :)
- The spec is based on the spec of ifuse which is quite similar

Comment 1 Mark McKinstry 2010-06-12 01:11:36 UTC
Niels,

I'm not an official package maintainer so this is an informal review.

archivemount.c has "This program can be distributed under the terms of the GNU GPL" for its license. According to the GPL license included at COPYING, if no version of the GPL is specified it can be licensed under any version. Under the Fedora project, this short name for this license should be 'GPL+' http://fedoraproject.org/wiki/Licensing#Good_Licenses.

You should probably remove the autom4te.cache directory that comes with the tarball in %prep section. 

If this is going to EPEL the BuildRoot is needed, otherwise it can be left out. http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag


Key:
- = N/A
x = Check
! = Problem
? = Not evaluated

MUST
----
[!] rpmlint must be run on every package. The output should be posted in the review. See below
[x] The package must be named according to the Package Naming Guidelines.
[x] The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.
[x] The package must meet the Packaging Guidelines 
[!] The package must be licensed with a Fedora approved license and meet the Licensing Guidelines .
[x] Iff 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 must be included in.
[x] The spec file must be written in American English
[x] The spec file for the package MUST be legible.
[x] The sources used to build the package must match the upstream source, as provided in the spec URL.
md5 of this tarball    : fb3ee53b1234b4cc25b5f9ad7e4e3d6d
md5 of upstream tarball: fb3ee53b1234b4cc25b5f9ad7e4e3d6d
[x] The package MUST successfully compile and build into binary rpms on at least one primary architecture
[-] If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
[x] All build dependencies must be listed in BuildRequires
[-] The spec file MUST handle locales properly
[-] Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun
[x] Packages must NOT bundle copies of system libraries
[x] If the package is designed to be relocatable, the packager must state this fact in the request for review
[x] A package must own all directories that it creates. 
[x] A Fedora package must not list a file more than once in the spec file's %files listings
[x] Permissions on files must be set properly
[x] Each package must consistently use macros
[x] The package must contain code, or permissable content
[-] Large documentation files must go in a -doc subpackage
[x] If a package includes something as %doc, it must not affect the runtime of the application
[-] Header files must be in a -devel package
[-] Static libraries must be in a -static package
[-] If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package
[-] In the vast majority of cases, devel packages must require the base package using a fully versioned dependency
[x] Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built
[-] Packages containing GUI applications must include a %{name}.desktop file
[x] Packages must not own files or directories already owned by other packages
[x] All filenames in rpm packages must be valid UTF-8



rpmlint
-------
[mmckinst@fedora13 SRPMS]$ rpmlint archivemount-0.6.0-1.fc13.src.rpm 
archivemount.src: W: spelling-error Summary(en_US) filesystem -> file system, file-system, falsest
archivemount.src: W: spelling-error %description -l en_US libarchive -> lib archive, lib-archive, archive
archivemount.src: W: spelling-error %description -l en_US gz -> Hz, G, Z
archivemount.src: W: spelling-error %description -l en_US bz -> biz, NZ, bx
archivemount.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, falsest
archivemount.src: W: invalid-license GPL
1 packages and 0 specfiles checked; 0 errors, 6 warnings.
[mmckinst@fedora13 SRPMS]$

Comment 2 Randy Berry 2010-06-12 02:54:00 UTC
(In reply to comment #1)

> archivemount.c has "This program can be distributed under the terms of the GNU
> GPL" for its license. According to the GPL license included at COPYING, if no
> version of the GPL is specified it can be licensed under any version. Under the
> Fedora project, this short name for this license should be 'GPL+'
> http://fedoraproject.org/wiki/Licensing#Good_Licenses.

This program is licensed under LGPLv2+ according to the COPYING file.

> rpmlint
> -------
> [mmckinst@fedora13 SRPMS]$ rpmlint archivemount-0.6.0-1.fc13.src.rpm 
> archivemount.src: W: spelling-error Summary(en_US) filesystem -> file system,
> file-system, falsest
> archivemount.src: W: spelling-error %description -l en_US libarchive -> lib
> archive, lib-archive, archive
> archivemount.src: W: spelling-error %description -l en_US gz -> Hz, G, Z
> archivemount.src: W: spelling-error %description -l en_US bz -> biz, NZ, bx
> archivemount.src: W: spelling-error %description -l en_US filesystem -> file
> system, file-system, falsest
> archivemount.src: W: invalid-license GPL
> 1 packages and 0 specfiles checked; 0 errors, 6 warnings.
> [mmckinst@fedora13 SRPMS]$    

Typically warnings like this can be ignored as they are intentionally spelled
this way. Spelling them any other way would not make sense in the description.

rpmlint should also be run on ALL packages including the spec.

Running rpmlint on all files yields 3 warnings and 1 error.

archivemount.i686: W: invalid-license GPL
archivemount.src: W: invalid-license GPL
archivemount-debuginfo.i686: W: invalid-license GPL
archivemount-debuginfo.i686: E: debuginfo-without-sources

Fix the first 3 warnings by changing the license in the spec to LGPLv2+
and rebuilding the srpm. I'm not sure how to fix the error as I did not
dig too deep.

I am not a sponsor I just wanted to point out a few things I noticed.

Comment 3 Randy Berry 2010-06-12 03:24:30 UTC
My bad.. License is GPLv2

Comment 4 Niels de Vos 2010-06-15 20:35:21 UTC
Thanks Mark and Randall,

I guess the should be licensed as LGPLv2+ according to the included COPYING file and the man-page. In the header of archivemount.c following is written:

This program can be distributed under the terms of the GNU GPL. See the file COPYING.

This only mentions the GPL itself, but redirects to the COPYING file.


I left the buildroot in as I would like to see this package in EPEL one day too. Submitting/maintaining it or EPEL will be my next step after the inclusion in Fedora.


I don't know where the "archivemount-debuginfo.i686: E: debuginfo-without-sources" error comes from. I don't have this on my system. Hmmm...


I have updated the .spec and created a new src.rpm with the following changes:

%changelog
* Tue Jun 15 2010 Niels de Vos <ndevos> 0.6.0-2
- fix license to GNU Library General Public v2 or newer
- remove packaged autoconf/automake cache files

* Mon Jun 01 2010 Niels de Vos <ndevos> 0.6.0-1
- Initial package


The result of rpmlint is this:

$ rpmlint archivemount.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.
$ rpmlint archivemount-0.6.0-2.fc13.src.rpm 
archivemount.src: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systematic
archivemount.src: W: spelling-error %description -l en_US libarchive -> lib archive, lib-archive, archive
archivemount.src: W: spelling-error %description -l en_US gz -> g, z, gs
archivemount.src: W: spelling-error %description -l en_US bz -> bx, b, z
archivemount.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systematic
1 packages and 0 specfiles checked; 0 errors, 5 warnings.

(imho filesystem is correctly written, so is libarchive, gz and bz)


The new files can be found here:
- http://www.nixpanic.net/software/packages/archivemount

Comment 5 Susi Lehtola 2010-06-19 06:47:06 UTC
(In reply to comment #4)
> Thanks Mark and Randall,
> 
> I guess the should be licensed as LGPLv2+ according to the included COPYING
> file and the man-page. In the header of archivemount.c following is written:
> 
> This program can be distributed under the terms of the GNU GPL. See the file
> COPYING.
> 
> This only mentions the GPL itself, but redirects to the COPYING file.

The source code is always the authoritative source. Now it doesn't mention anything else than GPL, so the License: tag must be set to GPL+.

Furthermore, in this case COPYING does not contain any statement of the like "Archivemount is free software and is distributed under the terms of the Gnu Library General Public License, version 2 (and any later version)"; it just contains the LGPL. So there is no conflict here.

I don't know if the man page can be thought to be legally binding.

I recommend that you ask upstream to clarify the license in the source code header. Until they reply, the license tag should reflect the license header in the source code: GPL+.

Comment 6 Niels de Vos 2010-06-24 16:36:35 UTC
(In reply to comment #5)
> I recommend that you ask upstream to clarify the license in the source code
> header. Until they reply, the license tag should reflect the license header in
> the source code: GPL+.    

I have contacted the author and archivemount-0.6.1.tar.gz has been released to resolve the license issue. It is definitely LGPLv2+. I got a confirmation by email, but that is in German, so I wont share it here.

The latest .spec and SRPM can be downloaded here:
- http://nixpanic.net/software/packages/archivemount
- http://nixpanic.net/software/packages/archivemount/archivemount.spec
- http://nixpanic.net/software/packages/archivemount/archivemount-0.6.1-1.fc13.src.rpm

$ rpmlint archivemount.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.
$ rpmlint archivemount-0.6.1-1.fc13.src.rpm 
archivemount.src: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systematic
archivemount.src: W: spelling-error %description -l en_US libarchive -> lib archive, lib-archive, archive
archivemount.src: W: spelling-error %description -l en_US gz -> g, z, gs
archivemount.src: W: spelling-error %description -l en_US bz -> bx, b, z
archivemount.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systematic
1 packages and 0 specfiles checked; 0 errors, 5 warnings.


Cheers,
Niels

Comment 7 Fabian Affolter 2011-01-05 08:32:21 UTC
Just some quick comments:

- Man pages doesn't need %doc
- You can use the name macro (%{name}) instead of the application name.  Make sometimes the maintenance easier
- Please preserve the time stamps when possible (https://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps).

Comment 8 Niels de Vos 2011-01-10 19:47:32 UTC
Thanks Fabian!

(In reply to comment #7)
> Just some quick comments:
> 
> - Man pages doesn't need %doc

Fixed.


> - You can use the name macro (%{name}) instead of the application name.  Make
> sometimes the maintenance easier

Thanks for the pointer, but I prefer keeping the name as that is a little more readable.


> - Please preserve the time stamps when possible
> (https://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps).

Fixed.


The updated .spec and SRPM can be downloaded here:
- http://nixpanic.net/software/packages/archivemount
- http://nixpanic.net/software/packages/archivemount/archivemount.spec
- http://nixpanic.net/software/packages/archivemount/archivemount-0.6.1-2.fc14.src.rpm

$ rpmlint archivemount.spec ~/rpmbuild/SRPMS/archivemount-0.6.1-2.fc14.src.rpm 
archivemount.src: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systematic
archivemount.src: W: spelling-error %description -l en_US libarchive -> lib archive, lib-archive, archive
archivemount.src: W: spelling-error %description -l en_US gz -> g, z, gaz
archivemount.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systematic
1 packages and 1 specfiles checked; 0 errors, 4 warnings.

Comment 9 Niels de Vos 2011-01-10 19:57:20 UTC
Oh, and just in case someone wonders:
- a patch has been added (noted in the %changelog)
- the patch was exported with 'git format-patch' and contains a description
- the patch can be viewed on https://github.com/nixpanic/archivemount/commit/4ef79c9802d923bf90c259881d2dcae8deda66a2
- without this patch, archivemount reliably crashes when reading big files from the archive

Comment 10 Tomas Mraz 2011-01-14 10:18:05 UTC
The debuginfo package is broken. The reason is that the RPM_OPT_FLAGS are not properly used in the build process.

Please fix that.

Comment 11 Niels de Vos 2011-01-14 13:53:32 UTC
Thanks Tomas,

fixed it with the following:

 %build
-%configure
+CFLAGS="$RPM_OPT_FLAGS" %configure
 make %{?_smp_mflags}


A new version (0.6.1-3) of the SRPM and SPEC can be found here:

- http://nixpanic.net/software/packages/archivemount
- http://nixpanic.net/software/packages/archivemount/archivemount.spec
- http://nixpanic.net/software/packages/archivemount/archivemount-0.6.1-3.fc14.src.rpm

Comment 12 Tomas Mraz 2011-01-17 10:05:56 UTC
Created attachment 473797 [details]
Patch for configure

No, your change is unnecessary and not fixing the problem.

The problem is with spurious CFLAGS= in configure.ac (and configure).

The attached patch removes it.

Comment 13 Niels de Vos 2011-01-18 16:49:53 UTC
Tomas, nicely found! I'll inform the developer about this issue too.

A new version (0.6.1-4) of the SRPM and SPEC that includes your patch can be found here:

- http://nixpanic.net/software/packages/archivemount
- http://nixpanic.net/software/packages/archivemount/archivemount.spec
-
http://nixpanic.net/software/packages/archivemount/archivemount-0.6.1-4.fc14.src.rpm

Many thanks again,
Niels

Comment 14 Tomas Mraz 2011-01-19 10:46:35 UTC
rpmlint -v archivemount-0.6.1-4.fc13.src.rpm archivemount-0.6.1-4.fc13.x86_64.rpm archivemount-debuginfo-0.6.1-4.fc13.x86_64.rpm
archivemount.src: I: checking
archivemount.src: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systematic
archivemount.src: W: spelling-error %description -l en_US libarchive -> lib archive, lib-archive, archive
archivemount.src: W: spelling-error %description -l en_US gz -> g, z, gaz
archivemount.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systematic
archivemount.src: I: checking-url http://www.cybernoia.de/software/archivemount/ (timeout 10 seconds)
archivemount.src: I: checking-url http://www.cybernoia.de/software/archivemount/archivemount-0.6.1.tar.gz (timeout 10 seconds)
archivemount.x86_64: I: checking
archivemount.x86_64: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systematic
archivemount.x86_64: W: spelling-error %description -l en_US libarchive -> lib archive, lib-archive, archive
archivemount.x86_64: W: spelling-error %description -l en_US gz -> g, z, gaz
archivemount.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systematic
archivemount.x86_64: I: checking-url http://www.cybernoia.de/software/archivemount/ (timeout 10 seconds)
archivemount-debuginfo.x86_64: I: checking
archivemount-debuginfo.x86_64: I: checking-url http://www.cybernoia.de/software/archivemount/ (timeout 10 seconds)
3 packages and 0 specfiles checked; 0 errors, 8 warnings.

All of the warnings are harmless or bogus. I verified that the URL is accessible and that the upstream tarball matches with the tarball in the provided src.rpm.

The package conforms to the packaging guidelines.

APPROVED

Please create an account in the Fedora account system and get the appropriate CLA. I will then add your account to the packager group.

Comment 15 Niels de Vos 2011-01-19 14:27:28 UTC
Tomas, my account name / login is 'devos'.

Many thanks again!

Comment 16 Tomas Mraz 2011-01-19 16:00:10 UTC
Done, now you can ask for CVS branch and build the package in Fedora.

Comment 17 Niels de Vos 2011-01-19 16:55:53 UTC
New Package SCM Request
=======================
Package Name: archivemount
Short Description: FUSE based filesystem for mounting compressed archives
Owners: devos
Branches: f14
InitialCC:

Comment 18 Jason Tibbitts 2011-01-19 21:58:37 UTC
This ticket is not assigned to anyone.  Please fix and re-raise the fedora-cvs flag.

Comment 19 Niels de Vos 2011-01-20 17:28:19 UTC
Hmm, I thought it was assigned to Tomas Mraz. I thinks that is has been corrected now.

Thanks.

Comment 20 Jason Tibbitts 2011-01-20 17:33:58 UTC
Git done (by process-git-requests).

Comment 21 Fedora Update System 2011-01-22 17:01:27 UTC
archivemount-0.6.1-4.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/archivemount-0.6.1-4.fc14

Comment 22 Fedora Update System 2011-01-22 20:26:19 UTC
archivemount-0.6.1-4.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update archivemount'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/archivemount-0.6.1-4.fc14

Comment 23 Fedora Update System 2011-01-31 19:53:41 UTC
archivemount-0.6.1-4.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 24 Niels de Vos 2011-02-03 10:59:39 UTC
Package Change Request
======================
Package Name: archivemount
New Branches: el5 el6
Owners: bar devos

Comment 25 Niels de Vos 2011-02-03 12:01:41 UTC
Please disregard comment #24, user bar should not be co-owner :)



Package Change Request
======================
Package Name: archivemount
New Branches: el5 el6
Owners: devos

Comment 26 Kevin Fenzi 2011-02-03 20:07:43 UTC
Something seems to be going on with your account: 

AppError(PackageDBError, Unable to save all information for archivemount: Email address niels is not a valid bugzilla email address.  Either make a bugzilla account with that email address or change your email address in the Fedora Account System https://admin.fedoraproject.org/accounts/ to a valid bugzilla email address and try again., extras=None)

Can you change your account to match whichever one you use in bugzilla please?

Comment 27 Niels de Vos 2011-02-04 09:09:02 UTC
Kevin,

I have updated my account to match the addresses now.

Thanks,
Niels

Comment 28 Kevin Fenzi 2011-02-06 22:44:30 UTC
Git done (by process-git-requests).

Comment 29 Fedora Update System 2011-02-11 17:22:15 UTC
archivemount-0.6.1-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/archivemount-0.6.1-4.el6

Comment 30 Fedora Update System 2011-02-23 21:55:39 UTC
archivemount-0.6.1-4.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 31 Fedora Update System 2011-03-10 11:31:06 UTC
archivemount-0.6.1-4.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/archivemount-0.6.1-4.el5

Comment 32 Fedora Update System 2011-03-11 18:34:04 UTC
archivemount-0.6.1-4.el5 has been pushed to the Fedora EPEL 5 stable repository.