Bug#893749: stretch-pu: package easytag/2.4.3-1+deb9u1

2018-10-06 Thread Adam D. Barratt
Control: tags -1 + confirmed

On Tue, 2018-09-25 at 10:11 +0100, James Cowgill wrote:
> Control: tags -1 - moreinfo
> 
> Hi,
> 
> Sorry for the delay. I completely forgot about this bug!
> 
> I've attached v2 of the patch to fix #855251. After submitting the
> original stretch-pu bug, I discovered (after someone mentioned this
> on
> the upstream bug report) the root cause and reverted the relevant
> upstream commit. This fix has been in unstable since 2.4.3-4 (about 7
> months) without any issues. I've done some brief testing of in a
> stretch
> build and it seems to work fine there as well.
> 

Please go ahead.

Regards,

Adam



Bug#893749: stretch-pu: package easytag/2.4.3-1+deb9u1

2018-09-25 Thread James Cowgill
Control: tags -1 - moreinfo

Hi,

Sorry for the delay. I completely forgot about this bug!

I've attached v2 of the patch to fix #855251. After submitting the
original stretch-pu bug, I discovered (after someone mentioned this on
the upstream bug report) the root cause and reverted the relevant
upstream commit. This fix has been in unstable since 2.4.3-4 (about 7
months) without any issues. I've done some brief testing of in a stretch
build and it seems to work fine there as well.

