mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-26 00:55:14 +00:00
- Update to 2.01a27.
Notes: - Since 2.01a26 cdrecord has a new option "-tao" (Track At Once) for what was the default write mode in previous versions. Currently, cdrecord still falls back to writing in TAO mode if no writing mode has been specified but this might change in a future version (infact, the release notes for 2.01a26 already say that cdrecord won't burn a CD if no write mode has been specified). - Cdrecord 2.01a26 was broken in that it only wrote in TAO mode, which was fixed in 2.01a27. For changes since 2.01a25 see: ftp://ftp.berlios.de/pub/cdrecord/alpha/AN-2.01a26 and ftp://ftp.berlios.de/pub/cdrecord/alpha/AN-2.01a27 - Add a workaround for what appears to be a problem with gmake and certain locales on -current. [1] - Correct a typo in pkg-descr.mkisofs inherited from the cdrtools ABOUT file. - Remove the workaround for the broken mlockall(2) on EOL'ed FreeBSD 5.1. - No longer compile with -DSOURCE_MODIFIED, the cdrecord sources are no longer altered by this port except for changing the location of the configuration file, which is done in compliance with the terms in cdrecord/defaults.c. - Make the direct ATAPI transport (cooked_ioctl interface) of cdda2wav (e.g. when used via `cdda2wav -D /dev/acd0`) work on FreeBSD after ata(4) was GEOM'ifed and the CDIOCREADAUDIO ioctl removed. Note: For qualitiy reasons (e.g. to be able to fix/work around broken TOCs etc.) cdda2wav should be used with its generic_scsi interface (e.g. via `cdda2wav -D 2,0,0` and using atapicam(4) if you have an ATAPI device). However, there are some ATAPI devices around where the latter simply doesn't work (look at e.g. PR 62507 or the audit- trail of PR 60233 for examples). - Properly initialise the verbosity level of cdda2wav when the cooked_ioctl interface is used so it's disabled by default (the outcome of this bug is actually compiler dependend, with GCC 2.95.4 verbosity is off by default, with GCC 3.3.3 it's on). Note: The patches for the last two items where sent to Heiko Eissfeldt, the author of cdda2wav, and from his replies I was of the opinion that he "accepted" them and they would be incorporated in cdrtools 2.01a26. However, they still didn't show up in the cdrtools sources and I so far didn't get any reply to my email asking if there would be anything wrong with them. Requested by: pav [1] Submitted by: maintainer
This commit is contained in:
parent
d8678b1f94
commit
adc728b113
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=106806
@ -6,9 +6,9 @@
|
||||
#
|
||||
|
||||
PORTNAME?= cdrtools
|
||||
CDRTLSVERSION= 2.01a25
|
||||
CDRTLSVERSION= 2.01a27
|
||||
PORTVERSION?= ${CDRTLSVERSION}
|
||||
PORTREVISION?= 1
|
||||
PORTREVISION?= 0
|
||||
CATEGORIES?= sysutils audio
|
||||
MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/alpha/ \
|
||||
ftp://ftp.cs.tu-berlin.de/pub/misc/cdrecord/alpha/
|
||||
@ -29,10 +29,10 @@ DOCS= README README.compression README.eltorito README.graft_dirs \
|
||||
README.session README.sort README.sparcboot README.sunx86boot
|
||||
.else
|
||||
MAN1= cdda2wav.1 cdrecord.1 readcd.1 scgcheck.1
|
||||
DOCS= README README.DiskT@2 README.FreeBSD README.WORM README.audio \
|
||||
README.cdplus README.cdrw README.cdtext README.clone \
|
||||
README.copy README.mkisofs README.multi README.raw \
|
||||
README.rscsi README.sony README.verify
|
||||
DOCS= README README.ATAPI README.DiskT@2 README.FreeBSD README.WORM \
|
||||
README.audio README.cdplus README.cdrw README.cdtext \
|
||||
README.clone README.copy README.mkisofs README.multi \
|
||||
README.raw README.rscsi README.sony README.verify
|
||||
CDDA2WAVDOCS= FAQ Frontends HOWTOUSE OtherProgs README THANKS TODO
|
||||
.endif
|
||||
|
||||
@ -40,8 +40,8 @@ NO_LATEST_LINK= yes
|
||||
USE_BZIP2= yes
|
||||
USE_GMAKE= yes
|
||||
USE_REINPLACE= yes
|
||||
MAKE_ENV= CCOM=${CC}
|
||||
CFLAGS+= -DSOURCE_MODIFIED
|
||||
MAKE_ENV= CCOM=${CC} LANG=C
|
||||
#CFLAGS+= -DSOURCE_MODIFIED
|
||||
WRKSRC= ${WRKDIR}/${DISTNAME:C/a(.+)$//}
|
||||
|
||||
.if defined(MKISOFS)
|
||||
@ -86,9 +86,10 @@ post-extract:
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${RM} ${WRKSRC}/TARGETS/85man
|
||||
.if defined(MKISOFS)
|
||||
.for i in 45libdeflt 45libedc 45libparanoia 55cdda2wav 55cdrecord 55readcd \
|
||||
55rscsi 55scgcheck
|
||||
.for i in 45libedc 45libparanoia 55cdda2wav 55cdrecord 55readcd 55rscsi \
|
||||
55scgcheck
|
||||
@${RM} ${WRKSRC}/TARGETS/${i}
|
||||
.endfor
|
||||
.else
|
||||
@ -105,9 +106,9 @@ post-patch:
|
||||
s|\/usr\/local|${PREFIX}|g; s|\/etc\/default|${PREFIX}\/etc|g; \
|
||||
s|\/var\/adm\/messages|\/var\/run\/dmesg.boot|g' ${WRKSRC}/${i}
|
||||
.endfor
|
||||
@${REINPLACE_CMD} -E -e \
|
||||
's|#define.+INSERT_YOUR_EMAIL_ADDRESS_HERE|& "${MAINTAINER}"|' \
|
||||
${WRKSRC}/cdrecord/cdrecord.c
|
||||
# @${REINPLACE_CMD} -E -e \
|
||||
# 's|#define.+INSERT_YOUR_EMAIL_ADDRESS_HERE|& "${MAINTAINER}"|' \
|
||||
# ${WRKSRC}/cdrecord/cdrecord.c
|
||||
@${SED} 's|%%PREFIX%%|${PREFIX}|g' ${PKGDIR}/pkg-message > \
|
||||
${WRKDIR}/pkg-message
|
||||
.endif
|
||||
|
@ -1,2 +1,2 @@
|
||||
MD5 (cdrtools-2.01a25.tar.bz2) = b2a374130bf7946ac90ebbe2fc8d9176
|
||||
SIZE (cdrtools-2.01a25.tar.bz2) = 1377848
|
||||
MD5 (cdrtools-2.01a27.tar.bz2) = 3e7e19f445027d1b932f9bfab2970277
|
||||
SIZE (cdrtools-2.01a27.tar.bz2) = 1388766
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- cdrecord/drv_philips.c.orig Tue Nov 27 02:08:49 2001
|
||||
+++ cdrecord/drv_philips.c Sun Dec 16 13:05:46 2001
|
||||
@@ -542,10 +542,15 @@
|
||||
* expects different parameters.
|
||||
*/
|
||||
|
||||
+ /*
|
||||
+ * We need to return some !0 value, otherwise the upper
|
||||
+ * layer would still issue a READ BUFFER, sigh.
|
||||
+ */
|
||||
+
|
||||
if (sp)
|
||||
- *sp = 0L;
|
||||
+ *sp = 1L * 1024 * 1024;
|
||||
if (fp)
|
||||
- *fp = 0L;
|
||||
+ *fp = 1L * 1024 * 1024;
|
||||
|
||||
return (100); /* 100 % */
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
--- mkisofs/tree.c.orig Thu Apr 27 11:44:57 2000
|
||||
+++ mkisofs/tree.c Sat Apr 29 11:34:23 2000
|
||||
@@ -538,8 +538,8 @@
|
||||
table->de_flags |= INHIBIT_JOLIET_ENTRY;
|
||||
/* table->name = strdup("<translation table>");*/
|
||||
table->name = strdup(trans_tbl);
|
||||
- table->table = (char *) e_malloc(ISO_ROUND_UP(tablesize));
|
||||
- memset(table->table, 0, ISO_ROUND_UP(tablesize));
|
||||
+ table->table = (char *) e_malloc(ISO_ROUND_UP(tablesize+1));
|
||||
+ memset(table->table, 0, ISO_ROUND_UP(tablesize+1));
|
||||
iso9660_file_length(trans_tbl, table, 0);
|
||||
|
||||
if (use_RockRidge) {
|
37
sysutils/cdrtools-devel/files/patch-cdda2wav::interface.c
Normal file
37
sysutils/cdrtools-devel/files/patch-cdda2wav::interface.c
Normal file
@ -0,0 +1,37 @@
|
||||
--- cdda2wav/interface.c Mon Dec 29 11:28:09 2003
|
||||
+++ cdda2wav/interface.c Sun Jan 18 01:35:50 2004
|
||||
@@ -444,7 +444,15 @@
|
||||
default: /* for example ATAPI cds */
|
||||
#else
|
||||
#if defined (__FreeBSD__)
|
||||
- case 117:
|
||||
+#if __FreeBSD_version >= 501113
|
||||
+ case 4: /* GEOM */
|
||||
+ if (memcmp(pdev_name, "/dev/acd", sizeof("/dev/acd") - 1) != 0) {
|
||||
+ fprintf(stderr, "%s is not an ATAPI CDROM device\n", pdev_name);
|
||||
+ exit(SYNTAX_ERROR);
|
||||
+ }
|
||||
+ /* FALLTHROUGH */
|
||||
+#endif
|
||||
+ case 117: /* pre-GEOM atapi cd */
|
||||
if (!S_ISCHR(statstruct->st_mode)) {
|
||||
fprintf(stderr, "%s is not a char device\n",pdev_name);
|
||||
exit(SYNTAX_ERROR);
|
||||
@@ -593,9 +601,6 @@
|
||||
exit(RACE_ERROR);
|
||||
}
|
||||
#endif
|
||||
- if (scgp != NULL && global.scsi_verbose) {
|
||||
- scgp->verbose = global.scsi_verbose;
|
||||
- }
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
@@ -888,6 +893,7 @@
|
||||
FatalError("No memory for SCSI structure.\n");
|
||||
}
|
||||
scgp->silent = 0;
|
||||
+ scgp->verbose = global.scsi_verbose;
|
||||
SetupCookedIoctl( global.dev_name );
|
||||
#else
|
||||
FatalError("Sorry, there is no known method to access the device.\n");
|
88
sysutils/cdrtools-devel/files/patch-cdda2wav::ioctl.c
Normal file
88
sysutils/cdrtools-devel/files/patch-cdda2wav::ioctl.c
Normal file
@ -0,0 +1,88 @@
|
||||
--- cdda2wav/ioctl.c Sat Dec 27 17:29:28 2003
|
||||
+++ cdda2wav/ioctl.c Sun Jan 18 01:36:36 2004
|
||||
@@ -59,10 +59,14 @@
|
||||
#include <cdrecord.h>
|
||||
|
||||
#if defined (HAVE_IOCTL_INTERFACE)
|
||||
-#if !defined sun && !defined __sun
|
||||
+#if !defined(sun) && !defined(__sun) && !(__FreeBSD_version >= 501112)
|
||||
static struct cdrom_read_audio arg;
|
||||
#endif
|
||||
|
||||
+#if defined(__FreeBSD__) && __FreeBSD_version >= 400014
|
||||
+static unsigned sector_size = CD_FRAMESIZE;
|
||||
+#endif
|
||||
+
|
||||
static int err;
|
||||
|
||||
static void EnableCdda_cooked __PR((SCSI *scgp, int fAudioMode, unsigned uSectorsize));
|
||||
@@ -72,13 +76,23 @@
|
||||
int fAudioMode;
|
||||
unsigned uSectorsize;
|
||||
{
|
||||
+#if defined(__FreeBSD__) && __FreeBSD_version >= 400014
|
||||
+ if (scgp && scgp->verbose)
|
||||
+ fprintf(stderr, "EnableCdda_cooked (CDRIOCSETBLOCKSIZE)...\n");
|
||||
+
|
||||
+ if (fAudioMode) {
|
||||
+ if (ioctl(global.cooked_fd, CDRIOCGETBLOCKSIZE, §or_size) ==-1)
|
||||
+ sector_size = CD_FRAMESIZE;
|
||||
+ ioctl(global.cooked_fd, CDRIOCSETBLOCKSIZE, &uSectorsize);
|
||||
+ } else
|
||||
+ ioctl(global.cooked_fd, CDRIOCSETBLOCKSIZE, §or_size);
|
||||
+#elif defined CDIOCSETCDDA
|
||||
if (scgp && scgp->verbose) {
|
||||
fprintf(stderr, "EnableCdda_cooked (CDIOCSETCDDA)...\n");
|
||||
if (uSectorsize != CD_FRAMESIZE_RAW)
|
||||
fprintf(stderr, "non audio sector size is ignored.\n");
|
||||
}
|
||||
|
||||
-#if defined CDIOCSETCDDA
|
||||
ioctl(global.cooked_fd, CDIOCSETCDDA, &fAudioMode);
|
||||
#else
|
||||
fprintf(stderr, "EnableCdda_cooked (CDIOCSETCDDA) is not available...\n");
|
||||
@@ -197,6 +211,10 @@
|
||||
/* trash the cache */
|
||||
|
||||
#if defined __FreeBSD__
|
||||
+#if __FreeBSD_version >= 501112
|
||||
+ pread(global.cooked_fd, (void *) &p[0], 3*CD_FRAMESIZE_RAW,
|
||||
+ find_an_off_sector(lSector, SectorBurstVal)*CD_FRAMESIZE_RAW);
|
||||
+#else
|
||||
static struct cdrom_read_audio arg2;
|
||||
|
||||
arg2.address.lba = find_an_off_sector(lSector, SectorBurstVal);
|
||||
@@ -206,6 +224,7 @@
|
||||
|
||||
ioctl(global.cooked_fd, CDROMREADAUDIO, &arg2);
|
||||
#endif
|
||||
+#endif
|
||||
#if defined __linux__
|
||||
static struct cdrom_read_audio arg2;
|
||||
|
||||
@@ -267,6 +286,17 @@
|
||||
|
||||
/* read 2352 bytes audio data */
|
||||
#if defined __FreeBSD__
|
||||
+#if __FreeBSD_version >= 501112
|
||||
+ if (x && x->verbose) {
|
||||
+ fprintf(stderr, "ReadCdRom_cooked (pread)...\n");
|
||||
+ }
|
||||
+
|
||||
+ do {
|
||||
+ err = 0;
|
||||
+ if (pread(global.cooked_fd, (void *) &p[0], SectorBurstVal*CD_FRAMESIZE_RAW,
|
||||
+ lSector*CD_FRAMESIZE_RAW) == -1)
|
||||
+ err = -1;
|
||||
+#else
|
||||
arg.address.lba = lSector;
|
||||
arg.addr_format = CDROM_LBA;
|
||||
arg.nframes = SectorBurstVal;
|
||||
@@ -278,6 +308,7 @@
|
||||
|
||||
do {
|
||||
err = ioctl(global.cooked_fd, CDROMREADAUDIO, &arg);
|
||||
+#endif
|
||||
#endif
|
||||
#if defined __linux__
|
||||
arg.addr.lba = lSector;
|
24
sysutils/cdrtools-devel/files/patch-cdda2wav::mycdrom.h
Normal file
24
sysutils/cdrtools-devel/files/patch-cdda2wav::mycdrom.h
Normal file
@ -0,0 +1,24 @@
|
||||
--- cdda2wav/mycdrom.h Wed Sep 4 14:07:16 2002
|
||||
+++ cdda2wav/mycdrom.h Sat Jan 17 18:52:08 2004
|
||||
@@ -4,6 +4,12 @@
|
||||
#else
|
||||
# if defined HAVE_SYS_CDIO_H
|
||||
# include <sys/cdio.h>
|
||||
+# if defined(__FreeBSD__) && __FreeBSD__ >= 2
|
||||
+# include <osreldate.h>
|
||||
+# if __FreeBSD_version >= 400014
|
||||
+# include <sys/cdrio.h>
|
||||
+# endif
|
||||
+# endif
|
||||
|
||||
# if (defined (__sun) && defined (SVR4))
|
||||
# if 0
|
||||
@@ -53,7 +59,7 @@
|
||||
# endif /* if 0 */
|
||||
# else /* not Sun SVR4 */
|
||||
# if defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
|
||||
-# if !defined CDIOCREADAUDIO
|
||||
+# if (!defined(__FreeBSD__) && !defined(CDIOCREADAUDIO)) || __FreeBSD_version < 228000
|
||||
# undef HAVE_IOCTL_INTERFACE
|
||||
# else
|
||||
|
@ -1,38 +0,0 @@
|
||||
--- cdda2wav/setuid.c.orig Thu Nov 21 16:12:35 2002
|
||||
+++ cdda2wav/setuid.c Sat Nov 30 18:17:51 2002
|
||||
@@ -92,7 +92,7 @@
|
||||
|
||||
if (geteuid() == 0) return; /* nothing to do */
|
||||
|
||||
-#if defined _POSIX_SAVED_IDS && defined (HAVE_SETEUID)
|
||||
+#if defined (HAVE_SETEUID)
|
||||
if (seteuid(effective_uid)) {
|
||||
perror("seteuid in needroot()");
|
||||
exit(PERM_ERROR);
|
||||
@@ -126,7 +126,7 @@
|
||||
return;
|
||||
if (geteuid() != 0) return; /* nothing to do */
|
||||
|
||||
-#if defined _POSIX_SAVED_IDS && defined (HAVE_SETEUID)
|
||||
+#if defined (HAVE_SETEUID)
|
||||
if (seteuid(real_uid)) {
|
||||
perror("seteuid in dontneedroot()");
|
||||
exit(PERM_ERROR);
|
||||
@@ -186,7 +186,7 @@
|
||||
|
||||
if (getegid() == effective_gid) return; /* nothing to do */
|
||||
|
||||
-#if defined _POSIX_SAVED_IDS && defined (HAVE_SETEGID)
|
||||
+#if defined (HAVE_SETEGID)
|
||||
if (setegid(effective_gid)) {
|
||||
perror("setegid in needgroup()");
|
||||
exit(PERM_ERROR);
|
||||
@@ -217,7 +217,7 @@
|
||||
exit(INTERNAL_ERROR);
|
||||
}
|
||||
if (getegid() != effective_gid) return; /* nothing to do */
|
||||
-#if defined _POSIX_SAVED_IDS && defined (HAVE_SETEGID)
|
||||
+#if defined (HAVE_SETEGID)
|
||||
if (setegid(real_gid)) {
|
||||
perror("setegid in dontneedgroup()");
|
||||
exit(PERM_ERROR);
|
@ -1,17 +0,0 @@
|
||||
--- cdrecord/cdrecord.c.orig Sat May 31 17:34:37 2003
|
||||
+++ cdrecord/cdrecord.c Sun Jun 1 16:09:02 2003
|
||||
@@ -429,11 +429,11 @@
|
||||
*/
|
||||
if (geteuid() != getuid()) { /* AIX does not like to do this */
|
||||
/* If we are not root */
|
||||
-#ifdef HAVE_SETREUID
|
||||
- if (setreuid(-1, getuid()) < 0)
|
||||
-#else
|
||||
#ifdef HAVE_SETEUID
|
||||
if (seteuid(getuid()) < 0)
|
||||
+#else
|
||||
+#ifdef HAVE_SETREUID
|
||||
+ if (setreuid(-1, getuid()) < 0)
|
||||
#else
|
||||
if (setuid(getuid()) < 0)
|
||||
#endif
|
@ -1,19 +0,0 @@
|
||||
--- conf/configure.orig Fri Sep 19 16:47:37 2003
|
||||
+++ conf/configure Fri Sep 19 16:49:26 2003
|
||||
@@ -5564,9 +5564,16 @@
|
||||
extern int errno;
|
||||
#endif
|
||||
|
||||
+#if defined (__FreeBSD__) && __FreeBSD__ >= 2
|
||||
+#include <osreldate.h>
|
||||
+#endif
|
||||
+
|
||||
int
|
||||
main()
|
||||
{
|
||||
+#if defined(__FreeBSD__) && __FreeBSD_version < 501113
|
||||
+ exit(-1);
|
||||
+#endif
|
||||
if (mlockall(MCL_CURRENT|MCL_FUTURE) < 0) {
|
||||
if (errno == EINVAL || errno == ENOMEM ||
|
||||
errno == EPERM || errno == EACCES)
|
@ -1,17 +0,0 @@
|
||||
--- mkisofs/mkisofs.c.orig Fri Apr 20 17:45:50 2001
|
||||
+++ mkisofs/mkisofs.c Mon Aug 6 10:46:21 2001
|
||||
@@ -2279,11 +2279,11 @@
|
||||
}
|
||||
}
|
||||
/* We don't need root privilleges anymore. */
|
||||
-#ifdef HAVE_SETREUID
|
||||
- if (setreuid(-1, getuid()) < 0)
|
||||
-#else
|
||||
#ifdef HAVE_SETEUID
|
||||
if (seteuid(getuid()) < 0)
|
||||
+#else
|
||||
+#ifdef HAVE_SETREUID
|
||||
+ if (setreuid(-1, getuid()) < 0)
|
||||
#else
|
||||
if (setuid(getuid()) < 0)
|
||||
#endif
|
@ -1,17 +0,0 @@
|
||||
--- readcd/readcd.c.orig Fri Sep 20 09:00:12 2002
|
||||
+++ readcd/readcd.c
|
||||
@@ -356,11 +356,11 @@
|
||||
/*
|
||||
* We don't need root privilleges anymore.
|
||||
*/
|
||||
-#ifdef HAVE_SETREUID
|
||||
- if (setreuid(-1, getuid()) < 0)
|
||||
-#else
|
||||
#ifdef HAVE_SETEUID
|
||||
if (seteuid(getuid()) < 0)
|
||||
+#else
|
||||
+#ifdef HAVE_SETREUID
|
||||
+ if (setreuid(-1, getuid()) < 0)
|
||||
#else
|
||||
if (setuid(getuid()) < 0)
|
||||
#endif
|
@ -16,6 +16,6 @@ This package contains the following software:
|
||||
|
||||
- isoinfo analyze or list an ISO-9660 image
|
||||
|
||||
- isovrfy verify an ISO-9660 image
|
||||
- isovfy verify an ISO-9660 image
|
||||
|
||||
WWW: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
|
||||
|
@ -14,6 +14,7 @@ etc/cdrecord.sample
|
||||
%%RSCSI%%@unexec if pw usershow rscsi >/dev/null 2>&1; then echo "If permanently deleting this package, user \"rscsi\" and its homedirectory must be removed manually."; fi
|
||||
%%RSCSI%%@unexec if pw groupshow rscsi >/dev/null 2>&1; then echo "If permanently deleting this package, group \"rscsi\" must be removed manually."; fi
|
||||
%%PORTDOCS%%%%DOCSDIR%%/README
|
||||
%%PORTDOCS%%%%DOCSDIR%%/README.ATAPI
|
||||
%%PORTDOCS%%%%DOCSDIR%%/README.DiskT@2
|
||||
%%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD
|
||||
%%PORTDOCS%%%%DOCSDIR%%/README.WORM
|
||||
|
@ -6,8 +6,7 @@
|
||||
#
|
||||
|
||||
PORTNAME= mkisofs
|
||||
PORTVERSION= 2.01a24
|
||||
PORTREVISION= 2
|
||||
PORTVERSION= 2.01a27
|
||||
CATEGORIES= sysutils
|
||||
|
||||
COMMENT= Create iso9660/Rock Ridge/Joliet filesystems
|
||||
|
Loading…
Reference in New Issue
Block a user