Bug 225245

Summary: Merge Review: am-utils
Product: [Fedora] Fedora Reporter: Nobody's working on this, feel free to take it <nobody>
Component: Package ReviewAssignee: Gwyn Ciesla <gwync>
Status: CLOSED RAWHIDE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: kzak
Target Milestone: ---Flags: gwync: 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: 2008-05-20 14:10:37 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:
Bug Depends On: 223675    
Bug Blocks:    

Description Nobody's working on this, feel free to take it 2007-01-29 21:00:35 UTC
Fedora Merge Review: am-utils

http://cvs.fedora.redhat.com/viewcvs/devel/am-utils/

Comment 1 Gwyn Ciesla 2008-02-04 20:35:48 UTC
rpmlint on SRPM:

am-utils.src:39: W: unversioned-explicit-obsoletes amd
The specfile contains an unversioned Obsoletes: token, which will match all
older, equal and newer versions of the obsoleted thing.  This may cause update
problems, restrict future package/provides naming, and may match something it
was originally not inteded to match -- make the Obsoletes versioned if
possible.

am-utils.src:86: E: use-of-RPM_SOURCE_DIR
You use $RPM_SOURCE_DIR or %{_sourcedir} in your spec file. If you have to
use a directory for building, use $RPM_BUILD_ROOT instead.

am-utils.src:237: W: macro-in-%changelog pre
Macros are expanded in %changelog too, which can in unfortunate cases lead
to the package not building at all, or other subtle unexpected conditions that
affect the build.  Even when that doesn't happen, the expansion results in
possibly "rewriting history" on subsequent package revisions and generally
odd entries eg. in source rpms, which is rarely wanted.  Avoid use of macros
in %changelog altogether, or use two '%'s to escape them, like '%%foo'.

am-utils.src:408: W: macro-in-%changelog pre
Macros are expanded in %changelog too, which can in unfortunate cases lead
to the package not building at all, or other subtle unexpected conditions that
affect the build.  Even when that doesn't happen, the expansion results in
possibly "rewriting history" on subsequent package revisions and generally
odd entries eg. in source rpms, which is rarely wanted.  Avoid use of macros
in %changelog altogether, or use two '%'s to escape them, like '%%foo'.

am-utils.src: W: mixed-use-of-spaces-and-tabs (spaces: line 33, tab: line 77)
The specfile mixes use of spaces and tabs for indentation, which is a
cosmetic annoyance.  Use either spaces or tabs for indentation, not both.

am-utils.src: W: summary-ended-with-dot Automount utilities including an updated
version of Amd.
Summary ends with a dot.

am-utils.src: W: strange-permission am-utils.init 0755
A file that you listed to include in your package has strange
permissions. Usually, a file should have 0644 permissions.


Should all be fixed, except the last one.

rpmlint on RPMS:

am-utils.i386: E: executable-marked-as-config-file /etc/rc.d/init.d/amd
Executables must not be marked as config files because that may
prevent upgrades from working correctly. If you need to be able to
customize an executable, make it for example read a config file in
/etc/sysconfig.

Should this be marked config?

am-utils.i386: W: hidden-file-or-dir /.automount
The file or directory is hidden. You should see if this is normal,
and delete it from the package if not.

am-utils.i386: W: hidden-file-or-dir /.automount
The file or directory is hidden. You should see if this is normal,
and delete it from the package if not.

am-utils.i386: E: non-readable /etc/amd.conf 0600
The file can't be read by everybody. If this is expected (for security
reasons), contact your rpmlint distributor to get it added to the list of
exceptions for your distro (or add it to your local configuration if you
installed rpmlint from the source tarball).

am-utils.i386: E: non-readable /etc/amd.net 0640
The file can't be read by everybody. If this is expected (for security
reasons), contact your rpmlint distributor to get it added to the list of
exceptions for your distro (or add it to your local configuration if you
installed rpmlint from the source tarball).

These are OK.

am-utils.i386: W: devel-file-in-non-devel-package /usr/lib/libamu.so
A development file (usually source code) is located in a non-devel
package. If you want to include source code in your package, be sure to
create a development package.

Why is there not a -devel package?  I see that the spec removes other .so files,
why not put them in -devel or delete this one?

