rpmlint on rpm package reported
E: redhat-lsb statically-linked-binary /usr/sbin/redhat_lsb_trigger.i386
The package installs a statically linked binary or object file.
Usually this is a packaging bug. If not, contact your rpmlint distributor
about this so that this error gets included in the exception file for rpmlint
and will not be flagged as a packaging bug in the future (or add it to your
local configuration if you installed rpmlint from the source tarball).
E: redhat-lsb only-non-binary-in-usr-lib
There are only non binary files in /usr/lib so they should be in /usr/share.
W: redhat-lsb dangling-relative-symlink /lib/ld-lsb.so.3 ld-linux.so.2
The relative symbolic link points nowhere.
W: redhat-lsb dangling-relative-symlink /usr/lib/lsb/remove_initd
../../../sbin/chkconfig
The relative symbolic link points nowhere.
W: redhat-lsb dangling-relative-symlink /bin/mailx mail
The relative symbolic link points nowhere.
E: redhat-lsb zero-length /etc/lsb-release.d/core-3.1-ia32
W: redhat-lsb non-conffile-in-etc /etc/lsb-release.d/core-3.1-ia32
A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
E: redhat-lsb zero-length /etc/lsb-release.d/graphics-3.1-noarch
W: redhat-lsb non-conffile-in-etc /etc/lsb-release.d/graphics-3.1-noarch
A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
E: redhat-lsb zero-length /etc/lsb-release.d/graphics-3.1-ia32
W: redhat-lsb non-conffile-in-etc /etc/lsb-release.d/graphics-3.1-ia32
A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
E: redhat-lsb non-readable /usr/sbin/redhat_lsb_trigger.i386 0700
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).
E: redhat-lsb non-standard-executable-perm /usr/sbin/redhat_lsb_trigger.i386 0700
A standard executable should have permission set to 0755. If you get this
message, it means that you have a wrong executable permissions in some files
included in your package.
E: redhat-lsb zero-length /etc/lsb-release.d/core-3.1-noarch
W: redhat-lsb non-conffile-in-etc /etc/lsb-release.d/core-3.1-noarch
A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
W: redhat-lsb dangling-relative-symlink /usr/lib/lsb/install_initd
../../../sbin/chkconfig
The relative symbolic link points nowhere.
rpmlint on SRPM reported
E: redhat-lsb hardcoded-library-path in /usr/lib/lsb/install_initd
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: redhat-lsb hardcoded-library-path in /usr/lib/lsb/remove_initd
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: redhat-lsb hardcoded-library-path in $RPM_BUILD_ROOT/usr/lib/lsb
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: redhat-lsb hardcoded-library-path in $RPM_BUILD_ROOT/usr/lib/lsb/install_initd
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: redhat-lsb hardcoded-library-path in $RPM_BUILD_ROOT/usr/lib/lsb/remove_initd
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: redhat-lsb hardcoded-library-path in /usr/lib/lsb
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: redhat-lsb hardcoded-library-path in /lib/lsb
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
W: redhat-lsb macro-in-%changelog endif
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'.

