Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/fedora-rawhide-x86_64/01389556-mudita24/mudita24.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/fedora-rawhide-x86_64/01389556-mudita24/mudita24-1.1.0-1.20160218gite38b1a3.fc33.src.rpm Description: Mudita24 is a modification of the Linux alsa-tools' envy24control: an application controlling the digital mixer, channel gains and other hardware settings for sound cards based on the VIA Ice1712 chipset aka Envy24. Unlike most ALSA mixer controls, this application displays a level meter for each input and output channel and maintains peak level indicators. This is based on Envy24's hardware peak metering feature. Mudita24 provides alternate name to avoid confusion with "envy24control 0.6.0" until changes in this version propagate upstream. As balance to the "Envy", this project needed some Mudita "In Buddhism the third of the four divine abidings is mudita, taking joy in the good fortune of another. This virtue is considered the antidote to envy and the opposite of schadenfreude." This utility is preferable to alsamixer for those with ice1712-based cards: M-Audio Delta 1010, Delta 1010LT, Delta DiO 2496, Delta 66, Delta 44, Delta 410 and Audiophile 2496. Terratec EWS 88MT, EWS 88D, EWX 24/96, DMX 6Fire, Phase 88. Hoontech Soundtrack DSP 24, Soundtrack DSP 24 Value, Soundtrack DSP 24 Media 7.1. Event Electronics EZ8. Digigram VX442. Lionstracs, Mediastaton. Terrasoniq TS 88. Roland/Edirol DA-2496. Fedora Account System Username: eeickmeyer
>#find-debuginfo.sh does not pick-up the debuginfo for whatever reason. >%global debug_package %{nil} >[...] >%build >cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} You should use the %cmake macro instead of a "raw" cmake call here, it'll ensure that CFLAGS/CXXFLAGS/LDFLAGS are set up properly. >%install >rm -rf $RPM_BUILD_ROOT Don't do this. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections
>You should use the %cmake macro instead of a "raw" cmake call here, it'll ensure that CFLAGS/CXXFLAGS/LDFLAGS are set up properly Fixed. >>%install >>rm -rf $RPM_BUILD_ROOT >Don't do this. >https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections There is nothing in that link that says that `rm -rf $RPM_BUILD_ROOT` should not be used. It says `BuildRoot:` should not be used, but that's not what is being done there. Besides, that was part of the default rpm spec template, so does that mean there's a bug in the template? I'll have new SRPM/SPEC files as soon as COPR starts working again.
Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/fedora-rawhide-x86_64/01398558-mudita24/mudita24.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/fedora-rawhide-x86_64/01398558-mudita24/mudita24-1.1.0-1.20160218gite38b1a3.fc33.src.rpm
>There is nothing in that link that says that `rm -rf $RPM_BUILD_ROOT` should not be used. It says this: >The contents of the buildroot SHOULD NOT be removed in the first line of %install I'd argue that nuking the directory counts as "removing its contents". ;) >Besides, that was part of the default rpm spec template, so does that mean there's a bug in the template? I guess so. Since some time ago, templates are no longer active by default (i.e. "vim some_new_package.spec" opens with an empty file), so it's possible they've been neglected a bit.
Thanks, Artur. Either way, I made the correction in the above-posted links (Comment 3). :)
I can take this review. Erich, you offered to swap reviews on fedora-devel-list, with the caveat that you weren't sure of your ability. I think it would be good for you to do some reviews, to gain more familiarity with packaging guidelines. Could you attempt a review of bug 1840914? If it proves too much for you, that's okay. The fedora-review tool automates a lot of the steps, which should help.
Hi Jerry, I'll see what I can do. :)
All you can do is all I can ask. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated ===== ISSUES ===== - Remove these lines at the top of the spec file: #find-debuginfo.sh does not pick-up the debuginfo for whatever reason. #when built, the .debug file shows in usr/lib/debug/usr/bin %global debug_package %{nil} They are wrong. The debuginfo is generated correctly. - The %cmake macro already includes -DCMAKE_INSTALL_PREFIX:PATH=/usr in its expansion, so you don't need to specify it again. All you need is "%cmake .". - The %doc macro puts README into /usr/share/doc/mudita24. The package's install target puts README.profiles int /usr/share/doc/mudiat24-1.1.0. That seems wrong. We should create a single doc directory for both files. You've got at least these alternatives (I haven't tried any of them, so they may need some tweaking): o Pass -Dmudita24_DOC_DIR:PATH=%{_docdir}/%{name} to %cmake and change the last %files entry to %{_docdir}/%{name}/README.profiles o At the end of %install, do this: mv %{buildroot}%{_datadir}/doc/mudita24-%{version} %{buildroot}%{_datadir}/doc/mudita24 and make the same %files change as above o At the end of %install, do this: rm -rf %{buildroot}%{_datadir}/doc/mudita24-%{version} And then in %files do this: %doc README mudita24/README.profiles and just remove the last line in %files - The %changelog entry has a '-' in the version where it should have a '.'; it should be 1.1.0-1.20160218gite38b1a3 instead of 1.1.0-1-20160218gite38b1a3. - Since this package uses pkg-config to find its dependencies, use the "pkgconfig" form of dependency for the BuildRequires. In particular, "BuildRequires: pkgconfig(alsa)" instead of alsa-lib-devel, and "BuildRequires: pkgconfig(gtk+-2.0)" instead of gtk2-devel. See https://docs.fedoraproject.org/en-US/packaging-guidelines/PkgConfigBuildRequires/ - Upstream hasn't been active for awhile, but could you ask them to fix the FSF's address? It's probably best if they just grab a new copy of COPYING from https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt as a few other minor things have changed in the last decade and a half or so. ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [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. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [!]: 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. [-]: Package contains systemd file(s) if in need. [!]: 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 20480 bytes in 2 files. [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 must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [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 must not depend on deprecated() packages. [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]: 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). [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [-]: 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. No %check script, but upstream provides no tests. [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 all installed packages. Note: No rpmlint messages. [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: mudita24-1.1.0-1.20160218gite38b1a3.fc33.x86_64.rpm mudita24-1.1.0-1.20160218gite38b1a3.fc33.src.rpm mudita24.x86_64: W: spelling-error Summary(en_US) soundcards -> sound cards, sound-cards, soundboards mudita24.x86_64: W: spelling-error %description -l en_US alsa -> alas, salsa, balsa mudita24.x86_64: W: spelling-error %description -l en_US chipset -> chip set, chip-set, chippie mudita24.x86_64: W: spelling-error %description -l en_US abidings -> abiding, abiding s, bindings mudita24.x86_64: W: spelling-error %description -l en_US mudita -> audit mudita24.x86_64: W: spelling-error %description -l en_US alsamixer -> balsamic mudita24.x86_64: W: spelling-error %description -l en_US Terratec -> Terrace, Terrance, Serrate mudita24.x86_64: W: spelling-error %description -l en_US Hoontech -> Nontechnical mudita24.x86_64: W: spelling-error %description -l en_US Digigram -> Diagram, Radiogram mudita24.x86_64: W: spelling-error %description -l en_US Lionstracs -> Abstractions, Contractions, Transactions mudita24.x86_64: W: spelling-error %description -l en_US Terrasoniq -> Ultrasonic mudita24.x86_64: W: incoherent-version-in-changelog 1.1.0-1-20160218gite38b1a3 ['1.1.0-1.20160218gite38b1a3.fc33', '1.1.0-1.20160218gite38b1a3'] mudita24.x86_64: W: unstripped-binary-or-object /usr/bin/mudita24 mudita24.x86_64: E: incorrect-fsf-address /usr/share/licenses/mudita24/COPYING mudita24.x86_64: W: no-manual-page-for-binary mudita24 mudita24.src: W: spelling-error Summary(en_US) soundcards -> sound cards, sound-cards, soundboards mudita24.src: W: spelling-error %description -l en_US alsa -> alas, salsa, balsa mudita24.src: W: spelling-error %description -l en_US chipset -> chip set, chip-set, chippie mudita24.src: W: spelling-error %description -l en_US abidings -> abiding, abiding s, bindings mudita24.src: W: spelling-error %description -l en_US mudita -> audit mudita24.src: W: spelling-error %description -l en_US alsamixer -> balsamic mudita24.src: W: spelling-error %description -l en_US Terratec -> Terrace, Terrance, Serrate mudita24.src: W: spelling-error %description -l en_US Hoontech -> Nontechnical mudita24.src: W: spelling-error %description -l en_US Digigram -> Diagram, Radiogram mudita24.src: W: spelling-error %description -l en_US Lionstracs -> Abstractions, Contractions, Transactions mudita24.src: W: spelling-error %description -l en_US Terrasoniq -> Ultrasonic 2 packages and 0 specfiles checked; 1 errors, 25 warnings. Rpmlint (installed packages) ---------------------------- mudita24.x86_64: W: spelling-error Summary(en_US) soundcards -> sound cards, sound-cards, soundboards mudita24.x86_64: W: spelling-error %description -l en_US alsa -> alas, salsa, balsa mudita24.x86_64: W: spelling-error %description -l en_US chipset -> chip set, chip-set, chippie mudita24.x86_64: W: spelling-error %description -l en_US abidings -> abiding, abiding s, bindings mudita24.x86_64: W: spelling-error %description -l en_US mudita -> audit mudita24.x86_64: W: spelling-error %description -l en_US alsamixer -> balsamic mudita24.x86_64: W: spelling-error %description -l en_US Terratec -> Terrace, Terrance, Serrate mudita24.x86_64: W: spelling-error %description -l en_US Hoontech -> Nontechnical mudita24.x86_64: W: spelling-error %description -l en_US Digigram -> Diagram, Radiogram mudita24.x86_64: W: spelling-error %description -l en_US Lionstracs -> Abstractions, Contractions, Transactions mudita24.x86_64: W: spelling-error %description -l en_US Terrasoniq -> Ultrasonic mudita24.x86_64: W: incoherent-version-in-changelog 1.1.0-1-20160218gite38b1a3 ['1.1.0-1.20160218gite38b1a3.fc33', '1.1.0-1.20160218gite38b1a3'] mudita24.x86_64: W: unstripped-binary-or-object /usr/bin/mudita24 mudita24.x86_64: E: incorrect-fsf-address /usr/share/licenses/mudita24/COPYING mudita24.x86_64: W: no-manual-page-for-binary mudita24 1 packages and 0 specfiles checked; 1 errors, 14 warnings. Source checksums ---------------- https://github.com/NielsMayer/mudita24/archive/e38b1a39a8ca4f82b74d7b70bf9a3489e37b3588/mudita24-e38b1a3.tar.gz : CHECKSUM(SHA256) this package : fd0db2c1ea3c5ad75d394d965b0152c36fcb6e1a6170aaf0243e25f2358bdd64 CHECKSUM(SHA256) upstream package : fd0db2c1ea3c5ad75d394d965b0152c36fcb6e1a6170aaf0243e25f2358bdd64 Requires -------- mudita24 (rpmlib, GLIBC filtered): alsa-utils libasound.so.2()(64bit) libasound.so.2(ALSA_0.9)(64bit) libc.so.6()(64bit) libgdk-x11-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-x11-2.0.so.0()(64bit) libm.so.6()(64bit) libpango-1.0.so.0()(64bit) rtld(GNU_HASH) Provides -------- mudita24: mudita24 mudita24(x86-64) Generated by fedora-review 0.7.5 (5fa5b7e) last change: 2020-02-16 Command line :/usr/bin/fedora-review -b 1836540 -m fedora-rawhide-x86_64 Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, C/C++ Disabled plugins: Perl, R, SugarActivity, PHP, fonts, Python, Ruby, Java, Haskell, Ocaml Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
Thanks, Jerry. :) > - The %doc macro puts README into /usr/share/doc/mudita24. The package's > install target puts README.profiles int /usr/share/doc/mudiat24-1.1.0. That > seems wrong. We should create a single doc directory for both files. You've > got at least these alternatives (I haven't tried any of them, so they may > need some tweaking): > [snip] I went with option #3, looks like it worked. > pkg-config Made the changes. > - Upstream hasn't been active for awhile, but could you ask them to fix the > FSF's address? It's probably best if they just grab a new copy of COPYING > from https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt as a few other > minor things have changed in the last decade and a half or so. I'll bug them, but I can't make promises, especially if they haven't been active in a while. Not the first time I've run into this address problem. Also made the change to the changelog. New files: Spec URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/fedora-rawhide-x86_64/01415759-mudita24/mudita24.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/eeickmeyer/Jam-Incoming/fedora-rawhide-x86_64/01415759-mudita24/mudita24-1.1.0-1.20160218gite38b1a3.fc33.src.rpm
(In reply to Erich Eickmeyer from comment #9) > I'll bug them, but I can't make promises, especially if they haven't been > active in a while. Not the first time I've run into this address problem. Yes, that old address is still rampant in the open source world for some reason. You'd think 15 years would be long enough for people to notice. :-) Everything looks good now. This package is APPROVED.
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/mudita24
FEDORA-2020-a4d01ceff3 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-a4d01ceff3
FEDORA-2020-1847d3836d has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-1847d3836d
FEDORA-2020-1847d3836d has been pushed to the Fedora 31 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2020-1847d3836d \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-1847d3836d See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2020-a4d01ceff3 has been pushed to the Fedora 32 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2020-a4d01ceff3 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-a4d01ceff3 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2020-1847d3836d has been pushed to the Fedora 31 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2020-a4d01ceff3 has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.