summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Medinas <metalgod@gentoo.org>2005-08-22 04:27:59 +0000
committerLuis Medinas <metalgod@gentoo.org>2005-08-22 04:27:59 +0000
commit81205251d1e0fc80239dcf843e151a5b60157b0b (patch)
tree34387d9f18772debbca71b5ee8721581af102f1d /app-cdr
parentNew release: 2.11.90 (diff)
downloadgentoo-2-81205251d1e0fc80239dcf843e151a5b60157b0b.tar.gz
gentoo-2-81205251d1e0fc80239dcf843e151a5b60157b0b.tar.bz2
gentoo-2-81205251d1e0fc80239dcf843e151a5b60157b0b.zip
Removed problematic revisions of cdrtools-2.01.01_alpha03. Removed CFLAGS for x86 that fix bug #102878. Added a patch that fix -scanbus.
(Portage version: 2.0.51.22-r2)
Diffstat (limited to 'app-cdr')
-rw-r--r--app-cdr/cdrtools/ChangeLog12
-rw-r--r--app-cdr/cdrtools/Manifest8
-rw-r--r--app-cdr/cdrtools/cdrtools-2.01.01_alpha03-r2.ebuild (renamed from app-cdr/cdrtools/cdrtools-2.01.01_alpha03-r1.ebuild)11
-rw-r--r--app-cdr/cdrtools/cdrtools-2.01.01_alpha03.ebuild119
-rw-r--r--app-cdr/cdrtools/files/cdrtools-2.01.01a01-scanbus.patch23
-rw-r--r--app-cdr/cdrtools/files/cdrtools-2.01a32-scan.patch429
-rw-r--r--app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03-r12
-rw-r--r--app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03-r2 (renamed from app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03)0
8 files changed, 44 insertions, 560 deletions
diff --git a/app-cdr/cdrtools/ChangeLog b/app-cdr/cdrtools/ChangeLog
index dec3929e2d2c..086b32ca80a9 100644
--- a/app-cdr/cdrtools/ChangeLog
+++ b/app-cdr/cdrtools/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for app-cdr/cdrtools
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/ChangeLog,v 1.126 2005/08/21 02:36:34 metalgod Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/ChangeLog,v 1.127 2005/08/22 04:27:59 metalgod Exp $
+
+*cdrtools-2.01.01_alpha03-r2 (22 Aug 2005)
+
+ 22 Aug 2005; Luis Medinas <metalgod@gentoo.org>
+ -files/cdrtools-2.01a32-scan.patch,
+ +files/cdrtools-2.01.01a01-scanbus.patch,
+ -cdrtools-2.01.01_alpha03.ebuild, -cdrtools-2.01.01_alpha03-r1.ebuild,
+ +cdrtools-2.01.01_alpha03-r2.ebuild:
+ Removed problematic revisions of cdrtools-2.01.01_alpha03. Removed CFLAGS
+ for x86 that fix bug #102878. Added a patch that fix -scanbus.
*cdrtools-2.01.01_alpha03-r1 (21 Aug 2005)
diff --git a/app-cdr/cdrtools/Manifest b/app-cdr/cdrtools/Manifest
index 81f557d47d92..a33139d7b887 100644
--- a/app-cdr/cdrtools/Manifest
+++ b/app-cdr/cdrtools/Manifest
@@ -3,16 +3,14 @@ MD5 5a2a9ad0ab6a40d5ee27662bf265bc41 cdrtools-2.01-r1.ebuild 2830
MD5 7851326782af5e5357d8e24d8decee25 cdrtools-2.01-r3.ebuild 3608
MD5 b99aca1cac4436f277c4583809661008 cdrtools-2.01.01_alpha01-r2.ebuild 3614
MD5 fb7c98c4ada508b4870303b6cf6f327c metadata.xml 450
-MD5 6a597a4b76d527942bed17efc28db24e cdrtools-2.01.01_alpha03.ebuild 3520
-MD5 3a787964c3a8f4176a6b8291e03adf02 cdrtools-2.01.01_alpha03-r1.ebuild 3710
+MD5 5ed93235c181c7db8f31212dbfd6a8c5 cdrtools-2.01.01_alpha03-r2.ebuild 3653
MD5 3b1ffea11e1653b7b16c2c89597d1c5a files/cdrtools-2.01-scsi-remote.patch 938
MD5 c848b3b9b6921469483a22caa0fd40c3 files/digest-cdrtools-2.01-r1 67
MD5 8165b59a7b14939c58a88ca1f272cad4 files/digest-cdrtools-2.01-r3 147
MD5 0e8283f78b14f3ead0e78d197e1d5ed1 files/digest-cdrtools-2.01.01_alpha01-r2 153
MD5 1a596f5cae257e97c559716336b30e5b files/mkisofs-iconv-10.patch 16986
-MD5 5a55a164c3584a99297b99bf7975c1d6 files/cdrtools-2.01a32-scan.patch 12397
-MD5 a5a56cb102587325619a4d3a610d0085 files/digest-cdrtools-2.01.01_alpha03 153
MD5 5c79e3ba5125fdb0695604c77a00b707 files/cdrtools-2.01.01a03-rezero.patch 558
MD5 118ed27cd1f6e1cc5e48adc622bb8528 files/cdrtools-2.01.01a03-warnings.patch 853
MD5 9c89bdd0371267dc24f8640160b9ea9e files/cdrtools-2.01a27-writemode.patch 477
-MD5 a5a56cb102587325619a4d3a610d0085 files/digest-cdrtools-2.01.01_alpha03-r1 153
+MD5 0a9c4d3c7d28293dd147c78f57dd2a1f files/cdrtools-2.01.01a01-scanbus.patch 776
+MD5 a5a56cb102587325619a4d3a610d0085 files/digest-cdrtools-2.01.01_alpha03-r2 153
diff --git a/app-cdr/cdrtools/cdrtools-2.01.01_alpha03-r1.ebuild b/app-cdr/cdrtools/cdrtools-2.01.01_alpha03-r2.ebuild
index ec2c04c6421e..17c25f8195d8 100644
--- a/app-cdr/cdrtools/cdrtools-2.01.01_alpha03-r1.ebuild
+++ b/app-cdr/cdrtools/cdrtools-2.01.01_alpha03-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/cdrtools-2.01.01_alpha03-r1.ebuild,v 1.1 2005/08/21 02:36:34 metalgod Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/cdrtools-2.01.01_alpha03-r2.ebuild,v 1.1 2005/08/22 04:27:59 metalgod Exp $
inherit eutils gnuconfig toolchain-funcs flag-o-matic
@@ -30,9 +30,9 @@ src_unpack() {
# CAN-2004-0806 - Bug 63187
epatch ${FILESDIR}/${PN}-2.01-scsi-remote.patch
- epatch ${FILESDIR}/${PN}-2.01a32-scan.patch
epatch ${FILESDIR}/${PN}-2.01a27-writemode.patch
epatch ${FILESDIR}/${PN}-2.01.01a03-warnings.patch
+ epatch ${FILESDIR}/${PN}-2.01.01a01-scanbus.patch
epatch ${FILESDIR}/${PN}-2.01.01a03-rezero.patch
# Add support for On-The-Fly AES encryption
@@ -61,7 +61,10 @@ src_compile() {
gnuconfig_update
use unicode && append-flags "-finput-charset=ISO-8859-1 -fexec-charset=UTF-8"
-
+ if use x86;
+ then
+ strip-flags
+ fi
emake CC="$(tc-getCC) -D__attribute_const__=const" COPTX="${CFLAGS}" CPPOPTX="${CPPFLAGS}" LDOPTX="${LDFLAGS}" || die
}
@@ -95,7 +98,7 @@ src_install() {
doins include/scg/*.h
cd ${S}
- dodoc ABOUT Changelog README README.{ATAPI,audio,cdplus,cdrw,cdtext,clone,copy,DiskT@2,linux,linux-shm,multi,parallel,raw,rscsi,sony,verify} START
+ dodoc ABOUT Changelog README README.{ATAPI,audio,cdplus,cdrw,cdtext,clone,copy,DiskT@2,linux-shm,multi,parallel,raw,rscsi,sony,verify} START READMEs/README.linux
doman */*.1
doman */*.8
diff --git a/app-cdr/cdrtools/cdrtools-2.01.01_alpha03.ebuild b/app-cdr/cdrtools/cdrtools-2.01.01_alpha03.ebuild
deleted file mode 100644
index da2703343d34..000000000000
--- a/app-cdr/cdrtools/cdrtools-2.01.01_alpha03.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/cdrtools-2.01.01_alpha03.ebuild,v 1.2 2005/08/18 14:26:46 pylon Exp $
-
-inherit eutils gnuconfig toolchain-funcs flag-o-matic
-
-MY_CRYPT_VERS="2.01-encrypt-1.0rc1"
-
-DESCRIPTION="A set of tools for CD recording, including cdrecord"
-HOMEPAGE="http://cdrecord.berlios.de/old/private/cdrecord.html"
-SRC_URI="ftp://ftp.berlios.de/pub/cdrecord/alpha/${P/_alpha/a}.tar.bz2
- on-the-fly-crypt? ( http://burbon04.gmxhome.de/linux/files/${PN}-${MY_CRYPT_VERS}.diff.gz )"
-
-LICENSE="GPL-2 freedist"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~s390 ~sparc ~x86"
-IUSE="on-the-fly-crypt unicode"
-
-DEPEND="virtual/libc
- !app-cdr/dvdrtools"
-RDEPEND="on-the-fly-crypt? ( sys-fs/cryptsetup )"
-PROVIDE="virtual/cdrtools"
-
-S=${WORKDIR}/${PN}-2.01.01
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-
- # CAN-2004-0806 - Bug 63187
- epatch ${FILESDIR}/${PN}-2.01-scsi-remote.patch
-
- epatch ${FILESDIR}/${PN}-2.01a32-scan.patch
-
- # Add support for On-The-Fly AES encryption
- # http://burbon04.gmxhome.de/linux/CDREncryption.html
- if use on-the-fly-crypt; then
- epatch ${DISTDIR}/${PN}-${MY_CRYPT_VERS}.diff.gz || die "Can't apply encryption patch"
- fi
-
- cd ${S}/DEFAULTS
- use ppc-macos && MYARCH="mac-os10" || MYARCH="linux"
- sed -i "s:/opt/schily:/usr:g" Defaults.${MYARCH}
- sed -i "s:/usr/src/linux/include::g" Defaults.${MYARCH}
-
- cd ${S}/librscg
- sed -i "s:/opt/schily:/usr:g" scsi-remote.c
-
- cd ${S}/RULES
- ln -sf i386-linux-cc.rul x86_64-linux-cc.rul
- ln -sf i386-linux-gcc.rul x86_64-linux-gcc.rul
- ln -sf ppc-linux-cc.rul ppc64-linux-cc.rul
- ln -sf mips-linux-cc.rul mips64-linux-cc.rul
-}
-
-src_compile() {
- gnuconfig_update
-
- use unicode && append-flags "-finput-charset=ISO-8859-1 -fexec-charset=UTF-8"
-
- emake CC="$(tc-getCC) -D__attribute_const__=const" COPTX="${CFLAGS}" CPPOPTX="${CPPFLAGS}" LDOPTX="${LDFLAGS}" || die
-}
-
-src_install() {
- cd ${S}
-
- dobin cdda2wav/OBJ/*-*-cc/cdda2wav || die "cdda2wav"
- dobin cdrecord/OBJ/*-*-cc/cdrecord || die "cdrecord"
- dobin mkisofs/OBJ/*-*-cc/mkisofs || die "mkisofs"
- dobin readcd/OBJ/*-*-cc/readcd || die "readcd"
- dosbin rscsi/OBJ/*-*-cc/rscsi || die "rscsi"
-
- insinto /usr/include
- doins incs/*-*-cc/align.h incs/*-*-cc/avoffset.h incs/*-*-cc/xconfig.h || die "include"
-
- cd mkisofs/diag/OBJ/*-*-cc
- dobin devdump isodump isoinfo isovfy || die "dobin"
-
- cd ${S}
- insinto /etc/default
- doins rscsi/rscsi.dfl
- doins cdrecord/cdrecord.dfl
-
- cd ${S}/libs/*-*-cc
- dolib.a *.a || die "dolib failed"
-
- cd ${S}
- insinto /usr/include/scsilib
- doins include/*.h
- insinto /usr/include/scsilib/scg
- doins include/scg/*.h
-
- cd ${S}
- dodoc ABOUT Changelog README README.{ATAPI,audio,cdplus,cdrw,cdtext,clone,copy,DiskT@2,linux,linux-shm,multi,parallel,raw,rscsi,sony,verify} START
- doman */*.1
- doman */*.8
-
- cd ${S}/doc
- docinto print
- dodoc *.ps
-}
-
-pkg_postinst() {
- einfo "Note the special license on cdrecord/cdrecord.c starting from line 4648."
- if use ppc-macos ; then
- einfo
- einfo "Darwin/OS X use the following device names:"
- einfo
- einfo "CD burners: (probably) ./cdrecord dev=IOCompactDiscServices"
- einfo
- einfo "DVD burners: (probably) ./cdrecord dev=IODVDServices"
- einfo
- else
- echo
- einfo "The command line option 'dev=/dev/hdX' (X is the name of your drive)"
- einfo "should be used for IDE CD writers. And make sure that the permissions"
- einfo "on this device are set properly and your user is in the correct groups."
- fi
-}
diff --git a/app-cdr/cdrtools/files/cdrtools-2.01.01a01-scanbus.patch b/app-cdr/cdrtools/files/cdrtools-2.01.01a01-scanbus.patch
new file mode 100644
index 000000000000..b91dd0a09489
--- /dev/null
+++ b/app-cdr/cdrtools/files/cdrtools-2.01.01a01-scanbus.patch
@@ -0,0 +1,23 @@
+--- cdrtools-2.01.01/libscg/scsi-linux-ata.c.scanbus 2005-01-19 21:13:34.000000000 +0100
++++ cdrtools-2.01.01/libscg/scsi-linux-ata.c 2005-01-19 21:32:59.634364995 +0100
+@@ -384,7 +384,8 @@
+ "try open(%s) return %i, errno %i, cancel\n",
+ device, f, errno);
+ }
+- return (-2);
++ /* return (-2); */
++ break;
+ } else if (errno == ENOENT || errno == ENODEV) {
+ break;
+ }
+--- cdrtools-2.01.01/libscg/scsi-linux-sg.c.scanbus 2005-01-19 21:34:38.264068893 +0100
++++ cdrtools-2.01.01/libscg/scsi-linux-sg.c 2005-01-19 21:34:54.386932733 +0100
+@@ -428,7 +428,7 @@
+ if (scgp->errstr)
+ js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+ "Cannot open '%s'", devname);
+- return (0);
++ //return (0);
+ }
+ } else {
+ int iparm;
diff --git a/app-cdr/cdrtools/files/cdrtools-2.01a32-scan.patch b/app-cdr/cdrtools/files/cdrtools-2.01a32-scan.patch
deleted file mode 100644
index 59ad401abc9f..000000000000
--- a/app-cdr/cdrtools/files/cdrtools-2.01a32-scan.patch
+++ /dev/null
@@ -1,429 +0,0 @@
---- cdrtools-2.01/libscg/scsi-linux-sg.c.scan 2004-09-22 12:57:24.313986568 +0200
-+++ cdrtools-2.01/libscg/scsi-linux-sg.c 2004-09-22 12:57:24.327984440 +0200
-@@ -287,6 +287,8 @@
- return (0);
- }
-
-+#include <glob.h>
-+
- LOCAL int
- scgo_open(scgp, device)
- SCSI *scgp;
-@@ -301,8 +303,9 @@
- register int t;
- register int l;
- register int nopen = 0;
-- char devname[64];
-- BOOL use_ata = FALSE;
-+ char *devname;
-+ BOOL use_ata = FALSE;
-+ glob_t globbuf;
-
- if (busno >= MAX_SCG || tgt >= MAX_TGT || tlun >= MAX_LUN) {
- errno = EINVAL;
-@@ -383,103 +386,91 @@
- * look silly but there may be users that did boot from a SCSI hdd
- * and connected 4 CD/DVD writers to both IDE cables in the PC.
- */
-- if (use_ata) for (i = 0; i <= 25; i++) {
-- js_snprintf(devname, sizeof (devname), "/dev/hd%c", i+'a');
-- /* O_NONBLOCK is dangerous */
-- f = open(devname, O_RDWR | O_NONBLOCK);
-- if (f < 0) {
-- /*
-- * Set up error string but let us clear it later
-- * if at least one open succeeded.
-- */
-- if (scgp->errstr)
-- js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-- "Cannot open '/dev/hd*'");
-- if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
-+ if (use_ata) {
-+ glob("/dev/hd[a-z]", GLOB_NOSORT, NULL, &globbuf);
-+
-+ for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) {
-+ devname = globbuf.gl_pathv[i];
-+ f = open(devname, O_RDWR | O_NONBLOCK);
-+ if (f < 0) {
-+ /*
-+ * Set up error string but let us clear it later
-+ * if at least one open succeeded.
-+ */
- if (scgp->errstr)
- js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-- "Cannot open '%s'", devname);
-- return (0);
-- }
-- } else {
-- int iparm;
--
-- if (ioctl(f, SG_GET_TIMEOUT, &iparm) < 0) {
-- if (scgp->errstr)
-- js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-- "SCSI unsupported with '/dev/hd*'");
-- close(f);
-- continue;
-+ "Cannot open '/dev/hd*'");
-+ if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
-+ if (scgp->errstr)
-+ js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-+ "Cannot open '%s'", devname);
-+ globfree(&globbuf);
-+ return (0);
-+ }
-+ } else {
-+ int iparm;
-+
-+ if (ioctl(f, SG_GET_TIMEOUT, &iparm) < 0) {
-+ if (scgp->errstr)
-+ js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-+ "SCSI unsupported with '/dev/hd*'");
-+ close(f);
-+ continue;
-+ }
-+ sg_clearnblock(f); /* Be very proper about this */
-+ if (sg_setup(scgp, f, busno, tgt, tlun, devname[7]-'a')) {
-+ globfree(&globbuf);
-+ return (++nopen);
-+ }
-+ if (busno < 0 && tgt < 0 && tlun < 0)
-+ nopen++;
- }
-- sg_clearnblock(f); /* Be very proper about this */
-- if (sg_setup(scgp, f, busno, tgt, tlun, i))
-- return (++nopen);
-- if (busno < 0 && tgt < 0 && tlun < 0)
-- nopen++;
- }
-+ globfree(&globbuf);
- }
- if (use_ata && nopen == 0)
- return (0);
- if (nopen > 0 && scgp->errstr)
- scgp->errstr[0] = '\0';
-
-- if (nopen == 0) for (i = 0; i < 32; i++) {
-- js_snprintf(devname, sizeof (devname), "/dev/sg%d", i);
-- /* O_NONBLOCK is dangerous */
-- f = open(devname, O_RDWR | O_NONBLOCK);
-- if (f < 0) {
-- /*
-- * Set up error string but let us clear it later
-- * if at least one open succeeded.
-- */
-- if (scgp->errstr)
-- js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-- "Cannot open '/dev/sg*'");
-- if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
-+ if (nopen == 0) {
-+ glob("/dev/scd[0-9]", GLOB_NOSORT, NULL, &globbuf);
-+ glob("/dev/scd[0-9][0-9]", GLOB_NOSORT|GLOB_APPEND, NULL, &globbuf);
-+ /*glob("/dev/sg[a-z]", GLOB_NOSORT|GLOB_APPEND, NULL, &globbuf);*/
-+
-+ for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) {
-+ devname = globbuf.gl_pathv[i];
-+
-+ f = open(devname, O_RDWR | O_NONBLOCK);
-+ if (f < 0) {
-+ /*
-+ * Set up error string but let us clear it later
-+ * if at least one open succeeded.
-+ */
- if (scgp->errstr)
- js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-- "Cannot open '%s'", devname);
-- return (0);
-+ "Cannot open '/dev/scd*'");
-+ if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
-+ if (scgp->errstr)
-+ js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-+ "Cannot open '%s'", devname);
-+ globfree(&globbuf);
-+ return (0);
-+ }
-+ } else {
-+ sg_clearnblock(f); /* Be very proper about this */
-+ if (sg_setup(scgp, f, busno, tgt, tlun, -1)) {
-+ globfree(&globbuf);
-+ return (++nopen);
-+ }
-+ if (busno < 0 && tgt < 0 && tlun < 0)
-+ nopen++;
- }
-- } else {
-- sg_clearnblock(f); /* Be very proper about this */
-- if (sg_setup(scgp, f, busno, tgt, tlun, -1))
-- return (++nopen);
-- if (busno < 0 && tgt < 0 && tlun < 0)
-- nopen++;
- }
- }
- if (nopen > 0 && scgp->errstr)
- scgp->errstr[0] = '\0';
-
-- if (nopen == 0) for (i = 0; i <= 25; i++) {
-- js_snprintf(devname, sizeof (devname), "/dev/sg%c", i+'a');
-- /* O_NONBLOCK is dangerous */
-- f = open(devname, O_RDWR | O_NONBLOCK);
-- if (f < 0) {
-- /*
-- * Set up error string but let us clear it later
-- * if at least one open succeeded.
-- */
-- if (scgp->errstr)
-- js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-- "Cannot open '/dev/sg*'");
-- if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
-- if (scgp->errstr)
-- js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-- "Cannot open '%s'", devname);
-- return (0);
-- }
-- } else {
-- sg_clearnblock(f); /* Be very proper about this */
-- if (sg_setup(scgp, f, busno, tgt, tlun, -1))
-- return (++nopen);
-- if (busno < 0 && tgt < 0 && tlun < 0)
-- nopen++;
-- }
-- }
-- if (nopen > 0 && scgp->errstr)
-- scgp->errstr[0] = '\0';
-
- openbydev:
- if (device != NULL && *device != '\0') {
---- cdrtools-2.01/libscg/scsi-linux-ata.c.scan 2004-06-12 12:48:12.000000000 +0200
-+++ cdrtools-2.01/libscg/scsi-linux-ata.c 2004-09-22 12:57:24.330983984 +0200
-@@ -267,7 +267,7 @@
- starget,
- slun;
-
-- f = open(device, O_RDONLY | O_NONBLOCK);
-+ f = open(device, O_RDWR | O_NONBLOCK);
-
- if (f < 0) {
- if (scgp->errstr)
-@@ -283,6 +283,9 @@
- return (nopen);
- }
-
-+#include <glob.h>
-+
-+
- LOCAL int
- scan_internal(scgp, nopen)
- SCSI *scgp;
-@@ -293,118 +296,62 @@
- int schilly_bus,
- target,
- lun;
-- char device[128];
-+ char *device;
-+ glob_t globbuf;
-+
- /*
- * try always with devfs
- * unfortunatelly the solution with test of existing
- * of '/dev/.devfsd' don't work, because it root.root 700
- * and i don't like run suid root
- */
-- BOOL DEVFS = TRUE;
-+ BOOL DEVFS = FALSE;
-
-- if (DEVFS) {
-- for (i = 0; ; i++) {
-- sprintf(device, "/dev/cdroms/cdrom%i", i);
-- if ((f = open(device, O_RDONLY | O_NONBLOCK)) < 0) {
-- if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
-- if (scgp->debug > 4) {
-- js_fprintf((FILE *) scgp->errfile,
-- "try open(%s) return %i, errno %i, cancel\n", device, f, errno);
-- }
-- return (-2);
-- } else if (errno == ENOENT || errno == ENODEV) {
-- if (scgp->debug > 4) {
-- js_fprintf((FILE *) scgp->errfile,
-- "try open(%s) return %i, errno %i\n", device, f, errno);
-- }
-- if (0 == i) {
-- DEVFS = FALSE;
-- if (scgp->debug > 4) {
-- js_fprintf((FILE *) scgp->errfile,
-- "DEVFS not detected, continuing with old dev\n");
-- }
-- }
-- break;
-- }
-+ glob("/dev/cdroms/cdrom*",
-+ GLOB_NOSORT,
-+ NULL, &globbuf);
-+ glob("/dev/hd[a-z]",
-+ GLOB_NOSORT|GLOB_APPEND,
-+ NULL, &globbuf);
-+ /*glob("/dev/scd*",
-+ GLOB_NOSORT|GLOB_APPEND,
-+ NULL, &globbuf);*/
-+
-+ for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) {
-+ device = globbuf.gl_pathv[i];
-+ if ((f = open(device, O_RDWR | O_NONBLOCK)) < 0) {
-+ if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
- if (scgp->debug > 4) {
-- if (errno == EACCES) {
-- js_fprintf((FILE *) scgp->errfile,
-- "errno (EACCESS), you don't have the needed rights for %s\n",
-- device);
-- }
- js_fprintf((FILE *) scgp->errfile,
-- "try open(%s) return %i, errno %i, trying next cdrom\n",
-- device, f, errno);
-+ "try open(%s) return %i, errno %i, cancel\n", device, f, errno);
- }
-- } else {
-- if (scgp->debug > 4) {
-+ globfree(&globbuf);
-+ return (-2);
-+ }
-+ if (scgp->debug > 4) {
-+ if (errno == EACCES) {
- js_fprintf((FILE *) scgp->errfile,
-- "try open(%s) return %i errno %i calling sg_mapdev(...)\n",
-- device, f, errno);
-- }
-- if (sg_amapdev(scgp, f, device, &schilly_bus, &target, &lun)) {
-- (++(*nopen));
-- } else {
-- close(f);
-+ "errno (EACCESS), you don't have the needed rights for %s\n",
-+ device);
- }
-+ js_fprintf((FILE *) scgp->errfile,
-+ "try open(%s) return %i, errno %i, trying next cdrom\n",
-+ device, f, errno);
- }
-- }
-- }
-- if (!DEVFS) {
-- /* for /dev/sr0 - /dev/sr? */
-- for (i = 0; ; i++) {
-- sprintf(device, "/dev/sr%i", i);
-- if ((f = open(device, O_RDONLY | O_NONBLOCK)) < 0) {
-- if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
-- if (scgp->debug > 4) {
-- js_fprintf((FILE *) scgp->errfile,
-- "try open(%s) return %i, errno %i, cancel\n",
-- device, f, errno);
-- }
-- return (-2);
-- } else if (errno == ENOENT || errno == ENODEV) {
-- break;
-- }
-- } else {
-- if (sg_amapdev(scgp, f, device, &schilly_bus, &target, &lun)) {
-- (++(*nopen));
-- } else {
-- close(f);
-- }
-+ } else {
-+ if (scgp->debug > 4) {
-+ js_fprintf((FILE *) scgp->errfile,
-+ "try open(%s) return %i errno %i calling sg_mapdev(...)\n",
-+ device, f, errno);
- }
-- }
--
-- /* for /dev/hda - /dev/hdz */
-- for (i = 'a'; i <= 'z'; i++) {
-- sprintf(device, "/dev/hd%c", i);
-- if ((f = open(device, O_RDONLY | O_NONBLOCK)) < 0) {
-- if (errno != ENOENT && errno != ENXIO && errno != EACCES) {
-- if (scgp->debug > 4) {
-- js_fprintf((FILE *) scgp->errfile,
-- "try open(%s) return %i, errno %i, cancel\n",
-- device, f, errno);
-- }
-- return (-2);
-- } else if (errno == ENOENT || errno == ENODEV) {
-- break;
-- }
-+ if (sg_amapdev(scgp, f, device, &schilly_bus, &target, &lun)) {
-+ (++(*nopen));
- } else {
-- /* ugly hack, make better, when you can. Alex */
-- if (0 > ioctl(f, CDROM_DRIVE_STATUS, CDSL_CURRENT)) {
-- if (scgp->debug > 4) {
-- js_fprintf((FILE *) scgp->errfile,
-- "%s is not a cdrom, skipping\n",
-- device);
-- }
-- close(f);
-- } else if (sg_amapdev(scgp, f, device, &schilly_bus, &target, &lun)) {
-- (++(*nopen));
-- } else {
-- close(f);
-- }
-+ close(f);
- }
- }
- }
-+ globfree(&globbuf);
- return (0);
- }
-
---- cdrtools-2.01/libscg/scsi-linux-pg.c.scan 2004-01-15 01:54:36.000000000 +0100
-+++ cdrtools-2.01/libscg/scsi-linux-pg.c 2004-09-22 12:59:04.107815600 +0200
-@@ -130,6 +130,8 @@
- return (0);
- }
-
-+#include <glob.h>
-+
- LOCAL int
- scgo_open(scgp, device)
- SCSI *scgp;
-@@ -146,6 +148,8 @@
- #endif
- register int nopen = 0;
- char devname[32];
-+ glob_t globbuf;
-+ int i;
-
- if (busno >= MAX_SCG || tgt >= MAX_TGT || tlun >= MAX_LUN) {
- errno = EINVAL;
-@@ -217,10 +221,14 @@
- scglocal(scgp)->scgfiles[busno][tgt][tlun] = f;
- return (1);
- } else {
-+ const char *dev;
- tlun = 0;
-- for (tgt = 0; tgt < MAX_TGT; tgt++) {
-- js_snprintf(devname, sizeof (devname), "/dev/pg%d", tgt);
-- f = open(devname, O_RDWR | O_NONBLOCK);
-+ glob("/dev/pg[0-9]", GLOB_NOSORT, NULL, &globbuf);
-+ glob("/dev/pg[0-9][0-9]", GLOB_NOSORT|GLOB_APPEND, NULL, &globbuf);
-+ for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) {
-+ dev = globbuf.gl_pathv[i];
-+ tgt = atoi(&dev[7]);
-+ f = open(dev, O_RDWR | O_NONBLOCK);
- if (f < 0) {
- /*
- * Set up error string but let us clear it later
-@@ -232,7 +240,8 @@
- if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
- if (scgp->errstr)
- js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
-- "Cannot open '%s'", devname);
-+ "Cannot open '%s'", dev);
-+ globfree(&globbuf);
- return (0);
- }
- } else {
-@@ -240,6 +249,8 @@
- nopen++;
- }
- }
-+ globfree(&globbuf);
-+
- }
- if (nopen > 0 && scgp->errstr)
- scgp->errstr[0] = '\0';
diff --git a/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03-r1 b/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03-r1
deleted file mode 100644
index 5e5a8969111b..000000000000
--- a/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 6c5683a6f85c89cc163307a5e434086c cdrtools-2.01.01a03.tar.bz2 1423541
-MD5 785184b45952798c72b26e3da9db0e0f cdrtools-2.01-encrypt-1.0rc1.diff.gz 25384
diff --git a/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03 b/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03-r2
index 5e5a8969111b..5e5a8969111b 100644
--- a/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03
+++ b/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha03-r2