diff options
author | wiz <wiz@pkgsrc.org> | 2007-06-08 17:30:09 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2007-06-08 17:30:09 +0000 |
commit | 57f5d5e4ae776474b939de31602065949ddf7b88 (patch) | |
tree | 935b02ac290fd189d39a6fa9a1cc5d27c9c20d80 | |
parent | db569445b0e68dc1dc06c4a25c6fa59f73237379 (diff) | |
download | pkgsrc-57f5d5e4ae776474b939de31602065949ddf7b88.tar.gz |
Sergevy Svishchev writes (in PR 35481):
k3b uses cdrecord for CD-R[W] writing tasks and invokes it with
'dev=<bus>,<target>,<lun>' argument. The code in scsi-bsd.c attempts
to find a device node (/dev/rcd?d) that matches these <bus>, <target>
and <lun>; this code stops after first failure. If cd0 does not
exist, but cd1 does, the code will fail to match cd1.
Also, the code doesn't use getrawpartition().
Apply his patches for both problems. Bump PKGREVISION.
-rw-r--r-- | sysutils/cdrtools-ossdvd/Makefile | 10 | ||||
-rw-r--r-- | sysutils/cdrtools-ossdvd/distinfo | 6 | ||||
-rw-r--r-- | sysutils/cdrtools-ossdvd/patches/patch-ai | 33 | ||||
-rw-r--r-- | sysutils/cdrtools-ossdvd/patches/patch-ch | 13 | ||||
-rw-r--r-- | sysutils/cdrtools-ossdvd/patches/patch-ci | 13 |
5 files changed, 53 insertions, 22 deletions
diff --git a/sysutils/cdrtools-ossdvd/Makefile b/sysutils/cdrtools-ossdvd/Makefile index 8deb1b719c9..5f94166fa7e 100644 --- a/sysutils/cdrtools-ossdvd/Makefile +++ b/sysutils/cdrtools-ossdvd/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.28 2007/02/22 19:27:10 wiz Exp $ +# $NetBSD: Makefile,v 1.29 2007/06/08 17:30:09 wiz Exp $ DISTNAME= cdrtools-2.01.01a05 PKGNAME= cdrtools-ossdvd-2.01.1.36 -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= sysutils MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/alpha/ EXTRACT_SUFX= .tar.bz2 @@ -16,7 +16,7 @@ MAINTAINER= wiz@NetBSD.org HOMEPAGE= http://crashrecovery.org/oss-dvd.html COMMENT= Software for creating ISO9660 images and writing CDs/CD-RWs/DVDs -CONFLICTS= mkisofs-[0-9]* cdrecord-[0-9]* cdrtools-* +CONFLICTS= mkisofs-[0-9]* cdrecord-[0-9]* cdrtools-[a-z0-9]* PKG_INSTALLATION_TYPES= overwrite pkgviews @@ -32,8 +32,8 @@ BUILDLINK_TRANSFORM+= rmdir:/opt/schily # avoid picking up a bad ${ARCH} during the build MAKE_ENV+= ARCH="" MAKE_ENV+= MAKEPROG="gmake" -MAKE_ENV+= COPTX=${CFLAGS:M*:Q} -MAKE_ENV+= LDOPTX=${LDFLAGS:M*:Q} +MAKE_ENV+= COPTX=${CFLAGS:Q} +MAKE_ENV+= LDOPTX=${LDFLAGS:Q} # if we're using a gcc which is named gcc, we need to set CCOM=gcc # in MAKE_ENV so the make infrastructure picks the right options. diff --git a/sysutils/cdrtools-ossdvd/distinfo b/sysutils/cdrtools-ossdvd/distinfo index ec62f62b94d..a675c14fc40 100644 --- a/sysutils/cdrtools-ossdvd/distinfo +++ b/sysutils/cdrtools-ossdvd/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.9 2006/02/04 12:05:17 wiz Exp $ +$NetBSD: distinfo,v 1.10 2007/06/08 17:30:09 wiz Exp $ SHA1 (cdrtools-2.01.01a05.tar.bz2) = a4de142e6bd13c37d4701cf86496d708523976b3 RMD160 (cdrtools-2.01.01a05.tar.bz2) = 74dd5db073de43f1116f423f40e376808a07fb5c @@ -8,7 +8,7 @@ RMD160 (cdrtools-2.01.01a05-ossdvd.patch.bz2) = 8b872f7fc62c9578e467c8fc7f645caf Size (cdrtools-2.01.01a05-ossdvd.patch.bz2) = 15629 bytes SHA1 (patch-ac) = 6def0342f51fcb30f81b89a125afdb76e4f913a3 SHA1 (patch-ah) = 8dc829b923493f1d0f47926fc11af30ceeb4b0db -SHA1 (patch-ai) = f55c8efa1fd096a373983a2af611170c4e603d5d +SHA1 (patch-ai) = af53cf30e31459bf16c6f75f54503db4475da08c SHA1 (patch-aj) = 6bae62f59745e5dd070ff4a6c93496d88f2ed99a SHA1 (patch-ba) = 72d25c371894c0e4ededc5593a78f6b02f35b6de SHA1 (patch-bb) = 528abe11c5a01615b4dbcd7304b39374f8d3c255 @@ -19,3 +19,5 @@ SHA1 (patch-cd) = 6f7d7ac5bc5116e933bc19066ec0a38b5e04fc59 SHA1 (patch-ce) = 04d842a7f78f4d6ab89da652023f4f8d7d6403fa SHA1 (patch-cf) = 50855c214fb718594837001e57fa0cdebb9b5cf0 SHA1 (patch-cg) = 686ac754c463ce37d15be19dcb8048741d8546f2 +SHA1 (patch-ch) = 1b19fd90e79dec9abdda3311cdcf7601b62c52f3 +SHA1 (patch-ci) = 55845889183b28e1b6cd70ee8f24a2803137ad23 diff --git a/sysutils/cdrtools-ossdvd/patches/patch-ai b/sysutils/cdrtools-ossdvd/patches/patch-ai index 56fa5b0900e..292ad232ced 100644 --- a/sysutils/cdrtools-ossdvd/patches/patch-ai +++ b/sysutils/cdrtools-ossdvd/patches/patch-ai @@ -1,8 +1,16 @@ -$NetBSD: patch-ai,v 1.3 2006/02/04 12:05:17 wiz Exp $ +$NetBSD: patch-ai,v 1.4 2007/06/08 17:30:09 wiz Exp $ --- libscg/scsi-bsd.c.orig 2004-01-14 23:13:05.000000000 +0000 +++ libscg/scsi-bsd.c -@@ -47,7 +47,7 @@ static char __sccsid[] = +@@ -39,6 +39,7 @@ static char __sccsid[] = + + #undef sense + #include <sys/scsiio.h> ++#include <util.h> + + /* + * Warning: you may change this source, but if you do that +@@ -47,7 +48,7 @@ static char __sccsid[] = * Choose your name instead of "schily" and make clear that the version * string is related to a modified source. */ @@ -11,7 +19,7 @@ $NetBSD: patch-ai,v 1.3 2006/02/04 12:05:17 wiz Exp $ #define MAX_SCG 16 /* Max # of SCSI controllers */ #define MAX_TGT 16 -@@ -107,7 +107,7 @@ scgo_version(scgp, what) +@@ -107,7 +108,7 @@ scgo_version(scgp, what) * return "schily" for the SCG_AUTHOR request. */ case SCG_AUTHOR: @@ -20,23 +28,18 @@ $NetBSD: patch-ai,v 1.3 2006/02/04 12:05:17 wiz Exp $ case SCG_SCCS_ID: return (__sccsid); } -@@ -139,6 +139,15 @@ scgo_open(scgp, device) +@@ -139,6 +140,10 @@ scgo_open(scgp, device) register int l; register int nopen = 0; char devname[64]; +#if defined(__NetBSD__) + struct scsi_addr mysaddr; -+#if defined(__i386__) || defined(__amd64__) -+ char slicename[] = "d"; /* i386 is special */ -+#else -+ char slicename[] = "c"; /* this is what the rest uses */ -+#endif -+ char *myslicename = slicename; ++ int myslicename = getrawpartition(); +#endif if (busno >= MAX_SCG || tgt >= MAX_TGT || tlun >= MAX_LUN) { errno = EINVAL; -@@ -165,6 +174,60 @@ scgo_open(scgp, device) +@@ -165,6 +170,60 @@ scgo_open(scgp, device) if ((device != NULL && *device != '\0') || (busno == -2 && tgt == -2)) goto openbydev; @@ -58,7 +61,7 @@ $NetBSD: patch-ai,v 1.3 2006/02/04 12:05:17 wiz Exp $ +#if defined(__NetBSD__) + if (busno >= 0 && tgt >= 0 && tlun >= 0) { + for (l=0; l < MAX_LUN ; l++) { -+ sprintf(devname, "/dev/rcd%d%s", l, myslicename); ++ sprintf(devname, "/dev/rcd%d%c", l, 'a' + myslicename); + f = open(devname, O_RDWR); + if (f >= 0) { + if (ioctl(f, SCIOCIDENTIFY, &mysaddr) < 0) { @@ -70,10 +73,10 @@ $NetBSD: patch-ai,v 1.3 2006/02/04 12:05:17 wiz Exp $ + scglocal(scgp)->scgfiles[busno][tgt][tlun] = f; + return(1); + } -+ } else goto openbydev; ++ } + } + } else for (l=0; l < MAX_LUN ; l++) { -+ sprintf(devname, "/dev/rcd%d%s", l, myslicename); ++ sprintf(devname, "/dev/rcd%d%c", l, 'a' + myslicename); + f = open(devname, O_RDWR); + if (f >= 0) { + if (ioctl(f, SCIOCIDENTIFY, &mysaddr) < 0) { @@ -97,7 +100,7 @@ $NetBSD: patch-ai,v 1.3 2006/02/04 12:05:17 wiz Exp $ if (busno >= 0 && tgt >= 0 && tlun >= 0) { js_snprintf(devname, sizeof (devname), -@@ -201,6 +264,7 @@ scgo_open(scgp, device) +@@ -201,6 +260,7 @@ scgo_open(scgp, device) } } } diff --git a/sysutils/cdrtools-ossdvd/patches/patch-ch b/sysutils/cdrtools-ossdvd/patches/patch-ch new file mode 100644 index 00000000000..cf8fc3477b0 --- /dev/null +++ b/sysutils/cdrtools-ossdvd/patches/patch-ch @@ -0,0 +1,13 @@ +$NetBSD: patch-ch,v 1.1 2007/06/08 17:30:09 wiz Exp $ + +--- RULES/i386-netbsd-gcc.rul.orig 2002-10-15 20:43:41.000000000 +0000 ++++ RULES/i386-netbsd-gcc.rul +@@ -42,7 +42,7 @@ LIB_KVM= + LIBS_PATH= -L$(OLIBSDIR) + + LDFLAGS= $(LDOPTS) $(LDOPTX) +-LDLIBS= $(LIBS) $(LIBX) ++LDLIBS= $(LIBS) $(LIBX) -lutil + + #LDOPTS= $(LIBS_PATH) $(LDPATH) $(RUNPATH) + LDOPTS= $(LIBS_PATH) $(LDPATH) diff --git a/sysutils/cdrtools-ossdvd/patches/patch-ci b/sysutils/cdrtools-ossdvd/patches/patch-ci new file mode 100644 index 00000000000..540119e46d7 --- /dev/null +++ b/sysutils/cdrtools-ossdvd/patches/patch-ci @@ -0,0 +1,13 @@ +$NetBSD: patch-ci,v 1.1 2007/06/08 17:30:09 wiz Exp $ + +--- RULES/i386-netbsd-cc.rul.orig 2002-10-15 20:43:40.000000000 +0000 ++++ RULES/i386-netbsd-cc.rul +@@ -42,7 +42,7 @@ LIB_KVM= + LIBS_PATH= -L$(OLIBSDIR) + + LDFLAGS= $(LDOPTS) $(LDOPTX) +-LDLIBS= $(LIBS) $(LIBX) ++LDLIBS= $(LIBS) $(LIBX) -lutil + + #LDOPTS= $(LIBS_PATH) $(LDPATH) $(RUNPATH) + LDOPTS= $(LIBS_PATH) $(LDPATH) |