Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/mtools/files/, sys-fs/mtools/
Date: Mon, 26 Oct 2020 09:18:30
Message-Id: 1603703901.6bede4b47335b52eb82ef28a06f8e289a41344cd.polynomial-c@gentoo
1 commit: 6bede4b47335b52eb82ef28a06f8e289a41344cd
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Mon Oct 26 09:18:11 2020 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Mon Oct 26 09:18:21 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6bede4b4
7
8 sys-fs/mtools: Removed old
9
10 Package-Manager: Portage-3.0.8, Repoman-3.0.2
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 sys-fs/mtools/Manifest | 2 -
14 sys-fs/mtools/files/mtools-4.0.18-attr.patch | 51 --------
15 sys-fs/mtools/files/mtools-4.0.18-locking.patch | 163 ------------------------
16 sys-fs/mtools/files/mtools-4.0.18-memset.patch | 27 ----
17 sys-fs/mtools/mtools-4.0.18-r2.ebuild | 56 --------
18 sys-fs/mtools/mtools-4.0.23.ebuild | 54 --------
19 6 files changed, 353 deletions(-)
20
21 diff --git a/sys-fs/mtools/Manifest b/sys-fs/mtools/Manifest
22 index 2174b50f5a3..3b548a818c7 100644
23 --- a/sys-fs/mtools/Manifest
24 +++ b/sys-fs/mtools/Manifest
25 @@ -1,4 +1,2 @@
26 -DIST mtools-4.0.18.tar.bz2 420190 BLAKE2B 92fdf8b054287e3cb4eddb40c98f5ac4229a38473b633c25ab74a07a8a72d38c2767ae648a35cf0dac9dedfa2f7789afc4904a50e1328e2baa0a289d93b094fb SHA512 3981a4727aa4e2ec5c931201b236f52fcd1c9d55f888cb2fbdc5c4172402e2b229ede9a5005b972ffdad59bcb861e2fcc01404845e521116419079ae78239090
27 -DIST mtools-4.0.23.tar.bz2 418592 BLAKE2B 442f552087a5d53ef0ead6161cdad7997dc45a3e210c2cb442a8b2ba42866152f93e4a1f5b58df8d68316168374ea034b390bcf4c607ac3a1c477c4ec5e7842c SHA512 c8c48adedc3f3e4eeafead27ce80172c9cb9690b575618842001ed16aa0011dcd2bc517882ea4bf01a73810ba151aa4b86f8ce2f97d6e8a0177d09be71a6d1ed
28 DIST mtools-4.0.24.tar.bz2 418178 BLAKE2B 96ccbde0e5ed5e304c73c7faaeb495751c43ae37970e5c2329299e0f7bf90f3a810f4ca95faea10a00e5af110be579a3b083043314e980bb0128226caffb5608 SHA512 b74becc4f696315cfabc016d1746e744b43e366de73bf1bffeec4fbab1e4815967594de8acb4af01f89d36a925f93672efbac205b89540161bd53ab7edebcf04
29 DIST mtools-4.0.25.tar.bz2 421807 BLAKE2B 54b0de421d5de003c6dff9a524af2a37d7fe0fb88361e195b000b8c8637ed894ec01ca295ea71ed0df781e9503d609f5e21b987a79c7e9d2c2e0c7176d5eb825 SHA512 91b879de6b41bf9fd6d9282d846e21fe58dbcd3461d97d2d6cae752a309a5129091a0e6ffda5b28ef062c33970a1c0a43ff1cf19106232866bdbdb762c64a143
30
31 diff --git a/sys-fs/mtools/files/mtools-4.0.18-attr.patch b/sys-fs/mtools/files/mtools-4.0.18-attr.patch
32 deleted file mode 100644
33 index 3cd770be8bd..00000000000
34 --- a/sys-fs/mtools/files/mtools-4.0.18-attr.patch
35 +++ /dev/null
36 @@ -1,51 +0,0 @@
37 -From e8437f906ca86fd5b1cac20d240a0e114c5df7a9 Mon Sep 17 00:00:00 2001
38 -From: Mike Frysinger <vapier@g.o>
39 -Date: Thu, 9 Mar 2017 16:06:54 -0800
40 -Subject: [PATCH] fix unused attribute in func definition
41 -
42 -UNUSED is for wrapping variable decls, not for variables in a function
43 -definition. It will insert a semi-colon into the mix which makes clang
44 -upset:
45 -x86_64-cros-linux-gnu-clang -DHAVE_CONFIG_H -DSYSCONFDIR=\"/etc/mtools\" \
46 - -DCPU_x86_64 -DVENDOR_cros -DOS_linux_gnu -O2 -pipe -O2 -pipe \
47 - -march=x86-64 -msse3 -g -fno-exceptions -fno-unwind-tables \
48 - -fno-asynchronous-unwind-tables -clang-syntax -Wall \
49 - -fno-strict-aliasing -I. -I. -c mainloop.c
50 -mainloop.c:89:15: error: expected ')'
51 -int unix_loop(UNUSED(Stream_t *Stream), MainParam_t *mp, char *arg,
52 - ^
53 -./sysincludes.h:106:47: note: expanded from macro 'UNUSED'
54 - ^
55 -
56 -Arguably this should fail on gcc too, but it doesn't today.
57 -
58 -URL: https://crbug.com/644387
59 ----
60 - mainloop.c | 4 ++--
61 - 1 file changed, 2 insertions(+), 2 deletions(-)
62 -
63 -diff --git a/mainloop.c b/mainloop.c
64 -index f5f8349f1472..69af9a80c3e4 100644
65 ---- a/mainloop.c
66 -+++ b/mainloop.c
67 -@@ -86,7 +86,7 @@ static const char *fix_mcwd(char *ans)
68 - }
69 -
70 - int unix_dir_loop(Stream_t *Stream, MainParam_t *mp);
71 --int unix_loop(UNUSED(Stream_t *Stream), MainParam_t *mp, char *arg,
72 -+int unix_loop(Stream_t *Stream UNUSEDP, MainParam_t *mp, char *arg,
73 - int follow_dir_link);
74 -
75 - static int _unix_loop(Stream_t *Dir, MainParam_t *mp,
76 -@@ -95,7 +95,7 @@ static int _unix_loop(Stream_t *Dir, MainParam_t *mp,
77 - return unix_dir_loop(Dir, mp);
78 - }
79 -
80 --int unix_loop(UNUSED(Stream_t *Stream), MainParam_t *mp,
81 -+int unix_loop(Stream_t *Stream UNUSEDP, MainParam_t *mp,
82 - char *arg, int follow_dir_link)
83 - {
84 - int ret;
85 ---
86 -2.12.0
87 -
88
89 diff --git a/sys-fs/mtools/files/mtools-4.0.18-locking.patch b/sys-fs/mtools/files/mtools-4.0.18-locking.patch
90 deleted file mode 100644
91 index 3b53c73c645..00000000000
92 --- a/sys-fs/mtools/files/mtools-4.0.18-locking.patch
93 +++ /dev/null
94 @@ -1,163 +0,0 @@
95 -https://crbug.com/508713
96 -https://lists.gnu.org/archive/html/info-mtools/2016-11/msg00000.html
97 -
98 -From 04df65ed797e47da5b423c7f9aec99d82dfde400 Mon Sep 17 00:00:00 2001
99 -From: Mike Frysinger <vapier@××××××××.org>
100 -Date: Wed, 7 Sep 2016 12:33:42 -0400
101 -Subject: [PATCH] add support for retrying device locking
102 -
103 -When running syslinux's install phase, it will run a bunch of mtools
104 -commands in quick succession. If you're on a fast enough machine, it
105 -can often fail with errors like:
106 -plain floppy: device "/proc/2908/fd/3" busy (Resource temporarily unavailable):
107 -Cannot initialize 'S:'
108 -Bad target s:/ldlinux.sys
109 -syslinux: failed to create ldlinux.sys
110 -
111 -The issue is that after some of the mtools calls, the kernel notices
112 -that the fs image has changed, so it notifies userspace. This wakes
113 -up udev which grabs a lock on the device to rescan it for changes
114 -(e.g. updated fs metadata like UUID). The udev phase does not finish
115 -before syslinux fires off another mtools call which means mtools now
116 -fails with a locking error.
117 -
118 -You can recreate this with a simple test:
119 -- loop mount a fat fs image
120 -- open the loop device for writing
121 -- generate a mtools.conf pointing the file to /proc/$pid/fd/$fd
122 -- run mattrib && mcopy
123 -- see udev open/lock the loop device after mattrib runs to probe it
124 -- see mcopy fail because udev is still holding the lock
125 -
126 -To fix things, we teach mtools to retry its locking calls temporarily.
127 -If it still fails after a timeout, we abort like normal. We also make
128 -this behavior configurable by adding a new global timeout option.
129 ----
130 - config.c | 2 ++
131 - mtools.h | 1 +
132 - mtools.texi | 7 +++++++
133 - mtools.tmpl.5 | 4 ++++
134 - plain_io.c | 10 ++++++++++
135 - xdf_io.c | 11 +++++++++++
136 - 6 files changed, 35 insertions(+)
137 -
138 -diff --git a/config.c b/config.c
139 -index f08688399d1d..ea4178452f6a 100644
140 ---- a/config.c
141 -+++ b/config.c
142 -@@ -63,6 +63,7 @@ unsigned int mtools_no_vfat=0;
143 - unsigned int mtools_numeric_tail=1;
144 - unsigned int mtools_dotted_dir=0;
145 - unsigned int mtools_twenty_four_hour_clock=1;
146 -+unsigned int mtools_lock_timeout=30;
147 - unsigned int mtools_default_codepage=850;
148 - const char *mtools_date_string="yyyy-mm-dd";
149 - char *country_string=0;
150 -@@ -90,6 +91,7 @@ static switches_t global_switches[] = {
151 - (caddr_t) &mtools_twenty_four_hour_clock, T_UINT },
152 - { "MTOOLS_DATE_STRING",
153 - (caddr_t) &mtools_date_string, T_STRING },
154 -+ { "MTOOLS_LOCK_TIMEOUT", (caddr_t) &mtools_lock_timeout, T_UINT },
155 - { "DEFAULT_CODEPAGE", (caddr_t) &mtools_default_codepage, T_UINT }
156 - };
157 -
158 -diff --git a/mtools.h b/mtools.h
159 -index ef98e942ee2c..fa8c1bdc8a1b 100644
160 ---- a/mtools.h
161 -+++ b/mtools.h
162 -@@ -188,6 +188,7 @@ extern unsigned int mtools_ignore_short_case;
163 - extern unsigned int mtools_no_vfat;
164 - extern unsigned int mtools_numeric_tail;
165 - extern unsigned int mtools_dotted_dir;
166 -+extern unsigned int mtools_lock_timeout;
167 - extern unsigned int mtools_twenty_four_hour_clock;
168 - extern const char *mtools_date_string;
169 - extern unsigned int mtools_rate_0, mtools_rate_any;
170 -diff --git a/mtools.texi b/mtools.texi
171 -index 1085789c1cb6..1c7ad94d40f9 100644
172 ---- a/mtools.texi
173 -+++ b/mtools.texi
174 -@@ -658,6 +658,10 @@ DOSEMU image files.
175 - @vindex MTOOLS_FAT_COMPATIBILITY
176 - @vindex MTOOLS_LOWER_CASE
177 - @vindex MTOOLS_NO_VFAT
178 -+@vindex MTOOLS_DOTTED_DIR
179 -+@vindex MTOOLS_NAME_NUMERIC_TAIL
180 -+@vindex MTOOLS_TWENTY_FOUR_HOUR_CLOCK
181 -+@vindex MTOOLS_LOCK_TIMEOUT
182 - @cindex FreeDOS
183 -
184 - Global flags may be set to 1 or to 0.
185 -@@ -692,6 +696,9 @@ clash would have happened.
186 - @item MTOOLS_TWENTY_FOUR_HOUR_CLOCK
187 - If 1, uses the European notation for times (twenty four hour clock),
188 - else uses the UK/US notation (am/pm)
189 -+@item MTOOLS_LOCK_TIMEOUT
190 -+How long, in seconds, to wait for a locked device to become free.
191 -+Defaults to 30.
192 - @end table
193 -
194 - Example:
195 -diff --git a/mtools.tmpl.5 b/mtools.tmpl.5
196 -index 565fdd7513aa..8cdaaf2ba929 100644
197 ---- a/mtools.tmpl.5
198 -+++ b/mtools.tmpl.5
199 -@@ -106,6 +106,10 @@ clash would have happened.
200 - \&\fR\&\f(CWMTOOLS_TWENTY_FOUR_HOUR_CLOCK\fR\
201 - If 1, uses the European notation for times (twenty four hour clock),
202 - else uses the UK/US notation (am/pm)
203 -+.TP
204 -+\&\fR\&\f(CWMTOOLS_LOCK_TIMEOUT\fR\
205 -+How long, in seconds, to wait for a locked device to become free.
206 -+Defaults to 30.
207 - .PP
208 - Example:
209 - Inserting the following line into your configuration file instructs
210 -diff --git a/plain_io.c b/plain_io.c
211 -index c9d8418b8b4d..3dc035c9ce92 100644
212 ---- a/plain_io.c
213 -+++ b/plain_io.c
214 -@@ -632,7 +632,17 @@ APIRET rc;
215 - #ifndef __CYGWIN__
216 - #ifndef OS_mingw32msvc
217 - /* lock the device on writes */
218 -+ retry:
219 - if (locked && lock_dev(This->fd, mode == O_RDWR, dev)) {
220 -+ /* retry the lock in case another system process (e.g. udev)
221 -+ * has temporarily locked the device. this happens when you
222 -+ * run multiple mtools commands at once which triggers the
223 -+ * system to lock/rescan/unlock. */
224 -+ static int retries = 0;
225 -+ if (errno == EAGAIN && retries++ < mtools_lock_timeout * 10) {
226 -+ usleep(100);
227 -+ goto retry;
228 -+ }
229 - if(errmsg)
230 - #ifdef HAVE_SNPRINTF
231 - snprintf(errmsg,199,
232 -diff --git a/xdf_io.c b/xdf_io.c
233 -index f0db3b3d9f38..8f64f6348f0c 100644
234 ---- a/xdf_io.c
235 -+++ b/xdf_io.c
236 -@@ -638,7 +638,18 @@ Stream_t *XdfOpen(struct device *dev, char *name,
237 - goto exit_2;
238 -
239 - /* lock the device on writes */
240 -+ retry:
241 - if (lock_dev(This->fd, mode == O_RDWR, dev)) {
242 -+ /* retry the lock in case another system process (e.g. udev)
243 -+ * has temporarily locked the device. this happens when you
244 -+ * run multiple mtools commands at once which triggers the
245 -+ * system to lock/rescan/unlock. */
246 -+ static int retries = 0;
247 -+ if (errno == EAGAIN && retries++ < mtools_lock_timeout * 10) {
248 -+ usleep(100);
249 -+ goto retry;
250 -+ }
251 -+
252 - #ifdef HAVE_SNPRINTF
253 - snprintf(errmsg,199,"xdf floppy: device \"%s\" busy:",
254 - dev->name);
255 ---
256 -2.9.0
257 -
258
259 diff --git a/sys-fs/mtools/files/mtools-4.0.18-memset.patch b/sys-fs/mtools/files/mtools-4.0.18-memset.patch
260 deleted file mode 100644
261 index cf8d724406d..00000000000
262 --- a/sys-fs/mtools/files/mtools-4.0.18-memset.patch
263 +++ /dev/null
264 @@ -1,27 +0,0 @@
265 -From bafeabbc474a98314e8cecf42c8339e1da21fea2 Mon Sep 17 00:00:00 2001
266 -From: Mike Frysinger <vapier@g.o>
267 -Date: Thu, 9 Mar 2017 16:23:19 -0800
268 -Subject: [PATCH] fix typo in scsi_cmd setup
269 -
270 -The memset call ends up referring to the function scsi_cmd and
271 -clearing its memory instead of the local my_scsi_cmd variable.
272 ----
273 - scsi.c | 2 +-
274 - 1 file changed, 1 insertion(+), 1 deletion(-)
275 -
276 -diff --git a/scsi.c b/scsi.c
277 -index 7510edcefe95..85ff3bc3dc55 100644
278 ---- a/scsi.c
279 -+++ b/scsi.c
280 -@@ -170,7 +170,7 @@ int scsi_cmd(int fd, unsigned char *cdb, int cmdlen, scsi_io_mode_t mode,
281 - /*
282 - ** Init the command
283 - */
284 -- memset(&scsi_cmd,0,sizeof(scsi_cmd));
285 -+ memset(&my_scsi_cmd,0,sizeof(my_scsi_cmd));
286 - my_scsi_cmd.interface_id = 'S';
287 - my_scsi_cmd.dxfer_direction = (mode == SCSI_IO_READ)?(SG_DXFER_FROM_DEV):(SG_DXFER_TO_DEV);
288 - my_scsi_cmd.cmd_len = cmdlen;
289 ---
290 -2.12.0
291 -
292
293 diff --git a/sys-fs/mtools/mtools-4.0.18-r2.ebuild b/sys-fs/mtools/mtools-4.0.18-r2.ebuild
294 deleted file mode 100644
295 index 92c1a95bfe1..00000000000
296 --- a/sys-fs/mtools/mtools-4.0.18-r2.ebuild
297 +++ /dev/null
298 @@ -1,56 +0,0 @@
299 -# Copyright 1999-2020 Gentoo Authors
300 -# Distributed under the terms of the GNU General Public License v2
301 -
302 -EAPI="5"
303 -
304 -inherit flag-o-matic eutils
305 -
306 -DESCRIPTION="utilities to access MS-DOS disks from Unix without mounting them"
307 -HOMEPAGE="https://www.gnu.org/software/mtools/ https://savannah.gnu.org/projects/mtools"
308 -SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
309 -
310 -LICENSE="GPL-3"
311 -SLOT="0"
312 -KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 sparc x86 ~x64-macos ~x64-solaris"
313 -IUSE="X elibc_glibc"
314 -
315 -RDEPEND="
316 - !elibc_glibc? ( virtual/libiconv )
317 - X? (
318 - x11-libs/libICE
319 - x11-libs/libXau
320 - x11-libs/libSM
321 - x11-libs/libX11
322 - x11-libs/libXt
323 - )"
324 -DEPEND="${RDEPEND}
325 - sys-apps/texinfo"
326 -# texinfo is required because we patch mtools.texi
327 -# drop it when mtools-4.0.18-locking.patch is no longer applied
328 -
329 -src_prepare() {
330 - # Don't throw errors on existing directories
331 - sed -i -e "s:mkdir:mkdir -p:" mkinstalldirs || die
332 -
333 - epatch "${FILESDIR}"/${P}-locking.patch # https://crbug.com/508713
334 - epatch "${FILESDIR}"/${P}-attr.patch # https://crbug.com/644387
335 - epatch "${FILESDIR}"/${P}-memset.patch
336 -}
337 -
338 -src_configure() {
339 - # 447688
340 - use !elibc_glibc && use !elibc_musl && append-libs "-liconv"
341 - econf \
342 - --sysconfdir="${EPREFIX}"/etc/mtools \
343 - $(use_with X x)
344 -}
345 -
346 -src_install() {
347 - emake DESTDIR="${D}" install
348 - dodoc README* Release.notes
349 -
350 - insinto /etc/mtools
351 - doins mtools.conf
352 - # default is fine
353 - sed -i -e '/^SAMPLE FILE$/s:^:#:' "${ED}"/etc/mtools/mtools.conf || die
354 -}
355
356 diff --git a/sys-fs/mtools/mtools-4.0.23.ebuild b/sys-fs/mtools/mtools-4.0.23.ebuild
357 deleted file mode 100644
358 index 03496c70b5b..00000000000
359 --- a/sys-fs/mtools/mtools-4.0.23.ebuild
360 +++ /dev/null
361 @@ -1,54 +0,0 @@
362 -# Copyright 1999-2020 Gentoo Authors
363 -# Distributed under the terms of the GNU General Public License v2
364 -
365 -EAPI="6"
366 -
367 -inherit flag-o-matic
368 -
369 -DESCRIPTION="utilities to access MS-DOS disks from Unix without mounting them"
370 -HOMEPAGE="https://www.gnu.org/software/mtools/ https://savannah.gnu.org/projects/mtools"
371 -SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
372 -
373 -LICENSE="GPL-3"
374 -SLOT="0"
375 -KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 ~sparc x86 ~x64-macos ~x64-solaris"
376 -IUSE="X elibc_glibc"
377 -
378 -RDEPEND="
379 - !elibc_glibc? ( virtual/libiconv )
380 - X? (
381 - x11-libs/libICE
382 - x11-libs/libXau
383 - x11-libs/libSM
384 - x11-libs/libX11
385 - x11-libs/libXt
386 - )"
387 -DEPEND="${RDEPEND}"
388 -
389 -src_prepare() {
390 - default
391 -
392 - # Don't throw errors on existing directories
393 - sed -i -e "s:mkdir:mkdir -p:" mkinstalldirs || die
394 -}
395 -
396 -src_configure() {
397 - # 447688
398 - use !elibc_glibc && use !elibc_musl && append-libs "-liconv"
399 - local myeconfargs=(
400 - --sysconfdir="${EPREFIX}"/etc/mtools
401 - $(use_with X x)
402 - )
403 - econf "${myeconfargs[@]}"
404 -}
405 -
406 -src_install() {
407 - local -a DOCS=( README* Release.notes )
408 - default
409 -
410 - insinto /etc/mtools
411 - doins mtools.conf
412 -
413 - # default is fine
414 - sed -i -e '/^SAMPLE FILE$/s:^:#:' "${ED%/}"/etc/mtools/mtools.conf || die
415 -}