time to review this package again.
First we try to resolve rpmlint messages that are possible for us.
here is rpmlint on redhat-lsb-3.1-19.fc9
redhat-lsb.i386: W: dangling-relative-symlink /lib/ld-lsb.so.3 ld-linux.so.2
The relative symbolic link points nowhere.
redhat-lsb.i386: E: zero-length /etc/lsb-release.d/core-3.1-ia32
redhat-lsb.i386: W: non-conffile-in-etc /etc/lsb-release.d/core-3.1-ia32
A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
redhat-lsb.i386: E: non-readable /usr/sbin/redhat_lsb_trigger.i386 0700
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).
redhat-lsb.i386: E: non-standard-executable-perm
/usr/sbin/redhat_lsb_trigger.i386 0700
A standard executable should have permission set to 0755. If you get this
message, it means that you have a wrong executable permissions in some files
included in your package.
redhat-lsb.i386: E: zero-length /etc/lsb-release.d/graphics-3.1-noarch
redhat-lsb.i386: W: non-conffile-in-etc /etc/lsb-release.d/graphics-3.1-noarch
A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
redhat-lsb.i386: E: zero-length /etc/lsb-release.d/graphics-3.1-ia32
redhat-lsb.i386: W: non-conffile-in-etc /etc/lsb-release.d/graphics-3.1-ia32
A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
redhat-lsb.i386: W: dangling-relative-symlink /bin/mailx mail
The relative symbolic link points nowhere.
redhat-lsb.i386: W: dangling-relative-symlink /usr/lib/lsb/install_initd
../../../sbin/chkconfig
The relative symbolic link points nowhere.
redhat-lsb.i386: W: dangling-relative-symlink /usr/lib/lsb/remove_initd
../../../sbin/chkconfig
The relative symbolic link points nowhere.
redhat-lsb.i386: E: zero-length /etc/lsb-release.d/core-3.1-noarch
redhat-lsb.i386: W: non-conffile-in-etc /etc/lsb-release.d/core-3.1-noarch
A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
redhat-lsb.i386: E: statically-linked-binary /usr/sbin/redhat_lsb_trigger.i386
The package installs a statically linked binary or object file.
==>Usually this is a packaging bug. If not, contact your rpmlint distributor
about this so that this error gets included in the exception file for rpmlint
and will not be flagged as a packaging bug in the future (or add it to your
local configuration if you installed rpmlint from the source tarball).
redhat-lsb.i386: E: only-non-binary-in-usr-lib
There are only non binary files in /usr/lib so they should be in /usr/share.
redhat-lsb.src:437: E: hardcoded-library-path in /lib/lsb
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
==> is this really needed?
redhat-lsb.src:540: W: macro-in-%changelog endif
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'.
==> update this in SPEC.
can you please provide your comments on which rpmlint messages can't be resolved
for this package and which can be resolved so that you can update them in SPEC?

llim,
Can you please fix rpmlint messages above in CVS? Please leave any issue that
is needed for this package and can't be fixed.
This review has already taken much time so if I will not get any update within
one week I prefer to move away from this review.

This is a pre-review for convincing one of the sponsors of approving my application:
I ran rpmlint against SRPM of the latest redhat-lsb, and I got following
errors and warnings:
E: hardcoded-library-path in /usr/lib/lsb/install_initd
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: hardcoded-library-path in /usr/lib/lsb/remove_initd
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: hardcoded-library-path in $RPM_BUILD_ROOT/usr/lib/lsb
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: hardcoded-library-path in $RPM_BUILD_ROOT/usr/lib/lsb/install_initd
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: hardcoded-library-path in $RPM_BUILD_ROOT/usr/lib/lsb/remove_initd
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: hardcoded-library-path in /usr/lib/lsb
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
E: hardcoded-library-path in /lib/lsb
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
W: macro-in-%changelog endif
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'.
W: invalid-license GPL
The value of the License tag was not recognized. Known values are:
"AFL", "Affero GPL", "ASL 1.0", "ASL 1.0+", "ASL 1.1", "ASL 1.1+", "ASL 2.0",
"ASL 2.0+", "APSL 2.0", "APSL 2.0+", "Artistic clarified", "Boost", "BSD with
advertising", "BSD", "CeCILL", "CDDL", "CPL", "Condor", "Cryptix", "EPL",
"eCos", "EFL 2.0", "EFL 2.0+", "EU Datagrid", "GPL+", "GPLv2", "GPLv2+",
"GPLv3", "GPLv3+", "IBM", "iMatix", "Intel ACPI", "Interbase", "Jabber",
"LaTeX", "LGPL+", "LGPLv2", "LGPLv2 with exceptions", "LGPLv2+", "LGPLv3",
"LGPLv3+", "LPL", "mecab-ipadic", "MIT", "MPLv1.0", "MPLv1.0+", "MPLv1.1",
"MPLv1.1+", "NCSA", "NGPL", "NOSL", "Netscape", "Nokia", "OpenLDAP", "OSL
1.0", "OSL 1.0+", "OpenSSL", "Phorum", "PHP", "Public Domain", "Python",
"QPL", "RPSL", "Ruby", "Sleepycat", "SMLNJL", "SISSL", "SPL", "Vim", "VNLSL",
"VSL", "W3C", "WTFPL", "wxWindows", "xinetd", "Zend", "ZPLv1.0", "ZPLv1.0+",
"ZPLv2.0", "ZPLv2.0+", "zlib", "CDL", "FBSDDL", "GFDL", "Open Publication",
"CC-BY", "CC-BY-SA", "DSL", "Free Art", "Arphic", "SIL Open Font",
"Redistributable, no modification permitted", "Freely redistributable without
restriction".

