1 |
commit: 4755d711c314606043af7c55c0675d89d0c4b618 |
2 |
Author: Andrew Savchenko <bircoph <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Jul 7 18:47:42 2016 +0000 |
4 |
Commit: Andrew Savchenko <bircoph <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jul 7 18:54:52 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4755d711 |
7 |
|
8 |
app-cdr/xcdroast: fix for the bug 345337 |
9 |
|
10 |
- Replace suid helper permissions from 4755 to 4711 as suggested by |
11 |
Faustus in comment 1. |
12 |
- Port ebuild to EAPI=6. |
13 |
- Apply upstream patch for progress bar with modern cdrtools. |
14 |
|
15 |
Package-Manager: portage-2.3.0 |
16 |
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org> |
17 |
|
18 |
.../xcdroast/files/fix_cddb_hidden_tracks.patch | 4 +- |
19 |
app-cdr/xcdroast/files/io_compile.patch | 4 +- |
20 |
app-cdr/xcdroast/files/io_progressbar_fix.patch | 39 +++++++++++ |
21 |
app-cdr/xcdroast/files/suid-perms.patch | 36 ++++++++++ |
22 |
app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild | 78 ++++++++++++++++++++++ |
23 |
5 files changed, 157 insertions(+), 4 deletions(-) |
24 |
|
25 |
diff --git a/app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch b/app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch |
26 |
index d2e15ef..ca532f2 100644 |
27 |
--- a/app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch |
28 |
+++ b/app-cdr/xcdroast/files/fix_cddb_hidden_tracks.patch |
29 |
@@ -1,5 +1,5 @@ |
30 |
---- src/io.c |
31 |
-+++ src/io.c |
32 |
+--- a/src/io.c |
33 |
++++ b/src/io.c |
34 |
@@ -2665,6 +2665,8 @@ |
35 |
g_error("Unexpected output in cdda2wav toc-output\n"); |
36 |
} |
37 |
|
38 |
diff --git a/app-cdr/xcdroast/files/io_compile.patch b/app-cdr/xcdroast/files/io_compile.patch |
39 |
index 7285bd3..339523d 100644 |
40 |
--- a/app-cdr/xcdroast/files/io_compile.patch |
41 |
+++ b/app-cdr/xcdroast/files/io_compile.patch |
42 |
@@ -1,5 +1,5 @@ |
43 |
---- src/io.c.org 2009-02-24 09:38:27.000000000 +0100 |
44 |
-+++ src/io.c 2009-02-24 09:45:18.000000000 +0100 |
45 |
+--- a/src/io.c.org 2009-02-24 09:38:27.000000000 +0100 |
46 |
++++ b/src/io.c 2009-02-24 09:45:18.000000000 +0100 |
47 |
@@ -1903,7 +1903,8 @@ |
48 |
} |
49 |
|
50 |
|
51 |
diff --git a/app-cdr/xcdroast/files/io_progressbar_fix.patch b/app-cdr/xcdroast/files/io_progressbar_fix.patch |
52 |
new file mode 100644 |
53 |
index 0000000..745af45 |
54 |
--- /dev/null |
55 |
+++ b/app-cdr/xcdroast/files/io_progressbar_fix.patch |
56 |
@@ -0,0 +1,39 @@ |
57 |
+--- a/src/io.c.last So. Jan 24 19:18:45 2010 |
58 |
++++ b/src/io.c Fr. Jul 16 10:59:32 2010 |
59 |
+@@ -3202,6 +3202,8 @@ |
60 |
+ close(fd2[1]); |
61 |
+ } |
62 |
+ |
63 |
++ g_setenv("LC_ALL", "C", TRUE); |
64 |
++ |
65 |
+ /* startup child */ |
66 |
+ if (execl("/bin/sh", "sh", "-c", cmd ,(void *)NULL) < 0) { |
67 |
+ g_error("execl error\n"); |
68 |
+@@ -3402,6 +3404,8 @@ |
69 |
+ close(fd3[1]); |
70 |
+ } |
71 |
+ |
72 |
++ g_setenv("LC_ALL", "C", TRUE); |
73 |
++ |
74 |
+ /* startup child */ |
75 |
+ if (execv(callpath,arglist) < 0) { |
76 |
+ g_error("execv error\n"); |
77 |
+@@ -3506,6 +3510,8 @@ |
78 |
+ close(pipefd[1]); |
79 |
+ } |
80 |
+ |
81 |
++ g_setenv("LC_ALL", "C", TRUE); |
82 |
++ |
83 |
+ /* startup first child */ |
84 |
+ if (execv(callpath,arglist) < 0) { |
85 |
+ g_error("execv error\n"); |
86 |
+@@ -3568,6 +3574,8 @@ |
87 |
+ close(fd3[1]); |
88 |
+ } |
89 |
+ |
90 |
++ g_setenv("LC_ALL", "C", TRUE); |
91 |
++ |
92 |
+ /* startup second child */ |
93 |
+ if (execv(callpath2,arglist2) < 0) { |
94 |
+ g_error("execv error\n"); |
95 |
+ |
96 |
|
97 |
diff --git a/app-cdr/xcdroast/files/suid-perms.patch b/app-cdr/xcdroast/files/suid-perms.patch |
98 |
new file mode 100644 |
99 |
index 0000000..1c804bc |
100 |
--- /dev/null |
101 |
+++ b/app-cdr/xcdroast/files/suid-perms.patch |
102 |
@@ -0,0 +1,36 @@ |
103 |
+diff -Naurd xcdroast-0.98alpha16.orig/doc/README.nonroot xcdroast-0.98alpha16/doc/README.nonroot |
104 |
+--- xcdroast-0.98alpha16.orig/doc/README.nonroot 2003-10-27 23:37:40.000000000 +0300 |
105 |
++++ xcdroast-0.98alpha16/doc/README.nonroot 2016-07-07 21:32:35.006587826 +0300 |
106 |
+@@ -72,7 +72,7 @@ |
107 |
+ Please change now to the corresponding directory and enter: |
108 |
+ |
109 |
+ chown root xcdrwrap |
110 |
+- chmod 4755 xcdrwrap |
111 |
++ chmod 4711 xcdrwrap |
112 |
+ |
113 |
+ |
114 |
+ Usage of the non-root-mode |
115 |
+diff -Naurd xcdroast-0.98alpha16.orig/src/init.c xcdroast-0.98alpha16/src/init.c |
116 |
+--- xcdroast-0.98alpha16.orig/src/init.c 2008-08-20 20:20:23.000000000 +0400 |
117 |
++++ xcdroast-0.98alpha16/src/init.c 2016-07-07 21:32:35.006587826 +0300 |
118 |
+@@ -670,7 +670,7 @@ |
119 |
+ |
120 |
+ /* check file mode of wrapper */ |
121 |
+ if (stat(tmp,&buf) == 0) { |
122 |
+- if (buf.st_mode != 0104755) { |
123 |
++ if (buf.st_mode != 0104711) { |
124 |
+ dodebug(3,"Note: %s wrong modes set (0%o)\n", tmp, buf.st_mode); |
125 |
+ nofail = 0; |
126 |
+ } |
127 |
+diff -Naurd xcdroast-0.98alpha16.orig/src/io.c xcdroast-0.98alpha16/src/io.c |
128 |
+--- xcdroast-0.98alpha16.orig/src/io.c 2008-08-21 17:11:40.000000000 +0400 |
129 |
++++ xcdroast-0.98alpha16/src/io.c 2016-07-07 21:32:35.003587931 +0300 |
130 |
+@@ -10380,7 +10380,7 @@ |
131 |
+ strcat(ret,tmp); |
132 |
+ #endif |
133 |
+ /* old nonroot mode - 2755 */ |
134 |
+- g_snprintf(tmp,MAXLINE,"%s 4755 %s\n", cmd_chmod, bin); |
135 |
++ g_snprintf(tmp,MAXLINE,"%s 4711 %s\n", cmd_chmod, bin); |
136 |
+ strcat(ret,tmp); |
137 |
+ |
138 |
+ |
139 |
|
140 |
diff --git a/app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild b/app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild |
141 |
new file mode 100644 |
142 |
index 0000000..d2afede |
143 |
--- /dev/null |
144 |
+++ b/app-cdr/xcdroast/xcdroast-0.98_alpha16-r2.ebuild |
145 |
@@ -0,0 +1,78 @@ |
146 |
+# Copyright 1999-2016 Gentoo Foundation |
147 |
+# Distributed under the terms of the GNU General Public License v2 |
148 |
+# $Id$ |
149 |
+ |
150 |
+EAPI=6 |
151 |
+inherit gnome2-utils |
152 |
+ |
153 |
+DESCRIPTION="Lightweight cdrtools front-end for CD and DVD writing" |
154 |
+HOMEPAGE="http://www.xcdroast.org/" |
155 |
+SRC_URI="mirror://sourceforge/xcdroast/${P/_/}.tar.gz" |
156 |
+ |
157 |
+LICENSE="GPL-2" |
158 |
+SLOT="0" |
159 |
+KEYWORDS="~amd64 ~ppc ~sparc ~x86" |
160 |
+IUSE="nls" |
161 |
+ |
162 |
+RDEPEND=">=x11-libs/gtk+-2:2 |
163 |
+ app-cdr/cdrtools" |
164 |
+DEPEND="${RDEPEND} |
165 |
+ sys-devel/gettext |
166 |
+ virtual/pkgconfig" |
167 |
+ |
168 |
+S=${WORKDIR}/${P/_/} |
169 |
+ |
170 |
+PATCHES=( |
171 |
+ "${FILESDIR}"/cdda2wav_version.patch |
172 |
+ "${FILESDIR}"/fix_cddb_hidden_tracks.patch |
173 |
+ "${FILESDIR}"/io_compile.patch |
174 |
+ "${FILESDIR}"/io_progressbar_fix.patch |
175 |
+ "${FILESDIR}"/suid-perms.patch |
176 |
+) |
177 |
+ |
178 |
+DOCS=( AUTHORS ChangeLog README doc ) |
179 |
+src_prepare() { |
180 |
+ default |
181 |
+ |
182 |
+ # fix Norwegian locales |
183 |
+ mv po/{no,nb}.po || die |
184 |
+ mv po/{no,nb}.gmo || die |
185 |
+ sed -i -e 's/no/nb/' po/LINGUAS || die |
186 |
+} |
187 |
+ |
188 |
+src_configure() { |
189 |
+ econf \ |
190 |
+ $(use_enable nls) \ |
191 |
+ --enable-gtk2 \ |
192 |
+ --disable-dependency-tracking \ |
193 |
+ --mandir=/usr/share/man \ |
194 |
+ --sysconfdir=/etc |
195 |
+} |
196 |
+ |
197 |
+src_compile() { |
198 |
+ emake PREFIX=/usr |
199 |
+} |
200 |
+ |
201 |
+src_install() { |
202 |
+ emake PREFIX=/usr DESTDIR="${D}" install |
203 |
+ |
204 |
+ insinto /usr/share/doc/${PF}/manual |
205 |
+ doins doc/manual/xcdroast-manual.pdf |
206 |
+ |
207 |
+ insinto /usr/share/icons/hicolor/48x48/apps |
208 |
+ newins xpms/xcdricon.xpm xcdroast.xpm |
209 |
+ |
210 |
+ make_desktop_entry xcdroast "X-CD-Roast" xcdroast "AudioVideo;DiscBurning" |
211 |
+} |
212 |
+ |
213 |
+pkg_preinst() { |
214 |
+ gnome2_icon_savelist |
215 |
+} |
216 |
+ |
217 |
+pkg_postinst() { |
218 |
+ gnome2_icon_cache_update |
219 |
+} |
220 |
+ |
221 |
+pkg_postrm() { |
222 |
+ gnome2_icon_cache_update |
223 |
+} |