Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 626050 - net-nds/ypserv version bump required
Summary: net-nds/ypserv version bump required
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major with 1 vote (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL: http://www.linux-nis.org/nis/ypserv/i...
Whiteboard: Pending removal: 2018-02-04
Keywords: PMASKED
Depends on:
Blocks:
 
Reported: 2017-07-24 15:27 UTC by peteru
Modified: 2018-03-11 10:42 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ypserv-4.0.ebuild (ypserv-4.0.ebuild,2.38 KB, text/plain)
2017-07-24 16:03 UTC, Pacho Ramos
Details
ypserv-4.0-headers.patch (ypserv-4.0-headers.patch,374 bytes, patch)
2017-07-24 16:04 UTC, Pacho Ramos
Details | Diff
ypserv-4.0-systemd.patch (ypserv-4.0-systemd.patch,675 bytes, patch)
2017-07-24 16:04 UTC, Pacho Ramos
Details | Diff
ypserv-4.0-systemd.patch (ypserv-4.0-systemd.patch,642 bytes, patch)
2018-01-07 04:54 UTC, Matt Whitlock
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description peteru 2017-07-24 15:27:21 UTC
Bug #595838 resulted in a major upgrade to yp-tools. Unfortunately that version is not compatible with the old version of ypserv and as a result this leaves Gentoo installations with broken NIS implementations.

I suggest that either all NIS packages (yp-tools, ypbind and ypserv) are updated at the same time or the new (and incompatible) yp-tools is masked for the time being.
Comment 1 peteru 2017-07-24 15:29:03 UTC
Upstream lists 4.0 as the current version: http://www.linux-nis.org/nis/ypserv/index.html
Comment 2 Pacho Ramos gentoo-dev 2017-07-24 16:03:29 UTC
I couldn't bump this. I will attach the ebuild and patches I have tried... but it fails to compile with:
yp.h:38:23: error: unknown type name 'ypresp_key_val'
         int (*encode)(ypresp_key_val *val, void *data);
                       ^
yp.h:59:38: error: unknown type name 'ypreq_key'
 extern  enum clnt_stat ypproc_match_2(ypreq_key *, ypresp_val *, CLIENT *);
                                      ^


I am not sure if maybe we could take a snapshot from https://github.com/thkukuk/ypserv/commits/master as Fedora is doing :/
Comment 3 Pacho Ramos gentoo-dev 2017-07-24 16:03:57 UTC
Created attachment 486672 [details]
ypserv-4.0.ebuild
Comment 4 Pacho Ramos gentoo-dev 2017-07-24 16:04:16 UTC
Created attachment 486674 [details, diff]
ypserv-4.0-headers.patch
Comment 5 Pacho Ramos gentoo-dev 2017-07-24 16:04:37 UTC
Created attachment 486676 [details, diff]
ypserv-4.0-systemd.patch
Comment 6 Pacho Ramos gentoo-dev 2017-11-09 16:14:13 UTC
newer yp-tools went to stable because of glibc stabilization... and this is without maintainer and hard to bump... I would treeclean it then
Comment 7 Matt Whitlock 2018-01-07 04:54:57 UTC
Created attachment 513576 [details, diff]
ypserv-4.0-systemd.patch

@Pacho: Could you explain why you say this package is "hard to bump"? With a small fix in your systemd patch to support GCC 7 (by which "#if FOO" is invalid if FOO is undefined), your ypserv-4.0.ebuild builds fine on my system (USE=-systemd).
Comment 8 Marcus Comstedt 2018-01-19 08:32:59 UTC
> GCC 7 (by which "#if FOO" is invalid if FOO is undefined)

Say what?  Both C99 and C11 explicitly state that any identifier not defined as a macro should be replaced by 0.  Can't GCC compile C anymore?
Comment 9 Matt Whitlock 2018-01-19 13:35:18 UTC
(In reply to Marcus Comstedt from comment #8)
> > GCC 7 (by which "#if FOO" is invalid if FOO is undefined)
> 
> Say what?  Both C99 and C11 explicitly state that any identifier not defined
> as a macro should be replaced by 0.  Can't GCC compile C anymore?

My diagnosis of the situation was incorrect. Rather than "undefined," I should have said, "defined as empty." And in that case, even GCC 4.8.3 complains, so I guess Pacho didn't test with USE=-systemd.

x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -D_REENTRANT=1 -DCONFDIR=\"/etc\" -DYPMAPDIR=\"/var/yp\" -DUSE_SD_NOTIFY= -I. -I..  -I.. -I.. -I.  -I/usr/include/tirpc -I/usr/include/tirpc  -march=native -O3 -ggdb -pipe -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -c -o access.o access.c
access.c:31:18: error: #if with no expression
 #if USE_SD_NOTIFY
                  ^
access.c: In function 'announce_ready':
access.c:292:18: error: #if with no expression
 #if USE_SD_NOTIFY
                  ^
gmake[2]: *** [Makefile:603: access.o] Error 1
Comment 10 Marcus Comstedt 2018-01-20 13:32:26 UTC
Right.  Skipping -DUSE_SD_NOTIFY completely would have worked, but -DUSE_SD_NOTIFY= is clearly wrong.  It looks like an oversight and your fix seems correct to me.  Carry on.  :-)
Comment 11 Pacho Ramos gentoo-dev 2018-03-11 10:42:50 UTC
Removed from the tree