https://bugzilla.redhat.com/show_bug.cgi?id=1314865 --- Comment #3 from Petr Pisar <ppisar@xxxxxxxxxx> --- Url is usable. Ok. FIX: Source0 is does point to upstream release tar ball. Follow <https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Hosting_Services>. Source archive is original (SHA-256: 434c4781a52df58b18cb4c5c1b570439d173c7616114c4740f89965f8d397bf5). Ok. FIX: The spec file contains code for SuSE. Remove spec file code not related to Fedora or EPEL. License review: src/transport.c: GPLv3+ (the code refers to GPLv2.1 or later. There is no GPLv2.1. The nearest higher is GPLv3.) script/ocf/geostore: GPLv2 script/ocf/geo_attr.sh: GPLv2 docs/geostore.8.txt: GPL+ docs/Makefile.am: GPLv2+ Makefile.am: BSD GNUmakefile: GPLv2+ COPYING: GPLv2 text FIX: While the "GPLv2.1" looks like an omission from porting from LGPLv2+, we cannot assume author's intention. Please ask authors about clarification and add it to this package. Otherwise the License tag must be changed to "GPLv3+". You can also tell him about the other files no being GPLv2+. FIX: Some files are GPLv2 only. Add it to the License tag. Summary is Ok. Description verified from README. Ok. FIX: Build-require bash (autogen.sh:1) TODO: Use plain commands instead of the macros (install instead of %{__install}). TODO: Then build-reqire coreutils and make because you will invoke them directly. TODO: Execute tests in the %check section. The %run_build_tests macro is undefined now. FIX: Require(pre) gawk (booth.spec:218). FIX: Require(pre) grep (boot.spec:220). FIX: Require(pre) procps-ng (boot.spec:223). FIX: Build-require gcc (configure.ac:56). TODO: Build-require pkgconfig if it is used (configure.ac:62). plumb not needed. Ok. libqb >= 1.0 is optional. Ok. TODO: I recommend to remove adding -O3 and -ggdb3 to CFLAGS in configure.ac:383. It changes distribution-wide settings. FIX: Build-require coreutils (Makefile.am:90). FIX: Make booth-test dependency on booth architecture-specific or change the boot-test architecture to noarch. (It will prevent from mixing packages with architectures.) Also require exact booth version and release to match the booth package. Package builds. Ok. $ rpmlint booth.spec ../SRPMS/booth-1.0-0.1.rc1.fc25.src.rpm ../RPMS/x86_64/booth-* booth.spec:43: W: non-standard-group %{pkg_group} booth.spec:183: E: hardcoded-library-path in /usr/lib/ocf booth.spec:184: E: hardcoded-library-path in /usr/lib/ocf/resource.d booth.spec:185: E: hardcoded-library-path in /usr/lib/ocf/resource.d/pacemaker booth.spec:186: E: hardcoded-library-path in /usr/lib/ocf/resource.d/booth booth.spec:187: E: hardcoded-library-path in /usr/lib/ocf/lib booth.spec:188: E: hardcoded-library-path in /usr/lib/ocf/lib/booth booth.spec:191: E: hardcoded-library-path in /usr/lib/ocf/resource.d/pacemaker/booth-site booth.spec:192: E: hardcoded-library-path in /usr/lib/ocf/lib/booth/geo_attr.sh booth.spec:193: E: hardcoded-library-path in /usr/lib/ocf/resource.d/booth/geostore booth.spec:232: W: non-standard-group %{pkg_group} booth.spec:243: E: hardcoded-library-path in /usr/lib/ocf booth.spec:244: E: hardcoded-library-path in /usr/lib/ocf/resource.d booth.spec:245: E: hardcoded-library-path in /usr/lib/ocf/resource.d/booth booth.spec:246: E: hardcoded-library-path in /usr/lib/ocf/resource.d/booth/sharedrsc booth.spec:23: W: mixed-use-of-spaces-and-tabs (spaces: line 23, tab: line 23) booth.spec: W: invalid-url Source0: booth-1.0rc1.tar.gz booth.src:183: E: hardcoded-library-path in /usr/lib/ocf booth.src:184: E: hardcoded-library-path in /usr/lib/ocf/resource.d booth.src:185: E: hardcoded-library-path in /usr/lib/ocf/resource.d/pacemaker booth.src:186: E: hardcoded-library-path in /usr/lib/ocf/resource.d/booth booth.src:187: E: hardcoded-library-path in /usr/lib/ocf/lib booth.src:188: E: hardcoded-library-path in /usr/lib/ocf/lib/booth booth.src:191: E: hardcoded-library-path in /usr/lib/ocf/resource.d/pacemaker/booth-site booth.src:192: E: hardcoded-library-path in /usr/lib/ocf/lib/booth/geo_attr.sh booth.src:193: E: hardcoded-library-path in /usr/lib/ocf/resource.d/booth/geostore booth.src:243: E: hardcoded-library-path in /usr/lib/ocf booth.src:244: E: hardcoded-library-path in /usr/lib/ocf/resource.d booth.src:245: E: hardcoded-library-path in /usr/lib/ocf/resource.d/booth booth.src:246: E: hardcoded-library-path in /usr/lib/ocf/resource.d/booth/sharedrsc booth.src:23: W: mixed-use-of-spaces-and-tabs (spaces: line 23, tab: line 23) booth.src: W: invalid-url Source0: booth-1.0rc1.tar.gz booth.x86_64: W: conffile-without-noreplace-flag /etc/booth/booth.conf.example booth.x86_64: E: incorrect-fsf-address /usr/sbin/booth-keygen booth.x86_64: E: incorrect-fsf-address /usr/lib/ocf/resource.d/pacemaker/booth-site booth.x86_64: E: incorrect-fsf-address /usr/lib/ocf/lib/booth/geo_attr.sh booth.x86_64: W: dangling-symlink /usr/sbin/rcbooth-arbitrator /usr/sbin/service booth.x86_64: W: no-manual-page-for-binary rcbooth-arbitrator booth-test.x86_64: W: only-non-binary-in-usr-lib booth-test.x86_64: W: dangling-symlink /usr/share/booth/tests/src/boothd /usr/sbin/boothd 4 packages and 1 specfiles checked; 29 errors, 11 warnings. The /usr/lib/ocf is pacemaker stuff. Ok. TODO: Correct the mixed white space. FIX: The /usr/sbin/rcbooth-arbitrator is a symlink to /usr/sbin/service that is provided by initscripts. Either remove the symlink or run-require initscripts. Because /usr/sbin/service is for compatibility with SystemV init and that is forbidden in Fedora now <https://fedoraproject.org/wiki/Packaging:Guidelines#Initscripts>, please port it to systemctl(8) command. TODO: Move /etc/booth/booth.conf.example to /usr/share/doc or make it a proper noreplacable /etc/booth/booth.conf configuration file. FIX: Package ChangeLog as a documentation. $ rpm -q -lv -p ../RPMS/x86_64/booth-1.0-0.1.rc1.fc25.x86_64.rpm drwxr-xr-x 2 root root 0 Mar 8 15:43 /etc/booth -rw-r--r-- 1 root root 965 Mar 8 15:43 /etc/booth/booth.conf.example drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf/lib drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf/lib/booth -rw-r--r-- 1 root root 5323 Mar 8 15:43 /usr/lib/ocf/lib/booth/geo_attr.sh drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf/resource.d drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf/resource.d/booth -rwxr-xr-x 1 root root 3216 Mar 8 15:43 /usr/lib/ocf/resource.d/booth/geostore drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf/resource.d/pacemaker -rwxr-xr-x 1 root root 4914 Mar 8 15:43 /usr/lib/ocf/resource.d/pacemaker/booth-site -rw-r--r-- 1 root root 338 Jan 12 11:50 /usr/lib/systemd/system/booth@.service lrwxrwxrwx 1 root root 16 Mar 8 15:43 /usr/sbin/booth -> /usr/sbin/boothd -rwxr-xr-x 1 root root 1626 Mar 8 15:43 /usr/sbin/booth-keygen -rwxr-xr-x 1 root root 189792 Mar 8 15:43 /usr/sbin/boothd lrwxrwxrwx 1 root root 16 Mar 8 15:43 /usr/sbin/geostore -> /usr/sbin/boothd lrwxrwxrwx 1 root root 17 Mar 8 15:43 /usr/sbin/rcbooth-arbitrator -> /usr/sbin/service drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/share/booth -rwxr-xr-x 1 root root 1728 Mar 8 15:43 /usr/share/booth/service-runnable drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/share/doc/booth -rw-r--r-- 1 root root 585 Jan 12 11:50 /usr/share/doc/booth/AUTHORS -rw-r--r-- 1 root root 17987 Mar 8 15:43 /usr/share/doc/booth/COPYING -rw-r--r-- 1 root root 8031 Jan 12 11:50 /usr/share/doc/booth/README -rw-r--r-- 1 root root 1668 Jan 12 11:50 /usr/share/doc/booth/README.upgrade-from-v0.1 -rw-r--r-- 1 root root 860 Mar 8 15:43 /usr/share/man/man8/booth-keygen.8.gz lrwxrwxrwx 1 root root 11 Mar 8 15:43 /usr/share/man/man8/booth.8.gz -> boothd.8.gz -rw-r--r-- 1 root root 7469 Mar 8 15:43 /usr/share/man/man8/boothd.8.gz -rw-r--r-- 1 root root 1682 Mar 8 15:43 /usr/share/man/man8/geostore.8.gz TODO: Do not own /usr/lib/ocf. This is provided by pacemaker. $ rpm -q -lv -p ../RPMS/x86_64/booth-test-1.0-0.1.rc1.fc25.x86_64.rpm drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf/resource.d drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/lib/ocf/resource.d/booth -rwxr-xr-x 1 root root 4984 Mar 8 15:43 /usr/lib/ocf/resource.d/booth/sharedrsc drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/share/booth/tests drwxr-xr-x 2 root root 0 Jan 12 11:50 /usr/share/booth/tests/conf -rw-r--r-- 1 root root 965 Jan 12 11:50 /usr/share/booth/tests/conf/booth.conf.example -rw-r--r-- 1 root root 338 Jan 12 11:50 /usr/share/booth/tests/conf/booth@.service drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/share/booth/tests/src lrwxrwxrwx 1 root root 16 Mar 8 15:43 /usr/share/booth/tests/src/boothd -> /usr/sbin/boothd drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/share/booth/tests/test -rwxr-xr-x 1 root root 122 Jan 12 11:50 /usr/share/booth/tests/test/arbtests.py -rw-r--r-- 2 root root 417 Mar 8 15:43 /usr/share/booth/tests/test/arbtests.pyc -rw-r--r-- 2 root root 417 Mar 8 15:43 /usr/share/booth/tests/test/arbtests.pyo -rwxr-xr-x 1 root root 2317 Jan 12 11:50 /usr/share/booth/tests/test/assertions.py -rw-r--r-- 2 root root 2336 Mar 8 15:43 /usr/share/booth/tests/test/assertions.pyc -rw-r--r-- 2 root root 2336 Mar 8 15:43 /usr/share/booth/tests/test/assertions.pyo -rwxr-xr-x 1 root root 786 Jan 12 11:50 /usr/share/booth/tests/test/booth_path -rwxr-xr-x 1 root root 3153 Jan 12 11:50 /usr/share/booth/tests/test/boothrunner.py -rw-r--r-- 2 root root 4290 Mar 8 15:43 /usr/share/booth/tests/test/boothrunner.pyc -rw-r--r-- 2 root root 4290 Mar 8 15:43 /usr/share/booth/tests/test/boothrunner.pyo -rwxr-xr-x 1 root root 2859 Jan 12 11:50 /usr/share/booth/tests/test/boothtestenv.py -rw-r--r-- 2 root root 3301 Mar 8 15:43 /usr/share/booth/tests/test/boothtestenv.pyc -rw-r--r-- 2 root root 3301 Mar 8 15:43 /usr/share/booth/tests/test/boothtestenv.pyo -rwxr-xr-x 1 root root 1025 Jan 12 11:50 /usr/share/booth/tests/test/clientenv.py -rw-r--r-- 2 root root 1503 Mar 8 15:43 /usr/share/booth/tests/test/clientenv.pyc -rw-r--r-- 2 root root 1503 Mar 8 15:43 /usr/share/booth/tests/test/clientenv.pyo -rwxr-xr-x 1 root root 843 Jan 12 11:50 /usr/share/booth/tests/test/clienttests.py -rw-r--r-- 2 root root 1217 Mar 8 15:43 /usr/share/booth/tests/test/clienttests.pyc -rw-r--r-- 2 root root 1217 Mar 8 15:43 /usr/share/booth/tests/test/clienttests.pyo -rwxr-xr-x 1 root root 25503 Jan 12 11:50 /usr/share/booth/tests/test/live_test.sh -rwxr-xr-x 1 root root 1540 Jan 12 11:50 /usr/share/booth/tests/test/runtests.py -rw-r--r-- 2 root root 1573 Mar 8 15:43 /usr/share/booth/tests/test/runtests.pyc -rw-r--r-- 2 root root 1573 Mar 8 15:43 /usr/share/booth/tests/test/runtests.pyo -rwxr-xr-x 1 root root 7478 Jan 12 11:50 /usr/share/booth/tests/test/serverenv.py -rw-r--r-- 2 root root 7262 Mar 8 15:43 /usr/share/booth/tests/test/serverenv.pyc -rw-r--r-- 2 root root 7262 Mar 8 15:43 /usr/share/booth/tests/test/serverenv.pyo -rwxr-xr-x 1 root root 6138 Jan 12 11:50 /usr/share/booth/tests/test/servertests.py -rw-r--r-- 2 root root 5777 Mar 8 15:43 /usr/share/booth/tests/test/servertests.pyc -rw-r--r-- 2 root root 5777 Mar 8 15:43 /usr/share/booth/tests/test/servertests.pyo -rwxr-xr-x 1 root root 110 Jan 12 11:50 /usr/share/booth/tests/test/sitetests.py -rw-r--r-- 2 root root 407 Mar 8 15:43 /usr/share/booth/tests/test/sitetests.pyc -rw-r--r-- 2 root root 407 Mar 8 15:43 /usr/share/booth/tests/test/sitetests.pyo -rwxr-xr-x 1 root root 504 Jan 12 11:50 /usr/share/booth/tests/test/utils.py -rw-r--r-- 2 root root 804 Mar 8 15:43 /usr/share/booth/tests/test/utils.pyc -rw-r--r-- 2 root root 804 Mar 8 15:43 /usr/share/booth/tests/test/utils.pyo -rwxr-xr-x 1 root root 21732 Mar 8 15:42 /usr/share/booth/tests/unit-test.py -rw-r--r-- 1 root root 18949 Mar 8 15:43 /usr/share/booth/tests/unit-test.pyc -rw-r--r-- 1 root root 18809 Mar 8 15:43 /usr/share/booth/tests/unit-test.pyo drwxr-xr-x 2 root root 0 Mar 8 15:42 /usr/share/booth/tests/unit-tests -rw-r--r-- 1 root root 572 Jan 12 11:50 /usr/share/booth/tests/unit-tests/001_init-get-heartbeat.txt -rw-r--r-- 1 root root 1304 Jan 12 11:50 /usr/share/booth/tests/unit-tests/002_bad_packets.txt -rw-r--r-- 1 root root 494 Jan 12 11:50 /usr/share/booth/tests/unit-tests/003_pacemaker.txt -rw-r--r-- 1 root root 1440 Jan 12 11:50 /usr/share/booth/tests/unit-tests/010_retries.txt -rw-r--r-- 1 root root 1201 Mar 8 15:42 /usr/share/booth/tests/unit-tests/020_ext-verifier.txt -rw-r--r-- 1 root root 920 Jan 12 11:50 /usr/share/booth/tests/unit-tests/060_catchup_same_owner.txt -rw-r--r-- 1 root root 845 Jan 12 11:50 /usr/share/booth/tests/unit-tests/100_abort-after-retries.txt -rw-r--r-- 1 root root 1223 Mar 8 15:42 /usr/share/booth/tests/unit-tests/_defaults.txt drwxr-xr-x 2 root root 0 Jan 12 11:50 /usr/share/booth/tests/unit-tests/bin -rwxr-xr-x 1 root root 869 Jan 12 11:50 /usr/share/booth/tests/unit-tests/bin/crm_ticket -rw-r--r-- 1 root root 511 Jan 12 11:50 /usr/share/booth/tests/unit-tests/booth.conf -rw-r--r-- 1 root root 1021 Jan 12 11:50 /usr/share/booth/tests/unit-tests/init-catchup.txt drwxr-xr-x 2 root root 0 Mar 8 15:43 /usr/share/doc/booth-test -rw-r--r-- 1 root root 6011 Jan 12 11:50 /usr/share/doc/booth-test/README-testing /usr/lib/ocf/resource.d/booth/sharedrsc is for tests. Ok. $ rpm -q --requires -p ../RPMS/x86_64/booth-1.0-0.1.rc1.fc25.x86_64.rpm | sort -f | uniq -c 1 /bin/bash 2 /bin/sh 1 config(booth) = 1.0-0.1.rc1.fc25 1 libc.so.6()(64bit) 1 libc.so.6(GLIBC_2.14)(64bit) 1 libc.so.6(GLIBC_2.15)(64bit) 1 libc.so.6(GLIBC_2.2.5)(64bit) 1 libc.so.6(GLIBC_2.3)(64bit) 1 libc.so.6(GLIBC_2.3.4)(64bit) 1 libc.so.6(GLIBC_2.4)(64bit) 1 libdl.so.2()(64bit) 1 libgcrypt.so.20()(64bit) 1 libgcrypt.so.20(GCRYPT_1.6)(64bit) 1 libglib-2.0.so.0()(64bit) 1 libm.so.6()(64bit) 1 libpthread.so.0()(64bit) 1 libpthread.so.0(GLIBC_2.2.5)(64bit) 1 libqb.so.0()(64bit) 1 librt.so.1()(64bit) 1 librt.so.1(GLIBC_2.2.5)(64bit) 1 libsystemd.so.0()(64bit) 1 libsystemd.so.0(LIBSYSTEMD_209)(64bit) 1 libxml2.so.2()(64bit) 1 libxml2.so.2(LIBXML2_2.4.30)(64bit) 1 libxml2.so.2(LIBXML2_2.6.0)(64bit) 1 libz.so.1()(64bit) 1 pacemaker >= 1.1.8 1 rpmlib(CompressedFileNames) <= 3.0.4-1 1 rpmlib(FileDigests) <= 4.6.0-1 1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 1 rpmlib(PayloadIsXz) <= 5.2-1 1 rtld(GNU_HASH) $ rpm -q --requires -p ../RPMS/x86_64/booth-test-1.0-0.1.rc1.fc25.x86_64.rpm | sort -f | uniq -c 1 /bin/bash 1 /bin/sh 1 /usr/bin/python 1 booth 1 python 1 rpmlib(CompressedFileNames) <= 3.0.4-1 1 rpmlib(FileDigests) <= 4.6.0-1 1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 1 rpmlib(PayloadIsXz) <= 5.2-1 TODO: The /usr/bin/python is autodected. I think you should not run-require python package. I do not know much about Python packaging. I hope it's Ok to have the bytecode files under /usr/share and not run-require specific Pyhon ABI. At least if the code can work with Python 2 and 3. $ rpm -q --provides -p ../RPMS/x86_64/booth-1.0-0.1.rc1.fc25.x86_64.rpm | sort -f | uniq -c 1 booth = 1.0-0.1.rc1.fc25 1 booth(x86-64) = 1.0-0.1.rc1.fc25 1 config(booth) = 1.0-0.1.rc1.fc25 $ rpm -q --provides -p ../RPMS/x86_64/booth-test-1.0-0.1.rc1.fc25.x86_64.rpm | sort -f | uniq -c 1 booth-test = 1.0-0.1.rc1.fc25 1 booth-test(x86-64) = 1.0-0.1.rc1.fc25 Binary provides are Ok. $ resolvedeps rawhide ../RPMS/x86_64/booth-1.0-0.1.rc1.fc25.x86_64.rpm ../RPMS/x86_64/booth-test-1.0-0.1.rc1.fc25.x86_64.rpm Binary dependencies resolvable. Ok. Package builds in F25 (http://koji.fedoraproject.org/koji/taskinfo?taskID=13275897). Ok. Please correct all `FIX' items, consider fixing `TODO' items and provide a new spec file. Resolution: Package NOT approved. -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/package-review