From 4755d711c314606043af7c55c0675d89d0c4b618 Mon Sep 17 00:00:00 2001 From: Andrew Savchenko Date: Thu, 7 Jul 2016 21:47:42 +0300 Subject: 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 --- .../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(-) create mode 100644 app-cdr/xcdroast/files/io_progressbar_fix.patch create mode 100644 app-cdr/xcdroast/files/suid-perms.patch create mode 100644 app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild (limited to 'app-cdr/xcdroast') 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 +} -- cgit v1.2.3-65-gdbad