Bug 459878 - Review Request: genome - Package for the Genome Project [NEEDINFO]
Review Request: genome - Package for the Genome Project
Status: ASSIGNED
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: S.A. Hartsuiker
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-08-23 10:14 EDT by Jeroen van Meeuwen
Modified: 2013-11-21 10:11 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
s.a.hartsuiker: fedora‑review+
mtasaka: needinfo? (vanmeeuwen+fedora)


Attachments (Terms of Use)
mock buildlog for f9-i386 (4.78 KB, text/plain)
2008-09-22 17:21 EDT, S.A. Hartsuiker
no flags Details

  None (edit)
Description Jeroen van Meeuwen 2008-08-23 10:14:17 EDT
Spec URL: http://www.kanarip.com/custom/SPECS/genome.spec
SRPM URL: http://www.kanarip.com/custom/f10/SRPMS/genome-1.1.0-1.fc10.src.rpm
Description: Genome Framework

scratch builds:
- http://koji.fedoraproject.org/koji/taskinfo?taskID=781055 (f8)
- http://koji.fedoraproject.org/koji/taskinfo?taskID=781057 (f9)
- http://koji.fedoraproject.org/koji/taskinfo?taskID=781059 (f10)

RPMlint says:

[jmeeuwen@ghandalf tools]$ rpmlint -i /home/jmeeuwen/rpmbuild/RPMS/noarch/genome-*-1.1.0-1*
genome-autostarter.noarch: W: non-conffile-in-etc /etc/cron.d/genome-autostarter
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.

genome-firstboot.noarch: W: service-default-enabled /etc/init.d/genome-firstboot
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.

genome-firstboot.noarch: E: no-status-entry /etc/init.d/genome-firstboot
In your init script (/etc/rc.d/init.d/your_file), you don't have a 'status'
entry, which is necessary for good functionality.

genome-firstboot.noarch: W: no-reload-entry /etc/init.d/genome-firstboot
In your init script (/etc/rc.d/init.d/your_file), you don't have a 'reload'
entry, which is necessary for good functionality.

genome-release.noarch: E: zero-length /etc/yum.repos.d/genome.repo
genome-release.noarch: W: conffile-without-noreplace-flag /etc/pki/rpm-gpg/RPM-GPG-KEY-genome
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

genome-repo.noarch: E: non-executable-script /var/lib/puppet/modules/genomerepo/files/puppetca.cgi 0644
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed.  If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.

genome-repo.noarch: W: non-conffile-in-etc /etc/genome/bootstrap.pp
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.

genome-repo.noarch: E: non-executable-script /var/lib/puppet/modules/genomerepo/files/puppet_node.sh 0644
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed.  If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.

genome-repo.noarch: W: non-conffile-in-etc /etc/cobbler/Genome.ks
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.

genome-repo.noarch: W: non-conffile-in-etc /etc/cobbler/Cloud.ks
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.

genome-repo.noarch: W: non-conffile-in-etc /etc/cobbler/Guest.ks
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.

genome-repo.noarch: E: init-script-without-chkconfig-postin /etc/init.d/genome-repo-bootstrap
The package contains an init script but doesn't contain a %post with a call to
chkconfig.

genome-repo.noarch: E: init-script-without-chkconfig-preun /etc/init.d/genome-repo-bootstrap
The package contains an init script but doesn't contain a %preun with a call
to chkconfig.

genome-repo.noarch: W: service-default-enabled /etc/init.d/genome-repo-bootstrap
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.

genome-repo.noarch: E: no-status-entry /etc/init.d/genome-repo-bootstrap
In your init script (/etc/rc.d/init.d/your_file), you don't have a 'status'
entry, which is necessary for good functionality.

genome-repo.noarch: W: no-reload-entry /etc/init.d/genome-repo-bootstrap
In your init script (/etc/rc.d/init.d/your_file), you don't have a 'reload'
entry, which is necessary for good functionality.

