Update cdrtools to 3.01a07 and add a patch to fix sata/scsi device enumeration

This commit is contained in:
Chris Roberts
2012-07-20 01:08:31 +00:00
parent f0abba3eca
commit 70bc57064d
2 changed files with 81 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
DESCRIPTION="cdrtools - A set of tools for CD/DVD reading and recording, including cdrecord"
HOMEPAGE="http://cdrecord.berlios.de"
SRC_URI="ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-3.01a07.tar.bz2"
CHECKSUM_MD5="266bae8db7d1e5473555b48c306aa216"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd cdrtools-3.01
sed -i 's/share\/doc\//documentation\/doc\//g' rscsi/Makefile.doc
sed -i 's/share\/doc\//documentation\/doc\//g' pkgdefs/CSW/CSWcdrtools/prototype
sed -i 's/share\/doc\//documentation\/doc\//g' mkisofs/readme.mk
sed -i 's/share\/doc\//documentation\/doc\//g' cdda2wav/M*
sed -i 's/share\/doc\//documentation\/doc\//g' cdrecord/R*
sed -i 's/share\/doc\//documentation\/doc\//g' mkisofs/R*
sed -i 's/share\/doc\//documentation\/doc\//g' libparanoia/R*
sed -i 's/share\/doc\//documentation\/doc\//g' cdda2wav/M*
sed -i 's/share\/doc\//documentation\/doc\//g' cdrecord/r*
sed -i 's/sbin\/rscsi/ bin\/rscsi/g' pkgdefs/CSW/CSWcdrtools/prototype
sed -i 's/sbin/bin/' rscsi/Makefile
make GMAKE_NOWARN=true
}
INSTALL {
cd cdrtools-3.01
make GMAKE_NOWARN=true DEFMANBASE=documentation install
}

View File

@@ -0,0 +1,54 @@
diff -up cdrtools-3.01/DEFAULTS/Defaults.haiku.orig cdrtools-3.01/DEFAULTS/Defaults.haiku
--- cdrtools-3.01/DEFAULTS/Defaults.haiku.orig 2009-07-25 09:36:53.031719424 -0600
+++ cdrtools-3.01/DEFAULTS/Defaults.haiku 2012-07-19 17:09:17.319291392 -0600
@@ -29,16 +29,16 @@ DEFLINKMODE= static
CWARNOPTS=
DEFINCDIRS= $(SRCROOT)/include
-LDPATH= -L/opt/schily/lib
+LDPATH= -L$(shell finddir B_COMMON_LIB_DIRECTORY)
#RUNPATH= -R$(INS_BASE)/lib -R/opt/schily/lib -R$(OLIBSDIR)
-RUNPATH= -R$(INS_BASE)/lib -R/opt/schily/lib
+RUNPATH= -R$(INS_BASE)/lib
###########################################################################
#
# Installation config stuff
#
###########################################################################
-INS_BASE= /boot/opt/schily
+INS_BASE= $(shell finddir B_COMMON_DIRECTORY)
INS_KBASE= /
INS_RBASE= /
#
diff -up cdrtools-3.01/libscg/scsi-beos.c.orig cdrtools-3.01/libscg/scsi-beos.c
--- cdrtools-3.01/libscg/scsi-beos.c.orig 2009-06-30 12:34:03.022282240 -0600
+++ cdrtools-3.01/libscg/scsi-beos.c 2012-07-19 18:25:01.146800640 -0600
@@ -292,7 +292,11 @@ scgo_havebus(scgp, busno)
char buf[128];
if (busno < 8)
+#ifdef __HAIKU__
+ js_snprintf(buf, sizeof (buf), "/dev/disk/scsi/%d", busno);
+#else
js_snprintf(buf, sizeof (buf), "/dev/bus/scsi/%d", busno);
+#endif
else
#ifdef __HAIKU__
js_snprintf(buf, sizeof (buf), "/dev/disk/atapi/%d", busno-8);
@@ -320,9 +324,15 @@ scgo_fileno(scgp, busno, tgt, tlun)
return (f->fd);
}
if (busno < 8) {
+#ifdef __HAIKU__
+ js_snprintf(buf, sizeof (buf),
+ "/dev/disk/scsi/%d/%d/%d/raw",
+ busno, tgt, tlun);
+#else
js_snprintf(buf, sizeof (buf),
"/dev/bus/scsi/%d/%d/%d/raw",
busno, tgt, tlun);
+#endif
} else {
char *tgtstr = (tgt == 0) ? "master" : (tgt == 1) ? "slave" : "dummy";
js_snprintf(buf, sizeof (buf),