Spec & src.rpm at: http://sandeen.fedorapeople.org/nilfs-utils/ Description: Userspace utilities for creating and mounting NILFS v2 filesystems. (nilfs is a new upstream filesystem, enabled in rawhide, having userspace around might be nice)
- nilfs_cleanerd links against libnilfs.so.0 so the libraries should go in %{_lib} as for other packages of this type. rpmlint output: nilfs-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/lssu ['/usr/lib64'] nilfs-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/mkcp ['/usr/lib64'] nilfs-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/rmcp ['/usr/lib64'] nilfs-utils.x86_64: E: binary-or-shlib-defines-rpath /sbin/nilfs_cleanerd ['/usr/lib64'] nilfs-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/lscp ['/usr/lib64'] nilfs-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/dumpseg ['/usr/lib64'] nilfs-utils.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/chcp ['/usr/lib64'] nilfs-utils.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libnilfs.so nilfs-utils.x86_64: E: setuid-binary /sbin/mkfs.nilfs2 root 04755 nilfs-utils.x86_64: E: non-standard-executable-perm /sbin/mkfs.nilfs2 04755 nilfs-utils.x86_64: E: setuid-binary /sbin/nilfs_cleanerd root 04755 nilfs-utils.x86_64: E: non-standard-executable-perm /sbin/nilfs_cleanerd 04755 nilfs-utils.x86_64: E: setuid-binary /sbin/mount.nilfs2 root 04755 nilfs-utils.x86_64: E: non-standard-executable-perm /sbin/mount.nilfs2 04755 nilfs-utils.x86_64: E: setuid-binary /sbin/umount.nilfs2 root 04755 nilfs-utils.x86_64: E: non-standard-executable-perm /sbin/umount.nilfs2 04755 nilfs-utils.x86_64: W: one-line-command-in-%post /sbin/ldconfig nilfs-utils.x86_64: W: one-line-command-in-%postun /sbin/ldconfig nilfs-utils-devel.x86_64: W: no-documentation 4 packages and 0 specfiles checked; 15 errors, 4 warnings. - Get rid of rpath. - The .so file goes in -devel. - Are the permissions as wanted? I have to check other file system tools. - Use %post -p /sbin/ldconfig %postun -p /sbin/ldconfig MUST: The spec file for the package is legible and macros are used consistently. ~OK - I'd use a macro for /sbin, say %global _sbin /sbin 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: The License field in the package spec file must match the actual license. OK MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. NEEDSWORK 2e056e7979ed77727a7798d79de5188f nilfs-utils-2.0.12.tar.bz2 6819db4b59f9504abe68ebc7818fd6ae ../SOURCES/nilfs-utils-2.0.12.tar.bz2 MUST: The package MUST successfully compile and build into binary rpms. OK MUST: The spec file MUST handle locales properly. N/A MUST: Optflags are used and time stamps preserved. NEEDSWORK - Time stamps are not preserved, make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" should do the trick. MUST: Packages containing shared library files must call ldconfig. OK - See comments on rpmlint warnings. MUST: A package must own all directories that it creates or require the package that owns the directory. OK MUST: Files only listed once in %files listings. OK MUST: Debuginfo package is complete. 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. N/A MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. OK - You might want to add [ -s AUTHORS ] && exit 1 [ -s NEWS ] && exit 1 [ -s README ] && exit 1 to the %setup phase so you get notified if these acquire content. MUST: Header files must be in a -devel package. OK MUST: Static libraries must be in a -static package. N/A MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. N/A MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. NEEDSWORK MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. OK - You might use just Requires: %{name} = %{version}-%{release} to be clearer. MUST: Packages does not contain any .la libtool archives. OK MUST: Desktop files are installed properly. N/A 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: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK SHOULD: The package builds in mock. OK
wow, that was a bit messier than I expected ;) Ok, thanks for the review, will fix up. Heh, I got the original tarball from their original src.rpm which doesn't match their released tarball, sigh. I'll fix that too. Thanks! -Eric
Shoot, I hadn't even noticed the chmod u+s on some of these files, that strikes me as pretty odd, I'll have to investigate more.
ping?
Sorry for the delay, other stuff came up. I need to see what the rules are for setuid binaries etc, and probably at least do some good code review of it before it goes in. I appreciate the very quick review, sorry for the slowness on my end.
ping
Upstream version 2.0.14 released on monday should no longer install /sbin files setuid, thanks to Eric's / Steve's report: http://www.nilfs.org/git/?p=nilfs2-utils.git;a=commitdiff;h=d807e1c968c1f288486fb7d6f817434838fc12f7 http://www.nilfs.org/git/?p=nilfs2-utils.git;a=commitdiff;h=5c95a57102e23e6982467cbe23e922450d3f38ed http://www.nilfs.org/git/?p=nilfs2-utils.git;a=commitdiff;h=a5cb60e624e4863c8d6feaf2ea8791abb48d6f15
Ayup, I'll get a new version out for review soon. Sorry for the delays, Jussi.
Updated: http://sandeen.fedorapeople.org/nilfs-utils/nilfs-utils.spec http://sandeen.fedorapeople.org/nilfs-utils/nilfs-utils-2.0.14-1.fc12.src.rpm
Package does not build :) In rawhide http://koji.fedoraproject.org/koji/taskinfo?taskID=1565083 checking for uuid_generate in -luuid... no configure: error: UUID library not found error: Bad exit status from /var/tmp/rpm-tmp.edEi49 (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.edEi49 (%build) Child returncode was: 1 and in F-11 chown: changing ownership of `/builddir/build/BUILDROOT/nilfs-utils-2.0.14-1.fc11.x86_64/sbin/nilfs_cleanerd': Operation not permitted make[4]: Leaving directory `/builddir/build/BUILD/nilfs-utils-2.0.14/sbin/cleanerd' make[3]: Leaving directory `/builddir/build/BUILD/nilfs-utils-2.0.14/sbin/cleanerd' make[4]: *** [install-exec-hook] Error 1 make[3]: *** [install-exec-am] Error 2 make[2]: Leaving directory `/builddir/build/BUILD/nilfs-utils-2.0.14/sbin/cleanerd'
Oh sigh. Bitten by my own package change (libuuid), sorry. :( Not sure what's up w/ f11, I'll look into that, it's weird.
Ok, once more with feeling. http://sandeen.fedorapeople.org/nilfs-utils/nilfs-utils-2.0.14-2.fc10.src.rpm http://sandeen.fedorapeople.org/nilfs-utils/nilfs-utils-2.0.14-2.fc10.src.rpm http://sandeen.fedorapeople.org/nilfs-utils/nilfs-utils.spec f10 vs. f12 just has the different BuildRequires. thanks, -Eric
Patch0 needs a comment. You should use %global instead of %define, and preferably move the _root_libdir definition to the top of the spec file. For consistency I suggest defining also a macro for /sbin. ** rpmlint output: nilfs-utils.src: E: no-cleaning-of-buildroot %clean nilfs-utils-devel.x86_64: W: no-documentation 4 packages and 0 specfiles checked; 1 errors, 1 warnings. Uncomment the rm command in %clean. ** MUST: The package does not yet exist in Fedora. The Review Request is not a duplicate. OK MUST: The spec file for the package is legible and macros are used consistently. 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: The License field in the package spec file must match the actual license. OK MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK MUST: The package MUST successfully compile and build into binary rpms. OK MUST: The spec file MUST handle locales properly. N/A MUST: Optflags are used and time stamps preserved. NEEDSWORK - There are headers and man files that aren't generated and thus have an original time stamp. Add INSTALL="install -p" to make install to preserve time stamps. MUST: Packages containing shared library files must call ldconfig. OK MUST: A package must own all directories that it creates or require the package that owns the directory. OK MUST: Files only listed once in %files listings. OK MUST: Debuginfo package is complete. OK MUST: Permissions on files must be set properly. MUST: Clean section exists. OK MUST: Large documentation files must go in a -doc subpackage. N/A MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. OK MUST: Header files must be in a -devel package. OK MUST: Static libraries must be in a -static package. N/A MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. N/A 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. N/A MUST: Desktop files are installed properly. N/A 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: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK SHOULD: The package builds in mock. OK ** Fix the issues before importing to cvs. The package has been APPROVED
(In reply to comment #13) > Patch0 needs a comment. ok. upstream is fixing this (and the ldconfig problem) so it'll be dropped soon. > You should use %global instead of %define, and preferably move the _root_libdir > definition to the top of the spec file. For consistency I suggest defining also > a macro for /sbin. ok 4 packages and 0 specfiles checked; 1 errors, 1 warnings. > > Uncomment the rm command in %clean. argh debugging leftovers. > > Fix the issues before importing to cvs. The package has been > > APPROVED Thanks! And thanks for your patience - Sorry it was so iterative, I guess I'm just not very good at this ;) -Eric
New Package CVS Request ======================= Package Name: nilfs-utils Short Description: Utilities for managing NILFS v2 filesystems Owners: sandeen Branches: F-11 InitialCC: (note - no F10 due to lack of nilfs support in f10 kernel, and unlikely to be added)
CVS done.
Seems like Eric forgot to file this bug as solved by the nilfs-utils update that was (or should have been?) shipped in Fedora 11. Closing.
Yep, sorry for not closing.