1
0
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:
Alexander Leidinger 2004-04-12 13:06:47 +00:00
parent d8678b1f94
commit adc728b113
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=106806
15 changed files with 168 additions and 159 deletions

View File

@ -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

View File

@ -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

View File

@ -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 % */
}

View File

@ -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) {

View 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");

View 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, &sector_size) ==-1)
+ sector_size = CD_FRAMESIZE;
+ ioctl(global.cooked_fd, CDRIOCSETBLOCKSIZE, &uSectorsize);
+ } else
+ ioctl(global.cooked_fd, CDRIOCSETBLOCKSIZE, &sector_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;

View 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

View File

@ -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);

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -6,8 +6,7 @@
#
PORTNAME= mkisofs
PORTVERSION= 2.01a24
PORTREVISION= 2
PORTVERSION= 2.01a27
CATEGORIES= sysutils
COMMENT= Create iso9660/Rock Ridge/Joliet filesystems