Bug 226483
Summary: | Merge Review: tcsh | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Nobody's working on this, feel free to take it <nobody> |
Component: | Package Review | Assignee: | Susi Lehtola <susi.lehtola> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Package Reviews List <fedora-package-review> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | dkopecek, redhat-bugzilla, susi.lehtola, vcrhonek |
Target Milestone: | --- | Flags: | susi.lehtola:
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: | 2009-04-30 11:49:44 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
Nobody's working on this, feel free to take it
2007-01-31 21:09:36 UTC
(!!) MUST: rpmlint output: **** Review message: W: tcsh invalid-license distributable ******************** (!!) MUST: Package must meet the Package Naming Guidelines **** Review message: %{?dist} tag is not present. Release should be: 14%{?dist} ******************** (!!) MUST: License field in spec must match actual license. **** Review message: - License: distributable According to http://directory.fsf.org/tcsh.html the license should be BSD ******************** (!!) MUST: The package must successfully compile/build on at least 1 architecture. **** Review message: - Package does not compile successfully. For me, it is due to the missing -ltermcap option when linking. Compiles successfully without the tinfo patch. ******************** (!!) MUST: The spec file MUST handle locales properly. **** Review message: - The package does not use the %find_lang macro ******************** (!!) SHOULD: Packager should query upstream for license text file. **** Review message: - License file is missing. ******************** Thanks for the review. > (!!) MUST: Package must meet the Package Naming Guidelines > **** Review message: > %{?dist} tag is not present. Release should be: 14%{?dist} The dist tag is optional, see http://fedoraproject.org/wiki/Packaging/DistTag . > (!!) MUST: License field in spec must match actual license. > **** Review message: > - License: distributable > According to http://directory.fsf.org/tcsh.html the license should be BSD Updated. > (!!) MUST: The package must successfully compile/build on at least 1 architecture. > **** Review message: > - Package does not compile successfully. > For me, it is due to the missing -ltermcap option when linking. > Compiles successfully without the tinfo patch. Are you perhaps building on FC-6? -ltinfo is only in rawhide ncurses, and tcsh seems to build correctly using mock. > (!!) MUST: The spec file MUST handle locales properly. > **** Review message: > - The package does not use the %find_lang macro %find_lang works only on gettext message files, but tcsh uses catgets message files. The generated tcsh.file does mark the message files with the corresponding %lang macro. > (!!) SHOULD: Packager should query upstream for license text file. > **** Review message: > - License file is missing. A patch was sent upstream. Updated package is tcsh-6.14-15. Taking over review. - The patches are not commented. Comments should be added why any specific patch is needed. - A newer version 6.16 has been released in September. - Requires(post): grep and Requires(postun): coreutils, grep are a bit silly, aren't these already required by some minimal system rpm? - Is the autoreconf really necessary? - Drop the buildroot checks [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] in install and clean phase. - Consider safening the %post and %postun phases with %post if [ ! -f /etc/shells ]; then echo "%{_bindir}/tcsh" >> /etc/shells echo "%{_bindir}/csh" >> /etc/shells else grep -q '^%{_bindir}/tcsh$' /etc/shells || \ echo "%{_bindir}/tcsh" >> /etc/shells grep -q '^%{_bindir}/csh$' /etc/shells || \ echo "%{_bindir}/csh" >> /etc/shells fi %postun if [ ! -x %{_bindir}/tcsh ]; then grep -v '^%{_bindir}/tcsh$' /etc/shells | \ grep -v '^%{_bindir}/csh$' > /etc/shells.rpm && mv /etc/shells.rpm /etc/shells fi - Package does not handle locales in the right manner. Installing manually is OK, but after that use %{find_lang} to build the file list. rpmlint output: tcsh.x86_64: W: file-not-utf8 /usr/share/doc/tcsh-6.15/Fixes tcsh.x86_64: W: dangerous-command-in-%postun rm 3 packages and 0 specfiles checked; 0 errors, 2 warnings. - Convert Fixes file to utf8 with iconv. MUST: The spec file for the package is legible and macros are used consistently. ~OK - Some comments could be nice in the install phase, it would make the spec file a lot easier to read and understand. MUST: The License field in the package spec file must match the actual license. NEEDSFIX - The license in source code is 3-clause BSD, not BSD with advertising. Change License tag to BSD. - Contact upstream to clarify this, since CopyRight is 4-clause. MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. ~OK - The file matches but source URL is bad; now the correct url has old/ before the release. Switch to newest release will fix this. MUST: The package MUST successfully compile and build into binary rpms. OK MUST: The spec file MUST handle locales properly. NEEDSFIX MUST: Optflags are used and time stamps preserved. NEEDSFIX - SMP make is not enabled. - Use -p flag to install in install phase. MUST: A package must own all directories that it creates or require the package that owns the directory. OK - Please change %{_mandir}/*/* to %{_mandir}/man1/*.1, since it's safer this way. MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. NEEDSFIX - Include BUGS and WishList in the package. Remember to convert the files to utf8. SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK MUST: The package must be named according to the Package Naming Guidelines. OK MUST: The spec file name must match the base package %{name}. OK MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. OK MUST: Packages containing shared library files must call ldconfig. OK MUST: Files only listed once in %files listings. OK MUST: Permissions on files must be set properly. OK MUST: Clean section exists. OK MUST: Large documentation files must go in a -doc subpackage. OK MUST: Header files must be in a -devel package. OK MUST: Static libraries must be in a -static package. OK MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. OK MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. OK MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. OK MUST: Packages does not contain any .la libtool archives. OK MUST: Desktop files are installed properly. OK MUST: No file conflicts with other packages and no general names. OK MUST: Buildroot cleaned before install. OK SHOULD: %{?dist} tag is used in release. OK SHOULD: The package builds in mock. OK vcrhonek: please rectify. Hi Jussi, Thanks for adding me to the CC. (In reply to comment #4) > - The patches are not commented. Comments should be added why any specific > patch is needed. I think it's good idea with new patches, but I don't want comment them retrospectively. > > - A newer version 6.16 has been released in September. Rebased. > > - Requires(post): grep and Requires(postun): coreutils, grep are a bit silly, > aren't these already required by some minimal system rpm? Probably not (e. g. when you have busybox, then you don't need coreutils). We should rewrite these scripts to RPM Lua maybe...:) > > - Is the autoreconf really necessary? Yes, it is. Because of using ltinfo instead of ltermcap. We need to refresh configure. > > - Drop the buildroot checks > [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] > in install and clean phase. Fixed. > > - Consider safening the %post and %postun phases with > > %post > if [ ! -f /etc/shells ]; then > echo "%{_bindir}/tcsh" >> /etc/shells > echo "%{_bindir}/csh" >> /etc/shells > else > grep -q '^%{_bindir}/tcsh$' /etc/shells || \ > echo "%{_bindir}/tcsh" >> /etc/shells > grep -q '^%{_bindir}/csh$' /etc/shells || \ > echo "%{_bindir}/csh" >> /etc/shells > fi > > %postun > if [ ! -x %{_bindir}/tcsh ]; then > grep -v '^%{_bindir}/tcsh$' /etc/shells | \ > grep -v '^%{_bindir}/csh$' > /etc/shells.rpm && > mv /etc/shells.rpm /etc/shells > fi Done. > > > - Package does not handle locales in the right manner. Installing manually is > OK, but after that use %{find_lang} to build the file list. See comment #2 from Miroslav, %{find_lang} doesn't work here. The file list (tcsh.lang) is assembled in %install, locales manually installed here too and finally packed in %files (taken from the file list). (In reply to comment #5) > rpmlint output: > tcsh.x86_64: W: file-not-utf8 /usr/share/doc/tcsh-6.15/Fixes > tcsh.x86_64: W: dangerous-command-in-%postun rm > 3 packages and 0 specfiles checked; 0 errors, 2 warnings. > > - Convert Fixes file to utf8 with iconv. Fixed. > > > MUST: The spec file for the package is legible and macros are used > consistently. ~OK > - Some comments could be nice in the install phase, it would make the spec file > a lot easier to read and understand. > > MUST: The License field in the package spec file must match the actual license. > NEEDSFIX > - The license in source code is 3-clause BSD, not BSD with advertising. Change > License tag to BSD. > - Contact upstream to clarify this, since CopyRight is 4-clause. Fixed (I was probably confused with this Copyrigt file). > > MUST: The sources used to build the package must match the upstream source, as > provided in the spec URL. ~OK > - The file matches but source URL is bad; now the correct url has old/ before > the release. Switch to newest release will fix this. Fixed (rebase). > > MUST: The package MUST successfully compile and build into binary rpms. OK > MUST: The spec file MUST handle locales properly. NEEDSFIX Commented before. > > MUST: Optflags are used and time stamps preserved. NEEDSFIX > - SMP make is not enabled. > - Use -p flag to install in install phase. Fixed. > > MUST: A package must own all directories that it creates or require the package > that owns the directory. OK > - Please change %{_mandir}/*/* to %{_mandir}/man1/*.1, since it's safer this > way. Fixed. > > MUST: All relevant items are included in %doc. Items in %doc do not affect > runtime of application. NEEDSFIX > - Include BUGS and WishList in the package. Remember to convert the files to > utf8. Fixed. > > SHOULD: If the package does not include license text(s) as separate files from > upstream, the packager should query upstream to include it. OK > MUST: The package must be named according to the Package Naming Guidelines. OK > MUST: The spec file name must match the base package %{name}. OK > MUST: The package must be licensed with a Fedora approved license and meet the > Licensing Guidelines. OK > MUST: Packages containing shared library files must call ldconfig. OK > MUST: Files only listed once in %files listings. OK > MUST: Permissions on files must be set properly. OK > MUST: Clean section exists. OK > MUST: Large documentation files must go in a -doc subpackage. OK > MUST: Header files must be in a -devel package. OK > MUST: Static libraries must be in a -static package. OK > MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. OK > MUST: If a package contains library files with a suffix then library files > ending in .so must go in a -devel package. OK > MUST: In the vast majority of cases, devel packages must require the base > package using a fully versioned dependency. OK > MUST: Packages does not contain any .la libtool archives. OK > MUST: Desktop files are installed properly. OK > MUST: No file conflicts with other packages and no general names. OK > MUST: Buildroot cleaned before install. OK > SHOULD: %{?dist} tag is used in release. OK > SHOULD: The package builds in mock. OK Changes commited to the devel branch. Please check it and let me know your opinion. Thanks! - Time stamps are not conserved. for i in Fixes WishList; do iconv -f iso-8859-1 -t utf-8 < "$i" > "${i}_" mv "${i}_" "$i" done should be for i in Fixes WishList; do iconv -f iso-8859-1 -t utf-8 "$i" > "${i}_" && \ touch -r "$i" "${i}_" && \ mv "${i}_" "$i" done - Defattr should be (-,root,root,-) not (-,root,root) Fix these before building the new release. The package has been APPROVED Built in tcsh-6.16-1.fc12 |