Spec URL: http://rmeggins.fedorapeople.org/389-ds-base.spec SRPM URL: http://rmeggins.fedorapeople.org/389-ds-base-1.2.0-5.src.rpm Description: 389 Directory Server is an LDAPv3 compliant server. The base package includes the LDAP server and command line utilities for server administration. This is just a package rename - from fedora-ds-base to 389-ds-base - I have added the appropriate provides and obsoletes: Provides: fedora-ds-base = %{version}-%{release} Obsoletes: fedora-ds-base < 1.2.0-5 and Provides: fedora-ds-base-devel = %{version}-%{release} Obsoletes: fedora-ds-base-devel < 1.2.0-5
See also https://fedorahosted.org/fedora-infrastructure/ticket/1380 Builds in mock
rpmlint is also verbose on this one: [felix@polaris result]$ rpmlint *.rpm 389-ds-base 389-ds-base.src: W: mixed-use-of-spaces-and-tabs (spaces: line 2, tab: line 46) 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Resource.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Inf.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/DSDialogs.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/SetupDialogs.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/DSMigration.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Dialog.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Migration.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/DSCreate.pm 389-ds-base.x86_64: E: executable-marked-as-config-file /etc/sysconfig/dirsrv 389-ds-base.x86_64: E: script-without-shebang /etc/sysconfig/dirsrv 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/SetupLog.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/FileConn.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Setup.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Util.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/DialogManager.pm 389-ds-base.x86_64: W: log-files-without-logrotate /var/log/dirsrv 389-ds-base.x86_64: W: incoherent-init-script-name dirsrv 389-ds-base-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/389-ds-base-1.2.0/ldap/servers/slapd/tools/ldaptool-sasl.c 389-ds-base-devel.x86_64: W: only-non-binary-in-usr-lib 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Resource.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Inf.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/DSDialogs.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/SetupDialogs.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/DSMigration.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Dialog.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Migration.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/DSCreate.pm 389-ds-base.x86_64: E: executable-marked-as-config-file /etc/sysconfig/dirsrv 389-ds-base.x86_64: E: script-without-shebang /etc/sysconfig/dirsrv 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/SetupLog.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/FileConn.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Setup.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/Util.pm 389-ds-base.x86_64: E: script-without-shebang /usr/lib64/dirsrv/perl/DialogManager.pm 389-ds-base.x86_64: W: log-files-without-logrotate /var/log/dirsrv 389-ds-base.x86_64: W: incoherent-init-script-name dirsrv 5 packages and 0 specfiles checked; 30 errors, 7 warnings.
Good: + Basename of the SPEC files matches with packagename + Package name follow the naming guidelines + URL tag shows on proper project home page + Package contains valid Provides/Obsoletes tags + Package contains proper scriptlets for ldconfig and servies Bad: - Package seems to have a needles Source1 tag - Could not able to download source tarball via spectool -g Upstream tar ball was no renamed for the new project name - Tar ball doesn't matches with upstream release 1ef45901d3c3479ad767877a7663324e fedora-ds-base-1.2.0.tar.bz2 b691b742fef04a170ad7ac27a03d5cdc ../SOURCES/389-ds-base-1.2.0.tar.bz2 Because I have the feelling, that the renaming process of the upstream project was not finisch, I will wait for a formal review until this will be happened.
Updated: Spec URL: http://rmeggins.fedorapeople.org/pkgreview/389-ds-base.spec SRPM URL: http://rmeggins.fedorapeople.org/pkgreview/389-ds-base-1.2.1-1.src.rpm Source URL: http://port389.org/sources/389-ds-base-1.2.1.tar.bz2 Other source files mentioned in spec are at http://rmeggins.fedorapeople.org/pkgreview sha1sum 389-ds-base-1.2.1.tar.bz2 f2bd1d448cddb6bddfb5c62f97e898a97d253c5e 389-ds-base-1.2.1.tar.bz2 md5sum 389-ds-base-1.2.1.tar.bz2 5c14449d2960ddba89efc48269ba6f3b 389-ds-base-1.2.1.tar.bz2 Builds in mock cleanly > rpmlint /var/lib/mock/fedora-10-i386/result/389-ds-base-1.2.1-1.fc10.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. > rpmlint /var/lib/mock/fedora-10-i386/result/389-ds-base-1.2.1-1.fc10.i386.rpm 389-ds-base.i386: W: log-files-without-logrotate /var/log/dirsrv 389-ds-base.i386: W: incoherent-version-in-changelog 1.2.1-1 1.2.1-1.fc10 389-ds-base.i386: W: incoherent-init-script-name dirsrv 1 packages and 0 specfiles checked; 0 errors, 3 warnings. For the first warning - the directory server does its own log rotation, so no need for logrotate. For the second warning - I have no idea - there is no .fc10 in the Changelog section For the third warning - yes, this is intentional that the file is named "dirsrv" and not the Fedora package name.
389-ds-base-devel.i386: W: only-non-binary-in-usr-lib - This is the only remaining warning. I believe this is because the devel package installs two shared library symlinks in /usr/lib/dirsrv: /usr/lib/dirsrv/libslapd.so /usr/lib/dirsrv/libns-dshttpd.so This is the usual convention for -devel packages, to install symlinks called .so that point to the real shared lib. I don't know why rpmlint doesn't like it, and I would like this error waived.
Good: + Basename of the SPEC file matches with package name + Package name fullfill naming guidelines + URL tag shows on proper project home page + Could download upstream sources via spectool -g + Packaged sources matches with upstream (md5sum: 5c14449d2960ddba89efc48269ba6f3b) + Package contains valid license tag + License tags state GPLv2 with exception as a valid OSS license + Consistently usage of rpm macros + Proper buildroot defintion + Buildroot will be cleaned on the beginning of %clean and %install + Package has several subpackges + Devel subpackage has proper Requires to main package + Package has proper Provides/Obsoletes statement for the renaming processs + Package has a SMP enabled build + Build honour RPM_OPT_FLAGS + Local build works fine + There are no complaints from rpmlint about the source rpm + Debuginfo rpm contains source files + Scratch build on koji works fine + Files has proper files permissions + All package files are owned by the package + %files stanza contains no duplicates + No packaged file belongs to another package + %doc stanza is small, so we need no extran doc subpackage + Package has proper %changelog Bad: - Package doesn't contains verbatin copy of the license. There is a text file which refer to the GPLv2 and a additional files which described the exception to use the packaged software together with non-GPLed software, but there is none verbatin copy of the GPLv2 - Rpmlint has warning for the binary package $ rpmlint 389-ds-base-1.2.1-1.fc10.x86_64.rpm 389-ds-base.x86_64: W: log-files-without-logrotate /var/log/dirsrv 389-ds-base.x86_64: W: incoherent-init-script-name dirsrv - Rpmlint has warning for the devel subpackage: $ rpmlint 389-ds-base-devel-1.2.1-1.fc10.x86_64.rpm 389-ds-base-devel.x86_64: W: only-non-binary-in-usr-lib - Please use %{_sysconfdir}/rc.d/init.d instead of %{_inittddir} Your package is APPROVED.
Spec URL: http://rmeggins.fedorapeople.org/pkgreview/389-ds-base.spec SRPM URL: http://rmeggins.fedorapeople.org/pkgreview/389-ds-base-1.2.1-1.src.rpm Source URL: http://port389.org/sources/389-ds-base-1.2.1.tar.bz2 md5sum 389-ds-base-1.2.1.tar.bz2 bc0c5ccc95bf0fcbc68b372c5f00d2d5 389-ds-base-1.2.1.tar.bz2 sha1sum 389-ds-base-1.2.1.tar.bz2 8acbdc11fc93f8b304b3ddb804506415e963c6c3 389-ds-base-1.2.1.tar.bz2 - Added LICENSE.GPLv2 which contains the full text of the GPLv2 - changed %{_inittddir} to %{_sysconfdir}/rc.d/init.d
New Package CVS Request ======================= Package Name: 389-ds-base Short Description: 389 Directory Server base package Owners: rmeggins nkinder nhosoi Branches: F-9 F-10 F-11
CVS done.
cvs import done - all branches Still waiting on https://fedorahosted.org/fedora-infrastructure/ticket/1425 so that I can tag and build in koji
tagging fixed - built for f12 in koji
Spoke with Rich Megginson about maintaining in EPEL. New Package CVS Request ======================= Package Name: 389-ds-base Short Description: 389 Directory Server base package Owners: stahnma Branches: EL-4, EL-5 InitialCC:
cvs done.