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
+}

Reply via email to