genome-repo.noarch: E: subsys-not-used /etc/init.d/genome-repo-bootstrap
While your daemon is running, you have to put a lock file in
/var/lock/subsys/. To see an example, look at this directory on your machine
and examine the corresponding init scripts.

genome-repo.noarch: W: incoherent-init-script-name genome-repo-bootstrap
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.

genome-respin.noarch: W: conffile-without-noreplace-flag /etc/revisor/conf.d/cloud-ks.cfg
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

genome-respin.noarch: W: conffile-without-noreplace-flag /etc/revisor/conf.d/combo-ks.cfg
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

genome-respin.noarch: W: conffile-without-noreplace-flag /etc/revisor/conf.d/genome-f9-i386.conf
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

genome-respin.noarch: W: conffile-without-noreplace-flag /etc/revisor/conf.d/genome-ks.cfg
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

genome-respin.noarch: W: conffile-without-noreplace-flag /etc/revisor/genome.conf
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

12 packages and 0 specfiles checked; 8 errors, 16 warnings.

Each of which has now a ticket logged upstream.
Comment 1 Jeroen van Meeuwen 2008-08-31 09:57:11 EDT
All errors are eliminated, 6 warnings remain.

New SPEC: http://www.kanarip.com/custom/SPECS/genome.spec
New SRPM: http://www.kanarip.com/custom/f10/SRPMS/genome-1.1.0-2.fc10.src.rpm
Comment 2 S.A. Hartsuiker 2008-09-22 17:20:30 EDT
Still doesn't build. genome-bootstrap seems required for genome-sync.

buildlog attached.
Comment 3 S.A. Hartsuiker 2008-09-22 17:21:48 EDT
Created attachment 317420 [details]
mock buildlog for f9-i386
Comment 5 S.A. Hartsuiker 2008-09-22 18:08:11 EDT
$ rpmlint -i genome-sync-1.1.2-1.fc9.noarch.rpm
genome-sync.noarch: W: obsolete-not-provided rubygem-genome-sync
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.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

Done on purpose, to allow explicit cleaning out of all old packages (eg yum remove rubygem-genome-*)

$ rpmlint -i genome-styling-1.1.2-1.fc9.noarch.rpm
genome-styling.noarch: W: non-conffile-in-etc /etc/httpd/conf.d/genome-styling.conf
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.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

This should be fixed.

$ rpmlint -i genome-server-1.1.2-1.fc9.noarch.rpm
genome-server.noarch: W: non-conffile-in-etc /etc/httpd/conf.d/genomed.conf
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.

This should be fixed.

genome-server.noarch: E: non-executable-script /usr/lib/ruby/gems/1.8/gems/genomed-1.1.2/extra/genomed.redhat 0644
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed.  If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.

Not sure if this is a problem?

genome-server.noarch: W: summary-not-capitalized daemon for Genome machine configuration
Summary doesn't begin with a capital letter.

This should be fixed.

genome-server.noarch: W: obsolete-not-provided rubygem-genomed
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.

Done on purpose, see above.

genome-server.noarch: W: conffile-without-noreplace-flag /etc/genomed/config.yml
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

This should be fixed.

genome-server.noarch: E: init-script-without-chkconfig-postin /etc/init.d/genomed
The package contains an init script but doesn't contain a %post with a call to
chkconfig.

This should be fixed.

genome-server.noarch: E: init-script-without-chkconfig-preun /etc/init.d/genomed
The package contains an init script but doesn't contain a %preun with a call
to chkconfig.

This should be fixed.

genome-server.noarch: W: service-default-enabled /etc/init.d/genomed
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.

Not sure about this?

genome-server.noarch: W: no-reload-entry /etc/init.d/genomed
In your init script (/etc/rc.d/init.d/your_file), you don't have a 'reload'
entry, which is necessary for good functionality.

Can this even have a reload option?

genome-server.noarch: E: subsys-not-used /etc/init.d/genomed
While your daemon is running, you have to put a lock file in
/var/lock/subsys/. To see an example, look at this directory on your machine
and examine the corresponding init scripts.

Contact upstream about this please.

