diff options
author | netchild <netchild@FreeBSD.org> | 2004-04-21 04:46:33 +0800 |
---|---|---|
committer | netchild <netchild@FreeBSD.org> | 2004-04-21 04:46:33 +0800 |
commit | 97ac35252a9d7432eabe479b03345430b5aa58ff (patch) | |
tree | f67ed0a008ad67b9d5e4c404e2788952f2647a04 | |
parent | 71b627e6a282bd16acef4f77e1dc0b5be961f1c9 (diff) | |
download | freebsd-ports-gnome-97ac35252a9d7432eabe479b03345430b5aa58ff.tar.gz freebsd-ports-gnome-97ac35252a9d7432eabe479b03345430b5aa58ff.tar.zst freebsd-ports-gnome-97ac35252a9d7432eabe479b03345430b5aa58ff.zip |
erge from sysutils/cdrtools-devel resp. sysutils/mkisofs-devel:
Changes common to cdrtools and mkisofs:
- Delete targets for mkisofs and friends when building cdrtools and vice
versa to speed up the build of the respective port.
- Respect CC already at the configure-stage.
- Manually replace included copies of config.guess and config.sub with
versions from ${PORTSDIR}/Templates.
- Install relevant READMEs in DOCSDIR (unless NOPORTDOCS is set), some
manual pages also reference these.
- Add a workaround for what appears to be a problem with gmake and certain
locales on -current. [1]
Changes to cdrtools:
- Adjust COMMENT, some tools in this package are for extracting CDs/CD-R[W]s.
- Install scgcheck, a tool to check and validate the ABI of libscg.
- Patch cdrecord to use ${PREFIX}/etc as the location of the global
configuration file, rather than using /etc/default. The installed
documentaion also gets patched accordingly and a PKGMESSAGE reflecting
this change as required by the terms in cdrecord/defaults.c (PR 50835).
- Install a sample configuration file for cdrecord, also install a
configuration file if it doesn't already exist.
- Patch manpages to better correspond to files and locations on FreeBSD.
- Add a knob to optionally build and install rscsi, a tool that allows using
SCSI-devices over the network. The required rscsi user gets added
automatically and templates for the configuration file also get installed.
PKGINSTALL points to for further information on how to configure remote
access to SCSI-devices.
Note that the stock rscsi of cdrtools 2.00.3 has a small security issue,
the fix from the cdrtools alpha version has been added to the port.
- Remove BSD_SCSI_SENSE_BUG from COPTX (CFLAGS) to libscg (see revision 1.48
of sysutils/cdrtools-devel/Makefile for a more detailed description).
- 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.
- Properly initialise the verbosity level of cdda2wav when the cooked_ioctl
interface is used so it's disabled by default.
- Remove unnecessary patch-ai, this patch for supporting Plasmon RF 4100
originated in the FreeBSD port of cdrtools but the relevant parts were
incorporated in cdrtools-1.10a14.
- Disable the use of mlockall(2) on all version of FreeBSD (see PR 62930 for
a description of the problem).
Changes to mkisofs:
- Add MLINKS for devdump.8, isodump.8 and isovfy.8 to isoinfo.8.
- Install isodebug, a simple tool to display the creation date and the
commandline options used to create a certain ISO-image with mkisofs.
- Remove apple_driver.8, this tool doesn't get installed.
- Unbreak mkhybrid.8 by replacing it with a MLINKS to mkisofs.8.
- Remove patch-bb, its purpose is unclear and there's no indication in the
CVS history why it was added.
Requested by: pav [1]
Submitted by: marius (maintainer)
Changes to UPDATING:
- add a note about the new location of the global configuration of cdrecord.
25 files changed, 647 insertions, 67 deletions
@@ -7,6 +7,14 @@ time you update your ports collection, before attempting any port upgrades. 20040420: + AFFECTS: users of sysutils/cdrtools + + The cdrecord program now uses ${PREFIX}/etc (e.g. /usr/local/etc) instead + of /etc/default as the location of the global configuration file. If you + created such a configuration file you need to copy it over to the new + location. + +20040420: AFFECTS: users of x11/kdebase3 If you update KDE from version 3.2.1 or earlier to version 3.2.2 while diff --git a/sysutils/cdrtools/Makefile b/sysutils/cdrtools/Makefile index 38a05b2e5591..9e8cce33de0b 100644 --- a/sysutils/cdrtools/Makefile +++ b/sysutils/cdrtools/Makefile @@ -7,7 +7,7 @@ PORTNAME?= cdrtools PORTVERSION?= 2.0.3 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES?= sysutils audio MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/ \ ftp://ftp.cs.tu-berlin.de/pub/misc/cdrecord/ \ @@ -15,54 +15,158 @@ MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/ \ DISTNAME= cdrtools-2.00.3 MAINTAINER?= marius@FreeBSD.org -COMMENT?= Cdrecord and several other programs to record CD-R[W] +COMMENT?= Cdrecord and other programs to extract and record CDs/CD-R[W]s CONFLICTS?= cdrtools-devel-* .if defined(MKISOFS) -MAN8= apple_driver.8 isoinfo.8 mkhybrid.8 mkisofs.8 +MAN8= isoinfo.8 mkisofs.8 +MLINKS= isoinfo.8 devdump.8 isoinfo.8 isodump.8 isoinfo.8 isovfy.8 \ + mkisofs.8 mkhybrid.8 +DOCS= README README.compression README.eltorito README.graft_dirs \ + README.hfs_boot README.hfs_magic README.hide README.joliet \ + README.macosx README.mkhybrid README.prep_boot README.rootinfo \ + README.session README.sort README.sparcboot .else -MAN1= cdda2wav.1 cdrecord.1 readcd.1 +MAN1= cdda2wav.1 cdrecord.1 readcd.1 scgcheck.1 +DOCS= README README.ATAPI README.DiskT@2 README.FreeBSD README.WORM \ + README.audio README.cdplus README.cdrw README.cdtext \ + README.copy README.mkisofs README.multi README.raw \ + README.rscsi README.sony README.verify +CDDA2WAVDOCS= FAQ Frontends HOWTOUSE OtherProgs README THANKS TODO .endif USE_GMAKE= yes -MAKE_ENV= COPTX="-DBSD_SCSI_SENSE_BUG" -SLAVEDIRS= sysutils/mkisofs +USE_REINPLACE= yes +MAKE_ENV= CCOM=${CC} LANG=C +#CFLAGS+= -DSOURCE_MODIFIED + +.if defined(MKISOFS) +DOCSSRC= ${WRKSRC}/${PORTNAME} +PKGMESSAGE= "" +.else +DOCSSRC= ${WRKSRC} +PKGMESSAGE= ${WRKDIR}/pkg-message +.if defined(WITH_RSCSI) +PKGINSTALL= ${PKGDIR}/pkg-install.rscsi +PLIST_SUB= RSCSI="" +PKGNAMESUFFIX= -rscsi +.else +PLIST_SUB= RSCSI="@comment " +.endif +.endif + +.include <bsd.port.pre.mk> + +pre-everything:: +.if !defined(MKISOFS) && !defined(WITH_RSCSI) + @${ECHO_MSG} "" + @${ECHO_MSG} "You may use the following build option(s):" + @${ECHO_MSG} "" + @${ECHO_MSG} "WITH_RSCSI=yes builds with the rscsi daemon which provides access to" + @${ECHO_MSG} " local SCSI-devices over the network (the client-side" + @${ECHO_MSG} " in cdda2wav, cdrecord, etc. is built unconditionally)." + @${ECHO_MSG} " BEWARE: The rscsi binary gets installed suid root as" + @${ECHO_MSG} " this is the preferred method to set it up." + @${ECHO_MSG} "" +.endif -.if ${MACHINE_ARCH} != "i386" post-extract: - ${LN} -sf ${WRKSRC}/RULES/i386-freebsd-cc.rul \ - ${WRKSRC}/RULES/${MACHINE_ARCH}-freebsd-cc.rul +.for i in config.guess config.sub + @${CP} ${PORTSDIR}/Templates/${i} ${WRKSRC}/conf + @${CP} ${PORTSDIR}/Templates/${i} ${WRKSRC}/cdda2wav +.endfor +.if ${MACHINE_ARCH} != "i386" || ${CC} != "cc" + @${LN} -sf ${WRKSRC}/RULES/i386-freebsd-cc.rul \ + ${WRKSRC}/RULES/${MACHINE_ARCH}-freebsd-${CC}.rul +.endif + +post-patch: +.if defined(MKISOFS) +.for i in 45libdeflt 45libedc 45libparanoia 55cdda2wav 55cdrecord 55readcd \ + 55rscsi 55scgcheck + @${RM} ${WRKSRC}/TARGETS/${i} +.endfor +.else +.for i in 45libfile 45libhfs_iso 45libunls 55mkisofs 55mkisofs!@!diag + @${RM} ${WRKSRC}/TARGETS/${i} +.endfor +.if !defined(WITH_RSCSI) + @${RM} ${WRKSRC}/TARGETS/55rscsi +.endif +.for i in README.rscsi include/deflts.h cdda2wav/cdda2wav.1 \ + cdrecord/cdrecord.1 cdrecord/cdrecord.dfl cdrecord/defaults.c \ + librscg/scsi-remote.c readcd/readcd.1 rscsi/rscsi.c rscsi/rscsi.dfl \ + scgcheck/scgcheck.1 + @${REINPLACE_CMD} -e 's|\/opt\/schily|${PREFIX}|g; \ + 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 + @${SED} 's|%%PREFIX%%|${PREFIX}|g' ${PKGDIR}/pkg-message > \ + ${WRKDIR}/pkg-message .endif do-install: .if defined(MKISOFS) @${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/OBJ/${ARCH}-freebsd-cc/mkisofs \ - ${PREFIX}/bin + ${PREFIX}/bin @${LN} -sf mkisofs ${PREFIX}/bin/mkhybrid - @${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/diag/OBJ/${ARCH}-freebsd-cc/devdump \ - ${PREFIX}/bin - @${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/diag/OBJ/${ARCH}-freebsd-cc/isodump \ - ${PREFIX}/bin - @${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/diag/OBJ/${ARCH}-freebsd-cc/isoinfo \ - ${PREFIX}/bin - @${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/diag/OBJ/${ARCH}-freebsd-cc/isovfy \ - ${PREFIX}/bin - @${INSTALL_MAN} ${WRKSRC}/mkisofs/apple_driver.8 ${PREFIX}/man/man8 - @${INSTALL_MAN} ${WRKSRC}/mkisofs/diag/isoinfo.8 ${PREFIX}/man/man8 - @${INSTALL_MAN} ${WRKSRC}/mkisofs/mkhybrid.8 ${PREFIX}/man/man8 +.for i in devdump isodebug isodump isoinfo isovfy + @${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/diag/OBJ/${ARCH}-freebsd-cc/${i} \ + ${PREFIX}/bin +.endfor @${INSTALL_MAN} ${WRKSRC}/mkisofs/mkisofs.8 ${PREFIX}/man/man8 + @${INSTALL_MAN} ${WRKSRC}/mkisofs/diag/isoinfo.8 ${PREFIX}/man/man8 .else - @${INSTALL_PROGRAM} ${WRKSRC}/cdrecord/OBJ/${ARCH}-freebsd-cc/cdrecord \ - ${PREFIX}/bin @${INSTALL_PROGRAM} ${WRKSRC}/cdda2wav/OBJ/${ARCH}-freebsd-cc/cdda2wav \ - ${PREFIX}/bin + ${PREFIX}/bin @${LN} -sf cdda2wav ${PREFIX}/bin/list_audio_tracks + @${INSTALL_PROGRAM} ${WRKSRC}/cdrecord/OBJ/${ARCH}-freebsd-cc/cdrecord \ + ${PREFIX}/bin @${INSTALL_PROGRAM} ${WRKSRC}/readcd/OBJ/${ARCH}-freebsd-cc/readcd \ - ${PREFIX}/bin + ${PREFIX}/bin +.if defined(WITH_RSCSI) + @${INSTALL_PROGRAM} ${WRKSRC}/rscsi/OBJ/${ARCH}-freebsd-cc/rscsi \ + ${PREFIX}/sbin + @${CHMOD} u+s ${PREFIX}/sbin/rscsi +.endif + @${INSTALL_PROGRAM} ${WRKSRC}/scgcheck/OBJ/${ARCH}-freebsd-cc/scgcheck \ + ${PREFIX}/bin @${INSTALL_MAN} ${WRKSRC}/cdda2wav/cdda2wav.1 ${PREFIX}/man/man1 @${INSTALL_MAN} ${WRKSRC}/cdrecord/cdrecord.1 ${PREFIX}/man/man1 @${INSTALL_MAN} ${WRKSRC}/readcd/readcd.1 ${PREFIX}/man/man1 + @${INSTALL_MAN} ${WRKSRC}/scgcheck/scgcheck.1 ${PREFIX}/man/man1 + @${INSTALL_DATA} ${WRKSRC}/cdrecord/cdrecord.dfl \ + ${PREFIX}/etc/cdrecord.sample +.if !exists(${PREFIX}/etc/cdrecord) + @${INSTALL_DATA} ${WRKSRC}/cdrecord/cdrecord.dfl ${PREFIX}/etc/cdrecord .endif +.if defined(WITH_RSCSI) + @${INSTALL_DATA} ${WRKSRC}/rscsi/rscsi.dfl ${PREFIX}/etc/rscsi.sample +.if !exists(${PREFIX}/etc/rscsi) + @${INSTALL_DATA} ${WRKSRC}/rscsi/rscsi.dfl ${PREFIX}/etc/rscsi +.endif +.endif +.endif +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} +.for i in ${DOCS} + @${INSTALL_DATA} ${DOCSSRC}/${i} ${DOCSDIR} +.endfor +.if !defined(MKISOFS) + @${MKDIR} ${DOCSDIR}/cdda2wav +.for i in ${CDDA2WAVDOCS} + @${INSTALL_DATA} ${DOCSSRC}/cdda2wav/${i} ${DOCSDIR}/cdda2wav +.endfor +.endif +.endif + +post-install: + -@if [ -f ${PKGINSTALL} ]; then ${SETENV} PKG_PREFIX=${PREFIX} \ + ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; fi + @if [ -f ${WRKDIR}/pkg-message ]; then ${CAT} ${WRKDIR}/pkg-message; fi -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/sysutils/cdrtools/files/patch-README.rscsi b/sysutils/cdrtools/files/patch-README.rscsi new file mode 100644 index 000000000000..abad7914c1f4 --- /dev/null +++ b/sysutils/cdrtools/files/patch-README.rscsi @@ -0,0 +1,45 @@ +--- README.rscsi.orig Sun Aug 17 11:31:39 2003 ++++ README.rscsi Sun Aug 17 14:38:57 2003 +@@ -18,24 +18,21 @@ + NOTE: In this case, rscsi must be installed suid root. + **** This is the preferred method **** + +-To enable remote SCSI via the login shell method you should do the following: +- +- - Add an entry to /etc/passwd in the form: ++ The FreeBSD port automatically installs the rscsi binary suid ++ root and creates the user "rscsi". + +- rscsi:x:1999:1000:Tape:/export/home/rscsi:/opt/schily/sbin/rscsi +- +- (modify this according to your OS). And don't forget to +- modify /etc/shadow the way it needs to be on your OS. ++To enable remote SCSI via the login shell method you should do the following: + +- - Create a home directory for this user and add a .rhosts file +- to allow access to all users you like. ++ - Make sure that there is an entry for rshd(8) in /etc/inetd.conf ++ and inetd(8) is running. + +- - Install rscsi suid root into /opt/schily/sbin ++ - Edit /usr/local/rscsi/.rhosts to allow access to all users you ++ like. + +- - Install a file /etc/default/rscsi and define access rights. ++ - Edit /usr/local/etc/rscsi and define access rights. + Without this file, rscsi will not work at all. + +- The template for this file is: rscsi/rscsi.dfl ++ The template for this file is: /usr/local/etc/rscsi.sample + + RSCSI Security: + +@@ -96,7 +93,7 @@ + information about the remote libscg version used for the connection. + + - To be able to use the remote SCSI client code from win32 you need to create +- a file /etc/passwd with a corect entry for the user you are on win32. ++ a file /etc/passwd with a correct entry for the user you are on win32. + Call 'id' to get the right user id. + Note that remote SCSI has not yet been tested on Win32. + diff --git a/sysutils/cdrtools/files/patch-RULES::rules.cnf b/sysutils/cdrtools/files/patch-RULES::rules.cnf new file mode 100644 index 000000000000..f7148061bd95 --- /dev/null +++ b/sysutils/cdrtools/files/patch-RULES::rules.cnf @@ -0,0 +1,12 @@ +--- RULES/rules.cnf.orig Sun Jan 27 16:11:31 2002 ++++ RULES/rules.cnf Sun Jun 1 18:58:37 2003 +@@ -33,8 +33,7 @@ + # + # Hack until the <mach>-<os>-*cc.rul files are updated + # +-_HCCCOM= $(OARCH:%-gcc=gcc) +-HCCCOM= $(_HCCCOM:%-cc=cc) ++HCCCOM= $(C_ARCH) + + _CCCOM= $(_UNIQ)$(CCCOM) + __CCCOM= $(_CCCOM:$(_UNIQ)=$(HCCCOM)) diff --git a/sysutils/cdrtools/files/patch-ad b/sysutils/cdrtools/files/patch-ad index da1f89816180..8e7ac09a0fcb 100644 --- a/sysutils/cdrtools/files/patch-ad +++ b/sysutils/cdrtools/files/patch-ad @@ -18,8 +18,8 @@ -LDCC= @echo " ==> LINKING \"$@\""; gcc -DYNLD= @echo " ==> LINKING dynamic library \"$@\""; gcc -RANLIB= @echo " ==> RANDOMIZING ARCHIVE \"$@\""; ranlib -+LDCC= $(CC) -+DYNLD= $(CC) ++LDCC= $(CCOM) ++DYNLD= $(CCOM) +RANLIB= ranlib ARFLAGS= cr LORDER= lorder @@ -27,5 +27,5 @@ RMDEP= : -MKDEP= @echo " ==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); gcc -M -+MKDEP= $(CC) -M ++MKDEP= $(CCOM) -M MKDEP_OUT= diff --git a/sysutils/cdrtools/files/patch-ai b/sysutils/cdrtools/files/patch-ai deleted file mode 100644 index 4d3b61bc72cc..000000000000 --- a/sysutils/cdrtools/files/patch-ai +++ /dev/null @@ -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 % */ - } diff --git a/sysutils/cdrtools/files/patch-bb b/sysutils/cdrtools/files/patch-bb deleted file mode 100644 index b37ea2f81308..000000000000 --- a/sysutils/cdrtools/files/patch-bb +++ /dev/null @@ -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) { diff --git a/sysutils/cdrtools/files/patch-cdda2wav::interface.c b/sysutils/cdrtools/files/patch-cdda2wav::interface.c new file mode 100644 index 000000000000..ba5d9bfba731 --- /dev/null +++ b/sysutils/cdrtools/files/patch-cdda2wav::interface.c @@ -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"); diff --git a/sysutils/cdrtools/files/patch-cdda2wav::ioctl.c b/sysutils/cdrtools/files/patch-cdda2wav::ioctl.c new file mode 100644 index 000000000000..1c13170bf8b4 --- /dev/null +++ b/sysutils/cdrtools/files/patch-cdda2wav::ioctl.c @@ -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; diff --git a/sysutils/cdrtools/files/patch-cdda2wav::mycdrom.h b/sysutils/cdrtools/files/patch-cdda2wav::mycdrom.h new file mode 100644 index 000000000000..49c7b484d701 --- /dev/null +++ b/sysutils/cdrtools/files/patch-cdda2wav::mycdrom.h @@ -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 + diff --git a/sysutils/cdrtools/files/patch-cdrecord::cdrecord.1 b/sysutils/cdrtools/files/patch-cdrecord::cdrecord.1 new file mode 100644 index 000000000000..4413a3a8604d --- /dev/null +++ b/sysutils/cdrtools/files/patch-cdrecord::cdrecord.1 @@ -0,0 +1,11 @@ +--- cdrecord/cdrecord.1.orig Mon Sep 29 14:48:48 2003 ++++ cdrecord/cdrecord.1 Mon Sep 29 14:49:23 2003 +@@ -1738,8 +1738,6 @@ + .SH SEE ALSO + .BR cdda2wav (1), + .BR readcd (1), +-.BR scg (7), +-.BR fbk (7), + .BR mkisofs (8), + .BR rcmd (3), + .BR ssh (1). diff --git a/sysutils/cdrtools/files/patch-cdrecord::cdrecord.dfl b/sysutils/cdrtools/files/patch-cdrecord::cdrecord.dfl new file mode 100644 index 000000000000..3eebcb7bab92 --- /dev/null +++ b/sysutils/cdrtools/files/patch-cdrecord::cdrecord.dfl @@ -0,0 +1,36 @@ +--- cdrecord/cdrecord.dfl.orig Mon Aug 18 19:45:45 2003 ++++ cdrecord/cdrecord.dfl Mon Aug 18 19:46:32 2003 +@@ -6,7 +6,7 @@ + # + # The default device, if not specified elswhere + # +-CDR_DEVICE=yamaha ++#CDR_DEVICE=yamaha + + # + # The default speed, if not specified elswhere +@@ -21,7 +21,7 @@ + # + # The default FIFO size if, not specified elswhere + # +-CDR_FIFOSIZE=4m ++#CDR_FIFOSIZE=4m + + # + # The following definitions allow abstract device names. +@@ -33,9 +33,9 @@ + # + # drive name device speed fifosize driveropts + # +-teac= 1,3,0 -1 -1 "" +-panasonic= 1,4,0 -1 -1 "" +-plextor= 1,4,0 -1 -1 "" +-sanyo= 1,4,0 -1 -1 burnfree +-yamaha= 1,5,0 -1 -1 "" +-cdrom= 0,6,0 2 1m "" ++#teac= 1,3,0 -1 -1 "" ++#panasonic= 1,4,0 -1 -1 "" ++#plextor= 1,4,0 -1 -1 "" ++#sanyo= 1,4,0 -1 -1 burnfree ++#yamaha= 1,5,0 -1 -1 "" ++#cdrom= 0,6,0 2 1m "" diff --git a/sysutils/cdrtools/files/patch-conf::configure b/sysutils/cdrtools/files/patch-conf::configure new file mode 100644 index 000000000000..eda23804083c --- /dev/null +++ b/sysutils/cdrtools/files/patch-conf::configure @@ -0,0 +1,10 @@ +--- conf/configure.orig Fri Sep 19 16:47:37 2003 ++++ conf/configure Fri Sep 19 16:49:26 2003 +@@ -5567,6 +5567,7 @@ + int + main() + { ++ exit(1); + if (mlockall(MCL_CURRENT|MCL_FUTURE) < 0) { + if (errno == EINVAL || errno == ENOMEM || + errno == EPERM || errno == EACCES) diff --git a/sysutils/cdrtools/files/patch-mkisofs::mkisofs.8 b/sysutils/cdrtools/files/patch-mkisofs::mkisofs.8 new file mode 100644 index 000000000000..26ae04ad8e71 --- /dev/null +++ b/sysutils/cdrtools/files/patch-mkisofs::mkisofs.8 @@ -0,0 +1,20 @@ +--- mkisofs/mkisofs.8.orig Mon Sep 29 15:11:48 2003 ++++ mkisofs/mkisofs.8 Mon Sep 29 15:19:01 2003 +@@ -1668,7 +1668,7 @@ + The format of the + .I magic + file is almost identical to the +-.BR magic (4) ++.BR magic (5) + file used by the Linux + .BR file (1) + command - the routines for reading and decoding the +@@ -1707,7 +1707,7 @@ + .TE + .PP + The format of the file is described in the +-.BR magic (4) ++.BR magic (5) + man page. The only difference here is that for each entry in the magic file, the + .I message + for the initial offset diff --git a/sysutils/cdrtools/files/patch-readcd::readcd.1 b/sysutils/cdrtools/files/patch-readcd::readcd.1 new file mode 100644 index 000000000000..f6618e3f419a --- /dev/null +++ b/sysutils/cdrtools/files/patch-readcd::readcd.1 @@ -0,0 +1,13 @@ +--- readcd/readcd.1.orig Mon Sep 29 14:53:05 2003 ++++ readcd/readcd.1 Mon Sep 29 15:10:06 2003 +@@ -432,9 +432,7 @@ + .SH FILES + .SH SEE ALSO + .BR cdrecord (1), +-.BR mkisofs (1), +-.BR scg (7), +-.BR fbk (7), ++.BR mkisofs (8), + .BR rcmd (3), + .BR ssh (1). + diff --git a/sysutils/cdrtools/files/patch-rscsi::rscsi.c b/sysutils/cdrtools/files/patch-rscsi::rscsi.c new file mode 100644 index 000000000000..619d34c510ac --- /dev/null +++ b/sysutils/cdrtools/files/patch-rscsi::rscsi.c @@ -0,0 +1,18 @@ +--- rscsi/rscsi.c Thu Mar 6 16:26:19 2003 ++++ rscsi/rscsi.c Thu Jul 31 07:51:15 2003 +@@ -143,8 +143,14 @@ + if (debug_name == NULL && argc <= 0) + debug_name = "/tmp/RSCSI"; + #endif +- if (argc > 0) ++#ifdef NONONO ++ /* ++ * Should we allow root to shoot himself into the foot? ++ * Allowing to write arbitrary files may be a security risk. ++ */ ++ if (argc > 0 && getuid() == 0) + debug_name = *argv; ++#endif + + if (debug_name != NULL) + debug_file = fopen(debug_name, "w"); diff --git a/sysutils/cdrtools/files/patch-rscsi::rscsi.dfl b/sysutils/cdrtools/files/patch-rscsi::rscsi.dfl new file mode 100644 index 000000000000..85eab6940d08 --- /dev/null +++ b/sysutils/cdrtools/files/patch-rscsi::rscsi.dfl @@ -0,0 +1,29 @@ +--- rscsi/rscsi.dfl.orig Sun Aug 17 11:50:57 2003 ++++ rscsi/rscsi.dfl Sun Aug 17 12:28:46 2003 +@@ -18,14 +18,13 @@ + # Each USER= entry adds the listed user to the users who may run rscsi + # + # A typical passwd entry looks like this: +-# rscsi:x:1999:1000:Remote SCSI:/export/home/rscsi:/opt/schily/sbin/rscsi ++# rscsi:*:99:99::0:0:Remote SCSI:/usr/local/rscsi:/opt/schily/sbin/rscsi + # +-# Add entries for all valid remote users to /export/home/rscsi/.rhosts ++# Add entries for all valid remote users to /usr/local/rscsi/.rhosts + # + # USER= entries are checked with a pattern matcher. USER=* matches all users. + # + USER=rscsi +-USER=joerg + + # + # Each ACCESS= entry adds a target or group of targets to the list of visible +@@ -52,6 +51,6 @@ + # name name + # + #ACCESS=rscsi sparky -1 -1 -1 -1 +-ACCESS=rscsi sparky 0 -1 6 -1 +-ACCESS=rscsi sparky 1 -1 3 -1 +-ACCESS=rscsi sparky 1 -1 4 -1 ++#ACCESS=rscsi sparky 0 -1 6 -1 ++#ACCESS=rscsi sparky 1 -1 3 -1 ++#ACCESS=rscsi sparky 1 -1 4 -1 diff --git a/sysutils/cdrtools/files/patch-scgcheck::scgcheck.1 b/sysutils/cdrtools/files/patch-scgcheck::scgcheck.1 new file mode 100644 index 000000000000..0120c5231a34 --- /dev/null +++ b/sysutils/cdrtools/files/patch-scgcheck::scgcheck.1 @@ -0,0 +1,12 @@ +--- scgcheck/scgcheck.1.orig Mon Sep 29 14:56:16 2003 ++++ scgcheck/scgcheck.1 Mon Sep 29 14:56:44 2003 +@@ -234,8 +234,7 @@ + .SH SEE ALSO + .BR cdrecord (1), + .BR readcd (1), +-.BR mkisofs (1), +-.BR scg (7). ++.BR mkisofs (8). + + .SH NOTES + .PP diff --git a/sysutils/cdrtools/pkg-descr b/sysutils/cdrtools/pkg-descr index 0db4377d8da7..ca090d58ee54 100644 --- a/sysutils/cdrtools/pkg-descr +++ b/sysutils/cdrtools/pkg-descr @@ -8,4 +8,8 @@ This package contains the following software: may be used to read data CD's, to write to DVD-RAM and to copy Solaris boot CD's +- scgcheck (checks and validates the ABI of libscg) + +- rscsi (daemon providing access to local SCSI-devices over the network) + WWW: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html diff --git a/sysutils/cdrtools/pkg-descr.mkisofs b/sysutils/cdrtools/pkg-descr.mkisofs index d95bc8559469..dd8933f67583 100644 --- a/sysutils/cdrtools/pkg-descr.mkisofs +++ b/sysutils/cdrtools/pkg-descr.mkisofs @@ -1,6 +1,21 @@ -mkisofs is effectively a pre-mastering program to generate the iso9660 -filesystem - it takes a snapshot of a given directory tree, and generates -a binary image which will correspond to an iso9660 filesystem when written -to a block device. +This package contains the following software: + +- mkisofs (an ISO-9660 filesystem image creator) + It takes a snapshot of a given directory tree, and generates a binary + image which will correspond to an iso9660 filesystem when written to + a block device. + +- mkhybrid (an ISO-9660/HFS filesystem image creator) + Link to mkisofs + +- several diagnostic programs for ISO-9660 + + - devdump dump a device or file in hex + + - isodump dump a device or file based on ISO-9660 + + - isoinfo analyze or list 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 diff --git a/sysutils/cdrtools/pkg-install.rscsi b/sysutils/cdrtools/pkg-install.rscsi new file mode 100644 index 000000000000..fe91941c71ae --- /dev/null +++ b/sysutils/cdrtools/pkg-install.rscsi @@ -0,0 +1,61 @@ +#!/bin/sh + +PATH=/bin:/usr/sbin:/usr/bin + +PKG_PREFIX=${PKG_PREFIX:=/usr/local} + +case $2 in + PRE-INSTALL) + ;; + + POST-INSTALL) + USER=rscsi + UID=99 + GROUP=${USER} + GID=${UID} + UCOMMENT="Remote SCSI" + UHOME=${PKG_PREFIX}/rscsi + USHELL=${PKG_PREFIX}/sbin/rscsi + + echo "===========================================================================" + echo + + if ! pw groupshow "${GROUP}" >/dev/null 2>&1; then + if ! pw groupadd ${GROUP} -g ${GID}; then + echo "Adding group \"${GROUP}\" failed." + exit 1 + fi + fi + + if ! pw usershow "${USER}" >/dev/null 2>&1; then + if ! pw useradd ${USER} -u ${UID} -c "${UCOMMENT}" \ + -d ${UHOME} -g ${GROUP} -s ${USHELL}; then + echo "Adding user \"${USER}\" failed." + exit 1 + fi + fi + + if ! [ -d ${UHOME} ] ; then + mkdir -p ${UHOME} + chown ${UID}:${GID} ${UHOME} + fi + + if ! [ -f ${UHOME}/.rhosts ] ; then + cp /usr/share/skel/dot.rhosts ${UHOME}/.rhosts + chown ${UID}:${GID} ${UHOME}/.rhosts + chmod 0600 ${UHOME}/.rhosts + fi + + echo "See ${PKG_PREFIX}/share/doc/cdrtools/README.rscsi and ${PKG_PREFIX}/etc/rscsi" + echo "for further information on how to configure remote access to SCSI-devices" + echo "via rscsi." + + if ! grep '^shell' /etc/inetd.conf >/dev/null 2>&1; then + echo "Don't forget to add an entry for rshd(8) to /etc/inetd.conf in order to" + echo "be able to use the remote SCSI daemon." + fi + + echo + + ;; +esac diff --git a/sysutils/cdrtools/pkg-message b/sysutils/cdrtools/pkg-message new file mode 100644 index 000000000000..2e93701dd3dc --- /dev/null +++ b/sysutils/cdrtools/pkg-message @@ -0,0 +1,13 @@ +=========================================================================== + +Note: The location of the cdrtools `defaults' files has been set to + + %%PREFIX%%/etc + +This is the FreeBSD ports standard config file location, NOT the cdrtools +standard location, which is /etc/default. + +The reason for this is that FreeBSD ports and packages should not use +configuration files outside of %%PREFIX%%. + +=========================================================================== diff --git a/sysutils/cdrtools/pkg-plist b/sysutils/cdrtools/pkg-plist index 208f38dc4336..85b9084df7e0 100644 --- a/sysutils/cdrtools/pkg-plist +++ b/sysutils/cdrtools/pkg-plist @@ -2,3 +2,39 @@ bin/cdda2wav bin/cdrecord bin/list_audio_tracks bin/readcd +bin/scgcheck +%%RSCSI%%sbin/rscsi +%%RSCSI%%@exec chmod u+s %B/%f +@unexec if cmp -s %D/etc/cdrecord.sample %D/etc/cdrecord; then rm -f %D/etc/cdrecord; else echo "If permanently deleting this package, %D/etc/cdrecord must be removed manually."; fi +etc/cdrecord.sample +@exec [ -f %B/cdrecord ] || cp %B/%f %B/cdrecord +%%RSCSI%%@unexec if cmp -s %D/etc/rscsi.sample %D/etc/rscsi; then rm -f %D/etc/rscsi; else echo "If permanently deleting this package, %D/etc/rscsi must be removed manually."; fi +%%RSCSI%%etc/rscsi.sample +%%RSCSI%%@exec [ -f %B/rscsi ] || cp %B/%f %B/rscsi +%%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 +%%PORTDOCS%%%%DOCSDIR%%/README.audio +%%PORTDOCS%%%%DOCSDIR%%/README.cdplus +%%PORTDOCS%%%%DOCSDIR%%/README.cdrw +%%PORTDOCS%%%%DOCSDIR%%/README.cdtext +%%PORTDOCS%%%%DOCSDIR%%/README.copy +%%PORTDOCS%%%%DOCSDIR%%/README.mkisofs +%%PORTDOCS%%%%DOCSDIR%%/README.multi +%%PORTDOCS%%%%DOCSDIR%%/README.raw +%%PORTDOCS%%%%DOCSDIR%%/README.rscsi +%%PORTDOCS%%%%DOCSDIR%%/README.sony +%%PORTDOCS%%%%DOCSDIR%%/README.verify +%%PORTDOCS%%%%DOCSDIR%%/cdda2wav/FAQ +%%PORTDOCS%%%%DOCSDIR%%/cdda2wav/Frontends +%%PORTDOCS%%%%DOCSDIR%%/cdda2wav/HOWTOUSE +%%PORTDOCS%%%%DOCSDIR%%/cdda2wav/OtherProgs +%%PORTDOCS%%%%DOCSDIR%%/cdda2wav/README +%%PORTDOCS%%%%DOCSDIR%%/cdda2wav/THANKS +%%PORTDOCS%%%%DOCSDIR%%/cdda2wav/TODO +%%PORTDOCS%%@dirrm %%DOCSDIR%%/cdda2wav +%%PORTDOCS%%@dirrm %%DOCSDIR%% diff --git a/sysutils/cdrtools/pkg-plist.mkisofs b/sysutils/cdrtools/pkg-plist.mkisofs index c3fd0359d9e9..6ceb748b1bb9 100644 --- a/sysutils/cdrtools/pkg-plist.mkisofs +++ b/sysutils/cdrtools/pkg-plist.mkisofs @@ -1,6 +1,23 @@ bin/devdump +bin/isodebug bin/isodump bin/isoinfo bin/isovfy bin/mkhybrid bin/mkisofs +%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/README.compression +%%PORTDOCS%%%%DOCSDIR%%/README.eltorito +%%PORTDOCS%%%%DOCSDIR%%/README.graft_dirs +%%PORTDOCS%%%%DOCSDIR%%/README.hfs_boot +%%PORTDOCS%%%%DOCSDIR%%/README.hfs_magic +%%PORTDOCS%%%%DOCSDIR%%/README.hide +%%PORTDOCS%%%%DOCSDIR%%/README.joliet +%%PORTDOCS%%%%DOCSDIR%%/README.macosx +%%PORTDOCS%%%%DOCSDIR%%/README.mkhybrid +%%PORTDOCS%%%%DOCSDIR%%/README.prep_boot +%%PORTDOCS%%%%DOCSDIR%%/README.rootinfo +%%PORTDOCS%%%%DOCSDIR%%/README.session +%%PORTDOCS%%%%DOCSDIR%%/README.sort +%%PORTDOCS%%%%DOCSDIR%%/README.sparcboot +%%PORTDOCS%%@dirrm %%DOCSDIR%% diff --git a/sysutils/mkisofs/Makefile b/sysutils/mkisofs/Makefile index 5c7c60b0a7bb..31cc112a2b15 100644 --- a/sysutils/mkisofs/Makefile +++ b/sysutils/mkisofs/Makefile @@ -7,7 +7,7 @@ PORTNAME= mkisofs PORTVERSION= 2.0.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= sysutils COMMENT= Create iso9660/Rock Ridge/Joliet filesystems |