diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2008-06-10 18:11:53 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2008-06-10 18:11:53 +0000 |
commit | 9b409e92f9b8c116802d09f3c629d4506eb8c4cb (patch) | |
tree | af8fd9a1c3a6339b05882e05a70645bea9cb50d8 /app-cdr/cdrdao | |
parent | Update the RDEPEND per bug #225759. (diff) | |
download | historical-9b409e92f9b8c116802d09f3c629d4506eb8c4cb.tar.gz historical-9b409e92f9b8c116802d09f3c629d4506eb8c4cb.tar.bz2 historical-9b409e92f9b8c116802d09f3c629d4506eb8c4cb.zip |
Use O_EXCL to avoid HAL from polling at burning time wrt #193603, thanks to Sebastian for reporting.
Package-Manager: portage-2.1.5.4
Diffstat (limited to 'app-cdr/cdrdao')
-rw-r--r-- | app-cdr/cdrdao/ChangeLog | 9 | ||||
-rw-r--r-- | app-cdr/cdrdao/Manifest | 4 | ||||
-rw-r--r-- | app-cdr/cdrdao/cdrdao-1.2.2-r2.ebuild | 75 | ||||
-rw-r--r-- | app-cdr/cdrdao/files/cdrdao-1.2.2-excl.patch | 70 |
4 files changed, 156 insertions, 2 deletions
diff --git a/app-cdr/cdrdao/ChangeLog b/app-cdr/cdrdao/ChangeLog index 73884b8e64c8..5bc8a144a448 100644 --- a/app-cdr/cdrdao/ChangeLog +++ b/app-cdr/cdrdao/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-cdr/cdrdao # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrdao/ChangeLog,v 1.109 2008/05/05 21:47:52 drac Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrdao/ChangeLog,v 1.110 2008/06/10 18:11:52 drac Exp $ + +*cdrdao-1.2.2-r2 (10 Jun 2008) + + 10 Jun 2008; Samuli Suominen <drac@gentoo.org> + +files/cdrdao-1.2.2-excl.patch, +cdrdao-1.2.2-r2.ebuild: + Use O_EXCL to avoid HAL from polling at burning time wrt #193603, thanks + to Sebastian for reporting. 05 May 2008; Samuli Suominen <drac@gentoo.org> cdrdao-1.2.2-r1.ebuild: Rename USE gnome to USE gcdmaster since it's pulling a lot of -mm diff --git a/app-cdr/cdrdao/Manifest b/app-cdr/cdrdao/Manifest index 85b01969b4de..f9e213aeac61 100644 --- a/app-cdr/cdrdao/Manifest +++ b/app-cdr/cdrdao/Manifest @@ -1,5 +1,6 @@ AUX cdrdao-1.2.0-gcc4.patch 869 RMD160 4b8baf7677640ff035705eef04bc0df27e0c07eb SHA1 d70d532a6e958744f5b98efc8ba156e895c75f55 SHA256 2b87b7c9b971d2a253caa76ae89b061c35394aacd004e5c0199c1a16fd821215 AUX cdrdao-1.2.1-gcc41.patch 421 RMD160 374d62319984001921f03d89ab22c736f874190e SHA1 702ba18a2d62c4166af051364ef46a933d3dec7d SHA256 bb546f4a8060a188afb346af0f34894d03afc29d4874f3b561a17211ffd4dbd5 +AUX cdrdao-1.2.2-excl.patch 2476 RMD160 71e1b06eea119141910798a3c44dddc4a0b6436c SHA1 285e1ebc2f571851c192da758a78b7614a7a3983 SHA256 c0790bfd26336427448bdd50026aad95c119a1ee23ab8c84750fba442ba8bff3 AUX cdrdao-1.2.2-gcc43.patch 2450 RMD160 b59c8bdb0c4590cd21cefa4f2bdac059e1267122 SHA1 4dd068df0a6978e6dae8395dd07ba88b76455301 SHA256 695bc5da74689c6cc6269d73bc158835810b05b452fc55afd56e48627d596f16 AUX cdrdao-1.2.2-nonlinux.patch 380 RMD160 d58247e7faeb12b3bf416845f41aa9a77aa6d1ef SHA1 955a6e56e3264e773241d89ac0fd603ba5bcff31 SHA256 e15d0d3302272e958d8d5df705cd4146653aff2a55b5b582f04e70814cab7cd3 AUX cdrdao-1.2.2-use-new-sigc++-API.patch 481 RMD160 48f39ef4b6f9db81a00b6fbbe6b44c0f0cd49a5b SHA1 092bd7a492026d5dd47e9c2ff9e2b2acf3f8a3bc SHA256 3d0159dfa815c92f82d16407977fe875f005224d28ccc00238a73df2474bba63 @@ -9,6 +10,7 @@ DIST cdrdao-1.2.2.tar.bz2 1408344 RMD160 c537c535a4106655f89f7cfa5895ffcb5b9464e EBUILD cdrdao-1.2.1-r1.ebuild 1673 RMD160 d7c17430f7230b2f5e12af913c82ad9d1a48a38c SHA1 0b48cac9d5907cec6f179cd82b953d4ffed718dc SHA256 d3452eb637cfcbb938819589ab5480e509d83877c7d14accc14e451b986107d6 EBUILD cdrdao-1.2.1.ebuild 1551 RMD160 267398a684c3acfd13a90ee5a676c3d6fcc060a2 SHA1 836385c495296769e1475eff142aa2240e53cce2 SHA256 8c908639ea692c83fad34671ee7d13355561290a86c4b09f0bde33a041423ef3 EBUILD cdrdao-1.2.2-r1.ebuild 1969 RMD160 cb3b14b1b580eec0e91761f1e6371c960a6992ce SHA1 dbc48aee315deae3d03f0a830bf679422cac0541 SHA256 0d9c7808405e5f7feb8ae5e91ad7e9ec05ae9f1a561c155fa61ae550f13fe177 +EBUILD cdrdao-1.2.2-r2.ebuild 2062 RMD160 c9def59e5f53d8e80f0c691526db453dd31151e7 SHA1 160f5b17a316f99e456d17b246bd96b5d19e9ba3 SHA256 94e78e6100caff9df59d81447619ca8f90482224d3f64721b3f38919f5dc8b0f EBUILD cdrdao-1.2.2.ebuild 1768 RMD160 c09f8368a94aad488b1a99d27b01618f720e0c9d SHA1 1781d9936192c1f6a15e8cda2e9c9e387e2c5978 SHA256 a2c5d0972a78a72746f84010b8035ad1317c82c3a674e3af5011e9114126bb86 -MISC ChangeLog 14822 RMD160 fb7cf917bbb56915576f751850435e9e6b8f1204 SHA1 7075218d8415e94b4cee673d41b8607dfa1e47c7 SHA256 313fbb0598e37543e1f535cd328316d25b24875d510111f659c712953764d752 +MISC ChangeLog 15068 RMD160 a97467ea5e15fce9889b11ca671fc0aa5b883b8e SHA1 8ec31c4744fccf963748b6b67316a0f427655b03 SHA256 ec28f0212b72ff11a046d059a54ca073f6625b8e89ba40de898f6320eea85d06 MISC metadata.xml 319 RMD160 54559b717de30245b4e3369d398d0d4b8786cb94 SHA1 37ad6871b8179ee4180b374c9a4693253aa0bdc0 SHA256 449cdb691234e9d248959657370e866690fa998b7652124e8af2065447b042ea diff --git a/app-cdr/cdrdao/cdrdao-1.2.2-r2.ebuild b/app-cdr/cdrdao/cdrdao-1.2.2-r2.ebuild new file mode 100644 index 000000000000..9c68c082e8a1 --- /dev/null +++ b/app-cdr/cdrdao/cdrdao-1.2.2-r2.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrdao/cdrdao-1.2.2-r2.ebuild,v 1.1 2008/06/10 18:11:52 drac Exp $ + +inherit eutils flag-o-matic eutils + +DESCRIPTION="Burn CDs in disk-at-once mode -- with optional GUI frontend" +HOMEPAGE="http://cdrdao.sourceforge.net/" +SRC_URI="mirror://sourceforge/cdrdao/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="gcdmaster debug encode pccts" +RESTRICT="strip" + +RDEPEND="virtual/cdrtools + encode? ( >=media-sound/lame-3.90 ) + gcdmaster? ( >=dev-cpp/gtkmm-2.4 + >=dev-cpp/libgnomemm-2.6 + >=dev-cpp/libgnomecanvasmm-2.6 + >=dev-cpp/gconfmm-2.6 + >=dev-cpp/libgnomeuimm-2.6 + media-libs/libao )" +DEPEND="${RDEPEND} + pccts? ( >=dev-util/pccts-1.33.24-r1 )" + +src_unpack() { + unpack ${A} + cd "${S}" + + # Use O_EXCL to avoid conflict with HAL, bug 193603. + epatch "${FILESDIR}"/${P}-excl.patch + + # fixes bug #212530 + epatch "${FILESDIR}"/${PN}-1.2.2-use-new-sigc++-API.patch + + # FreeBSD needs this patch + # I think the correct define should be linux, but this will maintain + # the status quo for the time being. + # Upstream bug #1596097 + epatch "${FILESDIR}"/${P}-nonlinux.patch + + # GCC 4.3 patch. Should be fixed in next version. + epatch "${FILESDIR}"/${P}-gcc43.patch + + # Display better SCSI messages (advise from Bug 43003) + cd scsilib/include + sed -i -e 's:HAVE_SCANSTACK:NO_FRIGGING_SCANSTACK:g' xmconfig.h + sed -i -e 's:HAVE_SCANSTACK:NO_FRIGGING_SCANSTACK:g' mconfig.h +} + +src_compile() { + # A few CFLAGS do not work see bug #99998 + strip-flags + append-flags "-fno-inline" + + econf \ + $(use_enable debug) \ + $(use_with gcdmaster xdao) \ + $(use_with encode lame) \ + $(use_with pccts pcctsbin /usr/bin) \ + $(use_with pccts pcctsinc /usr/include/pccts) \ + --disable-dependency-tracking || die "configure failed" + + make || die "could not compile" +} + +src_install() { + einstall || die "could not install" + + cd "${S}" + + dodoc AUTHORS CREDITS ChangeLog NEWS README* +} diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.2-excl.patch b/app-cdr/cdrdao/files/cdrdao-1.2.2-excl.patch new file mode 100644 index 000000000000..ffc6d99a40db --- /dev/null +++ b/app-cdr/cdrdao/files/cdrdao-1.2.2-excl.patch @@ -0,0 +1,70 @@ +diff -ur cdrdao-1.2.2.orig/dao/main.cc cdrdao-1.2.2/dao/main.cc +--- cdrdao-1.2.2.orig/dao/main.cc 2006-09-19 12:07:11.000000000 +0300 ++++ cdrdao-1.2.2/dao/main.cc 2008-06-10 20:57:36.000000000 +0300 +@@ -2027,6 +2027,8 @@ + } + + if (src == dst) { ++ // unlock src to make swaping possible ++ src->preventMediumRemoval(0); + message(0, "Please insert a recordable medium and hit enter."); + getc(stdin); + } +diff -ur cdrdao-1.2.2.orig/scsilib/libscg/scsi-linux-sg.c cdrdao-1.2.2/scsilib/libscg/scsi-linux-sg.c +--- cdrdao-1.2.2.orig/scsilib/libscg/scsi-linux-sg.c 2006-09-20 13:51:11.000000000 +0300 ++++ cdrdao-1.2.2/scsilib/libscg/scsi-linux-sg.c 2008-06-10 20:57:36.000000000 +0300 +@@ -225,6 +225,27 @@ + #endif + LOCAL void sg_settimeout __PR((int f, int timeout)); + ++int sg_open_excl __PR((char *device, int mode)); ++ ++int ++sg_open_excl(device, mode) ++ char *device; ++ int mode; ++{ ++ int f; ++ int i; ++ f = open(device, mode|O_EXCL); ++ for (i = 0; (i < 10) && (f == -1 && (errno == EACCES || errno == EBUSY)); i++) { ++ fprintf(stderr, "Error trying to open %s exclusively (%s)... retrying in 1 second.\n", device, strerror(errno)); ++ usleep(1000000 + 100000.0 * rand()/(RAND_MAX+1.0)); ++ f = open(device, mode|O_EXCL); ++ } ++ if (f == -1 && errno != EACCES && errno != EBUSY) { ++ f = open(device, mode); ++ } ++ return f; ++} ++ + /* + * Return version information for the low level SCSI transport code. + * This has been introduced to make it easier to trace down problems +@@ -407,7 +428,7 @@ + + for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) { + devname = globbuf.gl_pathv[i]; +- f = open(devname, O_RDWR | O_NONBLOCK); ++ f = sg_open_excl(devname, O_RDWR | O_NONBLOCK); + if (f < 0) { + /* + * Set up error string but let us clear it later +@@ -458,7 +479,7 @@ + for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) { + devname = globbuf.gl_pathv[i]; + +- f = open(devname, O_RDWR | O_NONBLOCK); ++ f = sg_open_excl(devname, O_RDWR | O_NONBLOCK); + if (f < 0) { + /* + * Set up error string but let us clear it later +@@ -511,7 +532,7 @@ + "Warning: Open by 'devname' is unintentional and not supported.\n"); + } + /* O_NONBLOCK is dangerous */ +- f = open(device, O_RDWR | O_NONBLOCK); ++ f = sg_open_excl(device, O_RDWR | O_NONBLOCK); + /* if (f < 0 && errno == ENOENT)*/ + /* goto openpg;*/ + |