commit: 4755d711c314606043af7c55c0675d89d0c4b618
Author: Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 7 18:47:42 2016 +0000
Commit: Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Thu Jul 7 18:54:52 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4755d711
app-cdr/xcdroast: fix for the bug 345337
- Replace suid helper permissions from 4755 to 4711 as suggested by
Faustus in comment 1.
- Port ebuild to EAPI=6.
- Apply upstream patch for progress bar with modern cdrtools.
Package-Manager: portage-2.3.0
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>
.../xcdroast/files/fix_cddb_hidden_tracks.patch | 4 +-
app-cdr/xcdroast/files/io_compile.patch | 4 +-
app-cdr/xcdroast/files/io_progressbar_fix.patch | 39 +++++++++++
app-cdr/xcdroast/files/suid-perms.patch | 36 ++++++++++
app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild | 78 ++++++++++++++++++++++
5 files changed, 157 insertions(+), 4 deletions(-)
diff --git a/app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch
b/app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch
index d2e15ef..ca532f2 100644
--- a/app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch
+++ b/app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch
@@ -1,5 +1,5 @@
---- src/io.c
-+++ src/io.c
+--- a/src/io.c
++++ b/src/io.c
@@ -2665,6 +2665,8 @@
g_error("Unexpected output in cdda2wav toc-output\n");
}
diff --git a/app-cdr/xcdroast/files/io_compile.patch
b/app-cdr/xcdroast/files/io_compile.patch
index 7285bd3..339523d 100644
--- a/app-cdr/xcdroast/files/io_compile.patch
+++ b/app-cdr/xcdroast/files/io_compile.patch
@@ -1,5 +1,5 @@
---- src/io.c.org 2009-02-24 09:38:27.000000000 +0100
-+++ src/io.c 2009-02-24 09:45:18.000000000 +0100
+--- a/src/io.c.org 2009-02-24 09:38:27.000000000 +0100
++++ b/src/io.c 2009-02-24 09:45:18.000000000 +0100
@@ -1903,7 +1903,8 @@
}
diff --git a/app-cdr/xcdroast/files/io_progressbar_fix.patch
b/app-cdr/xcdroast/files/io_progressbar_fix.patch
new file mode 100644
index 0000000..745af45
--- /dev/null
+++ b/app-cdr/xcdroast/files/io_progressbar_fix.patch
@@ -0,0 +1,39 @@
+--- a/src/io.c.last So. Jan 24 19:18:45 2010
++++ b/src/io.c Fr. Jul 16 10:59:32 2010
+@@ -3202,6 +3202,8 @@
+ close(fd2[1]);
+ }
+
++ g_setenv("LC_ALL", "C", TRUE);
++
+ /* startup child */
+ if (execl("/bin/sh", "sh", "-c", cmd ,(void *)NULL) < 0) {
+ g_error("execl error\n");
+@@ -3402,6 +3404,8 @@
+ close(fd3[1]);
+ }
+
++ g_setenv("LC_ALL", "C", TRUE);
++
+ /* startup child */
+ if (execv(callpath,arglist) < 0) {
+ g_error("execv error\n");
+@@ -3506,6 +3510,8 @@
+ close(pipefd[1]);
+ }
+
++ g_setenv("LC_ALL", "C", TRUE);
++
+ /* startup first child */
+ if (execv(callpath,arglist) < 0) {
+ g_error("execv error\n");
+@@ -3568,6 +3574,8 @@
+ close(fd3[1]);
+ }
+
++ g_setenv("LC_ALL", "C", TRUE);
++
+ /* startup second child */
+ if (execv(callpath2,arglist2) < 0) {
+ g_error("execv error\n");
+
diff --git a/app-cdr/xcdroast/files/suid-perms.patch
b/app-cdr/xcdroast/files/suid-perms.patch
new file mode 100644
index 0000000..1c804bc
--- /dev/null
+++ b/app-cdr/xcdroast/files/suid-perms.patch
@@ -0,0 +1,36 @@
+diff -Naurd xcdroast-0.98alpha16.orig/doc/README.nonroot
xcdroast-0.98alpha16/doc/README.nonroot
+--- xcdroast-0.98alpha16.orig/doc/README.nonroot 2003-10-27
23:37:40.000000000 +0300
++++ xcdroast-0.98alpha16/doc/README.nonroot 2016-07-07 21:32:35.006587826
+0300
+@@ -72,7 +72,7 @@
+ Please change now to the corresponding directory and enter:
+
+ chown root xcdrwrap
+- chmod 4755 xcdrwrap
++ chmod 4711 xcdrwrap
+
+
+ Usage of the non-root-mode
+diff -Naurd xcdroast-0.98alpha16.orig/src/init.c
xcdroast-0.98alpha16/src/init.c
+--- xcdroast-0.98alpha16.orig/src/init.c 2008-08-20 20:20:23.000000000
+0400
++++ xcdroast-0.98alpha16/src/init.c 2016-07-07 21:32:35.006587826 +0300
+@@ -670,7 +670,7 @@
+
+ /* check file mode of wrapper */
+ if (stat(tmp,&buf) == 0) {
+- if (buf.st_mode != 0104755) {
++ if (buf.st_mode != 0104711) {
+ dodebug(3,"Note: %s wrong modes set (0%o)\n", tmp,
buf.st_mode);
+ nofail = 0;
+ }
+diff -Naurd xcdroast-0.98alpha16.orig/src/io.c xcdroast-0.98alpha16/src/io.c
+--- xcdroast-0.98alpha16.orig/src/io.c 2008-08-21 17:11:40.000000000 +0400
++++ xcdroast-0.98alpha16/src/io.c 2016-07-07 21:32:35.003587931 +0300
+@@ -10380,7 +10380,7 @@
+ strcat(ret,tmp);
+ #endif
+ /* old nonroot mode - 2755 */
+- g_snprintf(tmp,MAXLINE,"%s 4755 %s\n", cmd_chmod, bin);
++ g_snprintf(tmp,MAXLINE,"%s 4711 %s\n", cmd_chmod, bin);
+ strcat(ret,tmp);
+
+
diff --git a/app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild
b/app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild
new file mode 100644
index 0000000..d2afede
--- /dev/null
+++ b/app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit gnome2-utils
+
+DESCRIPTION="Lightweight cdrtools front-end for CD and DVD writing"
+HOMEPAGE="http://www.xcdroast.org/"
+SRC_URI="mirror://sourceforge/xcdroast/${P/_/}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="nls"
+
+RDEPEND=">=x11-libs/gtk+-2:2
+ app-cdr/cdrtools"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${P/_/}
+
+PATCHES=(
+ "${FILESDIR}"/cdda2wav_version.patch
+ "${FILESDIR}"/fix_cddb_hidden_tracks.patch
+ "${FILESDIR}"/io_compile.patch
+ "${FILESDIR}"/io_progressbar_fix.patch
+ "${FILESDIR}"/suid-perms.patch
+)
+
+DOCS=( AUTHORS ChangeLog README doc )
+src_prepare() {
+ default
+
+ # fix Norwegian locales
+ mv po/{no,nb}.po || die
+ mv po/{no,nb}.gmo || die
+ sed -i -e 's/no/nb/' po/LINGUAS || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ --enable-gtk2 \
+ --disable-dependency-tracking \
+ --mandir=/usr/share/man \
+ --sysconfdir=/etc
+}
+
+src_compile() {
+ emake PREFIX=/usr
+}
+
+src_install() {
+ emake PREFIX=/usr DESTDIR="${D}" install
+
+ insinto /usr/share/doc/${PF}/manual
+ doins doc/manual/xcdroast-manual.pdf
+
+ insinto /usr/share/icons/hicolor/48x48/apps
+ newins xpms/xcdricon.xpm xcdroast.xpm
+
+ make_desktop_entry xcdroast "X-CD-Roast" xcdroast
"AudioVideo;DiscBurning"
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}