Merge lp:~julian-edwards/launchpad/ppa-components-bug-662088 into lp:launchpad

Proposed by Julian Edwards
Status: Merged
Approved by: Julian Edwards
Approved revision: no longer in the source branch.
Merged at revision: 12015
Proposed branch: lp:~julian-edwards/launchpad/ppa-components-bug-662088
Merge into: lp:launchpad
Diff against target: 108 lines (+20/-10)
3 files modified
lib/lp/archivepublisher/tests/test_publisher.py (+9/-9)
lib/lp/soyuz/model/archive.py (+2/-0)
lib/lp/soyuz/tests/test_archive.py (+9/-1)
To merge this branch: bzr merge lp:~julian-edwards/launchpad/ppa-components-bug-662088
Reviewer Review Type Date Requested Status
Jelmer Vernooij (community) code Approve
Julian Edwards (community) code Approve
Review via email: mp+42518@code.launchpad.net

Commit message

Make sure that we only publish the "main" component for PPA indexes. Currently it processes all components unnecessarily which wastes a lot of time.

Description of the change

The PPA publisher currently publishes indexes for all components we know about. PPAs only have "main" and this change makes sure we only publish main.

To post a comment you must log in.
Revision history for this message
Julian Edwards (julian-edwards) :
review: Approve (code)
Revision history for this message
Jelmer Vernooij (jelmer) :
review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'lib/lp/archivepublisher/tests/test_publisher.py'
--- lib/lp/archivepublisher/tests/test_publisher.py 2010-11-09 08:26:37 +0000
+++ lib/lp/archivepublisher/tests/test_publisher.py 2010-12-02 17:41:38 +0000
@@ -886,19 +886,19 @@
886 self.assertTrue(md5_header in release_contents)886 self.assertTrue(md5_header in release_contents)
887 md5_header_index = release_contents.index(md5_header)887 md5_header_index = release_contents.index(md5_header)
888888
889 plain_sources_md5_line = release_contents[md5_header_index + 15]889 plain_sources_md5_line = release_contents[md5_header_index + 16]
890 self.assertEqual(890 self.assertEqual(
891 plain_sources_md5_line,891 plain_sources_md5_line,
892 (' 7d9b0817f5ff4a1d3f53f97bcc9c7658 '892 (' 7d9b0817f5ff4a1d3f53f97bcc9c7658 '
893 '229 main/source/Sources'))893 '229 main/source/Sources'))
894 release_md5_line = release_contents[md5_header_index + 17]894 release_md5_line = release_contents[md5_header_index + 15]
895 self.assertEqual(895 self.assertEqual(
896 release_md5_line,896 release_md5_line,
897 (' eadc1fbb1a878a2ee6dc66d7cd8d46dc '897 (' eadc1fbb1a878a2ee6dc66d7cd8d46dc '
898 '130 main/source/Release'))898 '130 main/source/Release'))
899 # We can't probe checksums of compressed files because they contain899 # We can't probe checksums of compressed files because they contain
900 # timestamps, their checksum varies with time.900 # timestamps, their checksum varies with time.
901 bz2_sources_md5_line = release_contents[md5_header_index + 16]901 bz2_sources_md5_line = release_contents[md5_header_index + 17]
902 self.assertTrue('main/source/Sources.bz2' in bz2_sources_md5_line)902 self.assertTrue('main/source/Sources.bz2' in bz2_sources_md5_line)
903 gz_sources_md5_line = release_contents[md5_header_index + 18]903 gz_sources_md5_line = release_contents[md5_header_index + 18]
904 self.assertTrue('main/source/Sources.gz' in gz_sources_md5_line)904 self.assertTrue('main/source/Sources.gz' in gz_sources_md5_line)
@@ -907,18 +907,18 @@
907 self.assertTrue(sha1_header in release_contents)907 self.assertTrue(sha1_header in release_contents)
908 sha1_header_index = release_contents.index(sha1_header)908 sha1_header_index = release_contents.index(sha1_header)
909909
910 plain_sources_sha1_line = release_contents[sha1_header_index + 15]910 plain_sources_sha1_line = release_contents[sha1_header_index + 16]
911 self.assertEqual(911 self.assertEqual(
912 plain_sources_sha1_line,912 plain_sources_sha1_line,
913 (' a2da1a8407fc4e2373266e56ccc7afadf8e08a3a '913 (' a2da1a8407fc4e2373266e56ccc7afadf8e08a3a '
914 '229 main/source/Sources'))914 '229 main/source/Sources'))
915 release_sha1_line = release_contents[sha1_header_index + 17]915 release_sha1_line = release_contents[sha1_header_index + 15]
916 self.assertEqual(916 self.assertEqual(
917 release_sha1_line,917 release_sha1_line,
918 (' 1a8d788a6d2d30e0cab002ab82e9f2921f7a2a61 '918 (' 1a8d788a6d2d30e0cab002ab82e9f2921f7a2a61 '
919 '130 main/source/Release'))919 '130 main/source/Release'))
920 # See above.920 # See above.
921 bz2_sources_sha1_line = release_contents[sha1_header_index + 16]921 bz2_sources_sha1_line = release_contents[sha1_header_index + 17]
922 self.assertTrue('main/source/Sources.bz2' in bz2_sources_sha1_line)922 self.assertTrue('main/source/Sources.bz2' in bz2_sources_sha1_line)
923 gz_sources_sha1_line = release_contents[sha1_header_index + 18]923 gz_sources_sha1_line = release_contents[sha1_header_index + 18]
924 self.assertTrue('main/source/Sources.gz' in gz_sources_sha1_line)924 self.assertTrue('main/source/Sources.gz' in gz_sources_sha1_line)
@@ -927,18 +927,18 @@
927 self.assertTrue(sha256_header in release_contents)927 self.assertTrue(sha256_header in release_contents)
928 sha256_header_index = release_contents.index(sha256_header)928 sha256_header_index = release_contents.index(sha256_header)
929929
930 plain_sources_sha256_line = release_contents[sha256_header_index + 15]930 plain_sources_sha256_line = release_contents[sha256_header_index + 16]
931 self.assertEqual(931 self.assertEqual(
932 plain_sources_sha256_line,932 plain_sources_sha256_line,
933 (' 979d959ead8ddc29e4347a64058a372d30df58a51a4615b43fb7499'933 (' 979d959ead8ddc29e4347a64058a372d30df58a51a4615b43fb7499'
934 '8a9e07c78 229 main/source/Sources'))934 '8a9e07c78 229 main/source/Sources'))
935 release_sha256_line = release_contents[sha256_header_index + 17]935 release_sha256_line = release_contents[sha256_header_index + 15]
936 self.assertEqual(936 self.assertEqual(
937 release_sha256_line,937 release_sha256_line,
938 (' 795a3f17d485cc1983f588c53fb8c163599ed191be9741e61ca411f'938 (' 795a3f17d485cc1983f588c53fb8c163599ed191be9741e61ca411f'
939 '1e2c505aa 130 main/source/Release'))939 '1e2c505aa 130 main/source/Release'))
940 # See above.940 # See above.
941 bz2_sources_sha256_line = release_contents[sha256_header_index + 16]941 bz2_sources_sha256_line = release_contents[sha256_header_index + 17]
942 self.assertTrue('main/source/Sources.bz2' in bz2_sources_sha256_line)942 self.assertTrue('main/source/Sources.bz2' in bz2_sources_sha256_line)
943 gz_sources_sha256_line = release_contents[sha256_header_index + 18]943 gz_sources_sha256_line = release_contents[sha256_header_index + 18]
944 self.assertTrue('main/source/Sources.gz' in gz_sources_sha256_line)944 self.assertTrue('main/source/Sources.gz' in gz_sources_sha256_line)
945945
=== modified file 'lib/lp/soyuz/model/archive.py'
--- lib/lp/soyuz/model/archive.py 2010-11-02 21:44:42 +0000
+++ lib/lp/soyuz/model/archive.py 2010-12-02 17:41:38 +0000
@@ -843,6 +843,8 @@
843 def getComponentsForSeries(self, distroseries):843 def getComponentsForSeries(self, distroseries):
844 if self.is_partner:844 if self.is_partner:
845 return [getUtility(IComponentSet)['partner']]845 return [getUtility(IComponentSet)['partner']]
846 elif self.is_ppa:
847 return [getUtility(IComponentSet)['main']]
846 else:848 else:
847 return distroseries.components849 return distroseries.components
848850
849851
=== modified file 'lib/lp/soyuz/tests/test_archive.py'
--- lib/lp/soyuz/tests/test_archive.py 2010-11-02 21:44:42 +0000
+++ lib/lp/soyuz/tests/test_archive.py 2010-12-02 17:41:38 +0000
@@ -1463,7 +1463,7 @@
14631463
1464 def test_series_components_for_primary_archive(self):1464 def test_series_components_for_primary_archive(self):
1465 # The primary archive uses the series' defined components.1465 # The primary archive uses the series' defined components.
1466 archive = self.factory.makeArchive()1466 archive = self.factory.makeArchive(purpose=ArchivePurpose.PRIMARY)
1467 self.assertEquals(1467 self.assertEquals(
1468 0, archive.getComponentsForSeries(self.series).count())1468 0, archive.getComponentsForSeries(self.series).count())
14691469
@@ -1482,3 +1482,11 @@
1482 self.assertEquals(1482 self.assertEquals(
1483 [partner_comp],1483 [partner_comp],
1484 list(archive.getComponentsForSeries(self.series)))1484 list(archive.getComponentsForSeries(self.series)))
1485
1486 def test_component_for_ppas(self):
1487 # PPAs only use 'main'.
1488 archive = self.factory.makeArchive(purpose=ArchivePurpose.PPA)
1489 ComponentSelection(distroseries=self.series, component=self.comp1)
1490 main_comp = getUtility(IComponentSet)['main']
1491 self.assertEquals(
1492 [main_comp], list(archive.getComponentsForSeries(self.series)))