am-utils.i386: W: summary-ended-with-dot Automount utilities including an
updated version of Amd.
Summary ends with a dot.

am-utils.i386: W: incoherent-version-in-changelog 6.1.5-7 5:6.1.5-7.fc8
The last entry in %changelog contains a version identifier that is not
coherent with the epoch:version-release tuple of the package.

am-utils.i386: W: obsolete-not-provided amd
If a package is obsoleted by a compatible replacement, the obsoleted package
must also be provided in order to provide clean upgrade paths and not cause
unnecessary dependency breakage.  If the obsoleting package is not a compatible
replacement for the old one, leave out the provides.

Fix.

am-utils.i386: W: conffile-without-noreplace-flag /etc/rc.d/init.d/amd
A configuration file is stored in your package without the noreplace flag.
A way to resolve this is to put the following in your SPEC file:

%config(noreplace) /etc/your_config_file_here

See above.

am-utils.i386: W: incoherent-init-script-name amd
The init script name should be the same as the package name in lower case,
or one with 'd' appended if it invokes a process by that name.

Would fixing this break anything?

Other than that, looks good, no other blockers.

Comment 2 Gwyn Ciesla 2008-05-16 15:02:48 UTC
Any updates?

Comment 3 Karel Zak 2008-05-20 13:29:19 UTC
(In reply to comment #1)
> rpmlint on SRPM:
> 
> am-utils.src:39: W: unversioned-explicit-obsoletes amd

 Removed, the "Obsolete" is legacy from very very old am-utils.

> am-utils.src:86: E: use-of-RPM_SOURCE_DIR
> am-utils.src:237: W: macro-in-%changelog pre
> am-utils.src:408: W: macro-in-%changelog pre 
> am-utils.src: W: mixed-use-of-spaces-and-tabs (spaces: line 33, tab: line 77)
> am-utils.src: W: summary-ended-with-dot Automount utilities including and

 Fixed.

> rpmlint on RPMS:
> 
> am-utils.i386: E: executable-marked-as-config-file /etc/rc.d/init.d/amd
> am-utils.i386: W: hidden-file-or-dir /.automount
> The file or directory is hidden. You should see if this is normal,
> and delete it from the package if not.
> 
> am-utils.i386: W: hidden-file-or-dir /.automount

 This is correct.

> am-utils.i386: E: non-readable /etc/amd.conf 0600 
> am-utils.i386: E: non-readable /etc/amd.net 0640

 This is correct.

> am-utils.i386: W: devel-file-in-non-devel-package /usr/lib/libamu.so

> Why is there not a -devel package?  I see that the spec removes other
> .so files, why not put them in -devel or delete this one?

We needn't a -devel package. The library is for only internal amd usage (some
amd commands share a code in this library).

 Fixed. We needn't the libamu.so symlink.

> am-utils.i386: W: incoherent-version-in-changelog 6.1.5-7 5:6.1.5-7.fc8
> am-utils.i386: W: obsolete-not-provided amd

 Fixed.

> am-utils.i386: W: conffile-without-noreplace-flag /etc/rc.d/init.d/amd

 Fixed.

> am-utils.i386: W: incoherent-init-script-name amd
> The init script name should be the same as the package name in lower case,
> or one with 'd' appended if it invokes a process by that name.
> 
> Would fixing this break anything?

 Sure. People assume "amd".

Now it seems better:

$ rpmlint am-utils-6.1.5-9.fc10.src.rpm 

$ rpmlint x86_64/am-utils-6.1.5-9.fc10.x86_64.rpm 
am-utils.x86_64: W: hidden-file-or-dir /.automount
am-utils.x86_64: W: hidden-file-or-dir /.automount
am-utils.x86_64: E: non-readable /etc/amd.conf 0600
am-utils.x86_64: E: non-readable /etc/amd.net 0640
am-utils.x86_64: W: dangerous-command-in-%pre mv
am-utils.x86_64: W: incoherent-init-script-name amd



Comment 4 Gwyn Ciesla 2008-05-20 14:10:37 UTC
Except the build in koji failed.  I grabbed the devel spec, rebuild, and I see
what you see.

Looks good.  APPROVED.