https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Bug ID: 1582983 Summary: Review Request: termy-server - TermySequence terminal multiplexer server Product: Fedora Version: rawhide Component: Package Review Severity: medium Assignee: nobody@fedoraproject.org Reporter: ewalsh@termysequence.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org
Spec URL: https://termysequence.io/fedora/termy-server.spec SRPM URL: https://termysequence.io/fedora/termy-server-1.0.2-1.fc28.src.rpm
Description: A multiplexing terminal emulator server implementing the TermySequence protocol. TermySequence is a terminal emulation system with a focus on connectivity, productivity, and collaboration.
Fedora Account System Username: ewalsh
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Eamon Walsh ewalsh@termysequence.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |177841 (FE-NEEDSPONSOR)
--- Comment #1 from Eamon Walsh ewalsh@termysequence.com --- This is my first package, need sponsor.
Available in COPR: https://copr.fedorainfracloud.org/coprs/ewalsh/termysequence/
Koji scratch builds: f28 https://koji.fedoraproject.org/koji/taskinfo?taskID=27249660 f29 https://koji.fedoraproject.org/koji/taskinfo?taskID=27249793
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=177841 [Bug 177841] Tracker: Review requests from new Fedora packagers who need a sponsor
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Eamon Walsh ewalsh@termysequence.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1583798
--- Comment #2 from Eamon Walsh ewalsh@termysequence.com --- Also, I am the upstream author and maintainer.
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1583798 [Bug 1583798] Review Request: <main package name here> - <short summary here>
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Michael Cronenworth mike@cchtml.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|nobody@fedoraproject.org |mike@cchtml.com
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #3 from Michael Cronenworth mike@cchtml.com --- Sorry, I just saw you need a sponsor. Unfortunately I am not one. I can review it, but you'll need to ask for a sponsor.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #4 from Eamon Walsh ewalsh@termysequence.com --- Yes, that is fine. I made some comments on #1585365.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #5 from Michael Cronenworth mike@cchtml.com --- Outstanding issues:
1. The termy-shell-integration-bash package is not providing a license that matches the file. The shell script is licensed as MIT. 2. You're compiling against a bundled library, and while it is some-what allowed now, I suggest using the Fedora package unless there is a reason against it: Add 'rm -rf vendor/utf8cpp' to %prep and BuildRequires: utf8cpp-devel
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #6 from Eamon Walsh ewalsh@termysequence.com --- Spec URL: https://termysequence.io/fedora/termy-server.spec SRPM URL: https://termysequence.io/fedora/termy-server-1.0.3-1.fc28.src.rpm
The utf8cpp "library" is actually just header files, there is no shared object. So bundling it makes no difference, but I went ahead and unbundled it.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Michael Cronenworth mike@cchtml.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW Assignee|mike@cchtml.com |nobody@fedoraproject.org
--- Comment #7 from Michael Cronenworth mike@cchtml.com --- Looks good. If I was a sponsor I would approve. I'll unassign myself so someone else can take it.
Package Review ==============
Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed
===== MUST items =====
C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs.
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 (v2)", "Unknown or generated", "*No copyright* CC by (v4.0)". 974 files have unknown license. Detailed output of licensecheck in /home/michael/Projects/fedora/provenpackager/1582983-termy- server/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package must own all directories that it creates. Note: Directories without known owners: /etc/profile.d [x]: Package does not own files or directories owned by other packages. [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. [-]: Package contains desktop file if it is a GUI application. [-]: 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. [-]: 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. [x]: 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 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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 0 bytes in 0 files. [x]: Packages must not store files under /srv, /opt or /usr/local
===== SHOULD items =====
Generic: [ 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. [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [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]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified.
===== EXTRA items =====
Generic: [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]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM.
Rpmlint ------- Checking: termy-server-1.0.3-1.fc29.x86_64.rpm termy-shell-integration-bash-1.0.3-1.fc29.noarch.rpm termy-server-debuginfo-1.0.3-1.fc29.x86_64.rpm termy-server-debugsource-1.0.3-1.fc29.x86_64.rpm termy-server-1.0.3-1.fc29.src.rpm termy-shell-integration-bash.noarch: W: summary-not-capitalized C iTerm2-compatible bash integration for TermySequence termy-shell-integration-bash.noarch: W: no-documentation termy-shell-integration-bash.noarch: W: non-conffile-in-etc /etc/profile.d/termy_shell_integration.sh 5 packages and 0 specfiles checked; 0 errors, 3 warnings.
Rpmlint (debuginfo) ------------------- Checking: termy-server-debuginfo-1.0.3-1.fc29.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Rpmlint (installed packages) ---------------------------- sh: /usr/bin/python: No such file or directory termy-server.x86_64: W: invalid-url URL: https://termysequence.io <urlopen error [Errno -2] Name or service not known> termy-shell-integration-bash.noarch: W: summary-not-capitalized C iTerm2-compatible bash integration for TermySequence termy-shell-integration-bash.noarch: W: invalid-url URL: https://termysequence.io <urlopen error [Errno -2] Name or service not known> termy-shell-integration-bash.noarch: W: no-documentation termy-shell-integration-bash.noarch: W: non-conffile-in-etc /etc/profile.d/termy_shell_integration.sh termy-server-debugsource.x86_64: W: invalid-url URL: https://termysequence.io <urlopen error [Errno -2] Name or service not known> termy-server-debuginfo.x86_64: W: invalid-url URL: https://termysequence.io <urlopen error [Errno -2] Name or service not known> 4 packages and 0 specfiles checked; 0 errors, 7 warnings.
Requires -------- termy-server (rpmlib, GLIBC filtered): /bin/bash /bin/sh libc.so.6()(64bit) libdl.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libsystemd.so.0()(64bit) libsystemd.so.0(LIBSYSTEMD_209)(64bit) libsystemd.so.0(LIBSYSTEMD_221)(64bit) libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) rtld(GNU_HASH) systemd
termy-shell-integration-bash (rpmlib, GLIBC filtered): termy-server
termy-server-debugsource (rpmlib, GLIBC filtered):
termy-server-debuginfo (rpmlib, GLIBC filtered):
Provides -------- termy-server: termy-server termy-server(x86-64)
termy-shell-integration-bash: termy-shell-integration-bash
termy-server-debugsource: termy-server-debugsource termy-server-debugsource(x86-64)
termy-server-debuginfo: debuginfo(build-id) termy-server-debuginfo termy-server-debuginfo(x86-64)
Source checksums ---------------- https://termysequence.io/releases/termysequence-1.0.3.tar.xz : CHECKSUM(SHA256) this package : 874bd7da67c3053febf6d89947a66f61ecd9b7dfd9e8a88f32cb913fe43ebfd1 CHECKSUM(SHA256) upstream package : 874bd7da67c3053febf6d89947a66f61ecd9b7dfd9e8a88f32cb913fe43ebfd1
Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -b 1582983 -m fedora-rawhide-x86_64 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #8 from Rex Dieter rdieter@gmail.com --- I'll try to review this soon, thanks for your patience.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Rex Dieter rdieter@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|nobody@fedoraproject.org |rdieter@gmail.com
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Rex Dieter rdieter@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ewalsh@termysequence.com Flags| |fedora-review? | |needinfo?(ewalsh@termyseque | |nce.com)
--- Comment #9 from Rex Dieter rdieter@gmail.com --- Looking this over I have a couple of questions:
1. termy-server and termy-qt both come from common source, https://termysequence.io/releases/termysequence-%%7Bversion%7D.tar.xz
So, why package them seperately? Typically, you'd build from a single source package and generate multiple subpackages instead.
2. Why use -DCMAKE_BUILD_TYPE=None ?? (hint: please document the reasoning in a .spec comment)
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Eamon Walsh ewalsh@termysequence.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(ewalsh@termyseque | |nce.com) |
--- Comment #10 from Eamon Walsh ewalsh@termysequence.com --- In response to comment #9:
1. My reasoning for having separate packages is that termy-qt is likely to need updates far more frequently than termy-server. If they are subpackages, every time the Qt application gets a bug fix or new feature, the server (which is intended to be installed in many more places such as containers and headless machines) will also get an update. Unless the Fedora infrastructure supports pushing updates for just one subpackage of a package? I double-checked the Packaging Guidelines and they seem to be silent on this issue. I can combine them into one package if this will help the review (could they be easily split back into separate packages later?)
2. I have added a comment about build type None and updated both spec files at the URL above.
Thanks for reviewing this, if you want me to review a package or two in return just let me know.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #11 from Eamon Walsh ewalsh@termysequence.com --- In response to comment #9:
1. One more reason for the package split: termy-server does not depend on V8 but termy-qt does. V8 does not build on all architectures, requiring an ExclusiveArch tag for termy-qt. ExclusiveArch cannot be applied to a subpackage.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #12 from Rex Dieter rdieter@gmail.com --- Re: comment #10
they're both built from the same source tarball, no? if you really want things built independently, why are they not released separately upstream?
re: comment #11
Subpackages can be conditionalized, that's not a problem.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #13 from Eamon Walsh ewalsh@termysequence.com --- I will need a week or two to make the necessary changes to the packaging.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #14 from Eamon Walsh ewalsh@termysequence.com --- Okay, a new 1.1.0 release has been made upstream. Upstream is now distributing termy-server as a separate tarball.
Spec URL: https://termysequence.io/fedora/termy-server.spec SRPM URL: https://termysequence.io/fedora/termy-server-1.1.0-1.fc28.src.rpm
Available in COPR: https://copr.fedorainfracloud.org/coprs/ewalsh/termysequence/
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Rex Dieter rdieter@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks|177841 (FE-NEEDSPONSOR) | Flags|fedora-review? |fedora-review+
--- Comment #15 from Rex Dieter rdieter@gmail.com --- Thanks for the update, and apologies for my tardiness. Found some free time today finally.
built/installed ok locally,
$ sudo rpmlint termy-server 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
naming: ok
sources: ok $ md5sum *.xz e8fdf6191c01d1eab2d0b968e42161f3 termysequence-server-1.1.0.tar.xz
licensing: ok
scriptlets: ok
1. SHOULD remove: # Build type "None" disables Release/Debug CFLAGS and LDFLAGS set by CMake. # Only the CFLAGS and LDFLAGS specified by rpmbuild will be used. ...# Build type "None" disables Release/Debug CFLAGS and LDFLAGS set by CMake. # Only the CFLAGS and LDFLAGS specified by rpmbuild will be used. # -DCMAKE_BUILD_TYPE=None \
-DCMAKE_BUILD_TYPE=None \
This does not appear to be true. and if it was, fixing or workaround here is the wrong place to do it (cmake and it's macros should be fixed instead). Please remove this.
Otherwise, fairly simple and clean.
APPROVED.
I'll sponsor you shortly.
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=177841 [Bug 177841] Tracker: Review requests from new Fedora packagers who need a sponsor
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Rex Dieter rdieter@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Alias| |termy-server
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #16 from Rex Dieter rdieter@gmail.com --- I'll amend SHOULD item 1:
1. SHOULD use instead -DCMAKE_BUILD_TYPE=Release
then Release flags actually get used. In practice, that means mostly that -DNDEBUG gets added to compiler flags.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #17 from Igor Gnatenko i.gnatenko.brain@gmail.com --- (fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/termy-server
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #18 from Eamon Walsh ewalsh@termysequence.com --- I will change the build type to Release before pushing. Thanks again for the sponsorship and the review. Feel free to give me a review or two to work on in return.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED
--- Comment #19 from Fedora Update System updates@fedoraproject.org --- termy-server-1.1.0-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-c790e20e68
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #20 from Fedora Update System updates@fedoraproject.org --- termy-server-1.1.0-2.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-5014defddd
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA
--- Comment #21 from Fedora Update System updates@fedoraproject.org --- termy-server-1.1.0-2.fc29 has been pushed to the Fedora 29 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-2018-c790e20e68
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #22 from Fedora Update System updates@fedoraproject.org --- termy-server-1.1.0-2.fc28 has been pushed to the Fedora 28 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-2018-5014defddd
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #23 from Fedora Update System updates@fedoraproject.org --- termy-server-1.1.0-2.fc28 has been pushed to the Fedora 28 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-2018-5014defddd
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
Eamon Walsh ewalsh@termysequence.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |ERRATA Last Closed| |2018-09-11 15:31:23
--- Comment #24 from Eamon Walsh ewalsh@termysequence.com --- Closing, thanks. Please review the GUI package #1583798 when you get a chance.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #25 from Fedora Update System updates@fedoraproject.org --- termy-server-1.1.0-2.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.
https://bugzilla.redhat.com/show_bug.cgi?id=1582983
--- Comment #26 from Fedora Update System updates@fedoraproject.org --- termy-server-1.1.0-2.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.
package-review@lists.fedoraproject.org