Created attachment 310415[details]
Patch to purge all the errors and warnings given by rpmlint
This's the patch used to purge all the errors and warnings given by rpmlint:
Errors: hardcoded lib path
Warnings:
1. macro-in-%changelog endif
2. invalid-license GPL

Reply to Comment #23:
1. Yes, after reconfirmation with llim, it's GPLv2.
2. I don't think it's redhat-lsb requiring its own files, redhat-lsb and lsb are
2 different packages. For example, redhat-lsb may delegate the database querying
job to lsb to find out the dependencies.
3. I'd like to know why the path is intentionally hard-coded.

(In reply to comment #24)
> 1. Yes, after reconfirmation with llim, it's GPLv2.
I think you need to go through the source files and audit more carefully.
Some are clearly GPLv2+ and a few LGPL.
> 2. I don't think it's redhat-lsb requiring its own files, redhat-lsb and lsb are
> 2 different packages. For example, redhat-lsb may delegate the database querying
> job to lsb to find out the dependencies.
% repoquery -q --whatprovides /usr/lib/lsb/install_initd
redhat-lsb-0:3.1-19.fc8.i386
% repoquery -q --whatprovides /usr/lib/lsb/remove_initd
redhat-lsb-0:3.1-19.fc8.i386
% rpm -qlp redhat-lsb-3.1-19.fc8.i386.rpm| grep _initd
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd
> 3. I'd like to know why the path is intentionally hard-coded.
Because the directory name should be lib and not lib64 even on 64bit machines I
guess.

s/but/not/
- $RPM_BUILD_ROOT/%{_bindir} $RPM_BUILD_ROOT/usr/lib/lsb \
+ $RPM_BUILD_ROOT/%{_bindir} $RPM_BUILD_ROOT/usr/lib/lsb \ #lsb should
locate in /usr/lib but /usr/lib64 even on a 64bit operating system
I think you better add the comment above: you can't have it in the middle of a
command.

Slightly offtopic:
- $RPM_BUILD_ROOT/%{_bindir} $RPM_BUILD_ROOT/usr/lib/lsb \
+ $RPM_BUILD_ROOT/%{_bindir} $RPM_BUILD_ROOT/usr/lib/lsb \ #lsb should
locate in /usr/lib but /usr/lib64 even on a 64bit operating system
Well, rpmbuild seems to handle this, however when someone writes some comments
with sharp
alter backslash on a shell script, it usually causes an unexpected behavior.
rpmbuild seems to delete such comments after backslash "as expected", however is
this a
documented behavior? Personally I would not write any comments after backslash.

koji build =>
http://koji.fedoraproject.org/koji/taskinfo?taskID=764240
package build successfully.
Suggestions:-
Add some more changelog in SPEC from comment #46
change prep section from
%setup -q -a 0
%patch0 -p 0
to
%setup -q
%patch0 -p1
I think you can commit this new SPEC with above suggessted modification in CVS now.
Can you commit and build new package? once you done comment here and will see if we have any issues otherwise will APPROVE and CLOSE this review.