[SCM] morituri packaging branch, master, updated. debian/0.1.0-1-18-g976776d

js at users.alioth.debian.org js at users.alioth.debian.org
Sun Apr 18 01:19:12 UTC 2010


The following commit has been merged in the master branch:
commit 956d96a185de1d96abbdc44c13d51026e887e9c3
Author: Jonas Smedegaard <dr at jones.dk>
Date:   Sun Apr 18 02:37:21 2010 +0200

    Add patch 0001 from upstream VCS, to fix support non-UTF-8 build environments.

diff --git a/debian/patches/0001_fix_support_non-utf-8_console.patch b/debian/patches/0001_fix_support_non-utf-8_console.patch
new file mode 100644
index 0000000..c666bcf
--- /dev/null
+++ b/debian/patches/0001_fix_support_non-utf-8_console.patch
@@ -0,0 +1,570 @@
+Description: Fix support non-UTF-8 build environment
+From: Jonas Smedegaard <dr at jones.dk>
+Forwarded: yes
+Last-Update: 2010-04-08
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,17 @@
++2010-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
++
++	* morituri/test/Makefile.am:
++	* morituri/test/jose.toc (added):
++	* morituri/test/JoséGonzález.toc (deleted):
++	  Rename utf-8 file to a normal file.
++	* morituri/test/common.py:
++	* morituri/test/test_common_checksum.py:
++	* morituri/test/test_common_encode.py:
++	* morituri/test/test_image_image.py:
++	* morituri/test/test_image_toc.py:
++	  Copy the normal file first to the utf-8 filename, if supported.
++	  Skip tests that need unicode when we are not in a utf-8 locale.
++
+ === release 0.1.1 ===
+ 
+ 2010-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
+--- a/morituri/test/JoséGonzález.toc
++++ /dev/null
+@@ -1,167 +0,0 @@
+-CD_DA
+-
+-CD_TEXT {
+-  LANGUAGE_MAP {
+-    0: 9
+-  }
+-  LANGUAGE 0 {
+-    TITLE "In Our Nature"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-    GENRE { 0,  0,  0}
+-    SIZE_INFO { 1,  1, 10,  0, 12, 13,  0,  0,  0,  0,  0,  1,
+-                0,  0,  0,  0,  0,  0,  0,  3, 28,  0,  0,  0,
+-                0,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0}
+-  }
+-}
+-
+-// Track 1
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700301"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "How Low"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 0 02:40:01
+-
+-
+-// Track 2
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700302"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "Down The Line"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 02:40:01 03:10:62
+-
+-
+-// Track 3
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700303"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "Killing For Love"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 05:50:63 03:02:67
+-
+-
+-// Track 4
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700304"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "In Our Nature"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 08:53:55 02:42:51
+-
+-
+-// Track 5
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700305"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "Teardrop"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 11:36:31 03:20:64
+-
+-
+-// Track 6
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700306"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "Abram"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 14:57:20 01:58:56
+-START 00:12:24
+-
+-
+-// Track 7
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700307"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "Time To Send Someone Away"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 16:56:01 02:49:68
+-START 00:02:05
+-
+-
+-// Track 8
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700308"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "The Nest"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 19:45:69 02:23:66
+-
+-
+-// Track 9
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700309"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "Fold"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 22:09:60 02:54:58
+-
+-
+-// Track 10
+-TRACK AUDIO
+-NO COPY
+-NO PRE_EMPHASIS
+-TWO_CHANNEL_AUDIO
+-ISRC "SEVVX0700310"
+-CD_TEXT {
+-  LANGUAGE 0 {
+-    TITLE "Cycling Trivialities"
+-    PERFORMER "Jos\351 Gonz\341lez"
+-  }
+-}
+-FILE "data.wav" 25:04:43 08:09:16
+-
+--- a/morituri/test/Makefile.am
++++ b/morituri/test/Makefile.am
+@@ -22,7 +22,7 @@
+ 	capital.2.toc \
+ 	cure.cue \
+ 	cure.toc \
+-	JoséGonzález.toc \
++	Jose.toc \
+ 	dBAR-011-0010e284-009228a3-9809ff0b.bin \
+ 	dBAR-020-002e5023-029d8e49-040eaa14.bin \
+ 	kanye.cue \
+--- a/morituri/test/common.py
++++ b/morituri/test/common.py
+@@ -1,8 +1,11 @@
+ # -*- Mode: Python -*-
+ # vi:si:et:sw=4:sts=4:ts=4
+ 
++import os
+ import sys
+-import unittest
++
++# twisted's unittests have skip support, standard unittest don't
++from twisted.trial import unittest
+ 
+ from morituri.common import log
+ 
+@@ -53,3 +56,13 @@
+                                         % (exception.__name__, result))
+ 
+     assertRaises = failUnlessRaises
++
++class UnicodeTestMixin:
++    # A helper mixin to skip tests if we're not in a UTF-8 locale
++    try:
++        os.stat(u'morituri.test.B\xeate Noire.empty')
++    except UnicodeEncodeError:
++        skip = 'No UTF-8 locale'
++    except OSError:
++        pass
++
+--- /dev/null
++++ b/morituri/test/jose.toc
+@@ -0,0 +1,167 @@
++CD_DA
++
++CD_TEXT {
++  LANGUAGE_MAP {
++    0: 9
++  }
++  LANGUAGE 0 {
++    TITLE "In Our Nature"
++    PERFORMER "Jos\351 Gonz\341lez"
++    GENRE { 0,  0,  0}
++    SIZE_INFO { 1,  1, 10,  0, 12, 13,  0,  0,  0,  0,  0,  1,
++                0,  0,  0,  0,  0,  0,  0,  3, 28,  0,  0,  0,
++                0,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0}
++  }
++}
++
++// Track 1
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700301"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "How Low"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 0 02:40:01
++
++
++// Track 2
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700302"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "Down The Line"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 02:40:01 03:10:62
++
++
++// Track 3
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700303"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "Killing For Love"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 05:50:63 03:02:67
++
++
++// Track 4
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700304"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "In Our Nature"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 08:53:55 02:42:51
++
++
++// Track 5
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700305"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "Teardrop"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 11:36:31 03:20:64
++
++
++// Track 6
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700306"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "Abram"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 14:57:20 01:58:56
++START 00:12:24
++
++
++// Track 7
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700307"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "Time To Send Someone Away"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 16:56:01 02:49:68
++START 00:02:05
++
++
++// Track 8
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700308"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "The Nest"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 19:45:69 02:23:66
++
++
++// Track 9
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700309"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "Fold"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 22:09:60 02:54:58
++
++
++// Track 10
++TRACK AUDIO
++NO COPY
++NO PRE_EMPHASIS
++TWO_CHANNEL_AUDIO
++ISRC "SEVVX0700310"
++CD_TEXT {
++  LANGUAGE 0 {
++    TITLE "Cycling Trivialities"
++    PERFORMER "Jos\351 Gonz\341lez"
++  }
++}
++FILE "data.wav" 25:04:43 08:09:16
++
+--- a/morituri/test/test_common_checksum.py
++++ b/morituri/test/test_common_checksum.py
+@@ -40,10 +40,12 @@
+         self.failUnless(isinstance(e.exception, gst.QueryError))
+         os.unlink(path)
+ 
++class UnicodePathTestCase(PathTestCase, common.UnicodeTestMixin):
+     def testUnicodePath(self):
+         # this test makes sure we can checksum a unicode path
+         self._testSuffix(u'morituri.test.B\xeate Noire.empty')
+ 
++class NormalPathTestCase(PathTestCase):
+     def testSingleQuote(self):
+         self._testSuffix(u"morituri.test.Guns 'N Roses")
+ 
+--- a/morituri/test/test_image_image.py
++++ b/morituri/test/test_image_image.py
+@@ -3,7 +3,6 @@
+ 
+ import os
+ import tempfile
+-import unittest
+ 
+ import gobject
+ gobject.threads_init()
+@@ -19,7 +18,7 @@
+ def h(i):
+     return "0x%08x" % i
+ 
+-class TrackSingleTestCase(unittest.TestCase):
++class TrackSingleTestCase(tcommon.TestCase):
+     def setUp(self):
+         self.image = image.Image(os.path.join(os.path.dirname(__file__),
+             u'track-single.cue'))
+@@ -49,7 +48,7 @@
+         self.assertEquals(self.image.table.getAccurateRipIds(), (
+             "00000016", "0000005b"))
+ 
+-class TrackSeparateTestCase(unittest.TestCase):
++class TrackSeparateTestCase(tcommon.TestCase):
+     def setUp(self):
+         self.image = image.Image(os.path.join(os.path.dirname(__file__),
+             u'track-separate.cue'))
+@@ -79,7 +78,7 @@
+         self.assertEquals(self.image.table.getAccurateRipIds(), (
+             "00000064", "00000191"))
+ 
+-class AudioLengthTestCase(unittest.TestCase):
++class AudioLengthTestCase(tcommon.TestCase):
+     def testLength(self):
+         path = os.path.join(os.path.dirname(__file__), u'track.flac')
+         t = image.AudioLengthTask(path)
+@@ -101,10 +100,7 @@
+         self.assertEquals(e.exception.code, gst.STREAM_ERROR_TYPE_NOT_FOUND)
+         os.unlink(path)
+ 
+-    def testUnicodePath(self):
+-        # this test makes sure we can checksum a unicode path
+-        self._testSuffix(u'morituri.test.B\xeate Noire.empty')
+-
++class NormalAudioLengthPathTestCase(AudioLengthPathTestCase):
+     def testSingleQuote(self):
+         self._testSuffix(u"morituri.test.Guns 'N Roses")
+ 
+@@ -112,3 +108,9 @@
+         # This test makes sure we can checksum files with double quote in
+         # their name
+         self._testSuffix(u'morituri.test.12" edit')
++
++class UnicodeAudioLengthPathTestCase(AudioLengthPathTestCase, tcommon.UnicodeTestMixin):
++    def testUnicodePath(self):
++        # this test makes sure we can checksum a unicode path
++        self._testSuffix(u'morituri.test.B\xeate Noire.empty')
++        
+--- a/morituri/test/test_image_toc.py
++++ b/morituri/test/test_image_toc.py
+@@ -3,13 +3,14 @@
+ 
+ import os
+ import copy
+-import unittest
++import shutil
++import tempfile
+ 
+ from morituri.image import toc
+ 
+ from morituri.test import common
+ 
+-class CureTestCase(unittest.TestCase):
++class CureTestCase(common.TestCase):
+     def setUp(self):
+         self.toc = toc.TocFile(os.path.join(os.path.dirname(__file__),
+             u'cure.toc'))
+@@ -90,7 +91,7 @@
+             '3/c/4/dBAR-013-0019d4c3-00fe8924-b90c650d.bin')
+ 
+ # Bloc Party - Silent Alarm has a Hidden Track One Audio
+-class BlocTestCase(unittest.TestCase):
++class BlocTestCase(common.TestCase):
+     def setUp(self):
+         self.toc = toc.TocFile(os.path.join(os.path.dirname(__file__),
+             u'bloc.toc'))
+@@ -137,7 +138,7 @@
+             'e/d/2/dBAR-013-001af2de-0105994e-ad0be00d.bin')
+ 
+ # The Breeders - Mountain Battles has CDText
+-class BreedersTestCase(unittest.TestCase):
++class BreedersTestCase(common.TestCase):
+     def setUp(self):
+         self.toc = toc.TocFile(os.path.join(os.path.dirname(__file__),
+             u'breeders.toc'))
+@@ -163,7 +164,7 @@
+         self.assertEquals(cue, ref)
+ 
+ # Ladyhawke has a data track
+-class LadyhawkeTestCase(unittest.TestCase):
++class LadyhawkeTestCase(common.TestCase):
+     def setUp(self):
+         self.toc = toc.TocFile(os.path.join(os.path.dirname(__file__),
+             u'ladyhawke.toc'))
+@@ -179,7 +180,7 @@
+         # c60af50d 13 150 15687 31841 51016 66616 81352 99559 116070 133243
+         # 149997 161710 177832 207256 2807
+ 
+-class CapitalMergeTestCase(unittest.TestCase):
++class CapitalMergeTestCase(common.TestCase):
+     def setUp(self):
+         self.toc1 = toc.TocFile(os.path.join(os.path.dirname(__file__),
+             u'capital.1.toc'))
+@@ -208,14 +209,23 @@
+         self.assertEquals(self.table.getMusicBrainzDiscId(),
+             "MAj3xXf6QMy7G.BIFOyHyq4MySE-")
+ 
+-class UnicodeTestCase(unittest.TestCase):
++class UnicodeTestCase(common.TestCase, common.UnicodeTestMixin):
+     def setUp(self):
++        # we copy the normal non-utf8 filename to a utf-8 filename
++        # in this test because builds with LANG=C fail if we include
++        # utf-8 filenames in the dist
+         path = u'Jos\xe9Gonz\xe1lez.toc'
+         self._performer = u'Jos\xe9 Gonz\xe1lez'
+-        self.toc = toc.TocFile(os.path.join(os.path.dirname(__file__), path))
++        source = os.path.join(os.path.dirname(__file__), 'jose.toc')
++        self.dest = os.path.join(os.path.dirname(__file__), path)
++        shutil.copy(source, self.dest)
++        self.toc = toc.TocFile(self.dest)
+         self.toc.parse()
+         self.assertEquals(len(self.toc.table.tracks), 10)
+ 
++    def tearDown(self):
++        os.unlink(self.dest)
++
+     def testGetTrackLength(self):
+         t = self.toc.table.tracks[0]
+         # first track has known length because the .toc is a single file
+--- a/morituri/test/Makefile.in
++++ b/morituri/test/Makefile.in
+@@ -158,7 +158,7 @@
+ 	capital.2.toc \
+ 	cure.cue \
+ 	cure.toc \
+-	JoséGonzález.toc \
++	Jose.toc \
+ 	dBAR-011-0010e284-009228a3-9809ff0b.bin \
+ 	dBAR-020-002e5023-029d8e49-040eaa14.bin \
+ 	kanye.cue \
diff --git a/debian/patches/README b/debian/patches/README
new file mode 100644
index 0000000..80c1584
--- /dev/null
+++ b/debian/patches/README
@@ -0,0 +1,3 @@
+0xxx: Grabbed from upstream development.
+1xxx: Possibly relevant for upstream adoption.
+2xxx: Only relevant for official Debian release.
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..073d803
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001_fix_support_non-utf-8_console.patch

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list