genome-server.noarch: W: incoherent-init-script-name genomed
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.

1 packages and 0 specfiles checked; 4 errors, 7 warnings.

$ rpmlint -i genome-repo-1.1.2-1.fc9.noarch.rpm
genome-repo.noarch: W: service-default-enabled /etc/init.d/genome-repo-bootstrap
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.

genome-repo.noarch: W: incoherent-init-script-name genome-repo-bootstrap
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.

1 packages and 0 specfiles checked; 0 errors, 2 warnings.
$ rpmlint -i genome-release-1.1.2-1.fc9.noarch.rpm
genome-release.noarch: W: non-conffile-in-etc /etc/pki/rpm-gpg/RPM-GPG-KEY-genome
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.

This should be fixed.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint -i genome-firstboot-1.1.2-1.fc9.noarch.rpm
genome-firstboot.noarch: W: service-default-enabled /etc/init.d/genome-firstboot
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint -i genome-dsl-1.1.2-1.fc9.noarch.rpm
genome-dsl.noarch: W: obsolete-not-provided rubygem-genome-dsl
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.

Again, done on purpose.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint -i genome-cloudmasterd-httpd-redirect-1.1.2-1.fc9.noarch.rpm
genome-cloudmasterd-httpd-redirect.noarch: W: obsolete-not-provided httpd-redirect-cloudmasterd
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.

Again, done on purpose.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint -i genome-cloudmasterd-httpd-1.1.2-1.fc9.noarch.rpm
genome-cloudmasterd-httpd.noarch: W: obsolete-not-provided httpd-cloudmasterd
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.

Again, done on purpose.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint -i genome-cloudmasterd-1.1.2-1.fc9.noarch.rpm
genome-cloudmasterd.noarch: E: non-executable-script /usr/lib/ruby/gems/1.8/gems/cloudmasterd-1.1.2/extra/cloudmasterd.init 0644
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed.  If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.

This should be fixed.

genome-cloudmasterd.noarch: W: obsolete-not-provided rubygem-cloudmasterd
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.

Again, done on purpose.

genome-cloudmasterd.noarch: W: incoherent-init-script-name cloudmasterd
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.

This should be fixed.

1 packages and 0 specfiles checked; 1 errors, 2 warnings.

$ rpmlint -i genome-bootstrap-1.1.2-1.fc9.noarch.rpm
genome-bootstrap.noarch: W: obsolete-not-provided rubygem-genome-bootstrap
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.

Again, done on purpose.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint -i genome-autostarter-1.1.2-1.fc9.noarch.rpm
genome-autostarter.noarch: W: non-conffile-in-etc /etc/cron.d/genome-autostarter
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.

This should be fixed.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.


Not exactly quiet is it?
Comment 7 S.A. Hartsuiker 2008-09-29 17:03:19 EDT
$ rpmlint -i genome-1.3.1-3.fc10.i386.rpm
genome.i386: E: no-binary
The package should be of the noarch architecture because it doesn't contain
any binaries.

This should be fixed. genome-docs package maybe?

$ rpmlint -i genome-cloudmasterd-1.3.1-3.fc10.i386.rpm
genome-cloudmasterd.i386: W: incoherent-init-script-name cloudmasterd
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.

This should be fixed.

$ rpmlint -i genome-debuginfo-1.3.1-3.fc10.i386.rpm
genome-debuginfo.i386: E: empty-debuginfo-package
This debuginfo package contains no files.  This is often a sign of binaries
being unexpectedly stripped too early during the build, rpmbuild not being
able to strip the binaries, the package actually being a noarch one but
erratically packaged as arch dependent, or something else.  Verify what the
case is, and if there's no way to produce useful debuginfo out of it, disable
creation of the debuginfo package.

What happened? Is this something to be worried about or not?

$ rpmlint -i genome-firstboot-1.3.1-3.fc10.i386.rpm
genome-firstboot.i386: W: service-default-enabled /etc/init.d/genome-firstboot
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.

Should this start on installation?

