Bug 957346

Summary: Review Request: mingw-physfs - MinGW compiled physfs library to provide abstract access to various archives
Product: [Fedora] Fedora Reporter: Marcel Wysocki <maci>
Component: Package ReviewAssignee: Erik van Pienbroek <erik-fedora>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: erik-fedora, package-review
Target Milestone: ---Flags: erik-fedora: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mingw-physfs-2.0.3-4.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-29 23:26:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marcel Wysocki 2013-04-27 12:47:31 UTC
Spec URL: http://maci.satgnu.net/rpmbuild/SPECS/mingw-physfs.spec
SRPM URL: http://maci.satgnu.net/rpmbuild/SRPMS/mingw-physfs-2.0.3-1.fc18.src.rpm
Description: MinGW compiled physfs library to provide abstract access to various archives
Fedora Account System Username: maci

Koji URL: http://koji.fedoraproject.org/koji/taskinfo?taskID=5307873

Comment 1 Erik van Pienbroek 2013-05-04 21:40:24 UTC
$ rpmlint mingw-physfs.spec 
mingw-physfs.spec:12: W: mixed-use-of-spaces-and-tabs (spaces: line 3, tab: line 12)
0 packages and 1 specfiles checked; 0 errors, 1 warnings.

$ rpmlint mingw-physfs-2.0.3-1.fc19.src.rpm 
mingw-physfs.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
mingw-physfs.src: W: spelling-error %description -l en_US untrusted -> entrusted, trusted, encrusted
mingw-physfs.src: E: description-line-too-long C MinGW compiled PhysicsFS, a library to provide abstract access to various archives. It is
mingw-physfs.src:12: W: mixed-use-of-spaces-and-tabs (spaces: line 3, tab: line 12)
1 packages and 0 specfiles checked; 1 errors, 3 warnings.

$ rpmlint mingw32-physfs-2.0.3-1.fc19.noarch.rpm mingw32-physfs-static-2.0.3-1.fc19.noarch.rpm mingw64-physfs-2.0.3-1.fc19.noarch.rpm mingw64-physfs-static-2.0.3-1.fc19.noarch.rpm
mingw32-physfs.noarch: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
mingw32-physfs.noarch: W: spelling-error %description -l en_US untrusted -> entrusted, trusted, encrusted
mingw32-physfs.noarch: E: description-line-too-long C MinGW compiled PhysicsFS, a library to provide abstract access to various archives. It is
mingw32-physfs.noarch: W: no-documentation
mingw32-physfs-static.noarch: W: no-documentation
mingw64-physfs.noarch: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
mingw64-physfs.noarch: W: spelling-error %description -l en_US untrusted -> entrusted, trusted, encrusted
mingw64-physfs.noarch: E: description-line-too-long C MinGW compiled PhysicsFS, a library to provide abstract access to various archives. It is
mingw64-physfs.noarch: W: no-documentation
mingw64-physfs-static.noarch: W: no-documentation
4 packages and 0 specfiles checked; 2 errors, 8 warnings.


$ rpm --query --requires mingw32-physfs
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
mingw32(advapi32.dll)
mingw32-crt
mingw32-filesystem >= 83
mingw32(kernel32.dll)
mingw32(libgcc_s_sjlj-1.dll)
mingw32(msvcrt.dll)
mingw32(user32.dll)
mingw32(zlib1.dll)
rpmlib(PayloadIsXz) <= 5.2-1

$ rpm --query --requires mingw64-physfs
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
mingw64(advapi32.dll)
mingw64-crt
mingw64-filesystem >= 83
mingw64(kernel32.dll)
mingw64(msvcrt.dll)
mingw64(user32.dll)
mingw64(zlib1.dll)
rpmlib(PayloadIsXz) <= 5.2-1

$ rpm --query --requires mingw32-physfs-static
mingw32-physfs = 2.0.3-1.fc19
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsXz) <= 5.2-1

$ rpm --query --requires mingw64-physfs-static
mingw64-physfs = 2.0.3-1.fc19
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsXz) <= 5.2-1


$ rpm --query --provides mingw32-physfs
mingw32-physfs = 2.0.3-1.fc19
mingw32(libphysfs.dll)

$ rpm --query --provides mingw64-physfs
mingw64-physfs = 2.0.3-1.fc19
mingw64(libphysfs.dll)

$ rpm --query --provides mingw32-physfs-static
mingw32-physfs-static = 2.0.3-1.fc19

$ rpm --query --provides mingw64-physfs-static
mingw64-physfs-static = 2.0.3-1.fc19


$ wget --quiet http://www.icculus.org/physfs/downloads/physfs-2.0.3.tar.bz2 -O - | md5sum
c2c727a8a8deb623b521b52d0080f613  -
$ md5sum physfs-2.0.3.tar.bz2 
c2c727a8a8deb623b521b52d0080f613  physfs-2.0.3.tar.bz2


+ OK
! Needs to be looked into
/ Not applicable

[!] Compliant with generic Fedora Packaging Guidelines
[+] Source package name is prefixed with 'mingw-'
[+] Spec file starts with %{?mingw_package_header}
[+] BuildRequires: mingw32-filesystem >= 95 is in the .spec file
[+] BuildRequires: mingw64-filesystem >= 95 is in the .spec file
[+] Spec file contains %package sections for both mingw32 and mingw64 packages
[+] Binary mingw32 and mingw64 packages are noarch
[+] Spec file contains %{?mingw_debug_package} after the %description section
[+] Uses one of the macros %mingw_configure, %mingw_cmake, or %mingw_cmake_kde4
    to configure the package
