Bug 1427185

Summary: Review Request: zypper - Command line package manager from SUSE
Product: [Fedora] Fedora Reporter: Neal Gompa <ngompa13>
Component: Package ReviewAssignee: Zbigniew Jędrzejewski-Szmek <zbyszek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, vondruch, zbyszek
Target Milestone: ---Flags: zbyszek: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-04-19 03:08:12 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:
Bug Depends On: 1373317, 1427182    
Bug Blocks:    

Description Neal Gompa 2017-02-27 14:36:02 UTC
Spec URL: http://kinginuyasha.enanocms.org/downloads/zypper.spec
SRPM URL: http://kinginuyasha.enanocms.org/downloads/zypper-1.13.19-1.fc25.src.rpm

Description:
Zypper is a command line package manager tool from SUSE,
who often describes it as the "world's most powerful
command line package manager".

Fedora Account System Username: ngompa

Comment 1 Zbigniew Jędrzejewski-Szmek 2017-03-26 02:13:24 UTC
BuildRequires, Recommends should be specified one-per-line, for legibility and diffability.

"who often describes" — this is gramatically incorrect, "SUSE" is not a "who". It would be nice to say something about the capabilities this package provides: "can be used to install and update ..." or so.

%description should be wrapped to ~72 columns.

Requires:       /usr/bin/python
→ not necessary, dependency is generated automatically.

Requires:       /usr/bin/perl
→ the same

%make_build in %tests should be moved to %build.

Works OK here. No major issues apart from some cosmetics.

Comment 3 Zbigniew Jędrzejewski-Szmek 2017-04-13 18:09:12 UTC
> # Use correct libexecdir
> find -type f -exec sed -i -e "s|/usr/lib/zypper|%{_libexecdir}/zypper|g" {} ';'
> find -type f -exec sed -i -e "s|\${CMAKE_INSTALL_PREFIX}/lib/zypper|\${CMAKE_INSTALL_PREFIX}/libexec/zypper|g" {} ';'
> find -type f -exec sed -i -e "s|\${CMAKE_INSTALL_PREFIX}/lib/\${PACKAGE}|\${CMAKE_INSTALL_PREFIX}/libexec/\${PACKAGE}|g" {} ';'

That's nothing better about %_libexecdir/zypper compared to %_lib/zypper. Those two directories are on the same partition always, FHS says both are OK. IMHO %_libexecdir is just cargo-culting of a non-solution to a non-problem. One could even argue that this change is in violation of Fedora guidelines, because it's a divergence from upstream without a reason. It's your choice, but fwiw, I think you're doing it wrong ;)

> # Fix shebang for zypper-log
> sed -e "s|/usr/bin/env python|/usr/bin/python|g" -i %{buildroot}%{_sbindir}/zypper-log 

Does it support python3? If yes, it would be better to use /usr/bin/python3 instead.

Ah, OK, it doesn't. Looking at the code made my eyes bleed.

[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/doc/zypper,
     /etc/logrotate.d, /etc/zypp

> %{_sysconfdir}/bash_completion.d/zypper.sh
Please move that to %{_datadir}/bash-completion/completions/.

zypp-apt-get is a symlink to "aptitude". When you rename aptidue to zypp-aptitude, you need to update the symlink too.

zypp-aptitude is a perl program. You need build deps [http://fedoraproject.org/wiki/Packaging:Perl#Build_Dependencies] and Requires [http://fedoraproject.org/wiki/Packaging:Perl#Versioned_MODULE_COMPAT_Requires].

Comment 4 Neal Gompa 2017-04-14 00:26:36 UTC
I've fixed up the Perl and bash completion issues.

As for the libexecdir thing, I intend to fix this correctly upstream in libzypp and zypper, and this is just to ensure things are sane before that lands.

Spec URL: http://kinginuyasha.enanocms.org/downloads/zypper.spec
SRPM URL: http://kinginuyasha.enanocms.org/downloads/zypper-1.13.22-1.fc25.src.rpm

Comment 5 Zbigniew Jędrzejewski-Szmek 2017-04-14 02:28:23 UTC
+ package name is OK
+ builds and installs OK
+ license is acceptable
+ license is specified correctly (GPLv2+)
+ BR/P/R look OK
+ rpmlint shows nothing serious

Package is APPROVED.

rpmlint:
zypper-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/zypper-1.13.22-1.fc27.x86_64/src/solve-commit.h
zypper-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/zypper-1.13.22-1.fc27.x86_64/src/update.cc
zypper-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/zypper-1.13.22-1.fc27.x86_64/src/utils/pager.h
zypper-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/zypper-1.13.22-1.fc27.x86_64/src/solve-commit.cc
zypper-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/zypper-1.13.22-1.fc27.x86_64/src/update.h
zypper-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/zypper-1.13.22-1.fc27.x86_64/src/utils/pager.cc

Comment 6 Gwyn Ciesla 2017-04-17 21:32:14 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/zypper

Comment 7 Fedora Update System 2017-04-18 05:18:50 UTC
zypper-1.13.22-1.fc26 libzypp-16.6.1-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-ba82706aa3

Comment 8 Fedora Update System 2017-04-18 19:53:58 UTC
libzypp-16.6.1-1.fc26, zypper-1.13.22-1.fc26 has been pushed to the Fedora 26 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-2017-ba82706aa3

Comment 9 Fedora Update System 2017-04-19 03:08:12 UTC
libzypp-16.6.1-1.fc26, zypper-1.13.22-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.