$ rpmlint -i genome-release-1.3.1-3.fc10.i386.rpm
genome-release.i386: W: non-conffile-in-etc /etc/pki/rpm-gpg/RPM-GPG-KEY-genome
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.

This should be fixed.

$ rpmlint -i genome-repo-1.3.1-3.fc10.i386.rpm
genome-repo.i386: E: non-executable-script /var/lib/puppet/modules/genomerepo/files/genome-reporter 0644
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed.  If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.

Does this need executable bits?

genome-repo.i386: W: service-default-enabled /etc/init.d/genome-repo-bootstrap
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.

Should this start on installation?

genome-repo.i386: W: incoherent-init-script-name genome-repo-bootstrap
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.

This should probably be fixed.

$ rpmlint -i genome-server-1.3.1-3.fc10.i386.rpm
genome-server.i386: W: service-default-enabled /etc/init.d/genomed
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.

Should this start on installation?

genome-server.i386: W: incoherent-init-script-name genomed
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.

Moot.
Comment 8 S.A. Hartsuiker 2008-09-29 17:28:25 EDT
RPM Lint: no, see previous post
Package name: see previous post
Spec file: ok
License: GPLv2
Actual License: GPLv2
%doc License: ok (COPYING)
Spec file language: ok
Spec file readable: ok
Upstream source vs. used tarball: ok
Compile and Build:
 - F-7: n/a
 - F-8: n/a
 - rawhide: builds
 - EL-5: n/a

Applicable Package Guidelines: ok
 
Locales: not applicable
Shared libs: not applicable

Relocatable: no
Directory and file ownership: see above
No duplicate files in %files: ok
File Permissions: see above
Macro usage: ok
Code vs. Content: ok
(Large) Documentation: ok
%doc affecting runtime: ok
Header files in -devel package: not applicable
Static Libraries in -static package: not applicable
pkgconfig Requires: not applicable
Library files: ok
Devel requires base package: not applicable
.la libtool archives: not applicable
Duplicate ownership of files/directories: no
Remove BuildRoot: yes
UTF-8 filenames: no
Comment 9 Jeroen van Meeuwen 2008-10-16 20:28:59 EDT
New SPEC: http://www.kanarip.com/custom/SPECS/genome.spec
New SRPM: http://www.kanarip.com/custom/f9/SRPMS/genome-1.4.2-4.fc9.src.rpm

rpmlint messages:

[jmeeuwen@ghandalf tools]$ rpmlint ~/rpmbuild/RPMS/noarch/genome-*1.4.2-4* ~/rpmbuild/RPMS/noarch/cloud*-1.4.2-4*
genome-firstboot.noarch: W: service-default-enabled /etc/init.d/genome-firstboot
genome-release.noarch: W: non-conffile-in-etc /etc/pki/rpm-gpg/RPM-GPG-KEY-genome
genome-repo.noarch: W: service-default-enabled /etc/init.d/genome-repo-bootstrap
genome-repo.noarch: W: incoherent-init-script-name genome-repo-bootstrap
cloudhost-httpd.noarch: W: no-documentation
cloudhost-httpd-redirect.noarch: W: no-documentation
cloudmaster-httpd.noarch: W: no-documentation
cloudmaster-httpd-redirect.noarch: W: no-documentation
20 packages and 0 specfiles checked; 0 errors, 8 warnings.
Comment 10 S.A. Hartsuiker 2008-10-22 14:13:25 EDT
All my concerns were fixed.
The remaining warnings are irrelevant for the package in question, as these are supposed to be installed together anyway (docs warning) and are supposed to start upon boot.

Package APPROVED
Comment 11 Jeroen van Meeuwen 2008-10-24 11:46:38 EDT
New Package CVS Request
=======================
Package Name: genome
Short Description: Package for the Genome Project
Owners: kanarip
Branches: EL-4 EL-5 F-8 F-9 devel
InitialCC: kanarip
Comment 12 Mamoru TASAKA 2008-10-26 13:59:52 EDT
Hello, Kevin:

