Wed Sep 5 13:03:04 2012 UTC ()
Use fcntl instead of flock, and a couple of other small Solaris fixes.


(jperkin)
diff -r1.2 -r1.3 pkgsrc/devel/libuuid/Makefile
diff -r1.3 -r1.4 pkgsrc/devel/libuuid/distinfo
diff -r0 -r1.4 pkgsrc/devel/libuuid/patches/patch-ab

cvs diff -r1.2 -r1.3 pkgsrc/devel/libuuid/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/libuuid/Makefile 2011/05/12 12:26:15 1.2
+++ pkgsrc/devel/libuuid/Makefile 2012/09/05 13:03:04 1.3
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.2 2011/05/12 12:26:15 adam Exp $ 1# $NetBSD: Makefile,v 1.3 2012/09/05 13:03:04 jperkin Exp $
2 2
3DISTNAME= util-linux-2.19.1 3DISTNAME= util-linux-2.19.1
4PKGNAME= ${DISTNAME:S/util-linux/libuuid/} 4PKGNAME= ${DISTNAME:S/util-linux/libuuid/}
5CATEGORIES= devel 5CATEGORIES= devel
6MASTER_SITES= http://www.kernel.org/pub/linux/utils/util-linux-ng/v2.19/ 6MASTER_SITES= http://www.kernel.org/pub/linux/utils/util-linux-ng/v2.19/
7EXTRACT_SUFX= .tar.bz2 7EXTRACT_SUFX= .tar.bz2
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://kernel.org/~kzak/util-linux-ng/ 10HOMEPAGE= http://kernel.org/~kzak/util-linux-ng/
11COMMENT= Generate unique identifiers for objects 11COMMENT= Generate unique identifiers for objects
12LICENSE= modified-bsd 12LICENSE= modified-bsd
13 13
14CONFLICTS= ossp-uuid-[0-9]* # libuuid.* uuid.pc uuid.3 14CONFLICTS= ossp-uuid-[0-9]* # libuuid.* uuid.pc uuid.3
@@ -29,18 +29,18 @@ CONFIGURE_ARGS+= --disable-rename @@ -29,18 +29,18 @@ CONFIGURE_ARGS+= --disable-rename
29CONFIGURE_ARGS+= --disable-schedutils 29CONFIGURE_ARGS+= --disable-schedutils
30CONFIGURE_ARGS+= --disable-switch_root 30CONFIGURE_ARGS+= --disable-switch_root
31CONFIGURE_ARGS+= --disable-unshare 31CONFIGURE_ARGS+= --disable-unshare
32CONFIGURE_ARGS+= --disable-uuidd 32CONFIGURE_ARGS+= --disable-uuidd
33CONFIGURE_ARGS+= --disable-wall 33CONFIGURE_ARGS+= --disable-wall
34CONFIGURE_ARGS+= --without-ncurses 34CONFIGURE_ARGS+= --without-ncurses
35 35
36PKGCONFIG_OVERRIDE+= shlibs/uuid/uuid.pc.in 36PKGCONFIG_OVERRIDE+= shlibs/uuid/uuid.pc.in
37 37
38BUILD_DIRS= include shlibs/uuid 38BUILD_DIRS= include shlibs/uuid
39 39
40.include "../../mk/bsd.prefs.mk" 40.include "../../mk/bsd.prefs.mk"
41 41
42.if ${OPSYS} == "Darwin" 42.if ${OPSYS} == "Darwin" || ${OPSYS} == "SunOS"
43BUILDLINK_TRANSFORM+= rm:-Wl,--version-script=../../../shlibs/uuid/src/uuid.sym 43BUILDLINK_TRANSFORM+= rm:-Wl,--version-script=../../../shlibs/uuid/src/uuid.sym
44.endif 44.endif
45 45
46.include "../../mk/bsd.pkg.mk" 46.include "../../mk/bsd.pkg.mk"

cvs diff -r1.3 -r1.4 pkgsrc/devel/libuuid/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/libuuid/distinfo 2011/05/12 12:26:15 1.3
+++ pkgsrc/devel/libuuid/distinfo 2012/09/05 13:03:04 1.4
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
1$NetBSD: distinfo,v 1.3 2011/05/12 12:26:15 adam Exp $ 1$NetBSD: distinfo,v 1.4 2012/09/05 13:03:04 jperkin Exp $
2 2
3SHA1 (util-linux-2.19.1.tar.bz2) = 96af5d4a37c42296dae5365ba533316216a6b347 3SHA1 (util-linux-2.19.1.tar.bz2) = 96af5d4a37c42296dae5365ba533316216a6b347
4RMD160 (util-linux-2.19.1.tar.bz2) = e4763d21a3a32029ccc525a0222e271f0946a4fd 4RMD160 (util-linux-2.19.1.tar.bz2) = e4763d21a3a32029ccc525a0222e271f0946a4fd
5Size (util-linux-2.19.1.tar.bz2) = 4396543 bytes 5Size (util-linux-2.19.1.tar.bz2) = 4396543 bytes
6SHA1 (patch-aa) = 07d66ef414f5781d75159b446d6c822b1e543477 6SHA1 (patch-aa) = 07d66ef414f5781d75159b446d6c822b1e543477
 7SHA1 (patch-ab) = e0dee6d6de8460638ce3ca1ce2212bb3dfce5e9a

File Added: pkgsrc/devel/libuuid/patches/Attic/patch-ab
$NetBSD: patch-ab,v 1.4 2012/09/05 13:03:04 jperkin Exp $

fcntl is portable, flock is not.

Solaris does not have ifr.ifr_hwaddr.

--- shlibs/uuid/src/gen_uuid.c.orig	Mon May  2 09:10:08 2011
+++ shlibs/uuid/src/gen_uuid.c	Wed Sep  5 12:23:54 2012
@@ -265,7 +265,7 @@
 	for (i = 0; i < n; i+= ifreq_size(*ifrp) ) {
 		ifrp = (struct ifreq *)((char *) ifc.ifc_buf+i);
 		strncpy(ifr.ifr_name, ifrp->ifr_name, IFNAMSIZ);
-#ifdef SIOCGIFHWADDR
+#if defined(SIOCGIFHWADDR) && !defined(__sun)
 		if (ioctl(sd, SIOCGIFHWADDR, &ifr) < 0)
 			continue;
 		a = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
@@ -314,11 +314,16 @@
 	THREAD_LOCAL int		state_fd = -2;
 	THREAD_LOCAL FILE		*state_f;
 	THREAD_LOCAL uint16_t		clock_seq;
+	struct flock			lock;
 	struct timeval			tv;
 	uint64_t			clock_reg;
 	mode_t				save_umask;
 	int				len;
 
+	lock.l_whence = SEEK_SET;
+	lock.l_start = 0;
+	lock.l_len = 0;
+
 	if (state_fd == -2) {
 		save_umask = umask(0);
 		state_fd = open("/var/lib/libuuid/clock.txt",
@@ -334,7 +339,8 @@
 	}
 	if (state_fd >= 0) {
 		rewind(state_f);
-		while (flock(state_fd, LOCK_EX) < 0) {
+		lock.l_type = F_WRLCK;
+		while (fcntl(state_fd, F_SETLKW, &lock) < 0) {
 			if (errno == EINTR)
 				continue;
 			fclose(state_f);
@@ -405,7 +411,8 @@
 			fflush(state_f);
 		}
 		rewind(state_f);
-		flock(state_fd, LOCK_UN);
+		lock.l_type = F_UNLCK;
+		fcntl(state_fd, F_SETLK, &lock);
 	}
 
 	*clock_high = clock_reg >> 32;