Bug 226663 - Merge Review: ypbind
Merge Review: ypbind
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Package Reviews List
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-01-31 16:36 EST by Nobody's working on this, feel free to take it
Modified: 2008-12-02 04:56 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-12-01 22:40:09 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+


Attachments (Terms of Use)
Patch fixing most issues. (2.43 KB, patch)
2007-08-02 16:28 EDT, Jason Tibbitts
no flags Details | Diff
ypbind init script patch (2.37 KB, patch)
2008-10-22 12:26 EDT, Vitezslav Crhonek
no flags Details | Diff

  None (edit)
Description Nobody's working on this, feel free to take it 2007-01-31 16:36:06 EST
Fedora Merge Review: ypbind

http://cvs.fedora.redhat.com/viewcvs/devel/ypbind/
Initial Owner: steved@redhat.com
Comment 1 Jason Tibbitts 2007-08-02 16:27:35 EDT
I question my sanity for even looking at this, but I used NIS in a past life so...

Here's what rpmlint has to say:

W: ypbind summary-ended-with-dot The NIS daemon which binds NIS clients to an
NIS domain.
  Picky, I guess, but easy to fix.

E: ypbind tag-not-utf8 %changelog
E: ypbind non-utf8-spec-file ypbind.spec
  It's the ø in Trond's name; iconv should fix it up.

W: ypbind strange-permission ypbind.init 0755
  rpmlint complains about anything that's not 644 in the SRPM; I don't think 
  this is a big deal.

W: ypbind prereq-use /sbin/chkconfig
  Prereq: shouldn't be used.  Actually the scriptlets and their dependencies 
  need a few fixes.

W: ypbind macro-in-%changelog config
  % signs need doubling in %changelog.

W: ypbind patch-not-applied Patch5: ypbind-1.19-debuginfo.patch
  I guess this patch isn't needed at all any longer; it should probably just go.

The packaging guidelines require that the buildroot contains %{name}, %{version}
and %{release}.

You shouldn't use %makeinstall unless the usual "make DESTDIR=..." doesn't work.
 Everything seems to work OK with the latter, so....

You need finegrained dependencies for the scriptlets instead of Prereq:

Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(preun): /sbin/service
Requires(postun): /sbin/service

Initscripts must not be marked as %config files.

There's a whole push to use LSB-standard initscripts, but I'm not sure where it
stands and I'm not going to worry about that here.

We're working on new standards for the license, but the files in the tarball
don't agree about whether it's GPLv2 only or GPLv2 or later.

You can probably drop the bash >= 2.0 requirement; rpm will find the need for
/bin/bash on its own, and even FC-1 had bash 2.05b.

This package should not own /var/yp; the filesystem pakage owns it.

I'll attach a patch that fixes the minor issues; the license thing will probably
require consultation with upstream.

Review:
* source files match upstream:
   f49e0706517f2761cfa45f7a02c5e1562a67b104a267b220a37fa3ab217f9e34  
   ypbind-mt-1.20.4.tar.bz2
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
X summary ends in a period, annoying rpmlint
* description is OK.
* dist tag is present.
X build root is missing %{release}
? license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
* debuginfo package looks complete.
X rpmlint has valid complaints.
X final provides and requires are missing /sbin/service
   config(ypbind) = 3:1.20.4-1.fc8
   ypbind = 3:1.20.4-1.fc8
  =
   /bin/bash
   /bin/sh
   /sbin/chkconfig
   bash >= 2.0
   config(ypbind) = 3:1.20.4-1.fc8
   libdbus-1.so.3()(64bit)
   libdbus-glib-1.so.2()(64bit)
   libglib-2.0.so.0()(64bit)
   libgobject-2.0.so.0()(64bit)
   libpthread.so.0()(64bit)
   libpthread.so.0(GLIBC_2.2.5)(64bit)
   libpthread.so.0(GLIBC_2.3.2)(64bit)
   rpcbind
   yp-tools
* %check is not present; no test suite upstream.  I have fortunately exorcised 
  NIS from my network so I've no way to test this.
* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
X should not own /var/yp
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.
Comment 2 Jason Tibbitts 2007-08-02 16:28:15 EDT
Created attachment 160541 [details]
Patch fixing most issues.
Comment 3 Jason Tibbitts 2007-08-02 16:32:48 EDT
BTW, after this patch, rpmlint is silent except for the strange-permission
complaint which I don't think is worth fixing.  (I don't know how to do a chmod
in any case.)  With it applied and the license set to GPLv2, I'd approve this
package, although it would be really nice to see if upstream really intends GPLv2+.
Comment 4 Jason Tibbitts 2008-01-04 16:19:06 EST
Steve, is there any chance we could move forward with this?
Comment 5 Jason Tibbitts 2008-08-17 11:00:14 EDT
Looks like Steve no longer owns this package.  CC'ing the current maintainer; perhaps there's a changce that this could move forward after over a year without receiving any response.
Comment 6 Vitezslav Crhonek 2008-10-21 09:15:19 EDT
(In reply to comment #1)

Thanks for CC'ing me.

> I question my sanity for even looking at this, but I used NIS in a past life
> so...
> 
> Here's what rpmlint has to say:
> 
> W: ypbind summary-ended-with-dot The NIS daemon which binds NIS clients to an
> NIS domain.
>   Picky, I guess, but easy to fix.

Fixed.

> 
> E: ypbind tag-not-utf8 %changelog
> E: ypbind non-utf8-spec-file ypbind.spec
>   It's the ø in Trond's name; iconv should fix it up.

Fixed.

> 
> W: ypbind strange-permission ypbind.init 0755
>   rpmlint complains about anything that's not 644 in the SRPM; I don't think 
>   this is a big deal.

Init scripts should have 0755 permissions. I suggest to let it be as it is.

> 
> W: ypbind prereq-use /sbin/chkconfig
>   Prereq: shouldn't be used.  Actually the scriptlets and their dependencies 
>   need a few fixes.

Fixed using actual https://fedoraproject.org/wiki/Packaging/SysVInitScript

> 
> W: ypbind macro-in-%changelog config
>   % signs need doubling in %changelog.

Fixed.

> 
> W: ypbind patch-not-applied Patch5: ypbind-1.19-debuginfo.patch
>   I guess this patch isn't needed at all any longer; it should probably just
> go.

You're right, debuginfo package works fine, patch removed.

> 
> The packaging guidelines require that the buildroot contains %{name},
> %{version}
> and %{release}.

That's okay yet (fixed in 3:1.20.4-4).

> 
> You shouldn't use %makeinstall unless the usual "make DESTDIR=..." doesn't
> work.
>  Everything seems to work OK with the latter, so....

Fixed.

> 
> You need finegrained dependencies for the scriptlets instead of Prereq:
> 
> Requires(post): /sbin/chkconfig
> Requires(preun): /sbin/chkconfig
> Requires(preun): /sbin/service
> Requires(postun): /sbin/service

Commented above.

> 
> Initscripts must not be marked as %config files.

Fixed.
(But - "A valid exception to this rule would be existing packages where configuration is still done via the init file.". Well, I'm not sure if OTHER_YPBIND_OPTS="" is configuration... Probably not:))

> 
> There's a whole push to use LSB-standard initscripts, but I'm not sure where it
> stands and I'm not going to worry about that here.
> 
> We're working on new standards for the license, but the files in the tarball
> don't agree about whether it's GPLv2 only or GPLv2 or later.

That's okay yet (you fixed it 1.20.4-7)

> 
> You can probably drop the bash >= 2.0 requirement; rpm will find the need for
> /bin/bash on its own, and even FC-1 had bash 2.05b.

Bash requirement removed.

> 
> This package should not own /var/yp; the filesystem pakage owns it.

Directory removed.

> 
> I'll attach a patch that fixes the minor issues; the license thing will
> probably
> require consultation with upstream.
> 
> Review:
> * source files match upstream:
>    f49e0706517f2761cfa45f7a02c5e1562a67b104a267b220a37fa3ab217f9e34  
>    ypbind-mt-1.20.4.tar.bz2
> * package meets naming and versioning guidelines.
> * specfile is properly named, is cleanly written and uses macros consistently.
> X summary ends in a period, annoying rpmlint
> * description is OK.
> * dist tag is present.
> X build root is missing %{release}
> ? license field matches the actual license.
> * license is open source-compatible.
> * license text included in package.
> * latest version is being packaged.
> * BuildRequires are proper.
> * compiler flags are appropriate.
> * %clean is present.
> * package builds in mock (development, x86_64).
> * package installs properly
> * debuginfo package looks complete.
> X rpmlint has valid complaints.
> X final provides and requires are missing /sbin/service
>    config(ypbind) = 3:1.20.4-1.fc8
>    ypbind = 3:1.20.4-1.fc8
>   =
>    /bin/bash
>    /bin/sh
>    /sbin/chkconfig
>    bash >= 2.0
>    config(ypbind) = 3:1.20.4-1.fc8
>    libdbus-1.so.3()(64bit)
>    libdbus-glib-1.so.2()(64bit)
>    libglib-2.0.so.0()(64bit)
>    libgobject-2.0.so.0()(64bit)
>    libpthread.so.0()(64bit)
>    libpthread.so.0(GLIBC_2.2.5)(64bit)
>    libpthread.so.0(GLIBC_2.3.2)(64bit)
>    rpcbind
>    yp-tools
> * %check is not present; no test suite upstream.  I have fortunately exorcised 
>   NIS from my network so I've no way to test this.
> * no shared libraries are added to the regular linker search paths.
> * owns the directories it creates.
> X should not own /var/yp
> * no duplicates in %files.
> * file permissions are appropriate.
> * no scriptlets present.
> * code, not content.
> * documentation is small, so no -docs subpackage is necessary.
> * %docs are not necessary for the proper functioning of the package.
> * no headers.
> * no pkgconfig files.
> * no static libraries.
> * no libtool .la files.


Changes commited to Rawhide.
Comment 7 Vitezslav Crhonek 2008-10-22 12:26:04 EDT
Created attachment 321174 [details]
ypbind init script patch

I decided to look at init script and fix it to be compliant with https://fedoraproject.org/wiki/Packaging/SysVInitScript

(Well, main motion to do this was https://bugzilla.redhat.com/show_bug.cgi?id=467861).

I think it should be fine, but just for sanity, please check it too. Thanks.
Comment 8 Jason Tibbitts 2008-10-26 18:07:21 EDT
Thanks for working on this.  I checked out the current devel branch; it builds fine; rpmlint says:

  ypbind.src: W: strange-permission ypbind.init 0755
I don't understand why rpmlint is complaining here.  This seems fine to me.

  ypbind.x86_64: W: incoherent-version-in-changelog 1.20.4-9
   ['3:1.20.4-9.fc10', '3:1.20.4-9']
Again, this seems quite OK.  I'm guessing that it is complaining about not seeing the epoch in the changelog version, but don't think we generally add it there.

So all of that looks bogus.  I assume that the OTHER_YPBIND_OPTS thing is something to be set in /etc/sysconfig/network instead of being edited into the initscript.

The changes to the package look good; packaging-wise I have no complaints.  It's a bit odd seeing %{PACKAGE_VERSION} in the spec instead of %{version}; I've never seen it before but it seems to work well enough.

Any idea why autoreconf is run?  There's been a bunch of discussion about whether this should ever be run in a package, and while I don't fully understand that discussion, I do think it would be good to ensure that the autoreconf call is really needed and to add comments to the spec as appropriate.  I note that rpmdiff shows only timestamp differences between a build that calls autoreconf and one that doesn't.

As for the initscript patch in comment #7, it seems correct on its face but it's a bit tough to read with only a non-context diff and I'm not really an expert with the whole LSB init comment block thing anyway.  Unfortunately I no longer have any vestige of my NIS infrastructure around so I can't test this at all.

So really the only open issue I see is the autoreconf thing.
Comment 9 Vitezslav Crhonek 2008-11-21 05:56:39 EST
To make this complete:

(In reply to comment #8)
> Thanks for working on this.  I checked out the current devel branch; it builds
> fine; rpmlint says:
> 
>   ypbind.src: W: strange-permission ypbind.init 0755
> I don't understand why rpmlint is complaining here.  This seems fine to me.

Seems fine to me too.

> 
>   ypbind.x86_64: W: incoherent-version-in-changelog 1.20.4-9
>    ['3:1.20.4-9.fc10', '3:1.20.4-9']
> Again, this seems quite OK.  I'm guessing that it is complaining about not
> seeing the epoch in the changelog version, but don't think we generally add it
> there.

I'll add epoch to changelog entries. I'm not sure if this must be, but it's missing only last few commits, so let rpmlint be happy:)

> 
> So all of that looks bogus.  I assume that the OTHER_YPBIND_OPTS thing is
> something to be set in /etc/sysconfig/network instead of being edited into the
> initscript.

You're right, configuration should be done in /etc/sysconfig/network (and this file is then included in init script).

> 
> The changes to the package look good; packaging-wise I have no complaints. 
> It's a bit odd seeing %{PACKAGE_VERSION} in the spec instead of %{version};
> I've never seen it before but it seems to work well enough.

Interesting, I missed it... I'll change it to %{version}, I have no knowledge of %{PACKAGE_VERSION}. %{version} is common, let's use it.

> 
> Any idea why autoreconf is run?  There's been a bunch of discussion about
> whether this should ever be run in a package, and while I don't fully
> understand that discussion, I do think it would be good to ensure that the
> autoreconf call is really needed and to add comments to the spec as
> appropriate.  I note that rpmdiff shows only timestamp differences between a
> build that calls autoreconf and one that doesn't.

autoreconf is used to generate new configure script and Makefile when configure.in/.ac, Makefile.in files are changed (patched). There's no patch changing it at the moment (one patch is changing variable in "po" directory, this is only one source of unsureness for me), so autoreconf call is IMHO not necessary. autoconf and automake in BuildRequires is then not necessary too. I'll discuss it rather yet, but it seems to be redundant.

Fedora relate info is here:
https://fedoraproject.org/wiki/PackagingDrafts/AutoConf

> 
> As for the initscript patch in comment #7, it seems correct on its face but
> it's a bit tough to read with only a non-context diff and I'm not really an
> expert with the whole LSB init comment block thing anyway.  Unfortunately I no
> longer have any vestige of my NIS infrastructure around so I can't test this at
> all.

OK, there's open bugzilla on init script issue, so I think there's no need to resolve it here.

> 
> So really the only open issue I see is the autoreconf thing.
Comment 10 Jason Tibbitts 2008-12-01 22:40:09 EST
Thanks; I think we're done here, so I'll close this out.

Do you also maintain ypserv and yp-tools?  I can take a look at them as well if you like.

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=226664
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=226665

APPROVED
Comment 11 Vitezslav Crhonek 2008-12-02 04:56:54 EST
I think so. I removed all auto-tools related things form spec file finally, they were not needed.

Yes, I do own them too - and I'll be glad if you take a look, thanks!

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