As the sponsor of Stefan would you re-review this package?
IMO there are some issues left to fix on this package.
Comment 13 Jeroen van Meeuwen 2008-10-27 18:18:36 EDT
Is there any specific issue you can show me that needs to be addressed as a reason for you to have this package re-reviewed? That could help me in getting the package better beforehand.
Comment 14 Jeroen van Meeuwen 2008-10-27 18:19:16 EDT
Cancel fedora-cvs request flag
Comment 15 Mamoru TASAKA 2008-10-28 10:59:29 EDT
Well, from very quick glance:

* Using /var/www is not allowed on Fedora
  https://fedoraproject.org/wiki/Packaging/Guidelines#Web_Applications

* License tag should be "GPLv2+"
  Note that only putting GPLv2 license text does not mean
  that the license is under GPLv2:
  http://fedoraproject.org/wiki/Licensing/FAQ

* Usually dependencies between main package and subpackages
  must be EVR (Epoch-Version-Release) specific
  (ref:
   https://fedoraproject.org/wiki/Packaging/ReviewGuidelines
   "MUST: In the vast majority of cases, devel packages..."
   This mentions only main <-> -devel packages, however
   this should usually be applied to any binary rpms generated
   from the same srpm)

* Virtual Provides must usually be EVR specific (Vitual Provides
  without EVR information caused upgrading path problem many
  times...)

* "Requires: genome" is redundant when "Requires: gnome-lib" is
  present (currently, however see below)

* I guess that the dependency between genome and genome-lib
  is opposite

