Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1592220
Summary: | Review Request: speech-tools - the current version of the support library for Festival | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Lukáš Tyrychtr <lukastyrychtr> |
Component: | Package Review | Assignee: | Zbigniew Jędrzejewski-Szmek <zbyszek> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | mike, package-review, zbyszek, zebob.m |
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: | 2018-08-30 09:22:40 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
Lukáš Tyrychtr
2018-06-18 08:35:12 UTC
- Requires: speech_tools-lib You need to specify arch, version and release: Requires: speech_tools-lib%{?_isa} = %{version}-%{release} - Be more specific here: %files lib %{_libdir}/* Also read https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages Versionned .so must be in the lib package but unversionned .so must be in the devel packge - Clean up the %changelog: separate entries by a line, add your email between <> Done. Actually, there were no unversioned .so files, but the package is now more strict in including versioned .so libraries only in the dev package. The spec file URL is still valid and except for the release increase, they in fact should not change the srpm contents. >Actually, there were no unversioned .so files
Make a symbolic link for it then
No need to bump release between review comments, only when the package is build in Koji this will be necessary.
> >Actually, there were no unversioned .so files > > Make a symbolic link for it then > Actually fix it by copying the .so too: install -m 644 lib/*.so* %{buildroot}%{_libdir} And in %files: %files lib %{_libdir}/*.so.* %package lib-devel Summary: Development files for the speech_tools libraries Requires: speech_tools-lib%{?_isa} = %{version}-%{release} %description lib-devel This package contains the development related files for the speech_tools libraries. %files lib-devel %{_includedir}/* %{_libdir}/*.a %{_libdir}/*.so %{_libdir}/speech_tools/* - You should name the subpackage libs and libs-devel for contistency with other Fedora packages - Just use: %{_libdir}/speech_tools/ thus you will also own the directory - Be more specific here: %{_includedir}/speech_tools/ - Escape macros in comments by doubling the %: #Source0: http://festvox.org/packed/festival/%%{version}/speech_tools-%%{version}.0-release.tar.gz - Libs must have executable perms: install -m 755 lib/*.so* %{buildroot}%{_libdir} - Speaking of install, you must run it with "-p" to keep timestamps: %install mkdir -p %{buildroot}%{_bindir} # The list of installed utilities is taken from the Debian package install -p -m 755 main/{bcat,ch_lab,ch_track,ch_utt,ch_wave,dp,na_play,na_record,ngram_build,ngram_test,ols,ols_test,pda,pitchmark,scfg_make,scfg_parse,scfg_test,scfg_train,sig2fv,sigfilter,spectgen,tilt_analysis,tilt_synthesis,viterbi,wagon,wagon_test,wfst_build,wfst_run} %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_libdir} install -p -m 755 lib/*.so* %{buildroot}%{_libdir} install -p -m 644 lib/*.a %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_includedir}/speech_tools cp -dr include/* %{buildroot}%{_includedir}/speech_tools rm -r %{buildroot}%{_includedir}/speech_tools/win32 # I would gladlylike to skip the internal details, but festival depends on them. mkdir -p %{buildroot}%{_libdir}/speech_tools/base_class install -p -m 644 base_class/*.cc %{buildroot}%{_libdir}/speech_tools/base_class install -p -m 644 base_class/*.h %{buildroot}%{_libdir}/speech_tools/base_class mkdir -p %{buildroot}%{_libdir}/speech_tools cp -dr config/ %{buildroot}%{_libdir}/speech_tools mkdir -p %{buildroot}%{_libdir}/speech_tools/lib/siod install -p -m 644 lib/siod/*.scm %{buildroot}%{_libdir}/speech_tools/lib/siod # Note that a symlink would be nice below, but it breaks the expectations around dir traversal. mkdir -p %{buildroot}%{_libdir}/speech_tools/include cp -r %{buildroot}%{_includedir}/speech_tools/* %{buildroot}%{_libdir}/speech_tools/include - Requires: ncurses is not needed, it will be picked up automatically. - Static libraries are generally not shipped. If you still need them, add them to a -static subpackage. - Do something wuth the LICENSE file, install it in the main package and libs package - The header and %changelog entry differ. - Split the description to stay below 80 characters per line: speech_tools-lib-devel.x86_64: E: description-line-too-long C This package contains the development related files for the speech_tools libraries. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Static libraries in -static or -devel subpackage, providing -devel if present. Note: Package has .a files: speech_tools-lib-devel. Does not provide -static: speech_tools-lib-devel. See: http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [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. [x]: Development (unversioned) .so files in -devel subpackage, if present. 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]: 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]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "BSD (4 clause)", "NTP", "CC0", "BSD (unspecified)", "GPL (v2 or later) (with incorrect FSF address)". 932 files have unknown license. Detailed output of licensecheck in /home/bob/packaging/review/speech_tools/review- speech_tools/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/speech_tools [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/speech_tools [x]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: /usr/include/speech_tools/instantiate(festival-speechtools-devel), /usr/include/speech_tools/sigpr(festival-speechtools-devel), /usr/include/speech_tools/unix(festival-speechtools-devel), /usr/include/speech_tools(festival-speechtools-devel), /usr/include/speech_tools/rxp(festival-speechtools-devel), /usr/include/speech_tools/ling_class(festival-speechtools-devel) [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. [x]: 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. [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]: 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: [-]: Uses parallel make %{?_smp_mflags} macro. [-]: 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. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in speech_tools-lib , speech_tools-lib-devel [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: 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]: 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: speech_tools-2.5-4.fc29.x86_64.rpm speech_tools-debuginfo-2.5-4.fc29.x86_64.rpm speech_tools-debugsource-2.5-4.fc29.x86_64.rpm speech_tools-lib-2.5-4.fc29.x86_64.rpm speech_tools-lib-devel-2.5-4.fc29.x86_64.rpm speech_tools-2.5-4.fc29.src.rpm speech_tools.x86_64: W: incoherent-version-in-changelog 2.5-3 ['2.5-4.fc29', '2.5-4'] speech_tools.x86_64: W: no-documentation speech_tools.x86_64: W: no-manual-page-for-binary bcat speech_tools.x86_64: W: no-manual-page-for-binary ch_lab speech_tools.x86_64: W: no-manual-page-for-binary ch_track speech_tools.x86_64: W: no-manual-page-for-binary ch_utt speech_tools.x86_64: W: no-manual-page-for-binary ch_wave speech_tools.x86_64: W: no-manual-page-for-binary dp speech_tools.x86_64: W: no-manual-page-for-binary na_play speech_tools.x86_64: W: no-manual-page-for-binary na_record speech_tools.x86_64: W: no-manual-page-for-binary ngram_build speech_tools.x86_64: W: no-manual-page-for-binary ngram_test speech_tools.x86_64: W: no-manual-page-for-binary ols speech_tools.x86_64: W: no-manual-page-for-binary ols_test speech_tools.x86_64: W: no-manual-page-for-binary pda speech_tools.x86_64: W: no-manual-page-for-binary pitchmark speech_tools.x86_64: W: no-manual-page-for-binary scfg_make speech_tools.x86_64: W: no-manual-page-for-binary scfg_parse speech_tools.x86_64: W: no-manual-page-for-binary scfg_test speech_tools.x86_64: W: no-manual-page-for-binary scfg_train speech_tools.x86_64: W: no-manual-page-for-binary sig2fv speech_tools.x86_64: W: no-manual-page-for-binary sigfilter speech_tools.x86_64: W: no-manual-page-for-binary spectgen speech_tools.x86_64: W: no-manual-page-for-binary tilt_analysis speech_tools.x86_64: W: no-manual-page-for-binary tilt_synthesis speech_tools.x86_64: W: no-manual-page-for-binary viterbi speech_tools.x86_64: W: no-manual-page-for-binary wagon speech_tools.x86_64: W: no-manual-page-for-binary wagon_test speech_tools.x86_64: W: no-manual-page-for-binary wfst_build speech_tools.x86_64: W: no-manual-page-for-binary wfst_run speech_tools-lib.x86_64: W: no-soname /usr/lib64/libestbase.so.2.5.0.1 speech_tools-lib.x86_64: W: shared-lib-calls-exit /usr/lib64/libestbase.so.2.5.0.1 exit.5 speech_tools-lib.x86_64: W: no-soname /usr/lib64/libestools.so.2.5.0.1 speech_tools-lib.x86_64: W: shared-lib-calls-exit /usr/lib64/libestools.so.2.5.0.1 exit.5 speech_tools-lib.x86_64: W: no-soname /usr/lib64/libeststring.so.1.2 speech_tools-lib.x86_64: W: shared-lib-calls-exit /usr/lib64/libeststring.so.1.2 exit.5 speech_tools-lib.x86_64: W: no-documentation speech_tools-lib-devel.x86_64: E: description-line-too-long C This package contains the development related files for the speech_tools libraries. speech_tools-lib-devel.x86_64: W: no-soname /usr/lib64/libestbase.so speech_tools-lib-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libestbase.so exit.5 speech_tools-lib-devel.x86_64: W: no-soname /usr/lib64/libestools.so speech_tools-lib-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libestools.so exit.5 speech_tools-lib-devel.x86_64: W: no-soname /usr/lib64/libeststring.so speech_tools-lib-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libeststring.so exit.5 speech_tools-lib-devel.x86_64: W: no-documentation speech_tools-lib-devel.x86_64: E: non-executable-script /usr/lib64/speech_tools/config/rules/modules.sh 644 /bin/sh speech_tools-lib-devel.x86_64: E: non-executable-script /usr/lib64/speech_tools/config/system.sh 644 /bin/sh speech_tools.src:8: W: macro-in-comment %{version} speech_tools.src:8: W: macro-in-comment %{version} speech_tools.src: E: specfile-error warning: Macro expanded in comment on line 8: %{version}/speech_tools-%{version}.0-release.tar.gz 6 packages and 0 specfiles checked; 4 errors, 46 warnings. Alright, the review comments have been (or at least ried) addressed. The original spec URL is still valid, new SRPM: https://copr-be.cloud.fedoraproject.org/results/tyrylu/festival-reborn/srpm-builds/00769326/speech_tools-2.5-4.fc28.src.rpm I did not understand the comment about the changelog and header mismatch, can you be more specific? Your changelog entry was 2.5-3 whereas the header was 2.5-4. Add 2.5-4 to the latest entry. %license LICENSE should also be in the libs subpackage. Package otherwise approved. Correcetd. And thank you. See also https://bugzilla.redhat.com/show_bug.cgi?id=1457878#c21 for a proposed, updated festival package. Just a hack how to convince fedpkg to execute request-repo when i finally can. It has been done before. (fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/speech_tools Hmm, the name of the package is not optimal. It really should be "speech-tools", see https://fedoraproject.org/wiki/Packaging:Naming#General_Naming. Since the package hasn't been imported yet, maybe you could change the name, re-request the repo? Doing it now is still relatively painless. Yeah, i am aware that the name is not according to the Fedora naming guidelines exactly, however it atheres to the upstream conventions everywhere else (source tarball, Debian, Archlinux and may be others), and the upstream atherence clause in the guidelines is there as well. Yeah, the guidelines are not really clear. Modern (last few years) practice is to use dashes and lowercase. Following upstreams unfortunately leads an unmanageable mess, because many upstreams are not consistent in their naming. Normalizing on the Fedora side works out much better. Alright, what's the procedure for getting the underscored version of the repository deleted? Filing a ticket in scm-requests? A think a ticket under https://pagure.io/releng/issues. Lukáš, what's the status here? Oh, I see you filed https://pagure.io/releng/issue/7702. Sorry, I wasn't clear. Please just update the title of this ticket and upload a new srpm and spec file and we'll rubber-stamp it and then you can ask for a new repo again. Hello. I've done the renaming. Current spec: https://pagure.io/speech-tools/raw/c4accd11ceced2c667311d986b1812fc57f71c87/f/speech-tools.spec Current srpm: https://copr-be.cloud.fedoraproject.org/results/tyrylu/festival-reborn/srpm-builds/00791728/speech-tools-2.5-5.fc28.src.rpm From the last review the only difference is the package name. There's still "speech_tools" in various places. In the file names it's OK, but not in %description and Requires. Oh, you're right, there was so much underscores in the paths that i did not notice the important ones. They should be fixed now: Spec: https://copr-be.cloud.fedoraproject.org/results/tyrylu/festival-reborn/srpm-builds/00791749/speech-tools.spec SRPM: https://copr-be.cloud.fedoraproject.org/results/tyrylu/festival-reborn/srpm-builds/00791749/speech-tools-2.5-5.fc28.src.rpm I adjusted the festival package at #1457878 to make use of this separate speech-tools package. Stuff to fix after import: > BuildRequires: gcc-c++ ncurses-devel alsa-lib-devel Those should be on separate lines. Otherwise diffs are hard to read. > # Because of the copr build a https reachable mirror was needed > Source0: https://trycht.cz/festvox/packed/festival/%{version}/speech_tools-%{version}.0-release.tar.gz Please switch back to official URL. > Source1: LICENSE I see that the LICENSE file is not part of the upstream tarball. A real URL would be better. Also, a link to an upstream issue about including the license file would be great > %description Please wrap that paragraph to ~80 lines. OK, package is (re-)APPROVED. Thank you. I'll do these things and report the missing upstream LICENSE file. Lukáš, please re-request the repo with fedpkg for the new name. I'll do it the second time, now the reviewer and assignee matches (it did not previously and it obviously was a problem). :) (fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/speech-tools Hopefully it'll make f29, i do not have any opinions from release engineering whether the deadlines are as such big a problem as they can be, so it might change to rawhide, but rawhide is certain, speech-tools has already a build there. |