summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Savchenko <bircoph@gentoo.org>2016-07-07 21:47:42 +0300
committerAndrew Savchenko <bircoph@gentoo.org>2016-07-07 21:54:52 +0300
commit4755d711c314606043af7c55c0675d89d0c4b618 (patch)
tree58dbdf243b2bd01e76257f60a0201699e334dd1b
parentmedia-gfx/pornview: bump to EAPI 6, add maintainer-needed (diff)
downloadgentoo-4755d711c314606043af7c55c0675d89d0c4b618.tar.gz
gentoo-4755d711c314606043af7c55c0675d89d0c4b618.tar.bz2
gentoo-4755d711c314606043af7c55c0675d89d0c4b618.zip
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@gentoo.org>
-rw-r--r--app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch4
-rw-r--r--app-cdr/xcdroast/files/io_compile.patch4
-rw-r--r--app-cdr/xcdroast/files/io_progressbar_fix.patch39
-rw-r--r--app-cdr/xcdroast/files/suid-perms.patch36
-rw-r--r--app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild78
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 d2e15ef54c69..ca532f20d359 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 7285bd335df0..339523d42f75 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 000000000000..745af45d7e73
--- /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 000000000000..1c804bc1775c
--- /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 000000000000..d2afede02a23
--- /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
+}