diff options
author | Lars Weiler <pylon@gentoo.org> | 2006-10-28 10:59:51 +0000 |
---|---|---|
committer | Lars Weiler <pylon@gentoo.org> | 2006-10-28 10:59:51 +0000 |
commit | d78b2bfb8c3bd43ee97f5c9bea43304b26b40110 (patch) | |
tree | e8b61a17efa6aa6a58cc7fae220e2fc7d993450a /app-cdr/cdrtools | |
parent | x86 stable wrt bug #151290 (diff) | |
download | historical-d78b2bfb8c3bd43ee97f5c9bea43304b26b40110.tar.gz historical-d78b2bfb8c3bd43ee97f5c9bea43304b26b40110.tar.bz2 historical-d78b2bfb8c3bd43ee97f5c9bea43304b26b40110.zip |
Version bump.
Package-Manager: portage-2.1.2_rc1
Diffstat (limited to 'app-cdr/cdrtools')
-rw-r--r-- | app-cdr/cdrtools/ChangeLog | 9 | ||||
-rw-r--r-- | app-cdr/cdrtools/Manifest | 24 | ||||
-rw-r--r-- | app-cdr/cdrtools/cdrtools-2.01.01_alpha18.ebuild | 122 | ||||
-rw-r--r-- | app-cdr/cdrtools/files/cdrtools-2.01.01a18-rezero.patch | 12 | ||||
-rw-r--r-- | app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha18 | 3 | ||||
-rw-r--r-- | app-cdr/cdrtools/files/mkisofs-iconv-18.patch | 526 |
6 files changed, 691 insertions, 5 deletions
diff --git a/app-cdr/cdrtools/ChangeLog b/app-cdr/cdrtools/ChangeLog index a479a736e429..e0db18b6ae14 100644 --- a/app-cdr/cdrtools/ChangeLog +++ b/app-cdr/cdrtools/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-cdr/cdrtools # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/ChangeLog,v 1.157 2006/10/28 09:02:57 pylon Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/ChangeLog,v 1.158 2006/10/28 10:59:51 pylon Exp $ + +*cdrtools-2.01.01_alpha18 (28 Oct 2006) + + 28 Oct 2006; Lars Weiler <pylon@gentoo.org> + +files/cdrtools-2.01.01a18-rezero.patch, +files/mkisofs-iconv-18.patch, + +cdrtools-2.01.01_alpha18.ebuild: + Version bump. 28 Oct 2006; Lars Weiler <pylon@gentoo.org> -cdrtools-2.01.01_alpha07.ebuild, -cdrtools-2.01.01_alpha08.ebuild: diff --git a/app-cdr/cdrtools/Manifest b/app-cdr/cdrtools/Manifest index bcff8886f97d..8a49ee9989bb 100644 --- a/app-cdr/cdrtools/Manifest +++ b/app-cdr/cdrtools/Manifest @@ -14,6 +14,10 @@ AUX cdrtools-2.01.01a03-warnings.patch 853 RMD160 5ecadc359bfe6d914f2782b7ea8e7b MD5 118ed27cd1f6e1cc5e48adc622bb8528 files/cdrtools-2.01.01a03-warnings.patch 853 RMD160 5ecadc359bfe6d914f2782b7ea8e7b0bb60e5c14 files/cdrtools-2.01.01a03-warnings.patch 853 SHA256 0d2ca432a854792c82ee89fe6a097c6b3c1621e38fcb6d16c7f88658e62a130d files/cdrtools-2.01.01a03-warnings.patch 853 +AUX cdrtools-2.01.01a18-rezero.patch 553 RMD160 93a4a0cdae9df6f76a0c9e6398b10428e456e312 SHA1 379f892582da4d6acf2578c83c81812b7393343f SHA256 306f1a6d70a74dc9f26de5d8da567fb8ff47997ba6d016c47ddc81ec56ce6c62 +MD5 3e67fde5271df7ac43270bad65a8416f files/cdrtools-2.01.01a18-rezero.patch 553 +RMD160 93a4a0cdae9df6f76a0c9e6398b10428e456e312 files/cdrtools-2.01.01a18-rezero.patch 553 +SHA256 306f1a6d70a74dc9f26de5d8da567fb8ff47997ba6d016c47ddc81ec56ce6c62 files/cdrtools-2.01.01a18-rezero.patch 553 AUX cdrtools-2.01a27-writemode.patch 477 RMD160 ef5f5022987b705dc2f38a0ea9e88b3d2eeb1b6b SHA1 bc092eeb6fe56b963b260a817a8c6d2348e2e5da SHA256 03f8148e03f774b210ac92e9532510f290ca2e9c59b309a15ebe4cc90fc0c5fb MD5 9c89bdd0371267dc24f8640160b9ea9e files/cdrtools-2.01a27-writemode.patch 477 RMD160 ef5f5022987b705dc2f38a0ea9e88b3d2eeb1b6b files/cdrtools-2.01a27-writemode.patch 477 @@ -26,9 +30,14 @@ AUX mkisofs-iconv-11.patch 16791 RMD160 a5f3cb9e8b03b2cda14cffe900f9a9371ec2def9 MD5 75ba41189dc89a96075673a6679bbcf6 files/mkisofs-iconv-11.patch 16791 RMD160 a5f3cb9e8b03b2cda14cffe900f9a9371ec2def9 files/mkisofs-iconv-11.patch 16791 SHA256 d1ddcbc3bf2f9bcb4949eb0bca871a104748daf8e4325f3776aa66bf0b2055f9 files/mkisofs-iconv-11.patch 16791 +AUX mkisofs-iconv-18.patch 15372 RMD160 d0b563b1a3c7f8cd32f7d284e2814f725fe9c883 SHA1 9b459d564778a85be1dacf1a63d92c0a3c5837c2 SHA256 9c4e07d1561fda1e7dbb8cc58a42318f34bfc783af2c093ea9f51c09c7d0ee8a +MD5 9c8fdd8e4b85120d8581ae7d4fc813d0 files/mkisofs-iconv-18.patch 15372 +RMD160 d0b563b1a3c7f8cd32f7d284e2814f725fe9c883 files/mkisofs-iconv-18.patch 15372 +SHA256 9c4e07d1561fda1e7dbb8cc58a42318f34bfc783af2c093ea9f51c09c7d0ee8a files/mkisofs-iconv-18.patch 15372 DIST cdrtools-2.01-encrypt-1.0rc1.diff.gz 25384 RMD160 68fbcf1e9c1f03efa1474cce03e2ba4d1865ded8 SHA1 7e70f44d3c07f5e75632fb9805182aff65021afd SHA256 1dd80e793538bd51effffc44a278c2efca56a7b318de204231e5afbb5d11b63e DIST cdrtools-2.01.01a10.tar.bz2 1499765 RMD160 242c7d325394e4cbb9a4659799dc333a910dc690 SHA1 e0b42b3454e961c9cf25f10d955052758d679f67 SHA256 1dea21bafae4af6b738c5e114aec26882f6f8b739340dfba6098c29550d4a39f DIST cdrtools-2.01.01a11.tar.bz2 1503558 RMD160 9d18593196407d6401c67df97fa4b9b8d73c1863 SHA1 d1cef697edb3e974b2b3baa44b1d3d10444303d8 SHA256 c24cee507c7f190f9a9e34941e54a58bb2810fb576cc849ca510c5f1673c3c2d +DIST cdrtools-2.01.01a18.tar.bz2 1528037 RMD160 0ed191ed879a9333c116acabef6974f72633b870 SHA1 f18a8e65252a07e6b08ab2f538fc0274ca0fff84 SHA256 8a600d9806a0a9a852ce3f36231411dd61f34a8f59fe9d4d32b5297ef8210926 DIST cdrtools-2.01.tar.bz2 1400389 RMD160 b34a8b81b21cc8ed1927f34e44130513d2ee0407 SHA1 f94cfe51dd512d4e0b9106b986bde12d4f7967ce SHA256 728b6175069a77c4d7d92ae60108cbda81fbbf7bc7aa02e25153ccf2092f6c22 EBUILD cdrtools-2.01-r1.ebuild 2848 RMD160 bd96a097959486a965251c77ba3d35aede4e4e7f SHA1 5fb8ba79fc48c1833d8912db91b6b8529eac8deb SHA256 ff16d40c287d0fcbc210677b487e42719335595c8b362fcea286909202868f34 MD5 f57e04cfd832018aff931152a2fa6444 cdrtools-2.01-r1.ebuild 2848 @@ -46,10 +55,14 @@ EBUILD cdrtools-2.01.01_alpha11.ebuild 3614 RMD160 97e850a4cf4192bccbebe1633a811 MD5 4a9378846b8da560c4c46bd6e590c51a cdrtools-2.01.01_alpha11.ebuild 3614 RMD160 97e850a4cf4192bccbebe1633a81141457ac7bd3 cdrtools-2.01.01_alpha11.ebuild 3614 SHA256 06d51e1b7b08b9835d0e1d917b3703f57d33eb4b4976463d97cc8bd50a229d78 cdrtools-2.01.01_alpha11.ebuild 3614 -MISC ChangeLog 23442 RMD160 f84f2c2b6959cb6bcd5d22063956d034377becfb SHA1 432cb1f465f12f775b723c023f0a477b3758ba5e SHA256 6c44b453d57c4c36d0d143e478f618c011a64a9cf24ed03d36028919c06bc579 -MD5 92517352946de5a619fdaa9e55c75c23 ChangeLog 23442 -RMD160 f84f2c2b6959cb6bcd5d22063956d034377becfb ChangeLog 23442 -SHA256 6c44b453d57c4c36d0d143e478f618c011a64a9cf24ed03d36028919c06bc579 ChangeLog 23442 +EBUILD cdrtools-2.01.01_alpha18.ebuild 3614 RMD160 1eb9389fb3b6be360e66befdb951f7e3878d9721 SHA1 b33ffbd87bee0c00414940c67d9c34f125cf9421 SHA256 7f2b49e8b57c1a4319d7057443897a003e27749ba76f4acd912e18cd9c5ee3e0 +MD5 5f85feb4008339f4a48479330998631a cdrtools-2.01.01_alpha18.ebuild 3614 +RMD160 1eb9389fb3b6be360e66befdb951f7e3878d9721 cdrtools-2.01.01_alpha18.ebuild 3614 +SHA256 7f2b49e8b57c1a4319d7057443897a003e27749ba76f4acd912e18cd9c5ee3e0 cdrtools-2.01.01_alpha18.ebuild 3614 +MISC ChangeLog 23656 RMD160 90b3f0c41dc03f9c636db3ebb6f9a8f8a3082648 SHA1 12e1ba6d5618fb2e95dd9db2080d3ee04098c486 SHA256 8b89115432c2c02b10a338c7136e9462eb099ae6b604cd93f1dc04dce378bd5b +MD5 8728356fde74cf2a27f30e0575d09fbf ChangeLog 23656 +RMD160 90b3f0c41dc03f9c636db3ebb6f9a8f8a3082648 ChangeLog 23656 +SHA256 8b89115432c2c02b10a338c7136e9462eb099ae6b604cd93f1dc04dce378bd5b ChangeLog 23656 MISC metadata.xml 254 RMD160 f274a70fa23d8064efddcce296e0aed3344bd86b SHA1 ab52ea446603ae6242dae41e0c90fcf7ae8f09cf SHA256 21400abf2dad3e5b7b0d2f7f9586c33cba6336b42a97e1f2b3e7e8b9db0daae5 MD5 015ab4293805faaa417d5ac5304750c4 metadata.xml 254 RMD160 f274a70fa23d8064efddcce296e0aed3344bd86b metadata.xml 254 @@ -66,3 +79,6 @@ SHA256 a243fe27f88f8832341653590b731738babc6c7ff6114e3c5f4a29f162dfd0c4 files/di MD5 74108109d57ff6f24d4ea1f958738c88 files/digest-cdrtools-2.01.01_alpha11 265 RMD160 88f6b0f515511bffd75ab5d3e47dc1ccbb12d158 files/digest-cdrtools-2.01.01_alpha11 265 SHA256 71b73d81cd2f6de231be15e22f30cb5abe34e049bea542aa49befdba35d98aa2 files/digest-cdrtools-2.01.01_alpha11 265 +MD5 c001e2b9fa78889fe2adcb0c192e4bd5 files/digest-cdrtools-2.01.01_alpha18 265 +RMD160 1427340de024d3b4beab43ceb12e53706b42b19c files/digest-cdrtools-2.01.01_alpha18 265 +SHA256 2e9ff1e64650aa804fa22af8e82a639d0b72f85c620c05956be7acf009c62748 files/digest-cdrtools-2.01.01_alpha18 265 diff --git a/app-cdr/cdrtools/cdrtools-2.01.01_alpha18.ebuild b/app-cdr/cdrtools/cdrtools-2.01.01_alpha18.ebuild new file mode 100644 index 000000000000..0a24ee0f4fe6 --- /dev/null +++ b/app-cdr/cdrtools/cdrtools-2.01.01_alpha18.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2006 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_alpha18.ebuild,v 1.1 2006/10/28 10:59:51 pylon Exp $ + +inherit eutils gnuconfig toolchain-funcs flag-o-matic + +DESCRIPTION="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/${P/_alpha/a}.tar.bz2" + +LICENSE="GPL-2 LGPL-2.1 CDDL-Schily" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="unicode" + +DEPEND="virtual/libc + !app-cdr/dvdrtools + !app-cdr/cdrkit" + +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.01a27-writemode.patch + epatch "${FILESDIR}"/${PN}-2.01.01a03-warnings.patch + epatch "${FILESDIR}"/${PN}-2.01.01a01-scanbus.patch + epatch "${FILESDIR}"/${PN}-2.01.01a18-rezero.patch + + use unicode && epatch "${FILESDIR}"/mkisofs-iconv-18.patch + + # ppc-macos support + 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 + ln -sf i586-linux-cc.rul sh4-linux-cc.rul +} + +src_compile() { + gnuconfig_update + + if use unicode; then + local flags="$(test-flags -finput-charset=ISO-8859-1 -fexec-charset=UTF-8)" + if [[ -n ${flags} ]]; then + append-flags ${flags} + else + ewarn "Your compiler does not support the options required to build" + ewarn "cdrtools with unicode in USE. unicode flag will be ignored." + fi + fi + emake CC="$(tc-getCC) -D__attribute_const__=const" COPTX="${CFLAGS}" CPPOPTX="${CPPFLAGS}" LDOPTX="${LDFLAGS}" || die +} + +src_install() { + 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-shm,multi,parallel,raw,rscsi,sony,verify} START READMEs/README.linux + doman */*.1 + doman */*.8 + + cd "${S}"/doc + docinto print + dodoc *.ps +} + +pkg_postinst() { + 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 group." + fi +} diff --git a/app-cdr/cdrtools/files/cdrtools-2.01.01a18-rezero.patch b/app-cdr/cdrtools/files/cdrtools-2.01.01a18-rezero.patch new file mode 100644 index 000000000000..9dcbb17aedcd --- /dev/null +++ b/app-cdr/cdrtools/files/cdrtools-2.01.01a18-rezero.patch @@ -0,0 +1,12 @@ +--- cdrtools-2.01.01/cdrecord/cdrecord.c 2006-10-28 11:11:33.000000000 +0200 ++++ cdrtools-2.01.01/cdrecord/cdrecord.c.rezero 2006-10-28 11:10:43.000000000 +0200 +@@ -4042,7 +4042,8 @@ + scsi_start_stop_unit(scgp, 1, 0, immed); + wait_unit_ready(scgp, 120); + scgp->silent++; +- rezero_unit(scgp); /* Is this needed? Not supported by some drives */ ++ /* kernel >= 2.6.12 does not like that as user ++ rezero_unit(scgp); Is this needed? Not supported by some drives */ + scgp->silent--; + test_unit_ready(scgp); + scsi_start_stop_unit(scgp, 1, 0, immed); diff --git a/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha18 b/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha18 new file mode 100644 index 000000000000..9b822cfd0dc6 --- /dev/null +++ b/app-cdr/cdrtools/files/digest-cdrtools-2.01.01_alpha18 @@ -0,0 +1,3 @@ +MD5 a75e0a90fe19cb22f33e092b5c95ea61 cdrtools-2.01.01a18.tar.bz2 1528037 +RMD160 0ed191ed879a9333c116acabef6974f72633b870 cdrtools-2.01.01a18.tar.bz2 1528037 +SHA256 8a600d9806a0a9a852ce3f36231411dd61f34a8f59fe9d4d32b5297ef8210926 cdrtools-2.01.01a18.tar.bz2 1528037 diff --git a/app-cdr/cdrtools/files/mkisofs-iconv-18.patch b/app-cdr/cdrtools/files/mkisofs-iconv-18.patch new file mode 100644 index 000000000000..020da8f69db2 --- /dev/null +++ b/app-cdr/cdrtools/files/mkisofs-iconv-18.patch @@ -0,0 +1,526 @@ +diff -urp cdrtools-2.01.01.orig/include/schily/unls.h cdrtools-2.01.01/include/schily/unls.h +--- cdrtools-2.01.01.orig/include/schily/unls.h 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/include/schily/unls.h 2006-10-28 11:24:22.000000000 +0200 +@@ -23,6 +23,10 @@ + #include <schily/mconfig.h> + #endif + ++#ifdef USE_ICONV ++#include <iconv.h> ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -37,6 +41,9 @@ struct unls_table { + unsigned char **unls_uni2cs; /* Unicode -> Charset */ + struct unls_unicode *unls_cs2uni; /* Charset -> Unicode */ + struct unls_table *unls_next; /* Next table */ ++#ifdef USE_ICONV ++ iconv_t iconv_d; ++#endif + }; + + extern int init_unls __PR((void)); +@@ -48,6 +55,9 @@ extern struct unls_table *load_unls __P + extern void unload_unls __PR((struct unls_table *)); + extern struct unls_table *load_unls_default __PR((void)); + extern int init_unls_file __PR((char * name)); ++#ifdef USE_ICONV ++extern int init_unls_iconv __PR((char * name)); ++#endif + + #ifdef __cplusplus + } +Only in cdrtools-2.01.01/include/schily: unls.h.orig +diff -urp cdrtools-2.01.01.orig/libunls/Targets cdrtools-2.01.01/libunls/Targets +--- cdrtools-2.01.01.orig/libunls/Targets 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/libunls/Targets 2006-10-28 11:24:22.000000000 +0200 +@@ -39,4 +39,5 @@ CFILES= nls_base.c \ + nls_cp10029.c \ + nls_cp10079.c \ + nls_cp10081.c \ +- nls_file.c ++ nls_file.c \ ++ nls_iconv.c +diff -urp cdrtools-2.01.01.orig/libunls/libunls.mk cdrtools-2.01.01/libunls/libunls.mk +--- cdrtools-2.01.01.orig/libunls/libunls.mk 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/libunls/libunls.mk 2006-10-28 11:24:22.000000000 +0200 +@@ -8,6 +8,7 @@ include $(SRCROOT)/$(RULESDIR)/rules.to + INSDIR= lib + TARGETLIB= unls + #CPPOPTS += -Istdio ++CPPOPTS += -DUSE_ICONV + include Targets + LIBS= + +diff -urp cdrtools-2.01.01.orig/libunls/nls.h cdrtools-2.01.01/libunls/nls.h +--- cdrtools-2.01.01.orig/libunls/nls.h 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/libunls/nls.h 2006-10-28 11:24:22.000000000 +0200 +@@ -110,5 +110,8 @@ extern int init_unls_cp10029 __PR((void) + extern int init_unls_cp10079 __PR((void)); + extern int init_unls_cp10081 __PR((void)); + extern int init_unls_file __PR((char * name)); ++#ifdef USE_ICONV ++extern int init_unls_iconv __PR((char * name)); ++#endif + + #endif /* _NLS_H */ +Only in cdrtools-2.01.01/libunls: nls_iconv.c +diff -urp cdrtools-2.01.01.orig/mkisofs/Makefile cdrtools-2.01.01/mkisofs/Makefile +--- cdrtools-2.01.01.orig/mkisofs/Makefile 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/mkisofs/Makefile 2006-10-28 11:24:22.000000000 +0200 +@@ -33,6 +33,7 @@ CPPOPTS += -DAPPLE_HYB + CPPOPTS += -DUDF + CPPOPTS += -DDVD_VIDEO + CPPOPTS += -DSORTING ++CPPOPTS += -DUSE_ICONV + CPPOPTS += -I../libhfs_iso/ + CPPOPTS += -DUSE_SCG \ + '-DAPPID_DEFAULT="MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING"' \ +Only in cdrtools-2.01.01/mkisofs: Makefile.orig +diff -urp cdrtools-2.01.01.orig/mkisofs/joliet.c cdrtools-2.01.01/mkisofs/joliet.c +--- cdrtools-2.01.01.orig/mkisofs/joliet.c 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/mkisofs/joliet.c 2006-10-28 11:24:22.000000000 +0200 +@@ -90,6 +90,11 @@ static char sccsid[] = + #include <schily/unls.h> /* For UNICODE translation */ + #include <schily/schily.h> + ++#ifdef USE_ICONV ++#include <iconv.h> ++#include <errno.h> ++#endif ++ + static Uint jpath_table_index; + static struct directory **jpathlist; + static int next_jpath_index = 1; +@@ -103,13 +108,23 @@ static char ucs_codes[] = { + }; + + #ifdef UDF +- void convert_to_unicode __PR((unsigned char *buffer, ++# ifdef USE_ICONV ++ size_t ++# else ++ void ++# endif ++ convert_to_unicode __PR((unsigned char *buffer, + int size, char *source, struct unls_table *inls)); +- int joliet_strlen __PR((const char *string)); ++ int joliet_strlen __PR((const char *string, struct unls_table *inls)); + #else +-static void convert_to_unicode __PR((unsigned char *buffer, ++# ifdef USE_ICONV ++ static size_t ++# else ++ static void ++#endif ++ convert_to_unicode __PR((unsigned char *buffer, + int size, char *source, struct unls_table *inls)); +-static int joliet_strlen __PR((const char *string)); ++static int joliet_strlen __PR((const char *string, struct unls_table *inls)); + #endif + static void get_joliet_vol_desc __PR((struct iso_primary_descriptor *jvol_desc)); + static void assign_joliet_directory_addresses __PR((struct directory *node)); +@@ -161,6 +176,20 @@ conv_charset(c, inls, onls) + if (inls == onls) + return (c); + ++#ifdef USE_ICONV ++ if(inls->unls_cs2uni == NULL || onls->unls_uni2cs == NULL) { ++ /* ++ * This shouldn't be reached ++ */ ++ static BOOL iconv_warned = FALSE; ++ if(!iconv_warned) { ++ error("Warning: Iconv conversion not supported in conv_charset.\n"); ++ iconv_warned = TRUE; ++ } ++ return (c); ++ } ++#endif ++ + /* get high and low UNICODE bytes */ + uh = inls->unls_cs2uni[c].unls_high; + ul = inls->unls_cs2uni[c].unls_low; +@@ -186,10 +215,18 @@ conv_charset(c, inls, onls) + * + * Notes: + */ +-#ifdef UDF +-void ++#ifdef USE_ICONV ++# if UDF ++size_t ++# else ++static size_t ++# endif + #else ++# if UDF ++void ++# else + static void ++# endif + #endif + convert_to_unicode(buffer, size, source, inls) + unsigned char *buffer; +@@ -216,6 +253,51 @@ convert_to_unicode(buffer, size, source, + tmpbuf = (Uchar *) source; + } + ++#ifdef USE_ICONV ++ if (inls->iconv_d && inls->unls_cs2uni==NULL && ++ inls->unls_uni2cs==NULL) { ++ char *inptr = tmpbuf; ++ char *outptr = buffer; ++ size_t inleft = strlen(tmpbuf); ++ size_t inlen = inleft; ++ size_t outleft = size; ++ ++ iconv(inls->iconv_d, NULL, NULL, NULL, NULL); ++ if(iconv(inls->iconv_d, &inptr, &inleft, &outptr, &outleft) == ++ (size_t)-1 && errno == EILSEQ) { ++ fprintf(stderr, "Incorrectly encoded string (%s) " ++ "encountered.\nPossibly creating an invalid " ++ "Joliet extension. Aborting.\n", source); ++ exit(1); ++ } ++ ++ for (i = 0; (i + 1) < size - outleft; i += 2) { /* Size may be odd!!!*/ ++ if (buffer[i]=='\0') { ++ switch (buffer[i+1]) { /* Invalid characters for Joliet */ ++ case '*': ++ case '/': ++ case ':': ++ case ';': ++ case '?': ++ case '\\': ++ buffer[i+1]='_'; ++ default: ++ if (buffer[i+1] == 0x7f || ++ buffer[i+1] < 0x20) ++ buffer[i+1]='_'; ++ } ++ } ++ } ++ if (size & 1) { /* beautification */ ++ buffer[size - 1] = 0; ++ } ++ if (source == NULL) { ++ free(tmpbuf); ++ } ++ return (inlen - inleft); ++ } ++#endif ++ + /* + * Now start copying characters. If the size was specified to be 0, + * then assume the input was 0 terminated. +@@ -271,6 +353,9 @@ convert_to_unicode(buffer, size, source, + if (source == NULL) { + free(tmpbuf); + } ++#ifdef USE_ICONV ++ return j; ++#endif + } + + /* +@@ -287,12 +372,50 @@ int + #else + static int + #endif +-joliet_strlen(string) ++joliet_strlen(string, inls) + const char *string; ++ struct unls_table *inls; + { + int rtn; + ++#ifdef USE_ICONV ++ if (inls->iconv_d && inls->unls_cs2uni==NULL && ++ inls->unls_uni2cs==NULL) { ++ /* ++ * we const-cast since we're sure iconv won't change ++ * the string itself ++ */ ++ char *string_ptr = (char *)string; ++ size_t string_len = strlen(string); ++ ++ /* ++ * iconv has no way of finding out the required size ++ * in the target ++ */ ++ ++ char *tmp, *tmp_ptr; ++ /* we assume that the maximum length is 2 * jlen */ ++ size_t tmp_len = (size_t)jlen * 2 + 1; ++ tmp = e_malloc(tmp_len); ++ tmp_ptr = tmp; ++ ++ iconv(inls->iconv_d, NULL, NULL, NULL, NULL); ++ iconv(inls->iconv_d, &string_ptr, &string_len, &tmp_ptr, ++ &tmp_len); ++ ++ /* ++ * iconv advanced the tmp pointer with as many chars ++ * as it has written to it, so we add up the delta ++ */ ++ rtn = (tmp_ptr - tmp); ++ ++ free(tmp); ++ } else { ++ rtn = strlen(string) << 1; ++ } ++#else + rtn = strlen(string) << 1; ++#endif + + /* + * We do clamp the maximum length of a Joliet string to be the +@@ -481,16 +604,33 @@ joliet_compare_paths(r, l) + /* compare the Unicode names */ + + while (*rpnt && *lpnt) { ++#ifdef USE_ICONV ++ size_t ri, li; ++ ++ ri = convert_to_unicode(rtmp, 2, rpnt, rinls); ++ li = convert_to_unicode(ltmp, 2, lpnt, linls); ++ rpnt += ri; ++ lpnt += li; ++ if(!ri && !li) ++ return (0); ++ else if(ri && !li) ++ return (1); ++ else if(!ri && li) ++ return (-1); ++#else + convert_to_unicode(rtmp, 2, rpnt, rinls); + convert_to_unicode(ltmp, 2, lpnt, linls); ++#endif + + if (a_to_u_2_byte(rtmp) < a_to_u_2_byte(ltmp)) + return (-1); + if (a_to_u_2_byte(rtmp) > a_to_u_2_byte(ltmp)) + return (1); + ++#ifndef USE_ICONV + rpnt++; + lpnt++; ++#endif + } + + if (*rpnt) +@@ -564,10 +704,10 @@ generate_joliet_path_tables() + } + #ifdef APPLE_HYB + if (USE_MAC_NAME(de)) +- namelen = joliet_strlen(de->hfs_ent->name); ++ namelen = joliet_strlen(de->hfs_ent->name, hfs_inls); + else + #endif /* APPLE_HYB */ +- namelen = joliet_strlen(de->name); ++ namelen = joliet_strlen(de->name, in_nls); + + if (dpnt == root) { + jpath_table_l[jpath_table_index] = 1; +@@ -712,10 +852,10 @@ generate_one_joliet_directory(dpnt, outf + #ifdef APPLE_HYB + /* Use the HFS name if it exists */ + if (USE_MAC_NAME(s_entry1)) +- cvt_len = joliet_strlen(s_entry1->hfs_ent->name); ++ cvt_len = joliet_strlen(s_entry1->hfs_ent->name, hfs_inls); + else + #endif /* APPLE_HYB */ +- cvt_len = joliet_strlen(s_entry1->name); ++ cvt_len = joliet_strlen(s_entry1->name, in_nls); + + /* + * Fix the record length +@@ -849,12 +989,12 @@ joliet_sort_n_finish(this_dir) + if (USE_MAC_NAME(s_entry)) + /* Use the HFS name if it exists */ + jpath_table_size += +- joliet_strlen(s_entry->hfs_ent->name) + ++ joliet_strlen(s_entry->hfs_ent->name, hfs_inls) + + offsetof(struct iso_path_table, name[0]); + else + #endif /* APPLE_HYB */ + jpath_table_size += +- joliet_strlen(s_entry->name) + ++ joliet_strlen(s_entry->name, in_nls) + + offsetof(struct iso_path_table, name[0]); + if (jpath_table_size & 1) { + jpath_table_size++; +@@ -876,13 +1016,13 @@ joliet_sort_n_finish(this_dir) + /* Use the HFS name if it exists */ + s_entry->jreclen = + offsetof(struct iso_directory_record, name[0]) +- + joliet_strlen(s_entry->hfs_ent->name) ++ + joliet_strlen(s_entry->hfs_ent->name, hfs_inls) + + 1; + else + #endif /* APPLE_HYB */ + s_entry->jreclen = + offsetof(struct iso_directory_record, name[0]) +- + joliet_strlen(s_entry->name) ++ + joliet_strlen(s_entry->name, in_nls) + + 1; + } else { + /* +@@ -1024,6 +1164,9 @@ joliet_compare_dirs(rr, ll) + #endif + + while (*rpnt && *lpnt) { ++#ifdef USE_ICONV ++ size_t ri, li; ++#endif + if (*rpnt == ';' && *lpnt != ';') + return (-1); + if (*rpnt != ';' && *lpnt == ';') +@@ -1044,16 +1187,32 @@ joliet_compare_dirs(rr, ll) + return (1); + #endif + ++#ifdef USE_ICONV ++ ++ ri = convert_to_unicode(rtmp, 2, rpnt, rinls); ++ li = convert_to_unicode(ltmp, 2, lpnt, linls); ++ rpnt += ri; ++ lpnt += li; ++ if(!ri && !li) ++ return (0); ++ else if(ri && !li) ++ return (1); ++ else if(!ri && li) ++ return (-1); ++#else + convert_to_unicode(rtmp, 2, rpnt, rinls); + convert_to_unicode(ltmp, 2, lpnt, linls); ++#endif + + if (a_to_u_2_byte(rtmp) < a_to_u_2_byte(ltmp)) + return (-1); + if (a_to_u_2_byte(rtmp) > a_to_u_2_byte(ltmp)) + return (1); + ++#ifndef USE_ICONV + rpnt++; + lpnt++; ++#endif + } + if (*rpnt) + return (1); +Only in cdrtools-2.01.01/mkisofs: joliet.c.orig +diff -urp cdrtools-2.01.01.orig/mkisofs/mkisofs.c cdrtools-2.01.01/mkisofs/mkisofs.c +--- cdrtools-2.01.01.orig/mkisofs/mkisofs.c 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/mkisofs/mkisofs.c 2006-10-28 11:24:22.000000000 +0200 +@@ -64,6 +64,11 @@ static char sccsid[] = + #endif + #endif /* no_more_needed */ + ++#ifdef USE_ICONV ++#include <locale.h> ++#include <langinfo.h> ++#endif ++ + struct directory *root = NULL; + int path_ind; + +@@ -297,6 +302,10 @@ UInt32_t null_inodes = NULL_INO_MAX; + BOOL correct_inodes = TRUE; /* TRUE: add a "correct inodes" fingerprint */ + BOOL rrip112 = TRUE; /* TRUE: create Rock Ridge V 1.12 */ + ++#ifdef USE_ICONV ++int iconv_possible; ++#endif ++ + struct unls_table *in_nls = NULL; /* input UNICODE conversion table */ + struct unls_table *out_nls = NULL; /* output UNICODE conversion table */ + #ifdef APPLE_HYB +@@ -1969,6 +1978,37 @@ args_ok: + init_unls_file(hfs_ocharset); + #endif /* APPLE_HYB */ + ++#ifdef USE_ICONV ++ iconv_possible = !(iso9660_level >= 4 || ((ocharset && ++ strcmp(ocharset, icharset ? icharset : "")) && ++ use_RockRidge) || apple_ext || apple_hyb); ++ ++ setlocale(LC_CTYPE, ""); ++ ++ if (icharset == NULL && iconv_possible) { ++ char *charset = nl_langinfo(CODESET); ++ /* set to detected value but only if it is not pure US-ASCII */ ++ if(strcmp(charset, "ANSI_X3.4-1968") != 0) ++ icharset = charset; ++ ++ if(icharset && verbose > 0) ++ fprintf(stderr, "INFO:\t" ++ "%s character encoding detected by locale settings." ++ "\n\tAssuming %s encoded filenames on source " ++ "filesystem,\n" ++ "\tuse -input-charset to override.\n", ++ icharset, icharset); ++ } ++ ++ if(iconv_possible) { ++ /* ++ * don't care if initialization fails ++ */ ++ init_unls_iconv(icharset); ++ init_unls_iconv(ocharset); ++ } ++#endif ++ + if (icharset == NULL) { + #if (defined(__CYGWIN32__) || defined(__CYGWIN__) || defined(__DJGPP__)) && !defined(IS_CYGWIN_1) + in_nls = load_unls("cp437"); +@@ -1996,6 +2036,12 @@ args_ok: + if (in_nls == NULL || out_nls == NULL) { /* Unknown charset specified */ + fprintf(stderr, "Unknown charset\nKnown charsets are:\n"); + list_unls(); /* List all known charset names */ ++#ifdef USE_ICONV ++ if(!iconv_possible) ++ fprintf(stderr, "Iconv charsets cannot be used with " ++ "Apple extension, HFS, ISO9660 version 2 or\n" ++ "Rock Ridge.\n"); ++#endif + exit(1); + } + +Only in cdrtools-2.01.01/mkisofs: mkisofs.c.orig +diff -urp cdrtools-2.01.01.orig/mkisofs/mkisofs.h cdrtools-2.01.01/mkisofs/mkisofs.h +--- cdrtools-2.01.01.orig/mkisofs/mkisofs.h 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/mkisofs/mkisofs.h 2006-10-28 11:24:22.000000000 +0200 +@@ -513,9 +513,14 @@ extern int get_session_start __PR((int * + + /* joliet.c */ + #ifdef UDF ++# ifdef USE_ICONV ++extern size_t convert_to_unicode __PR((unsigned char *buffer, ++ int size, char *source, struct unls_table *inls)); ++# else + extern void convert_to_unicode __PR((unsigned char *buffer, + int size, char *source, struct unls_table *inls)); +-extern int joliet_strlen __PR((const char *string)); ++# endif ++extern int joliet_strlen __PR((const char *string, struct unls_table *inls)); + #endif + extern unsigned char conv_charset __PR((unsigned char, struct unls_table *, + struct unls_table *)); +Only in cdrtools-2.01.01/mkisofs: mkisofs.h.orig +diff -urp cdrtools-2.01.01.orig/mkisofs/udf.c cdrtools-2.01.01/mkisofs/udf.c +--- cdrtools-2.01.01.orig/mkisofs/udf.c 2006-10-28 11:24:03.000000000 +0200 ++++ cdrtools-2.01.01/mkisofs/udf.c 2006-10-28 11:24:22.000000000 +0200 +@@ -439,7 +439,7 @@ set_ostaunicode(dst, dst_size, src) + int i; + int expanded_length; + +- expanded_length = joliet_strlen(src); ++ expanded_length = joliet_strlen(src, in_nls); + if (expanded_length > 1024) + expanded_length = 1024; + if (expanded_length > (dst_size-1)*2) +Only in cdrtools-2.01.01/mkisofs: udf.c.orig |