* You have to write "BuildArch: noarch" only on the main
  package (and don't have to write on each subpackages)

* Use "BuildRequires: rubygem(rake)", not rubygem-rake.
  c.f.
  https://fedoraproject.org/wiki/Packaging/Perl#Perl_Requires_and_Provides
  - By the way "BuildRequires: rubygem" is redundant when
    "BuildRequires: rubygem(rake)" is present.

* When using "cp" or "install" commands, add "-p" option
  to keep timestamps on installed files:
  https://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps

* The scripts related to SysVinit script are wrong at
  several points.
  Also some Requires(preun) or so are missing.

  Please refer to:
  https://fedoraproject.org/wiki/Packaging/SysVInitScripts#Initscripts_in_spec_file_scriptlets
  https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Syntax

* Please make it sure that directories which are created when
  installing a package are correctly owned by the package.
  There are some directories which are not owned by any packages
  or when the package is installed:
  https://fedoraproject.org/wiki/Packaging/Guidelines#File_and_Directory_Ownership
  https://fedoraproject.org/wiki/Packaging/UnownedDirectories

* We recommend %defattr(-,root,root,-)
  Also on some subpackages %defattr is completely missing
  (please use rpmlint to detect this type of packagins error)

* Files under %_datadir/doc are automatically marked as %doc

* %_sysconfdir/init.d must be %_initrddir
  https://fedoraproject.org/wiki/Packaging/SysVInitScripts#Initscripts_on_the_filesystem

* /var must be %_localstatedir or so:
  https://fedoraproject.org/wiki/Packaging/RPMMacros

* Please use macros consistently. For example at one place %{_bindir}
  is used (this is no problem because %{_bindir} is expanded as /usr/bin)
  where at other place /%{_bindir} (i.e. //usr/bin) is used.

I just glanced at your spec file quickly and examined license issue and
have not checked the details of this package.
Comment 16 Kevin Fenzi 2008-10-29 17:43:54 EDT
In reply to comment #12: 

Sorry, I was out on vacation. I would be happy to give this a look over... 

Kanrip: Can you address the stuff in Comment #15 and then I can give it a look over too? 

Thanks
Comment 17 Jeroen van Meeuwen 2008-10-30 07:17:08 EDT
(In reply to comment #15)
> Well, from very quick glance:
> 
> * Using /var/www is not allowed on Fedora
>   https://fedoraproject.org/wiki/Packaging/Guidelines#Web_Applications
> 

Moved to /usr/share/genome-styling/{html,scripts}

> * License tag should be "GPLv2+"
>   Note that only putting GPLv2 license text does not mean
>   that the license is under GPLv2:
>   http://fedoraproject.org/wiki/Licensing/FAQ
> 

Fixed.

> * Usually dependencies between main package and subpackages
>   must be EVR (Epoch-Version-Release) specific
>   (ref:
>    https://fedoraproject.org/wiki/Packaging/ReviewGuidelines
>    "MUST: In the vast majority of cases, devel packages..."
>    This mentions only main <-> -devel packages, however
>    this should usually be applied to any binary rpms generated
>    from the same srpm)
> 

Fixed.

> * Virtual Provides must usually be EVR specific (Vitual Provides
>   without EVR information caused upgrading path problem many
>   times...)
> 

Fixed.

> * "Requires: genome" is redundant when "Requires: gnome-lib" is
>   present (currently, however see below)
> 
> * I guess that the dependency between genome and genome-lib
>   is opposite
> 

It allows for faster dep-solving if Requires: genome is in the requires for a package next to Requires: genome-lib, because the "new" deps won't have to be looped through (the dep is already resolved during the first run in the loop)

> * You have to write "BuildArch: noarch" only on the main
>   package (and don't have to write on each subpackages)
> 

Removed the redundant BuildArch: noarch

> * Use "BuildRequires: rubygem(rake)", not rubygem-rake.
>   c.f.
>   https://fedoraproject.org/wiki/Packaging/Perl#Perl_Requires_and_Provides
>   - By the way "BuildRequires: rubygem" is redundant when
>     "BuildRequires: rubygem(rake)" is present.
> 

Fixed.

> * When using "cp" or "install" commands, add "-p" option
>   to keep timestamps on installed files:
>   https://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps
> 

Fixed.

> * The scripts related to SysVinit script are wrong at
>   several points.
>   Also some Requires(preun) or so are missing.
> 
>   Please refer to:
>  
> https://fedoraproject.org/wiki/Packaging/SysVInitScripts#Initscripts_in_spec_file_scriptlets
>   https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Syntax
> 

Fixed.

> * Please make it sure that directories which are created when
>   installing a package are correctly owned by the package.
>   There are some directories which are not owned by any packages
>   or when the package is installed:
>  
> https://fedoraproject.org/wiki/Packaging/Guidelines#File_and_Directory_Ownership
>   https://fedoraproject.org/wiki/Packaging/UnownedDirectories
> 

I think I got this one nailed but I'd appreciate some verification.

> * We recommend %defattr(-,root,root,-)
>   Also on some subpackages %defattr is completely missing
>   (please use rpmlint to detect this type of packagins error)
> 

rpmlint does not say anything about missing defattr's

> * Files under %_datadir/doc are automatically marked as %doc
> 

I'm not sure what this means. I get what it means but I'm not sure what it applies to as far as the package is concerned.

> * %_sysconfdir/init.d must be %_initrddir
>  
> https://fedoraproject.org/wiki/Packaging/SysVInitScripts#Initscripts_on_the_filesystem
> 

Fixed.

> * /var must be %_localstatedir or so:
>   https://fedoraproject.org/wiki/Packaging/RPMMacros
> 

Fixed

> * Please use macros consistently. For example at one place %{_bindir}
>   is used (this is no problem because %{_bindir} is expanded as /usr/bin)
>   where at other place /%{_bindir} (i.e. //usr/bin) is used.
> 

Which ends up being the same but I see what you mean; in accumulative paths though, such as %{buildroot}/%{_bindir} I do like to use the possibly redundant '/' (it's better to my eyes *and* I'm not dependent on whether %{_bindir} or %{bindir} has a prepending slash or is fully qualified or not).

In %files sections though; fixed

> I just glanced at your spec file quickly and examined license issue and
> have not checked the details of this package.

The largest part of the spec file comes directly from upstream, Red Hat's Emerging Technologies team, which is also the reason I've not closely examined the License that they choose to initially package genome with.
Comment 20 Mamoru TASAKA 2008-10-30 15:20:29 EDT
For -6: (still I just looked at your spec file)

* Macros
  - For example /usr/share must be %{_datadir}
    https://fedoraproject.org/wiki/Packaging/RPMMacros

(In reply to comment #17)
> (In reply to comment #15)
> > * Virtual Provides must usually be EVR specific (Vitual Provides
> >   without EVR information caused upgrading path problem many
> >   times...)
> > 
> 
> Fixed.

  - This means that "Provides: rubygem-genome-bootstrap" must usually
    be "Provides: rubygem-genome-bootstrap = %{version}-%{release}",
    for example.

> > * "Requires: genome" is redundant when "Requires: gnome-lib" is
> >   present (currently, however see below)
> > * I guess that the dependency between genome and genome-lib
> >   is opposite
> It allows for faster dep-solving if Requires: genome is in the requires for a
> package next to Requires: genome-lib, because the "new" deps won't have to be
> looped through (the dep is already resolved during the first run in the loop)

  - What I mean here is that "genome" package should have 
    "Requires: genome-lib" and genoe-lib subpackage should _not_ have
    "Requires: genome" (e.g.
     http://cvs.fedoraproject.org/viewvc/rpms/lzma/devel/lzma.spec?view=co )

> > * When using "cp" or "install" commands, add "-p" option
> >   to keep timestamps on installed files:
> >   https://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps
> Fixed.

  - Not yet... (you should use -p option also for "cp" command)

> > * The scripts related to SysVinit script are wrong at
> >   several points.
> >   Also some Requires(preun) or so are missing.
> >   Please refer to:
> >  
> >   https://fedoraproject.org/wiki/Packaging/SysVInitScripts#Initscripts_in_spec_file_scriptlets
> >   https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Syntax
> > 
> 
> Fixed.

  - Please recheck these. -6 srpm scriptlets for SysVInit scripts
    are still wrong.
    Example:
--------------------------------------------------------
%preun bridge
/sbin/chkconfig --del genome-bridge
--------------------------------------------------------
    * Note that when genome-bridge is to be upgraded, %preun of
      old genome-bridge is done 
      _after_ newer genome-bridge is installed and all %post scripts
      in new genome-bridge is executed:
      https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Scriptlet_Ordering

      As the result, with this scriptlet when genome-bridge is
      upgraded chkconfig entry of gnome-bridge is completely
      deleted because of _old_ %preun script.

      (There are also some other mistakes in other scriptlets.
       Please recheck SysVInitScripts wiki)

> > * Please make it sure that directories which are created when
> >   installing a package are correctly owned by the package.
> >   There are some directories which are not owned by any packages
> >   or when the package is installed:
> >  
> I think I got this one nailed but I'd appreciate some verification.

  - Please check the following directories:
-------------------------------------------------------
%{_datadir}/genome-replace-self/
-------------------------------------------------------

> 
> > * We recommend %defattr(-,root,root,-)
> >   Also on some subpackages %defattr is completely missing
> >   (please use rpmlint to detect this type of packagins error)
> rpmlint does not say anything about missing defattr's

  - You can use rpmlint also for src.rpm (still complains)

> > * Files under %_datadir/doc are automatically marked as %doc
> I'm not sure what this means. I get what it means but I'm not sure what it
> applies to as far as the package is concerned.

  - This means that "%doc" specification in 
    "%doc %{_datadir}/doc/genome-dsl-%{version}" is redundant, for example.

* macros in comments
-------------------------------------------------------
#%files docs
#%defattr(-,root,root,-)
#%doc COPYING
#%config(noreplace) %{_sysconfdir}/httpd/conf.d/genome-docs.conf
#/%{_localstatedir}/www/genome/docs
-------------------------------------------------------
  - Well this is a bit dangerous because rpm tries to expand macros
    even in comments.
    In comments or %changelog, please use %% instead of % to prevent
    macros from being expanded.
Comment 21 Mamoru TASAKA 2008-12-10 10:35:08 EST
ping?

Note You need to log in before you can comment on or make changes to this bug.