Thanks,
James
diff -Nru easytag-2.4.3/debian/changelog easytag-2.4.3/debian/changelog
--- easytag-2.4.3/debian/changelog  2016-12-05 23:46:24.0 +
+++ easytag-2.4.3/debian/changelog  2018-09-24 18:31:35.0 +0100
@@ -1,3 +1,11 @@
+easytag (2.4.3-1+deb9u1) stretch; urgency=medium
+
+  * debian/patches:
+- Add patch to revert upstream commit which causes OGG corruption.
+  (Closes: #855251)
+
+ -- James Cowgill   Mon, 24 Sep 2018 18:31:35 +0100
+
 easytag (2.4.3-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru easytag-2.4.3/debian/gbp.conf easytag-2.4.3/debian/gbp.conf
--- easytag-2.4.3/debian/gbp.conf   2016-12-05 20:47:35.0 +
+++ easytag-2.4.3/debian/gbp.conf   2018-09-24 18:31:35.0 +0100
@@ -1,3 +1,4 @@
 [DEFAULT]
 pristine-tar = True
 compression = xz
+debian-branch = debian/stretch
diff -Nru easytag-2.4.3/debian/patches/02_fix-ogg-corruption.patch 
easytag-2.4.3/debian/patches/02_fix-ogg-corruption.patch
--- easytag-2.4.3/debian/patches/02_fix-ogg-corruption.patch1970-01-01 
01:00:00.0 +0100
+++ easytag-2.4.3/debian/patches/02_fix-ogg-corruption.patch2018-09-24 
18:31:35.0 +0100
@@ -0,0 +1,241 @@
+Description: Revert upstream commit which causes OGG file corruption
+ Revert "Do not maintain an open handle on Ogg files"
+ This reverts commit e5c640ca3f259f1b74e716723345521987a7bd68.
+Author: James Cowgill 
+Author: David King 
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=776110
+Bug-Debian: https://bugs.debian.org/855251
+Bug-Debian: https://bugs.debian.org/886272
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/tags/vcedit.c
 b/src/tags/vcedit.c
+@@ -35,6 +35,7 @@
+ struct _EtOggState
+ {
+ /*< private >*/
++GFileInputStream *in;
+ #ifdef ENABLE_SPEEX
+ SpeexHeader *si;
+ #endif
+@@ -125,6 +126,11 @@ vcedit_clear_internals (EtOggState *stat
+ }
+ #endif /* ENABLE_OPUS */
+ 
++if (state->in)
++{
++g_object_unref (state->in);
++}
++
+ memset (state, 0, sizeof (*state));
+ }
+ 
+@@ -239,7 +245,6 @@ _blocksize (EtOggState *s,
+ 
+ static gboolean
+ _fetch_next_packet (EtOggState *s,
+-GInputStream *istream,
+ ogg_packet *p,
+ ogg_page *page,
+ GError **error)
+@@ -269,8 +274,8 @@ _fetch_next_packet (EtOggState *s,
+ while (ogg_sync_pageout (s->oy, page) <= 0)
+ {
+ buffer = ogg_sync_buffer (s->oy, CHUNKSIZE);
+-bytes = g_input_stream_read (istream, buffer, CHUNKSIZE, NULL,
+- error);
++bytes = g_input_stream_read (G_INPUT_STREAM (s->in), buffer,
++ CHUNKSIZE, NULL, error);
+ ogg_sync_wrote (s->oy, bytes);
+ 
+ if(bytes == 0)
+@@ -303,7 +308,7 @@ _fetch_next_packet (EtOggState *s,
+ 
+ g_assert (error == NULL || *error == NULL);
+ ogg_stream_pagein (s->os, page);
+-return _fetch_next_packet (s, istream, p, page, error);
++return _fetch_next_packet (s, p, page, error);
+ }
+ }
+ 
+@@ -402,13 +407,14 @@ vcedit_open (EtOggState *state,
+ return FALSE;
+ }
+ 
++state->in = istream;
+ state->oy = g_slice_new (ogg_sync_state);
+ ogg_sync_init (state->oy);
+ 
+ while(1)
+ {
+ buffer = ogg_sync_buffer (state->oy, CHUNKSIZE);
+-bytes = g_input_stream_read (G_INPUT_STREAM (istream), buffer,
++bytes = g_input_stream_read (G_INPUT_STREAM (state->in), buffer,
+  CHUNKSIZE, NULL, error);
+ if (bytes == -1)
+ {
+@@ -648,7 +654,7 @@ vcedit_open (EtOggState *state,
+ }
+ 
+ buffer = ogg_sync_buffer (state->oy, CHUNKSIZE);
+-bytes = g_input_stream_read (G_INPUT_STREAM (istream), buffer,
++bytes = g_input_stream_read (G_INPUT_STREAM (state->in), buffer,
+  CHUNKSIZE, NULL, error);
+ 
+ if (bytes == -1)
+@@ -670,14 +676,11 @@ vcedit_open (EtOggState *state,
+ 
+ /* Headers are done! */
+ g_assert (error == NULL || *error == NULL);
+-/* TODO: Handle error during stream close. */
+-g_object_unref (istream);
+ 
+ return TRUE;
+ 
+ err:
+ g_assert (error == NULL || *error != NULL);
+-g_object_unref (istream);
+ vcedit_clear_internals (state);
+ return FALSE;
+ }
+@@ -699,7 +702,6 @@ 

Bug#893749: stretch-pu: package easytag/2.4.3-1+deb9u1

2018-03-23 Thread James Cowgill
Control: tags -1 moreinfo

Hi,

On 22/03/18 00:05, James Cowgill wrote:
> Package: release.debian.org
> Severity: normal
> Tags: stretch
> User: release.debian@packages.debian.org
> Usertags: pu
> 
> Hi,
> 
> The purpose of this update to easytag is to fix #855251 where easytag
> will sometimes corrupt ogg (and related) files it tags. The corruption
> causes some of the music data to be overwritten near the start of the
> file. This causes an audible click and various tools print errors about
> trying to play a corrupt file. The upstream bug has now been open since
> late 2016, is apparently very difficult to fix (lots of code to be
> written) and there is no fix in progress which I can see.

A potential workaround for this has appeared which could mean we don't
have to disable OGG. Please ignore this bug until I've looked into it a
bit more.

Thanks,
James



signature.asc
Description: OpenPGP digital signature


Bug#893749: stretch-pu: package easytag/2.4.3-1+deb9u1

2018-03-21 Thread James Cowgill
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian@packages.debian.org
Usertags: pu

Hi,

The purpose of this update to easytag is to fix #855251 where easytag
will sometimes corrupt ogg (and related) files it tags. The corruption
causes some of the music data to be overwritten near the start of the
file. This causes an audible click and various tools print errors about
trying to play a corrupt file. The upstream bug has now been open since
late 2016, is apparently very difficult to fix (lots of code to be
written) and there is no fix in progress which I can see. Due to this, I
have completely disabled ogg support in unstable and I think doing the
same in stable is the best cause of action to prevent people from
corrupting their music collection.

Debdiff attached. It also contains a related change to the control file.
I thought about adding a NEWS entry but I wasn't sure (I did not add one
for unstable).

Thanks,
James

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500,
'testing'), (500, 'stable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, mipsel

Kernel: Linux 4.15.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8),
LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru easytag-2.4.3/debian/changelog easytag-2.4.3/debian/changelog
--- easytag-2.4.3/debian/changelog  2016-12-05 23:46:24.0 +
+++ easytag-2.4.3/debian/changelog  2018-03-08 22:20:29.0 +
@@ -1,3 +1,13 @@
+easytag (2.4.3-1+deb9u1) stretch; urgency=medium
+
+  [ James Cowgill ]
+  * Disable OGG, OPUS and Speex. (Closes: #855251)
+
+  [ Bruno Kleinert ]
+  * Do not mention OGG support in package description. (Closes: #886369)
+
+ -- James Cowgill   Thu, 08 Mar 2018 22:20:29 +
+
 easytag (2.4.3-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru easytag-2.4.3/debian/control easytag-2.4.3/debian/control
--- easytag-2.4.3/debian/control2016-12-05 20:47:35.0 +
+++ easytag-2.4.3/debian/control2018-03-08 22:18:48.0 +
@@ -50,9 +50,8 @@
  .
  Currently EasyTAG supports the following:
   - View, edit, write tags of MP3, MP2 files (ID3 tag), FLAC files (FLAC Vorbis
-tag), Ogg Opus, Ogg Speex and Ogg Vorbis files (Ogg Vorbis tag),
-MP4/M4A/AAC files (MPEG-4 Part 10 tag), and MusePack, Monkey's Audio files
-(APE tag);
+tag), MP4/M4A/AAC files (MPEG-4 Part 10 tag), and MusePack, Monkey's Audio
+files (APE tag);
   - Auto tagging: parse file and directory names using masks to automatically
 fill in tag fields;
   - Cover art support for all formats;
@@ -72,6 +71,10 @@
   - A playlist generator window;
   - A file searching window;
   - Simple and explicit interface.
+ .
+ OGG support is currently disabled in this package because of a data corruption
+ bug. To edit tags in OGG files you may consider one of these packages: 
exfalso,
+ puddletag, kid3-qt, entagged.
 
 Package: easytag-nautilus
 Architecture: any
diff -Nru easytag-2.4.3/debian/gbp.conf easytag-2.4.3/debian/gbp.conf
--- easytag-2.4.3/debian/gbp.conf   2016-12-05 20:47:35.0 +
+++ easytag-2.4.3/debian/gbp.conf   2018-03-08 22:17:33.0 +
@@ -1,3 +1,4 @@
 [DEFAULT]
 pristine-tar = True
 compression = xz
+debian-branch = debian/stretch
diff -Nru easytag-2.4.3/debian/rules easytag-2.4.3/debian/rules
--- easytag-2.4.3/debian/rules  2016-12-05 20:47:35.0 +
+++ easytag-2.4.3/debian/rules  2018-03-08 22:18:29.0 +
@@ -10,7 +10,9 @@
dh_autoreconf --as-needed
 
 override_dh_auto_configure:
-   dh_auto_configure -- --disable-silent-rules --disable-Werror
+   # OGG, OPUS and Speex disabled due to #855251
+   dh_auto_configure -- --disable-silent-rules --disable-Werror \
+   --disable-ogg --disable-opus --disable-speex
 
 override_dh_installdocs:
dh_installdocs --link-doc=easytag


signature.asc
Description: OpenPGP digital signature