Bug 1269649
Summary: | Review Request: aeskulap - Full open source replacement for commercially available DICOM viewer | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jens Lody <fedora> |
Component: | Package Review | Assignee: | Antonio T. (sagitter) <anto.trande> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | package-review, samuel-rhbugs |
Target Milestone: | --- | Flags: | anto.trande:
fedora-review+
|
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-12-11 23:52:23 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: |
Description
Jens Lody
2015-10-07 20:31:06 UTC
This review is an unretirement review. aeskulap was retired due to dependency-problems before F22. I fixed these problems and also a possible crash, that happened to me also in F21. It currently does not build in F23 and Rawhide, I will dig into this as soon as possible. Updated spe-file and srpm. Builds in F23 and greater now. (At least) glibmm24 seems to need the "-std=c++11"-parameter now. https://rpm.jenslody.de/review/aeskulap.spec https://rpm.jenslody.de/review/aeskulap-0.2.2-0.21beta1.el7.centos.src.rpm Actual copr-builds: https://copr.fedoraproject.org/coprs/jenslody/Tests/monitor/ # Note: upstream is dead, so patches can not be included in the original sources. # The source does not exist any longer on the old server, but can be downloaded via archive.org. # Is it allowed to do it this way ? Why you don't upload your patched source code as new maintained project? (In reply to Antonio Trande from comment #5) > # Note: upstream is dead, so patches can not be included in the original > sources. > # The source does not exist any longer on the old server, but can be > downloaded via archive.org. > # Is it allowed to do it this way ? > > Why you don't upload your patched source code as new maintained project? To be honest: It just did not come in my mind, even if it would obviously be the simplest solution. This would obsolete all the patches, that clutter the spec-file now. One question is, what to do with the naming in such a case, where upstream is dead ? The simplest way would be to keep the same name. Need read carefully how the code is licensed. I just found this github repo from original developer: https://github.com/pipelka/aeskulap , this pull-request from Debian: https://github.com/pipelka/aeskulap/pull/1 and a bug-report from the former packager (until F21) of aeskulap in Fedora: https://github.com/pipelka/aeskulap/issues/2 So even if there is no active development, there is a valid upstream and the possibility to get my build- and bug fix merged into upstream. There is still the option to fork the repo if it is easier to handle. I wonder why I did not find any link to the github repo, just the outdated homepage. It's mentioned in Debians upstream info on their developer information site. Not the place I normally look at. >So even if there is no active development, there is a valid upstream and the >possibility to get my build- and bug fix merged into upstream. > >There is still the option to fork the repo if it is easier to handle. Good point of start. >Release: 0.21beta1%{?dist} If yours is a 0.2.2 pre-release, you should change Release tag like 0.%{X}.%{alphatag}%{?dist} Where %{X} is the release number increment, and %{alphatag} is the string that came from the version. In this case, the period '.' is used as the delimiter between the release number increment, and the non-numeric version string. http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Pre-Release_packages If possible, I will update the src.rpm and spec-file this evening (UTC+1) and upload it. I will also add two pull requests to the aeskulap-repo on github, to see if my dcmtk 3.6.1 patch and my bug-fix can be merged upstream. It took a little longer, sorry. Much work, other package in review (and reviewed). I tried to contact the author of aeskulap via mail (I took the mail address from github commits) and asked hime whether he plans any further development. If not it would be easier to fork his repo. There are several things to clean up, e,g. unbundle dcmtk, update m4-macro(s), if possible switch from GConf to GSettings ... As first step I have updated the spec and srpm, to use the github-repo and get rid of many patches. https://rpm.jenslody.de/review/aeskulap.spec https://rpm.jenslody.de/review/aeskulap-0.2.2-0.22.beta1.fc23.src.rpm I just got a mail from the aeskulap developer (Alexander Pipelka). He has no time to do any further development of the project, but he would be glad if somebody would work on it. So I will use my forked repo (https://github.com/jenslody/aeskulap) and start to commit my patches and do some cleanup. (In reply to Jens Lody from comment #12) > I just got a mail from the aeskulap developer (Alexander Pipelka). > He has no time to do any further development of the project, but he would be > glad if somebody would work on it. > So I will use my forked repo (https://github.com/jenslody/aeskulap) and > start to commit my patches and do some cleanup. I will wait your definitive release before reviewing. Remember adding an appdata file and remove existing rpaths. Here it comes. I still tagged it as beta1, maybe beta2 would be better. Most things should be okay now. It still uses GSConf instead of GSettings/dconf, but this is something that needs some more time and is not essentially. https://rpm.jenslody.de/review/aeskulap.spec https://rpm.jenslody.de/review/aeskulap-0.2.2-0.23.beta1.fc23.src.rpm - There is code released with GPLv2+ license. Please, update License: 'LGPLv2+ and GPLv2+' - Please, update incorrect FSF address - COPYING.LIB is not packaged. - -doc subpackage must not require main package; it's standalone and must provide an own license file. - Libraries and 'aeskulap' binary files contain rpaths. http://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath Please, remove them and set LD_LIBRARY_PATH environment variable of 'Exec' key in the .desktop file. - Remove the *.la files - Please, update the appdata file "project_license" list. - If you want package in <F23, you need set flags for hardened builds. Use 'checksec' tool to check (https://fedoraproject.org/wiki/Changes/Harden_All_Packages). rpmlint warnings: - aeskulap.i686: W: dangerous-command-in-%pre rm /dangerous-command-in-%post rm are related to the GConf scriptlets; they can be ignored, i think. - "non-conffile-in-etc /etc/gconf/schemas/aeskulap.schemas" can be ignored as well; %config is never used for *.schemas files. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://fedoraproject.org/wiki/Packaging:Guidelines - GConf schemas are properly installed Note: gconf file(s) in aeskulap See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GConf - Package does not use a name that already exists. Note: A package with this name already exists. Please check https://admin.fedoraproject.org/pkgdb/acls/name/aeskulap See: https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Conflicting_Package_Names ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. [x]: Header files in -devel subpackage, if present. [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. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "LGPL (v2 or later)", "GPL (v2 or later)", "LGPL (v2 or later) (with incorrect FSF address)", "Unknown or generated". 107 files have unknown license. Detailed output of licensecheck in /home/sagitter/1269649-aeskulap/licensecheck.txt [!]: License file installed when any subpackage combination is installed. [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. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: The spec file handles locales properly. [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. [-]: Package contains systemd file(s) if in need. [x]: update-desktop-database is invoked in %post and %postun if package contains desktop file(s) with a MimeType: entry. Note: desktop file(s) with MimeType entry in aeskulap [x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package contains icons. Note: icons in aeskulap [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 71680 bytes in 4 files. [!]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [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]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. [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 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: [-]: 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). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in aeskulap-debuginfo [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: 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. [-]: %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]: 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]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Package should not use obsolete m4 macros [x]: Spec file according to URL is the same as in SRPM. Installation errors ------------------- INFO: mock.py version 1.2.13 starting (python version = 3.4.3)... Start: init plugins INFO: selinux enabled Finish: init plugins Start: run Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata INFO: enabled ccache Mock Version: 1.2.13 INFO: Mock Version: 1.2.13 Finish: chroot init INFO: installing package(s): /home/sagitter/1269649-aeskulap/results/aeskulap-0.2.2-0.23.beta1.fc24.i686.rpm /home/sagitter/1269649-aeskulap/results/aeskulap-doc-0.2.2-0.23.beta1.fc24.noarch.rpm /home/sagitter/1269649-aeskulap/results/aeskulap-debuginfo-0.2.2-0.23.beta1.fc24.i686.rpm /home/sagitter/1269649-aeskulap/results/aeskulap-debuginfo-0.2.2-0.23.beta1.fc24.i686.rpm ERROR: Command failed. See logs for output. # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-i386/root/ --releasever 24 install /home/sagitter/1269649-aeskulap/results/aeskulap-0.2.2-0.23.beta1.fc24.i686.rpm /home/sagitter/1269649-aeskulap/results/aeskulap-doc-0.2.2-0.23.beta1.fc24.noarch.rpm /home/sagitter/1269649-aeskulap/results/aeskulap-debuginfo-0.2.2-0.23.beta1.fc24.i686.rpm /home/sagitter/1269649-aeskulap/results/aeskulap-debuginfo-0.2.2-0.23.beta1.fc24.i686.rpm --setopt=tsflags=nocontexts Rpmlint ------- Checking: aeskulap-0.2.2-0.23.beta1.fc24.i686.rpm aeskulap-doc-0.2.2-0.23.beta1.fc24.noarch.rpm aeskulap-debuginfo-0.2.2-0.23.beta1.fc24.i686.rpm aeskulap-0.2.2-0.23.beta1.fc24.src.rpm aeskulap.i686: W: spelling-error %description -l en_US gtkmm aeskulap.i686: W: spelling-error %description -l en_US glademm -> glade mm, glade-mm, glade aeskulap.i686: W: spelling-error %description -l en_US gconfmm -> conform aeskulap.i686: W: non-conffile-in-etc /etc/gconf/schemas/aeskulap.schemas aeskulap.i686: W: no-manual-page-for-binary aeskulap aeskulap.i686: W: dangerous-command-in-%pre rm aeskulap.i686: W: dangerous-command-in-%post rm aeskulap.src: W: spelling-error %description -l en_US gtkmm aeskulap.src: W: spelling-error %description -l en_US glademm -> glade mm, glade-mm, glade aeskulap.src: W: spelling-error %description -l en_US gconfmm -> conform 4 packages and 0 specfiles checked; 0 errors, 10 warnings. Requires -------- aeskulap (rpmlib, GLIBC filtered): /bin/sh GConf2 libatk-1.0.so.0 libatkmm-1.6.so.1 libc.so.6 libcairo.so.2 libcairomm-1.0.so.1 libconfiguration.so libdcmdata.so.4 libdcmimage.so.4 libdcmimgle.so.4 libdcmjpeg.so.4 libdcmnet.so.4 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgconf-2.so.4 libgconfmm-2.6.so.1 libgdk-x11-2.0.so.0 libgdk_pixbuf-2.0.so.0 libgdkmm-2.4.so.1 libgio-2.0.so.0 libgiomm-2.4.so.1 libglade-2.0.so.0 libglademm-2.4.so.1 libglib-2.0.so.0 libglibmm-2.4.so.1 libgobject-2.0.so.0 libgthread-2.0.so.0 libgtk-x11-2.0.so.0 libgtkmm-2.4.so.1 libijg12.so.4 libijg16.so.4 libijg8.so.4 libimagepool.so libjpeg.so.62 libm.so.6 liboflog.so.4 libofstd.so.4 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 libpangomm-1.4.so.1 libpng16.so.16 libpthread.so.0 libsigc-2.0.so.0 libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.1) libtiff.so.5 libwrap.so.0 libxml2.so.2 rtld(GNU_HASH) aeskulap-debuginfo (rpmlib, GLIBC filtered): aeskulap-doc (rpmlib, GLIBC filtered): aeskulap(x86-32) Provides -------- aeskulap: aeskulap aeskulap(x86-32) appdata() appdata(aeskulap.appdata.xml) application() application(aeskulap.desktop) libconfiguration.so libimagepool.so mimehandler(application/dicom) aeskulap-debuginfo: aeskulap-debuginfo aeskulap-debuginfo(x86-32) aeskulap-doc: aeskulap-doc Unversioned so-files -------------------- aeskulap: /usr/lib/aeskulap/libconfiguration.so aeskulap: /usr/lib/aeskulap/libimagepool.so Source checksums ---------------- https://github.com/jenslody/aeskulap/tarball/master/jenslody-aeskulap-e053698.tar.gz : CHECKSUM(SHA256) this package : 481a0f0b29a5032d482fcb28f7dd61da41cd2226bcf3cc1cbcb8f204d7138db7 CHECKSUM(SHA256) upstream package : 481a0f0b29a5032d482fcb28f7dd61da41cd2226bcf3cc1cbcb8f204d7138db7 Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20 Command line :/usr/bin/fedora-review -m fedora-rawhide-i386 -b 1269649 Buildroot used: fedora-rawhide-i386 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 (In reply to Antonio Trande from comment #15) > - There is code released with GPLv2+ license. > Please, update License: 'LGPLv2+ and GPLv2+' > done > - Please, update incorrect FSF address > done, by updating gettext.h > - COPYING.LIB is not packaged. > done > - -doc subpackage must not require main package; it's > standalone and must provide an own license file. > done for the first issue, the second one is a bit tricky, I have to ask old upstream which license can be used, the pdf-file (and the appropriate *.sxw-file) was downloadable without special license. I just split the package, because it was too large and it was in old aeskulap package without special license. > - Libraries and 'aeskulap' binary files contain rpaths. > http://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath > > Please, remove them and set LD_LIBRARY_PATH environment variable > of 'Exec' key in the .desktop file. > According to https://fedoraproject.org/wiki/Packaging:Guidelines#Rpath_for_Internal_Libraries this is valid for internal libraries, that's why I did not change it > - Remove the *.la files > they are already excluded in %files-section > - Please, update the appdata file "project_license" list. > done > - If you want package in <F23, you need set flags for hardened builds. > Use 'checksec' tool to check > (https://fedoraproject.org/wiki/Changes/Harden_All_Packages). > done > > rpmlint warnings: > > - aeskulap.i686: W: dangerous-command-in-%pre rm /dangerous-command-in-%post > rm > are related to the GConf scriptlets; they can be ignored, i think. > > - "non-conffile-in-etc /etc/gconf/schemas/aeskulap.schemas" can be ignored > as well; > %config is never used for *.schemas files. > Looks like false positives to me > - Package installs properly. > Note: Installation errors (see attachment) > See: https://fedoraproject.org/wiki/Packaging:Guidelines this happens from time to time and is most likely a fedora-review or mock or whatever issue. > - GConf schemas are properly installed > Note: gconf file(s) in aeskulap > See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GConf looks also like false positive > - Package does not use a name that already exists. > Note: A package with this name already exists. Please check > https://admin.fedoraproject.org/pkgdb/acls/name/aeskulap > See: > > https://fedoraproject.org/wiki/Packaging/ > NamingGuidelines#Conflicting_Package_Names > obviously okay here (re-review of orphaned package) > [x]: Rpath absent or only used for internal libs. see my comment above rpaths for internal libs > [!]: License field in the package spec file matches the actual license. > Note: Checking patched sources after %prep for licenses. Licenses > found: "LGPL (v2 or later)", "GPL (v2 or later)", "LGPL (v2 or later) > (with incorrect FSF address)", "Unknown or generated". 107 files have > unknown license. Detailed output of licensecheck in > /home/sagitter/1269649-aeskulap/licensecheck.txt fixed > [!]: License file installed when any subpackage combination is installed. see my comment above > [!]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in > aeskulap-debuginfo How do I do it? It's an autogenerated package. > [!]: Rpmlint is run on all installed packages. > Note: Mock build failed > See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint see my comment above, happens from time to time, but I will doublecheck it Updated srpm- and spec-files, debug-package untouched, doc.package still without license-file: https://rpm.jenslody.de/review/aeskulap-0.2.2-0.24.beta1.fc23.src.rpm https://rpm.jenslody.de/review/aeskulap.spec >> - -doc subpackage must not require main package; it's >> standalone and must provide an own license file. >> >done for the first issue, the second one is a bit tricky, I have to ask old >upstream which license can be used, the pdf-file (and the appropriate >*.sxw-file) was downloadable without special license. I just split the package, >because it was too large and it was in old aeskulap package without special >license. Use the 'Public Domain' license. >> [!]: Fully versioned dependency in subpackages if applicable. >> Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in >> aeskulap-debuginfo >How do I do it? It's an autogenerated package. Nothing. It's a my mistake. Updated srpm- and spec-files, doc-package now with license-file: https://rpm.jenslody.de/review/aeskulap-0.2.2-0.25.beta1.fc23.src.rpm https://rpm.jenslody.de/review/aeskulap.spec Package approved. Many thanks for the review ! aeskulap-0.2.2-0.25.beta1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-d863c0d250 aeskulap-0.2.2-0.25.beta1.fc22 has been pushed to the Fedora 22 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 'dnf --enablerepo=updates-testing update aeskulap' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-3eb0c12f0d aeskulap-0.2.2-0.25.beta1.fc23 has been pushed to the Fedora 23 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 'dnf --enablerepo=updates-testing update aeskulap' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-d863c0d250 aeskulap-0.2.2-0.25.beta1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. aeskulap-0.2.2-0.25.beta1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report. |