[+] Uses the macro %mingw_make to build the package
[+] Uses the macro %mingw_make to install the package
[+] If package contains translations, the %mingw_find_lang macro must be used
[+] No binary package named mingw-$pkgname is generated
[+] Libtool .la files are not bundled
[+] .def files are not bundled
[+] Man pages which duplicate native package are not bundled
[+] Info files which duplicate native package are not bundled
[+] Provides of the binary mingw32 and mingw64 packages are equal
[!] Requires of the binary mingw32 and mingw64 packages are equal


The following rpmlint errors/warnings need to be fixed:
* mingw-physfs.spec:12: W: mixed-use-of-spaces-and-tabs
* mingw-physfs.src: E: description-line-too-long
* mingw32-physfs.noarch: E: description-line-too-long
* mingw64-physfs.noarch: E: description-line-too-long
* mingw32-physfs.noarch: W: no-documentation
* mingw64-physfs.noarch: W: no-documentation

The mingw32 package seems to depend on libgcc_s_sjlj-1.dll while the mingw64
package doesn't. I've also seen this on various other packages so we can
ignore this for now

A text file containing the license needs to bundled with both
the mingw32-physfs and mingw64-physfs subpackages and marked as %doc

The spec file still contains some informational comments from the example
spec file (about the use of static subpackages). These comments can be removed

Please add a comment about what the patch does and a reference to the
upstream bug tracker (if applicable).

Why is the 'rm -rf lzma' line commented out? If it isn't needed please remove it

Comment 2 Marcel Wysocki 2013-05-14 09:07:31 UTC
Fixed most issues:

Spec URL: http://maci.satgnu.net/rpmbuild/SPECS/mingw-physfs.spec
SRPM URL: http://maci.satgnu.net/rpmbuild/SRPMS/mingw-physfs-2.0.3-2.fc19.src.rpm

The patch is from the fedora physfs package and enables physfs to use a system provided lzma sdk instead of the one bundled with physfs (violates packaging guidelines). there exists no mingw package for the lzma sdk tho.
How should I proceed ? 
Im not sure the lzma sdk package would even compile for mingw, its quite outdated as well.

Comment 3 Erik van Pienbroek 2013-05-19 15:34:25 UTC
It looks like physfs contains a bundled copy of lzma. According to the packaging guidelines it isn't allowed to use bundled copies of external libraries.

Now there are two options on how to continue:
1. Strip the lzma pieces from physfs (thus also removing lzma support in the library itself)
2. Create a dedicated mingw-lzma package and have this package use it

A choice from one of these options needs to be made before this package can be approved

Comment 4 Marcel Wysocki 2013-06-06 14:35:29 UTC
Update:

* Thu Jun 06 2013 Marcel Wysocki <maci> - 2.0.3-3
- rebuilt for mingw-lzma-sdk457 package

Spec URL: http://maci.satgnu.net/rpmbuild/SPECS/mingw-physfs.spec
SRPM URL: http://maci.satgnu.net/rpmbuild/SRPMS/mingw-physfs-2.0.3-3.fc19.src.rpm

Comment 5 Marcel Wysocki 2013-10-14 11:11:20 UTC
Update:

%changelog
* Mon Oct 14 2013 maci <maci> - 2.0.3-4
- remove patch
- build without 7zip support, its unlikely mingw-lzma-sdk457 will ever
  work. Can be re-enabled when xz-devel support is implemented
  http://icculus.org/pipermail/physfs/2010-December/000971.html

Spec URL: https://raw.github.com/maci0/rpmbuild/master/SPECS/mingw-physfs.spec
SRPM URL: https://raw.github.com/maci0/rpmbuild/master/SRPMS/mingw-physfs-2.0.3-4.fc19.src.rpm
Koji URL: http://koji.fedoraproject.org/koji/taskinfo?taskID=6057794

Comment 6 Marcel Wysocki 2014-01-21 10:07:57 UTC
anything still blocking this?

Comment 7 Erik van Pienbroek 2014-05-12 16:39:49 UTC
My apologies on the long delay. I forgot about this review ticket. All issues are resolved now:

==================================================
 The package mingw-physfs is APPROVED by epienbro
==================================================

Comment 8 Marcel Wysocki 2014-05-13 16:01:12 UTC
New Package SCM Request
=======================
Package Name: mingw-physfs
Short Description: MinGW compiled physfs library to provide abstract access to various archives
Owners: maci epienbro
Branches: f19 f20 epel7
InitialCC:

Comment 9 Gwyn Ciesla 2014-05-13 16:43:59 UTC
Git done (by process-git-requests).

Comment 10 Fedora Update System 2014-05-14 09:44:58 UTC
mingw-physfs-2.0.3-4.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/mingw-physfs-2.0.3-4.fc19

Comment 11 Fedora Update System 2014-05-14 09:46:11 UTC
mingw-physfs-2.0.3-4.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/mingw-physfs-2.0.3-4.fc20

Comment 12 Fedora Update System 2014-05-15 00:00:23 UTC
Package mingw-physfs-2.0.3-4.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mingw-physfs-2.0.3-4.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-6368/mingw-physfs-2.0.3-4.fc20
then log in and leave karma (feedback).

Comment 13 Fedora Update System 2014-05-29 23:26:27 UTC
mingw-physfs-2.0.3-4.fc19 has been pushed to the Fedora 19 stable repository.

Comment 14 Fedora Update System 2014-05-29 23:28:23 UTC
mingw-physfs-2.0.3-4.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.