[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