← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~abentley/launchpad/job-on-new-packaging into lp:launchpad/db-devel

 

Aaron Bentley has proposed merging lp:~abentley/launchpad/job-on-new-packaging into lp:launchpad/db-devel with lp:~abentley/launchpad/merge-translation-script as a prerequisite.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~abentley/launchpad/job-on-new-packaging/+merge/49285

= Summary =
Perform TranslationMerges for new packaging links.

== Proposed fix ==
Fire an ObjectCreated event in the Packaging constructor.  Subscribe a function
to create a TranslationMergeJob for that event.

== Pre-implementation notes ==
Discussed Packaging constructor approach with sinzui.

== Implementation details ==
Also changed TranslationMergeJob to only run for Ubuntu distributions.  This is
the intended scope of this message-sharing work.  It only applies sharing
between upstream and Ubuntu, not arbitrary Launchpad-hosted distributions.

I also converted testing.capture_events into a Context Manager, as I tend to
do.

== Tests ==
bin/test -v -t test_translationmergejob -t test_packaging

== Demo and Q/A ==
None

= Launchpad lint =

Checking for conflicts and issues in changed files.

Linting changed files:
  lib/lp/translations/tests/test_potemplate.py
  lib/lp/translations/scripts/tests/test_merge_translations.py
  lib/lp/translations/interfaces/potemplate.py
  database/sampledata/current.sql
  database/schema/patch-2208-90-0.sql
  lib/canonical/config/schema-lazr.conf
  database/sampledata/current-dev.sql
  cronscripts/run_jobs.py
  lib/lp/services/job/runner.py
  lib/lp/translations/tests/test_translationmerger.py
  lib/lp/translations/translationmerger.py
  lib/lp/registry/model/packaging.py
  database/schema/comments.sql
  database/schema/security.cfg
  lib/lp/translations/model/translationmergejob.py
  lib/lp/registry/tests/test_packaging.py
  lib/lp/testing/factory.py
  lib/lp/testing/__init__.py
  lib/lp/translations/interfaces/translationmergejob.py
  lib/lp/translations/tests/test_translationmergejob.py
  lib/lp/translations/configure.zcml
  configs/testrunner/launchpad-lazr.conf
  lib/lp/translations/model/potemplate.py
  configs/development/launchpad-lazr.conf
  scripts/rosetta/message-sharing-merge.py

./lib/lp/translations/tests/test_potemplate.py
      23: 'POTemplate' imported but unused
./database/schema/patch-2208-90-0.sql
       7: Line exceeds 78 characters.
       8: Line exceeds 78 characters.
       9: Line exceeds 78 characters.
./lib/canonical/config/schema-lazr.conf
     522: Line exceeds 78 characters.
     605: Line exceeds 78 characters.
    1049: Line exceeds 78 characters.
./cronscripts/run_jobs.py
      10: '_pythonpath' imported but unused
./database/schema/comments.sql
      11: Line exceeds 78 characters.
      12: Line exceeds 78 characters.
      13: Line exceeds 78 characters.
      14: Line exceeds 78 characters.
      18: Line exceeds 78 characters.
      19: Line exceeds 78 characters.
      20: Line exceeds 78 characters.
      21: Line exceeds 78 characters.
      22: Line exceeds 78 characters.
      23: Line exceeds 78 characters.
      27: Line exceeds 78 characters.
      28: Line exceeds 78 characters.
      29: Line exceeds 78 characters.
      30: Line exceeds 78 characters.
      34: Line exceeds 78 characters.
      35: Line exceeds 78 characters.
      36: Line exceeds 78 characters.
      37: Line exceeds 78 characters.
      43: Line exceeds 78 characters.
      44: Line exceeds 78 characters.
      45: Line exceeds 78 characters.
      46: Line exceeds 78 characters.
      47: Line exceeds 78 characters.
      48: Line exceeds 78 characters.
      49: Line exceeds 78 characters.
      50: Line exceeds 78 characters.
      51: Line exceeds 78 characters.
      52: Line exceeds 78 characters.
      53: Line exceeds 78 characters.
      54: Line exceeds 78 characters.
      55: Line exceeds 78 characters.
      56: Line exceeds 78 characters.
      57: Line exceeds 78 characters.
      61: Line exceeds 78 characters.
      62: Line exceeds 78 characters.
      63: Line exceeds 78 characters.
      64: Line exceeds 78 characters.
      65: Line exceeds 78 characters.
      66: Line exceeds 78 characters.
      70: Line exceeds 78 characters.
      72: Line exceeds 78 characters.
      73: Line exceeds 78 characters.
      75: Line exceeds 78 characters.
      76: Line exceeds 78 characters.
      77: Line exceeds 78 characters.
      82: Line exceeds 78 characters.
      83: Line exceeds 78 characters.
      85: Line exceeds 78 characters.
      86: Line exceeds 78 characters.
      90: Line exceeds 78 characters.
      91: Line exceeds 78 characters.
      92: Line exceeds 78 characters.
      93: Line exceeds 78 characters.
      94: Line exceeds 78 characters.
      95: Line exceeds 78 characters.
      96: Line exceeds 78 characters.
      97: Line exceeds 78 characters.
      98: Line exceeds 78 characters.
      99: Line exceeds 78 characters.
     100: Line exceeds 78 characters.
     101: Line exceeds 78 characters.
     102: Line exceeds 78 characters.
     103: Line exceeds 78 characters.
     104: Line exceeds 78 characters.
     105: Line exceeds 78 characters.
     106: Line exceeds 78 characters.
     107: Line exceeds 78 characters.
     108: Line exceeds 78 characters.
     109: Line exceeds 78 characters.
     110: Line exceeds 78 characters.
     111: Line exceeds 78 characters.
     112: Line exceeds 78 characters.
     113: Line exceeds 78 characters.
     114: Line exceeds 78 characters.
     115: Line exceeds 78 characters.
     116: Line exceeds 78 characters.
     117: Line exceeds 78 characters.
     118: Line exceeds 78 characters.
     123: Line exceeds 78 characters.
     124: Line exceeds 78 characters.
     125: Line exceeds 78 characters.
     126: Line exceeds 78 characters.
     127: Line exceeds 78 characters.
     131: Line exceeds 78 characters.
     132: Line exceeds 78 characters.
     133: Line exceeds 78 characters.
     134: Line exceeds 78 characters.
     135: Line exceeds 78 characters.
     136: Line exceeds 78 characters.
     137: Line exceeds 78 characters.
     142: Line exceeds 78 characters.
     144: Line exceeds 78 characters.
     145: Line exceeds 78 characters.
     149: Line exceeds 78 characters.
     150: Line exceeds 78 characters.
     151: Line exceeds 78 characters.
     152: Line exceeds 78 characters.
     153: Line exceeds 78 characters.
     154: Line exceeds 78 characters.
     158: Line exceeds 78 characters.
     159: Line exceeds 78 characters.
     160: Line exceeds 78 characters.
     161: Line exceeds 78 characters.
     162: Line exceeds 78 characters.
     166: Line exceeds 78 characters.
     168: Line exceeds 78 characters.
     170: Line exceeds 78 characters.
     171: Line exceeds 78 characters.
     172: Line exceeds 78 characters.
     173: Line exceeds 78 characters.
     174: Line exceeds 78 characters.
     175: Line exceeds 78 characters.
     176: Line exceeds 78 characters.
     177: Line exceeds 78 characters.
     180: Line exceeds 78 characters.
     183: Line exceeds 78 characters.
     184: Line exceeds 78 characters.
     185: Line exceeds 78 characters.
     188: Line exceeds 78 characters.
     190: Line exceeds 78 characters.
     191: Line exceeds 78 characters.
     194: Line exceeds 78 characters.
     196: Line exceeds 78 characters.
     197: Line exceeds 78 characters.
     199: Line exceeds 78 characters.
     200: Line exceeds 78 characters.
     201: Line exceeds 78 characters.
     202: Line exceeds 78 characters.
     206: Line exceeds 78 characters.
     209: Line exceeds 78 characters.
     210: Line exceeds 78 characters.
     211: Line exceeds 78 characters.
     212: Line exceeds 78 characters.
     213: Line exceeds 78 characters.
     214: Line exceeds 78 characters.
     215: Line exceeds 78 characters.
     216: Line exceeds 78 characters.
     219: Line exceeds 78 characters.
     220: Line exceeds 78 characters.
     221: Line exceeds 78 characters.
     224: Line exceeds 78 characters.
     225: Line exceeds 78 characters.
     226: Line exceeds 78 characters.
     230: Line exceeds 78 characters.
     232: Line exceeds 78 characters.
     240: Line exceeds 78 characters.
     243: Line exceeds 78 characters.
     244: Line exceeds 78 characters.
     245: Line exceeds 78 characters.
     246: Line exceeds 78 characters.
     247: Line exceeds 78 characters.
     248: Line exceeds 78 characters.
     249: Line exceeds 78 characters.
     250: Line exceeds 78 characters.
     253: Line exceeds 78 characters.
     254: Line exceeds 78 characters.
     255: Line exceeds 78 characters.
     256: Line exceeds 78 characters.
     257: Line exceeds 78 characters.
     258: Line exceeds 78 characters.
     259: Line exceeds 78 characters.
     260: Line exceeds 78 characters.
     261: Line exceeds 78 characters.
     267: Line exceeds 78 characters.
     268: Line exceeds 78 characters.
     269: Line exceeds 78 characters.
     270: Line exceeds 78 characters.
     271: Line exceeds 78 characters.
     272: Line exceeds 78 characters.
     273: Line exceeds 78 characters.
     278: Line exceeds 78 characters.
     280: Line exceeds 78 characters.
     281: Line exceeds 78 characters.
     282: Line exceeds 78 characters.
     287: Line exceeds 78 characters.
     288: Line exceeds 78 characters.
     289: Line exceeds 78 characters.
     293: Line exceeds 78 characters.
     294: Line exceeds 78 characters.
     295: Line exceeds 78 characters.
     296: Line exceeds 78 characters.
     297: Line exceeds 78 characters.
     302: Line exceeds 78 characters.
     303: Line exceeds 78 characters.
     304: Line exceeds 78 characters.
     305: Line exceeds 78 characters.
     306: Line exceeds 78 characters.
     307: Line exceeds 78 characters.
     308: Line exceeds 78 characters.
     309: Line exceeds 78 characters.
     310: Line exceeds 78 characters.
     311: Line exceeds 78 characters.
     315: Line exceeds 78 characters.
     316: Line exceeds 78 characters.
     317: Line exceeds 78 characters.
     318: Line exceeds 78 characters.
     319: Line exceeds 78 characters.
     320: Line exceeds 78 characters.
     321: Line exceeds 78 characters.
     322: Line exceeds 78 characters.
     323: Line exceeds 78 characters.
     324: Line exceeds 78 characters.
     328: Line exceeds 78 characters.
     329: Line exceeds 78 characters.
     330: Line exceeds 78 characters.
     331: Line exceeds 78 characters.
     332: Line exceeds 78 characters.
     333: Line exceeds 78 characters.
     334: Line exceeds 78 characters.
     335: Line exceeds 78 characters.
     336: Line exceeds 78 characters.
     337: Line exceeds 78 characters.
     338: Line exceeds 78 characters.
     342: Line exceeds 78 characters.
     343: Line exceeds 78 characters.
     344: Line exceeds 78 characters.
     348: Line exceeds 78 characters.
     349: Line exceeds 78 characters.
     350: Line exceeds 78 characters.
     351: Line exceeds 78 characters.
     352: Line exceeds 78 characters.
     356: Line exceeds 78 characters.
     357: Line exceeds 78 characters.
     358: Line exceeds 78 characters.
     359: Line exceeds 78 characters.
     360: Line exceeds 78 characters.
     361: Line exceeds 78 characters.
     362: Line exceeds 78 characters.
     366: Line exceeds 78 characters.
     367: Line exceeds 78 characters.
     368: Line exceeds 78 characters.
     372: Line exceeds 78 characters.
     377: Line exceeds 78 characters.
     378: Line exceeds 78 characters.
     379: Line exceeds 78 characters.
     380: Line exceeds 78 characters.
     385: Line exceeds 78 characters.
     386: Line exceeds 78 characters.
     387: Line exceeds 78 characters.
     388: Line exceeds 78 characters.
     389: Line exceeds 78 characters.
     390: Line exceeds 78 characters.
     395: Line exceeds 78 characters.
     397: Line exceeds 78 characters.
     402: Line exceeds 78 characters.
     403: Line exceeds 78 characters.
     404: Line exceeds 78 characters.
     405: Line exceeds 78 characters.
     406: Line exceeds 78 characters.
     407: Line exceeds 78 characters.
     408: Line exceeds 78 characters.
     409: Line exceeds 78 characters.
     410: Line exceeds 78 characters.
     411: Line exceeds 78 characters.
     412: Line exceeds 78 characters.
     413: Line exceeds 78 characters.
     414: Line exceeds 78 characters.
     418: Line exceeds 78 characters.
     419: Line exceeds 78 characters.
     420: Line exceeds 78 characters.
     421: Line exceeds 78 characters.
     422: Line exceeds 78 characters.
     426: Line exceeds 78 characters.
     427: Line exceeds 78 characters.
     428: Line exceeds 78 characters.
     429: Line exceeds 78 characters.
     433: Line exceeds 78 characters.
     434: Line exceeds 78 characters.
     435: Line exceeds 78 characters.
     437: Line exceeds 78 characters.
     438: Line exceeds 78 characters.
     439: Line exceeds 78 characters.
     440: Line exceeds 78 characters.
     441: Line exceeds 78 characters.
     442: Line exceeds 78 characters.
     447: Line exceeds 78 characters.
     449: Line exceeds 78 characters.
     450: Line exceeds 78 characters.
     451: Line exceeds 78 characters.
     452: Line exceeds 78 characters.
     453: Line exceeds 78 characters.
     457: Line exceeds 78 characters.
     458: Line exceeds 78 characters.
     459: Line exceeds 78 characters.
     460: Line exceeds 78 characters.
     461: Line exceeds 78 characters.
     462: Line exceeds 78 characters.
     463: Line exceeds 78 characters.
     468: Line exceeds 78 characters.
     469: Line exceeds 78 characters.
     471: Line exceeds 78 characters.
     472: Line exceeds 78 characters.
     476: Line exceeds 78 characters.
     477: Line exceeds 78 characters.
     478: Line exceeds 78 characters.
     479: Line exceeds 78 characters.
     480: Line exceeds 78 characters.
     481: Line exceeds 78 characters.
     482: Line exceeds 78 characters.
     485: Line exceeds 78 characters.
     486: Line exceeds 78 characters.
     487: Line exceeds 78 characters.
     488: Line exceeds 78 characters.
     489: Line exceeds 78 characters.
     490: Line exceeds 78 characters.
     491: Line exceeds 78 characters.
     492: Line exceeds 78 characters.
     493: Line exceeds 78 characters.
     494: Line exceeds 78 characters.
     495: Line exceeds 78 characters.
     498: Line exceeds 78 characters.
     499: Line exceeds 78 characters.
     500: Line exceeds 78 characters.
     501: Line exceeds 78 characters.
     502: Line exceeds 78 characters.
     503: Line exceeds 78 characters.
     507: Line exceeds 78 characters.
     508: Line exceeds 78 characters.
     509: Line exceeds 78 characters.
     510: Line exceeds 78 characters.
     515: Line exceeds 78 characters.
     516: Line exceeds 78 characters.
     517: Line exceeds 78 characters.
     518: Line exceeds 78 characters.
     523: Line exceeds 78 characters.
     524: Line exceeds 78 characters.
     527: Line exceeds 78 characters.
     531: Line exceeds 78 characters.
     532: Line exceeds 78 characters.
     533: Line exceeds 78 characters.
     534: Line exceeds 78 characters.
     535: Line exceeds 78 characters.
     536: Line exceeds 78 characters.
     537: Line exceeds 78 characters.
     538: Line exceeds 78 characters.
     539: Line exceeds 78 characters.
     543: Line exceeds 78 characters.
     544: Line exceeds 78 characters.
     545: Line exceeds 78 characters.
     546: Line exceeds 78 characters.
     547: Line exceeds 78 characters.
     548: Line exceeds 78 characters.
     549: Line exceeds 78 characters.
     550: Line exceeds 78 characters.
     551: Line exceeds 78 characters.
     554: Line exceeds 78 characters.
     555: Line exceeds 78 characters.
     556: Line exceeds 78 characters.
     557: Line exceeds 78 characters.
     558: Line exceeds 78 characters.
     559: Line exceeds 78 characters.
     560: Line exceeds 78 characters.
     561: Line exceeds 78 characters.
     562: Line exceeds 78 characters.
     563: Line exceeds 78 characters.
     566: Line exceeds 78 characters.
     567: Line exceeds 78 characters.
     568: Line exceeds 78 characters.
     572: Line exceeds 78 characters.
     573: Line exceeds 78 characters.
     574: Line exceeds 78 characters.
     575: Line exceeds 78 characters.
     576: Line exceeds 78 characters.
     577: Line exceeds 78 characters.
     578: Line exceeds 78 characters.
     579: Line exceeds 78 characters.
     583: Line exceeds 78 characters.
     584: Line exceeds 78 characters.
     585: Line exceeds 78 characters.
     590: Line exceeds 78 characters.
     591: Line exceeds 78 characters.
     618: Line exceeds 78 characters.
     622: Line exceeds 78 characters.
     623: Line exceeds 78 characters.
     624: Line exceeds 78 characters.
     625: Line exceeds 78 characters.
     626: Line exceeds 78 characters.
     627: Line exceeds 78 characters.
     628: Line exceeds 78 characters.
     629: Line exceeds 78 characters.
     630: Line exceeds 78 characters.
     634: Line exceeds 78 characters.
     635: Line exceeds 78 characters.
     636: Line exceeds 78 characters.
     637: Line exceeds 78 characters.
     638: Line exceeds 78 characters.
     642: Line exceeds 78 characters.
     644: Line exceeds 78 characters.
     649: Line exceeds 78 characters.
     650: Line exceeds 78 characters.
     654: Line exceeds 78 characters.
     655: Line exceeds 78 characters.
     656: Line exceeds 78 characters.
     661: Line exceeds 78 characters.
     662: Line exceeds 78 characters.
     663: Line exceeds 78 characters.
     664: Line exceeds 78 characters.
     665: Line exceeds 78 characters.
     666: Line exceeds 78 characters.
     667: Line exceeds 78 characters.
     668: Line exceeds 78 characters.
     669: Line exceeds 78 characters.
     670: Line exceeds 78 characters.
     674: Line exceeds 78 characters.
     675: Line exceeds 78 characters.
     676: Line exceeds 78 characters.
     677: Line exceeds 78 characters.
     678: Line exceeds 78 characters.
     679: Line exceeds 78 characters.
     683: Line exceeds 78 characters.
     684: Line exceeds 78 characters.
     685: Line exceeds 78 characters.
     686: Line exceeds 78 characters.
     687: Line exceeds 78 characters.
     688: Line exceeds 78 characters.
     689: Line exceeds 78 characters.
     690: Line exceeds 78 characters.
     691: Line exceeds 78 characters.
     692: Line exceeds 78 characters.
     693: Line exceeds 78 characters.
     694: Line exceeds 78 characters.
     695: Line exceeds 78 characters.
     696: Line exceeds 78 characters.
     697: Line exceeds 78 characters.
     698: Line exceeds 78 characters.
     699: Line exceeds 78 characters.
     700: Line exceeds 78 characters.
     701: Line exceeds 78 characters.
     702: Line exceeds 78 characters.
     703: Line exceeds 78 characters.
     704: Line exceeds 78 characters.
     705: Line exceeds 78 characters.
     706: Line exceeds 78 characters.
     707: Line exceeds 78 characters.
     708: Line exceeds 78 characters.
     709: Line exceeds 78 characters.
     710: Line exceeds 78 characters.
     711: Line exceeds 78 characters.
     712: Line exceeds 78 characters.
     713: Line exceeds 78 characters.
     714: Line exceeds 78 characters.
     715: Line exceeds 78 characters.
     716: Line exceeds 78 characters.
     717: Line exceeds 78 characters.
     718: Line exceeds 78 characters.
     719: Line exceeds 78 characters.
     720: Line exceeds 78 characters.
     721: Line exceeds 78 characters.
     722: Line exceeds 78 characters.
     723: Line exceeds 78 characters.
     724: Line exceeds 78 characters.
     727: Line exceeds 78 characters.
     728: Line exceeds 78 characters.
     729: Line exceeds 78 characters.
     733: Line exceeds 78 characters.
     734: Line exceeds 78 characters.
     735: Line exceeds 78 characters.
     736: Line exceeds 78 characters.
     737: Line exceeds 78 characters.
     738: Line exceeds 78 characters.
     739: Line exceeds 78 characters.
     743: Line exceeds 78 characters.
     744: Line exceeds 78 characters.
     745: Line exceeds 78 characters.
     746: Line exceeds 78 characters.
     747: Line exceeds 78 characters.
     748: Line exceeds 78 characters.
     749: Line exceeds 78 characters.
     750: Line exceeds 78 characters.
     754: Line exceeds 78 characters.
     755: Line exceeds 78 characters.
     756: Line exceeds 78 characters.
     757: Line exceeds 78 characters.
     758: Line exceeds 78 characters.
     771: Line exceeds 78 characters.
     775: Line exceeds 78 characters.
     776: Line exceeds 78 characters.
     777: Line exceeds 78 characters.
     780: Line exceeds 78 characters.
     781: Line exceeds 78 characters.
     782: Line exceeds 78 characters.
     783: Line exceeds 78 characters.
     795: Line exceeds 78 characters.
     796: Line exceeds 78 characters.
     797: Line exceeds 78 characters.
     798: Line exceeds 78 characters.
     799: Line exceeds 78 characters.
     800: Line exceeds 78 characters.
     801: Line exceeds 78 characters.
     802: Line exceeds 78 characters.
     803: Line exceeds 78 characters.
     809: Line exceeds 78 characters.
     810: Line exceeds 78 characters.
     811: Line exceeds 78 characters.
     812: Line exceeds 78 characters.
     813: Line exceeds 78 characters.
     814: Line exceeds 78 characters.
     815: Line exceeds 78 characters.
     816: Line exceeds 78 characters.
     817: Line exceeds 78 characters.
     821: Line exceeds 78 characters.
     822: Line exceeds 78 characters.
     823: Line exceeds 78 characters.
     824: Line exceeds 78 characters.
     831: Line exceeds 78 characters.
     832: Line exceeds 78 characters.
     833: Line exceeds 78 characters.
     834: Line exceeds 78 characters.
     835: Line exceeds 78 characters.
     836: Line exceeds 78 characters.
     837: Line exceeds 78 characters.
     838: Line exceeds 78 characters.
     839: Line exceeds 78 characters.
     842: Line exceeds 78 characters.
     843: Line exceeds 78 characters.
     844: Line exceeds 78 characters.
     845: Line exceeds 78 characters.
     846: Line exceeds 78 characters.
     847: Line exceeds 78 characters.
     848: Line exceeds 78 characters.
     849: Line exceeds 78 characters.
     850: Line exceeds 78 characters.
     851: Line exceeds 78 characters.
     852: Line exceeds 78 characters.
     853: Line exceeds 78 characters.
     856: Line exceeds 78 characters.
     857: Line exceeds 78 characters.
     858: Line exceeds 78 characters.
     863: Line exceeds 78 characters.
     864: Line exceeds 78 characters.
     865: Line exceeds 78 characters.
     866: Line exceeds 78 characters.
     869: Line exceeds 78 characters.
     870: Line exceeds 78 characters.
     871: Line exceeds 78 characters.
     875: Line exceeds 78 characters.
     876: Line exceeds 78 characters.
     877: Line exceeds 78 characters.
     880: Line exceeds 78 characters.
     881: Line exceeds 78 characters.
     882: Line exceeds 78 characters.
     883: Line exceeds 78 characters.
     884: Line exceeds 78 characters.
     885: Line exceeds 78 characters.
     886: Line exceeds 78 characters.
     887: Line exceeds 78 characters.
     890: Line exceeds 78 characters.
     891: Line exceeds 78 characters.
     892: Line exceeds 78 characters.
     893: Line exceeds 78 characters.
     894: Line exceeds 78 characters.
     895: Line exceeds 78 characters.
     896: Line exceeds 78 characters.
     899: Line exceeds 78 characters.
     900: Line exceeds 78 characters.
     901: Line exceeds 78 characters.
     902: Line exceeds 78 characters.
     903: Line exceeds 78 characters.
     904: Line exceeds 78 characters.
     908: Line exceeds 78 characters.
     909: Line exceeds 78 characters.
     910: Line exceeds 78 characters.
     911: Line exceeds 78 characters.
     912: Line exceeds 78 characters.
     913: Line exceeds 78 characters.
     917: Line exceeds 78 characters.
     919: Line exceeds 78 characters.
     922: Line exceeds 78 characters.
     926: Line exceeds 78 characters.
     927: Line exceeds 78 characters.
     928: Line exceeds 78 characters.
     929: Line exceeds 78 characters.
     930: Line exceeds 78 characters.
     931: Line exceeds 78 characters.
     932: Line exceeds 78 characters.
     933: Line exceeds 78 characters.
     935: Line exceeds 78 characters.
     936: Line exceeds 78 characters.
     937: Line exceeds 78 characters.
     938: Line exceeds 78 characters.
     939: Line exceeds 78 characters.
     944: Line exceeds 78 characters.
     984: Line exceeds 78 characters.
     986: Line exceeds 78 characters.
     992: Line exceeds 78 characters.
     993: Line exceeds 78 characters.
     994: Line exceeds 78 characters.
     995: Line exceeds 78 characters.
     996: Line exceeds 78 characters.
     997: Line exceeds 78 characters.
     998: Line exceeds 78 characters.
     999: Line exceeds 78 characters.
    1000: Line exceeds 78 characters.
    1001: Line exceeds 78 characters.
    1002: Line exceeds 78 characters.
    1003: Line exceeds 78 characters.
    1004: Line exceeds 78 characters.
    1005: Line exceeds 78 characters.
    1006: Line exceeds 78 characters.
    1007: Line exceeds 78 characters.
    1011: Line exceeds 78 characters.
    1015: Line exceeds 78 characters.
    1016: Line exceeds 78 characters.
    1017: Line exceeds 78 characters.
    1021: Line exceeds 78 characters.
    1022: Line exceeds 78 characters.
    1023: Line exceeds 78 characters.
    1024: Line exceeds 78 characters.
    1029: Line exceeds 78 characters.
    1033: Line exceeds 78 characters.
    1037: Line exceeds 78 characters.
    1043: Line exceeds 78 characters.
    1044: Line exceeds 78 characters.
    1045: Line exceeds 78 characters.
    1050: Line exceeds 78 characters.
    1051: Line exceeds 78 characters.
    1052: Line exceeds 78 characters.
    1053: Line exceeds 78 characters.
    1054: Line exceeds 78 characters.
    1055: Line exceeds 78 characters.
    1056: Line exceeds 78 characters.
    1066: Line exceeds 78 characters.
    1067: Line exceeds 78 characters.
    1068: Line exceeds 78 characters.
    1069: Line exceeds 78 characters.
    1070: Line exceeds 78 characters.
    1071: Line exceeds 78 characters.
    1072: Line exceeds 78 characters.
    1073: Line exceeds 78 characters.
    1074: Line exceeds 78 characters.
    1075: Line exceeds 78 characters.
    1077: Line exceeds 78 characters.
    1078: Line exceeds 78 characters.
    1079: Line exceeds 78 characters.
    1080: Line exceeds 78 characters.
    1081: Line exceeds 78 characters.
    1082: Line exceeds 78 characters.
    1083: Line exceeds 78 characters.
    1088: Line exceeds 78 characters.
    1089: Line exceeds 78 characters.
    1092: Line exceeds 78 characters.
    1093: Line exceeds 78 characters.
    1094: Line exceeds 78 characters.
    1095: Line exceeds 78 characters.
    1096: Line exceeds 78 characters.
    1097: Line exceeds 78 characters.
    1098: Line exceeds 78 characters.
    1099: Line exceeds 78 characters.
    1104: Line exceeds 78 characters.
    1105: Line exceeds 78 characters.
    1106: Line exceeds 78 characters.
    1107: Line exceeds 78 characters.
    1108: Line exceeds 78 characters.
    1109: Line exceeds 78 characters.
    1110: Line exceeds 78 characters.
    1111: Line exceeds 78 characters.
    1115: Line exceeds 78 characters.
    1117: Line exceeds 78 characters.
    1119: Line exceeds 78 characters.
    1121: Line exceeds 78 characters.
    1123: Line exceeds 78 characters.
    1125: Line exceeds 78 characters.
    1128: Line exceeds 78 characters.
    1130: Line exceeds 78 characters.
    1132: Line exceeds 78 characters.
    1135: Line exceeds 78 characters.
    1137: Line exceeds 78 characters.
    1139: Line exceeds 78 characters.
    1142: Line exceeds 78 characters.
    1144: Line exceeds 78 characters.
    1146: Line exceeds 78 characters.
    1148: Line exceeds 78 characters.
    1157: Line exceeds 78 characters.
    1158: Line exceeds 78 characters.
    1159: Line exceeds 78 characters.
    1160: Line exceeds 78 characters.
    1161: Line exceeds 78 characters.
    1162: Line exceeds 78 characters.
    1163: Line exceeds 78 characters.
    1164: Line exceeds 78 characters.
    1165: Line exceeds 78 characters.
    1166: Line exceeds 78 characters.
    1167: Line exceeds 78 characters.
    1168: Line exceeds 78 characters.
    1169: Line exceeds 78 characters.
    1170: Line exceeds 78 characters.
    1171: Line exceeds 78 characters.
    1172: Line exceeds 78 characters.
    1173: Line exceeds 78 characters.
    1174: Line exceeds 78 characters.
    1178: Line exceeds 78 characters.
    1179: Line exceeds 78 characters.
    1180: Line exceeds 78 characters.
    1181: Line exceeds 78 characters.
    1185: Line exceeds 78 characters.
    1186: Line exceeds 78 characters.
    1187: Line exceeds 78 characters.
    1191: Line exceeds 78 characters.
    1192: Line exceeds 78 characters.
    1193: Line exceeds 78 characters.
    1194: Line exceeds 78 characters.
    1196: Line exceeds 78 characters.
    1197: Line exceeds 78 characters.
    1200: Line exceeds 78 characters.
    1201: Line exceeds 78 characters.
    1202: Line exceeds 78 characters.
    1203: Line exceeds 78 characters.
    1206: Line exceeds 78 characters.
    1208: Line exceeds 78 characters.
    1209: Line exceeds 78 characters.
    1210: Line exceeds 78 characters.
    1211: Line exceeds 78 characters.
    1212: Line exceeds 78 characters.
    1215: Line exceeds 78 characters.
    1217: Line exceeds 78 characters.
    1218: Line exceeds 78 characters.
    1221: Line exceeds 78 characters.
    1222: Line exceeds 78 characters.
    1224: Line exceeds 78 characters.
    1225: Line exceeds 78 characters.
    1226: Line exceeds 78 characters.
    1227: Line exceeds 78 characters.
    1228: Line exceeds 78 characters.
    1232: Line exceeds 78 characters.
    1234: Line exceeds 78 characters.
    1235: Line exceeds 78 characters.
    1236: Line exceeds 78 characters.
    1237: Line exceeds 78 characters.
    1241: Line exceeds 78 characters.
    1242: Line exceeds 78 characters.
    1246: Line exceeds 78 characters.
    1247: Line exceeds 78 characters.
    1248: Line exceeds 78 characters.
    1249: Line exceeds 78 characters.
    1250: Line exceeds 78 characters.
    1251: Line exceeds 78 characters.
    1252: Line exceeds 78 characters.
    1253: Line exceeds 78 characters.
    1254: Line exceeds 78 characters.
    1255: Line exceeds 78 characters.
    1256: Line exceeds 78 characters.
    1257: Line exceeds 78 characters.
    1258: Line exceeds 78 characters.
    1260: Line exceeds 78 characters.
    1261: Line exceeds 78 characters.
    1262: Line exceeds 78 characters.
    1263: Line exceeds 78 characters.
    1264: Line exceeds 78 characters.
    1265: Line exceeds 78 characters.
    1266: Line exceeds 78 characters.
    1267: Line exceeds 78 characters.
    1268: Line exceeds 78 characters.
    1270: Line exceeds 78 characters.
    1271: Line exceeds 78 characters.
    1273: Line exceeds 78 characters.
    1276: Line exceeds 78 characters.
    1277: Line exceeds 78 characters.
    1278: Line exceeds 78 characters.
    1281: Line exceeds 78 characters.
    1282: Line exceeds 78 characters.
    1283: Line exceeds 78 characters.
    1284: Line exceeds 78 characters.
    1285: Line exceeds 78 characters.
    1286: Line exceeds 78 characters.
    1287: Line exceeds 78 characters.
    1288: Line exceeds 78 characters.
    1292: Line exceeds 78 characters.
    1293: Line exceeds 78 characters.
    1294: Line exceeds 78 characters.
    1295: Line exceeds 78 characters.
    1296: Line exceeds 78 characters.
    1300: Line exceeds 78 characters.
    1301: Line exceeds 78 characters.
    1302: Line exceeds 78 characters.
    1303: Line exceeds 78 characters.
    1304: Line exceeds 78 characters.
    1305: Line exceeds 78 characters.
    1309: Line exceeds 78 characters.
    1310: Line exceeds 78 characters.
    1311: Line exceeds 78 characters.
    1312: Line exceeds 78 characters.
    1316: Line exceeds 78 characters.
    1317: Line exceeds 78 characters.
    1318: Line exceeds 78 characters.
    1321: Line exceeds 78 characters.
    1322: Line exceeds 78 characters.
    1324: Line exceeds 78 characters.
    1325: Line exceeds 78 characters.
    1326: Line exceeds 78 characters.
    1328: Line exceeds 78 characters.
    1330: Line exceeds 78 characters.
    1332: Line exceeds 78 characters.
    1335: Line exceeds 78 characters.
    1336: Line exceeds 78 characters.
    1337: Line exceeds 78 characters.
    1338: Line exceeds 78 characters.
    1339: Line exceeds 78 characters.
    1342: Line exceeds 78 characters.
    1343: Line exceeds 78 characters.
    1344: Line exceeds 78 characters.
    1345: Line exceeds 78 characters.
    1346: Line exceeds 78 characters.
    1348: Line exceeds 78 characters.
    1349: Line exceeds 78 characters.
    1350: Line exceeds 78 characters.
    1351: Line exceeds 78 characters.
    1354: Line exceeds 78 characters.
    1355: Line exceeds 78 characters.
    1390: Line exceeds 78 characters.
    1411: Line exceeds 78 characters.
    1412: Line exceeds 78 characters.
    1413: Line exceeds 78 characters.
    1414: Line exceeds 78 characters.
    1415: Line exceeds 78 characters.
    1416: Line exceeds 78 characters.
    1417: Line exceeds 78 characters.
    1418: Line exceeds 78 characters.
    1419: Line exceeds 78 characters.
    1420: Line exceeds 78 characters.
    1421: Line exceeds 78 characters.
    1422: Line exceeds 78 characters.
    1423: Line exceeds 78 characters.
    1424: Line exceeds 78 characters.
    1428: Line exceeds 78 characters.
    1432: Line exceeds 78 characters.
    1433: Line exceeds 78 characters.
    1434: Line exceeds 78 characters.
    1435: Line exceeds 78 characters.
    1436: Line exceeds 78 characters.
    1437: Line exceeds 78 characters.
    1438: Line exceeds 78 characters.
    1442: Line exceeds 78 characters.
    1443: Line exceeds 78 characters.
    1444: Line exceeds 78 characters.
    1445: Line exceeds 78 characters.
    1446: Line exceeds 78 characters.
    1447: Line exceeds 78 characters.
    1448: Line exceeds 78 characters.
    1449: Line exceeds 78 characters.
    1450: Line exceeds 78 characters.
    1451: Line exceeds 78 characters.
    1452: Line exceeds 78 characters.
    1456: Line exceeds 78 characters.
    1457: Line exceeds 78 characters.
    1458: Line exceeds 78 characters.
    1459: Line exceeds 78 characters.
    1460: Line exceeds 78 characters.
    1461: Line exceeds 78 characters.
    1463: Line exceeds 78 characters.
    1467: Line exceeds 78 characters.
    1468: Line exceeds 78 characters.
    1469: Line exceeds 78 characters.
    1473: Line exceeds 78 characters.
    1474: Line exceeds 78 characters.
    1475: Line exceeds 78 characters.
    1476: Line exceeds 78 characters.
    1477: Line exceeds 78 characters.
    1478: Line exceeds 78 characters.
    1482: Line exceeds 78 characters.
    1483: Line exceeds 78 characters.
    1487: Line exceeds 78 characters.
    1488: Line exceeds 78 characters.
    1489: Line exceeds 78 characters.
    1490: Line exceeds 78 characters.
    1491: Line exceeds 78 characters.
    1492: Line exceeds 78 characters.
    1493: Line exceeds 78 characters.
    1494: Line exceeds 78 characters.
    1495: Line exceeds 78 characters.
    1496: Line exceeds 78 characters.
    1497: Line exceeds 78 characters.
    1498: Line exceeds 78 characters.
    1499: Line exceeds 78 characters.
    1500: Line exceeds 78 characters.
    1501: Line exceeds 78 characters.
    1502: Line exceeds 78 characters.
    1503: Line exceeds 78 characters.
    1504: Line exceeds 78 characters.
    1505: Line exceeds 78 characters.
    1506: Line exceeds 78 characters.
    1507: Line exceeds 78 characters.
    1508: Line exceeds 78 characters.
    1509: Line exceeds 78 characters.
    1510: Line exceeds 78 characters.
    1514: Line exceeds 78 characters.
    1515: Line exceeds 78 characters.
    1516: Line exceeds 78 characters.
    1517: Line exceeds 78 characters.
    1520: Line exceeds 78 characters.
    1521: Line exceeds 78 characters.
    1522: Line exceeds 78 characters.
    1523: Line exceeds 78 characters.
    1526: Line exceeds 78 characters.
    1529: Line exceeds 78 characters.
    1530: Line exceeds 78 characters.
    1533: Line exceeds 78 characters.
    1534: Line exceeds 78 characters.
    1535: Line exceeds 78 characters.
    1538: Line exceeds 78 characters.
    1542: Line exceeds 78 characters.
    1543: Line exceeds 78 characters.
    1544: Line exceeds 78 characters.
    1545: Line exceeds 78 characters.
    1546: Line exceeds 78 characters.
    1547: Line exceeds 78 characters.
    1548: Line exceeds 78 characters.
    1549: Line exceeds 78 characters.
    1550: Line exceeds 78 characters.
    1551: Line exceeds 78 characters.
    1552: Line exceeds 78 characters.
    1553: Line exceeds 78 characters.
    1554: Line exceeds 78 characters.
    1555: Line exceeds 78 characters.
    1556: Line exceeds 78 characters.
    1557: Line exceeds 78 characters.
    1558: Line exceeds 78 characters.
    1559: Line exceeds 78 characters.
    1560: Line exceeds 78 characters.
    1561: Line exceeds 78 characters.
    1562: Line exceeds 78 characters.
    1563: Line exceeds 78 characters.
    1564: Line exceeds 78 characters.
    1565: Line exceeds 78 characters.
    1566: Line exceeds 78 characters.
    1567: Line exceeds 78 characters.
    1572: Line exceeds 78 characters.
    1573: Line exceeds 78 characters.
    1574: Line exceeds 78 characters.
    1575: Line exceeds 78 characters.
    1579: Line exceeds 78 characters.
    1583: Line exceeds 78 characters.
    1584: Line exceeds 78 characters.
    1585: Line exceeds 78 characters.
    1586: Line exceeds 78 characters.
    1587: Line exceeds 78 characters.
    1588: Line exceeds 78 characters.
    1589: Line exceeds 78 characters.
    1590: Line exceeds 78 characters.
    1591: Line exceeds 78 characters.
    1592: Line exceeds 78 characters.
    1593: Line exceeds 78 characters.
    1594: Line exceeds 78 characters.
    1598: Line exceeds 78 characters.
    1599: Line exceeds 78 characters.
    1600: Line exceeds 78 characters.
    1601: Line exceeds 78 characters.
    1602: Line exceeds 78 characters.
    1603: Line exceeds 78 characters.
    1604: Line exceeds 78 characters.
    1605: Line exceeds 78 characters.
    1606: Line exceeds 78 characters.
    1607: Line exceeds 78 characters.
    1608: Line exceeds 78 characters.
    1609: Line exceeds 78 characters.
    1610: Line exceeds 78 characters.
    1615: Line exceeds 78 characters.
    1616: Line exceeds 78 characters.
    1621: Line exceeds 78 characters.
    1622: Line exceeds 78 characters.
    1623: Line exceeds 78 characters.
    1624: Line exceeds 78 characters.
    1629: Line exceeds 78 characters.
    1630: Line exceeds 78 characters.
    1632: Line exceeds 78 characters.
    1633: Line exceeds 78 characters.
    1634: Line exceeds 78 characters.
    1638: Line exceeds 78 characters.
    1639: Line exceeds 78 characters.
    1640: Line exceeds 78 characters.
    1641: Line exceeds 78 characters.
    1642: Line exceeds 78 characters.
    1643: Line exceeds 78 characters.
    1644: Line exceeds 78 characters.
    1645: Line exceeds 78 characters.
    1646: Line exceeds 78 characters.
    1648: Line exceeds 78 characters.
    1649: Line exceeds 78 characters.
    1651: Line exceeds 78 characters.
    1652: Line exceeds 78 characters.
    1655: Line exceeds 78 characters.
    1656: Line exceeds 78 characters.
    1660: Line exceeds 78 characters.
    1661: Line exceeds 78 characters.
    1662: Line exceeds 78 characters.
    1663: Line exceeds 78 characters.
    1665: Line exceeds 78 characters.
    1666: Line exceeds 78 characters.
    1667: Line exceeds 78 characters.
    1668: Line exceeds 78 characters.
    1669: Line exceeds 78 characters.
    1670: Line exceeds 78 characters.
    1671: Line exceeds 78 characters.
    1672: Line exceeds 78 characters.
    1673: Line exceeds 78 characters.
    1676: Line exceeds 78 characters.
    1677: Line exceeds 78 characters.
    1678: Line exceeds 78 characters.
    1679: Line exceeds 78 characters.
    1680: Line exceeds 78 characters.
    1681: Line exceeds 78 characters.
    1682: Line exceeds 78 characters.
    1683: Line exceeds 78 characters.
    1686: Line exceeds 78 characters.
    1688: Line exceeds 78 characters.
    1689: Line exceeds 78 characters.
    1690: Line exceeds 78 characters.
    1691: Line exceeds 78 characters.
    1692: Line exceeds 78 characters.
    1693: Line exceeds 78 characters.
    1694: Line exceeds 78 characters.
    1695: Line exceeds 78 characters.
    1697: Line exceeds 78 characters.
    1698: Line exceeds 78 characters.
    1699: Line exceeds 78 characters.
    1702: Line exceeds 78 characters.
    1703: Line exceeds 78 characters.
    1704: Line exceeds 78 characters.
    1705: Line exceeds 78 characters.
    1706: Line exceeds 78 characters.
    1707: Line exceeds 78 characters.
    1708: Line exceeds 78 characters.
    1709: Line exceeds 78 characters.
    1711: Line exceeds 78 characters.
    1712: Line exceeds 78 characters.
    1713: Line exceeds 78 characters.
    1716: Line exceeds 78 characters.
    1717: Line exceeds 78 characters.
    1718: Line exceeds 78 characters.
    1719: Line exceeds 78 characters.
    1720: Line exceeds 78 characters.
    1721: Line exceeds 78 characters.
    1724: Line exceeds 78 characters.
    1725: Line exceeds 78 characters.
    1726: Line exceeds 78 characters.
    1727: Line exceeds 78 characters.
    1730: Line exceeds 78 characters.
    1731: Line exceeds 78 characters.
    1732: Line exceeds 78 characters.
    1733: Line exceeds 78 characters.
    1734: Line exceeds 78 characters.
    1735: Line exceeds 78 characters.
    1736: Line exceeds 78 characters.
    1737: Line exceeds 78 characters.
    1738: Line exceeds 78 characters.
    1741: Line exceeds 78 characters.
    1742: Line exceeds 78 characters.
    1743: Line exceeds 78 characters.
    1744: Line exceeds 78 characters.
    1745: Line exceeds 78 characters.
    1746: Line exceeds 78 characters.
    1747: Line exceeds 78 characters.
    1748: Line exceeds 78 characters.
    1749: Line exceeds 78 characters.
    1750: Line exceeds 78 characters.
    1754: Line exceeds 78 characters.
    1755: Line exceeds 78 characters.
    1756: Line exceeds 78 characters.
    1757: Line exceeds 78 characters.
    1759: Line exceeds 78 characters.
    1760: Line exceeds 78 characters.
    1761: Line exceeds 78 characters.
    1763: Line exceeds 78 characters.
    1764: Line exceeds 78 characters.
    1765: Line exceeds 78 characters.
    1767: Line exceeds 78 characters.
    1768: Line exceeds 78 characters.
    1769: Line exceeds 78 characters.
    1773: Line exceeds 78 characters.
    1774: Line exceeds 78 characters.
    1775: Line exceeds 78 characters.
    1776: Line exceeds 78 characters.
    1777: Line exceeds 78 characters.
    1778: Line exceeds 78 characters.
    1779: Line exceeds 78 characters.
    1780: Line exceeds 78 characters.
    1781: Line exceeds 78 characters.
    1782: Line exceeds 78 characters.
    1783: Line exceeds 78 characters.
    1784: Line exceeds 78 characters.
    1785: Line exceeds 78 characters.
    1786: Line exceeds 78 characters.
    1787: Line exceeds 78 characters.
    1788: Line exceeds 78 characters.
    1789: Line exceeds 78 characters.
    1790: Line exceeds 78 characters.
    1831: Line exceeds 78 characters.
    1832: Line exceeds 78 characters.
    1833: Line exceeds 78 characters.
    1834: Line exceeds 78 characters.
    1838: Line exceeds 78 characters.
    1839: Line exceeds 78 characters.
    1841: Line exceeds 78 characters.
    1842: Line exceeds 78 characters.
    1843: Line exceeds 78 characters.
    1844: Line exceeds 78 characters.
    1845: Line exceeds 78 characters.
    1848: Line exceeds 78 characters.
    1849: Line exceeds 78 characters.
    1850: Line exceeds 78 characters.
    1851: Line exceeds 78 characters.
    1864: Line exceeds 78 characters.
    1868: Line exceeds 78 characters.
    1869: Line exceeds 78 characters.
    1870: Line exceeds 78 characters.
    1871: Line exceeds 78 characters.
    1872: Line exceeds 78 characters.
    1873: Line exceeds 78 characters.
    1881: Line exceeds 78 characters.
    1882: Line exceeds 78 characters.
    1883: Line exceeds 78 characters.
    1885: Line exceeds 78 characters.
    1892: Line exceeds 78 characters.
    1895: Line exceeds 78 characters.
    1896: Line exceeds 78 characters.
    1898: Line exceeds 78 characters.
    1900: Line exceeds 78 characters.
    1903: Line exceeds 78 characters.
    1910: Line exceeds 78 characters.
    1913: Line exceeds 78 characters.
    1914: Line exceeds 78 characters.
    1915: Line exceeds 78 characters.
    1916: Line exceeds 78 characters.
    1917: Line exceeds 78 characters.
    1918: Line exceeds 78 characters.
    1919: Line exceeds 78 characters.
    1920: Line exceeds 78 characters.
    1921: Line exceeds 78 characters.
    1922: Line exceeds 78 characters.
    1923: Line exceeds 78 characters.
    1924: Line exceeds 78 characters.
    1925: Line exceeds 78 characters.
    1926: Line exceeds 78 characters.
    1928: Line exceeds 78 characters.
    1933: Line exceeds 78 characters.
    1935: Line exceeds 78 characters.
    1936: Line exceeds 78 characters.
    1937: Line exceeds 78 characters.
    1940: Line exceeds 78 characters.
    1942: Line exceeds 78 characters.
    1943: Line exceeds 78 characters.
    1944: Line exceeds 78 characters.
    1945: Line exceeds 78 characters.
    1946: Line exceeds 78 characters.
    1949: Line exceeds 78 characters.
    1950: Line exceeds 78 characters.
    1951: Line exceeds 78 characters.
    1953: Line exceeds 78 characters.
    1956: Line exceeds 78 characters.
    1957: Line exceeds 78 characters.
    1958: Line exceeds 78 characters.
    1959: Line exceeds 78 characters.
    1960: Line exceeds 78 characters.
    1961: Line exceeds 78 characters.
    1964: Line exceeds 78 characters.
    1965: Line exceeds 78 characters.
    1966: Line exceeds 78 characters.
    1967: Line exceeds 78 characters.
    1968: Line exceeds 78 characters.
    1974: Line exceeds 78 characters.
    1975: Line exceeds 78 characters.
    1976: Line exceeds 78 characters.
    1977: Line exceeds 78 characters.
    1978: Line exceeds 78 characters.
    1979: Line exceeds 78 characters.
    1983: Line exceeds 78 characters.
    1993: Line exceeds 78 characters.
    1994: Line exceeds 78 characters.
    1995: Line exceeds 78 characters.
    1997: Line exceeds 78 characters.
    2001: Line exceeds 78 characters.
    2003: Line exceeds 78 characters.
    2004: Line exceeds 78 characters.
    2005: Line exceeds 78 characters.
    2006: Line exceeds 78 characters.
    2007: Line exceeds 78 characters.
    2009: Line exceeds 78 characters.
    2010: Line exceeds 78 characters.
    2011: Line exceeds 78 characters.
    2012: Line exceeds 78 characters.
    2013: Line exceeds 78 characters.
    2016: Line exceeds 78 characters.
    2017: Line exceeds 78 characters.
    2018: Line exceeds 78 characters.
    2019: Line exceeds 78 characters.
    2022: Line exceeds 78 characters.
    2023: Line exceeds 78 characters.
    2024: Line exceeds 78 characters.
    2025: Line exceeds 78 characters.
    2026: Line exceeds 78 characters.
    2029: Line exceeds 78 characters.
    2030: Line exceeds 78 characters.
    2031: Line exceeds 78 characters.
    2032: Line exceeds 78 characters.
    2035: Line exceeds 78 characters.
    2036: Line exceeds 78 characters.
    2037: Line exceeds 78 characters.
    2038: Line exceeds 78 characters.
    2041: Line exceeds 78 characters.
    2042: Line exceeds 78 characters.
    2044: Line exceeds 78 characters.
    2047: Line exceeds 78 characters.
    2048: Line exceeds 78 characters.
    2049: Line exceeds 78 characters.
    2050: Line exceeds 78 characters.
    2051: Line exceeds 78 characters.
    2052: Line exceeds 78 characters.
    2053: Line exceeds 78 characters.
    2054: Line exceeds 78 characters.
    2055: Line exceeds 78 characters.
    2056: Line exceeds 78 characters.
    2057: Line exceeds 78 characters.
    2058: Line exceeds 78 characters.
    2059: Line exceeds 78 characters.
    2060: Line exceeds 78 characters.
    2061: Line exceeds 78 characters.
    2064: Line exceeds 78 characters.
    2065: Line exceeds 78 characters.
    2066: Line exceeds 78 characters.
    2067: Line exceeds 78 characters.
    2068: Line exceeds 78 characters.
    2069: Line exceeds 78 characters.
    2070: Line exceeds 78 characters.
    2071: Line exceeds 78 characters.
    2072: Line exceeds 78 characters.
    2073: Line exceeds 78 characters.
    2074: Line exceeds 78 characters.
    2075: Line exceeds 78 characters.
    2076: Line exceeds 78 characters.
    2077: Line exceeds 78 characters.
    2079: Line exceeds 78 characters.
    2080: Line exceeds 78 characters.
    2081: Line exceeds 78 characters.
    2082: Line exceeds 78 characters.
    2083: Line exceeds 78 characters.
    2084: Line exceeds 78 characters.
    2085: Line exceeds 78 characters.
    2086: Line exceeds 78 characters.
    2087: Line exceeds 78 characters.
    2088: Line exceeds 78 characters.
    2089: Line exceeds 78 characters.
    2090: Line exceeds 78 characters.
    2091: Line exceeds 78 characters.
    2092: Line exceeds 78 characters.
    2096: Line exceeds 78 characters.
    2097: Line exceeds 78 characters.
    2098: Line exceeds 78 characters.
    2099: Line exceeds 78 characters.
    2100: Line exceeds 78 characters.
    2101: Line exceeds 78 characters.
    2104: Line exceeds 78 characters.
    2105: Line exceeds 78 characters.
    2106: Line exceeds 78 characters.
    2111: Line exceeds 78 characters.
    2112: Line exceeds 78 characters.
    2113: Line exceeds 78 characters.
    2114: Line exceeds 78 characters.
    2115: Line exceeds 78 characters.
    2116: Line exceeds 78 characters.
    2117: Line exceeds 78 characters.
    2118: Line exceeds 78 characters.
    2119: Line exceeds 78 characters.
    2123: Line exceeds 78 characters.
    2124: Line exceeds 78 characters.
    2125: Line exceeds 78 characters.
    2126: Line exceeds 78 characters.
    2127: Line exceeds 78 characters.
    2128: Line exceeds 78 characters.
    2129: Line exceeds 78 characters.
    2130: Line exceeds 78 characters.
    2131: Line exceeds 78 characters.
    2132: Line exceeds 78 characters.
    2136: Line exceeds 78 characters.
    2137: Line exceeds 78 characters.
    2138: Line exceeds 78 characters.
    2139: Line exceeds 78 characters.
    2140: Line exceeds 78 characters.
    2141: Line exceeds 78 characters.
    2142: Line exceeds 78 characters.
    2143: Line exceeds 78 characters.
    2144: Line exceeds 78 characters.
    2146: Line exceeds 78 characters.
    2147: Line exceeds 78 characters.
    2148: Line exceeds 78 characters.
    2149: Line exceeds 78 characters.
    2150: Line exceeds 78 characters.
    2154: Line exceeds 78 characters.
    2155: Line exceeds 78 characters.
    2156: Line exceeds 78 characters.
    2170: Line exceeds 78 characters.
    2171: Line exceeds 78 characters.
    2172: Line exceeds 78 characters.
    2176: Line exceeds 78 characters.
    2177: Line exceeds 78 characters.
    2178: Line exceeds 78 characters.
    2181: Line exceeds 78 characters.
    2182: Line exceeds 78 characters.
    2185: Line exceeds 78 characters.
    2186: Line exceeds 78 characters.
    2187: Line exceeds 78 characters.
    2194: Line exceeds 78 characters.
    2195: Line exceeds 78 characters.
    2196: Line exceeds 78 characters.
    2197: Line exceeds 78 characters.
    2202: Line exceeds 78 characters.
    2203: Line exceeds 78 characters.
    2204: Line exceeds 78 characters.
    2207: Line exceeds 78 characters.
    2208: Line exceeds 78 characters.
    2213: Line exceeds 78 characters.
    2214: Line exceeds 78 characters.
    2215: Line exceeds 78 characters.
    2216: Line exceeds 78 characters.
    2217: Line exceeds 78 characters.
    2219: Line exceeds 78 characters.
    2220: Line exceeds 78 characters.
    2221: Line exceeds 78 characters.
    2223: Line exceeds 78 characters.
    2224: Line exceeds 78 characters.
    2225: Line exceeds 78 characters.
    2226: Line exceeds 78 characters.
    2227: Line exceeds 78 characters.
    2228: Line exceeds 78 characters.
    2229: Line exceeds 78 characters.
    2232: Line exceeds 78 characters.
    2234: Line exceeds 78 characters.
    2235: Line exceeds 78 characters.
    2236: Line exceeds 78 characters.
    2237: Line exceeds 78 characters.
    2238: Line exceeds 78 characters.
    2239: Line exceeds 78 characters.
    2240: Line exceeds 78 characters.
    2243: Line exceeds 78 characters.
    2245: Line exceeds 78 characters.
    2247: Line exceeds 78 characters.
    2248: Line exceeds 78 characters.
    2249: Line exceeds 78 characters.
    2252: Line exceeds 78 characters.
    2255: Line exceeds 78 characters.
    2256: Line exceeds 78 characters.
    2257: Line exceeds 78 characters.
    2258: Line exceeds 78 characters.
    2259: Line exceeds 78 characters.
    2260: Line exceeds 78 characters.
    2261: Line exceeds 78 characters.
    2265: Line exceeds 78 characters.
    2266: Line exceeds 78 characters.
    2267: Line exceeds 78 characters.
    2268: Line exceeds 78 characters.
    2269: Line exceeds 78 characters.
    2270: Line exceeds 78 characters.
    2272: Line exceeds 78 characters.
    2273: Line exceeds 78 characters.
    2274: Line exceeds 78 characters.
    2275: Line exceeds 78 characters.
    2276: Line exceeds 78 characters.
    2280: Line exceeds 78 characters.
    2284: Line exceeds 78 characters.
    2287: Line exceeds 78 characters.
    2290: Line exceeds 78 characters.
    2291: Line exceeds 78 characters.
    2296: Line exceeds 78 characters.
    2298: Line exceeds 78 characters.
    2301: Line exceeds 78 characters.
    2303: Line exceeds 78 characters.
    2304: Line exceeds 78 characters.
    2305: Line exceeds 78 characters.
    2309: Line exceeds 78 characters.
    2310: Line exceeds 78 characters.
    2312: Line exceeds 78 characters.
    2313: Line exceeds 78 characters.
    2314: Line exceeds 78 characters.
    2315: Line exceeds 78 characters.
    2316: Line exceeds 78 characters.
    2318: Line exceeds 78 characters.
    2319: Line exceeds 78 characters.
    2320: Line exceeds 78 characters.
    2322: Line exceeds 78 characters.
    2323: Line exceeds 78 characters.
    2324: Line exceeds 78 characters.
    2325: Line exceeds 78 characters.
    2326: Line exceeds 78 characters.
    2332: Line exceeds 78 characters.
    2334: Line exceeds 78 characters.
    2336: Line exceeds 78 characters.
    2338: Line exceeds 78 characters.
    2339: Line exceeds 78 characters.
    2340: Line exceeds 78 characters.
    2341: Line exceeds 78 characters.
    2343: Line exceeds 78 characters.
    2345: Line exceeds 78 characters.
    2346: Line exceeds 78 characters.
    2347: Line exceeds 78 characters.
    2348: Line exceeds 78 characters.
    2349: Line exceeds 78 characters.
    2350: Line exceeds 78 characters.
    2352: Line exceeds 78 characters.
    2354: Line exceeds 78 characters.
    2356: Line exceeds 78 characters.
    2358: Line exceeds 78 characters.
    2361: Line exceeds 78 characters.
    2369: Line exceeds 78 characters.
    2374: Line exceeds 78 characters.
    2375: Line exceeds 78 characters.
    2376: Line exceeds 78 characters.
    2382: Line exceeds 78 characters.
    2383: Line exceeds 78 characters.
    2384: Line exceeds 78 characters.
    2385: Line exceeds 78 characters.
    2386: Line exceeds 78 characters.
    2387: Line exceeds 78 characters.
    2388: Line exceeds 78 characters.
    2389: Line exceeds 78 characters.
    2390: Line exceeds 78 characters.
    2394: Line exceeds 78 characters.
    2395: Line exceeds 78 characters.
    2399: Line exceeds 78 characters.
    2400: Line exceeds 78 characters.
    2401: Line exceeds 78 characters.
    2402: Line exceeds 78 characters.
    2403: Line exceeds 78 characters.
    2404: Line exceeds 78 characters.
    2405: Line exceeds 78 characters.
    2406: Line exceeds 78 characters.
    2407: Line exceeds 78 characters.
    2408: Line exceeds 78 characters.
    2409: Line exceeds 78 characters.
    2410: Line exceeds 78 characters.
    2413: Line exceeds 78 characters.
    2415: Line exceeds 78 characters.
    2419: Line exceeds 78 characters.
    2420: Line exceeds 78 characters.
    2421: Line exceeds 78 characters.
    2425: Line exceeds 78 characters.
    2426: Line exceeds 78 characters.
    2427: Line exceeds 78 characters.
    2428: Line exceeds 78 characters.
    2429: Line exceeds 78 characters.
    2430: Line exceeds 78 characters.
    2431: Line exceeds 78 characters.
    2432: Line exceeds 78 characters.
    2434: Line exceeds 78 characters.
    2435: Line exceeds 78 characters.
    2438: Line exceeds 78 characters.
    2440: Line exceeds 78 characters.
    2441: Line exceeds 78 characters.
    2442: Line exceeds 78 characters.
    2443: Line exceeds 78 characters.
    2444: Line exceeds 78 characters.
    2445: Line exceeds 78 characters.
    2446: Line exceeds 78 characters.
    2448: Line exceeds 78 characters.
    2451: Line exceeds 78 characters.
    2453: Line exceeds 78 characters.
    2454: Line exceeds 78 characters.
    2455: Line exceeds 78 characters.
    2456: Line exceeds 78 characters.
    2457: Line exceeds 78 characters.
    2461: Line exceeds 78 characters.
    2463: Line exceeds 78 characters.
    2470: Line exceeds 78 characters.
    2472: Line exceeds 78 characters.
    2474: Line exceeds 78 characters.
    2475: Line exceeds 78 characters.
    2476: Line exceeds 78 characters.
    2480: Line exceeds 78 characters.
    2487: Line exceeds 78 characters.
    2488: Line exceeds 78 characters.
    2489: Line exceeds 78 characters.
    2492: Line exceeds 78 characters.
    2493: Line exceeds 78 characters.
    2494: Line exceeds 78 characters.
    2497: Line exceeds 78 characters.
    2498: Line exceeds 78 characters.
    2499: Line exceeds 78 characters.
    2502: Line exceeds 78 characters.
    2503: Line exceeds 78 characters.
    2504: Line exceeds 78 characters.
    2506: Line exceeds 78 characters.
    2507: Line exceeds 78 characters.
    2509: Line exceeds 78 characters.
    2512: Line exceeds 78 characters.
    2515: Line exceeds 78 characters.
    2516: Line exceeds 78 characters.
    2528: Line exceeds 78 characters.
./database/schema/security.cfg
     727: Line exceeds 78 characters.
     728: Line exceeds 78 characters.
     729: Line exceeds 78 characters.
     755: Line exceeds 78 characters.
     759: Line exceeds 78 characters.
     814: Line exceeds 78 characters.
     827: Line exceeds 78 characters.
     828: Line exceeds 78 characters.
     844: Line exceeds 78 characters.
     845: Line exceeds 78 characters.
     846: Line exceeds 78 characters.
     847: Line exceeds 78 characters.
     848: Line exceeds 78 characters.
     900: Line exceeds 78 characters.
     901: Line exceeds 78 characters.
     902: Line exceeds 78 characters.
     932: Line exceeds 78 characters.
    1013: Line exceeds 78 characters.
    1023: Line exceeds 78 characters.
    1024: Line exceeds 78 characters.
./lib/lp/testing/__init__.py
     133: 'anonymous_logged_in' imported but unused
     133: 'with_anonymous_login' imported but unused
     152: 'launchpadlib_for' imported but unused
     152: 'launchpadlib_credentials_for' imported but unused
     133: 'with_person_logged_in' imported but unused
     133: 'person_logged_in' imported but unused
     152: 'oauth_access_token_for' imported but unused
     133: 'login_celebrity' imported but unused
     133: 'with_celebrity_logged_in' imported but unused
     151: 'test_tales' imported but unused
     133: 'celebrity_logged_in' imported but unused
     133: 'run_with_login' imported but unused
     133: 'is_logged_in' imported but unused
     133: 'login_team' imported but unused
     133: 'login_person' imported but unused
     133: 'login_as' imported but unused
     914: E301 expected 1 blank line, found 0
./configs/testrunner/launchpad-lazr.conf
     145: Line exceeds 78 characters.
./configs/development/launchpad-lazr.conf
      97: Line exceeds 78 characters.
     116: Line exceeds 78 characters.
     127: Line exceeds 78 characters.
./scripts/rosetta/message-sharing-merge.py
      10: '_pythonpath' imported but unused
      24: E303 too many blank lines (3)
-- 
https://code.launchpad.net/~abentley/launchpad/job-on-new-packaging/+merge/49285
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~abentley/launchpad/job-on-new-packaging into lp:launchpad/db-devel.
=== modified file 'lib/lp/registry/model/packaging.py'
--- lib/lp/registry/model/packaging.py	2010-08-20 20:31:18 +0000
+++ lib/lp/registry/model/packaging.py	2011-02-10 20:19:32 +0000
@@ -7,7 +7,9 @@
 __all__ = ['Packaging', 'PackagingUtil']
 
 from sqlobject import ForeignKey
+from zope.event import notify
 from zope.interface import implements
+from zope.lifecycleevent import ObjectCreatedEvent
 
 from canonical.database.constants import (
     DEFAULT,
@@ -55,6 +57,10 @@
         return SourcePackage(distroseries=self.distroseries,
             sourcepackagename=self.sourcepackagename)
 
+    def __init__(self, **kwargs):
+        super(Packaging, self).__init__(**kwargs)
+        notify(ObjectCreatedEvent(self))
+
 
 class PackagingUtil:
     """Utilities for Packaging."""

=== modified file 'lib/lp/registry/tests/test_packaging.py'
--- lib/lp/registry/tests/test_packaging.py	2010-10-04 19:50:45 +0000
+++ lib/lp/registry/tests/test_packaging.py	2011-02-10 20:19:32 +0000
@@ -8,6 +8,7 @@
 from unittest import TestLoader
 
 from zope.component import getUtility
+from zope.lifecycleevent import ObjectCreatedEvent
 
 from canonical.testing.layers import DatabaseFunctionalLayer
 from lp.registry.interfaces.distribution import IDistributionSet
@@ -17,12 +18,30 @@
     )
 from lp.registry.interfaces.product import IProductSet
 from lp.registry.interfaces.sourcepackagename import ISourcePackageNameSet
+from lp.registry.model.packaging import (
+    Packaging,
+    )
 from lp.testing import (
+    EventRecorder,
     login,
     TestCaseWithFactory,
     )
 
 
+class TestPackaging(TestCaseWithFactory):
+    """Test Packaging object."""
+
+    layer = DatabaseFunctionalLayer
+
+    def test_init_notifies(self):
+        """Creating a Packaging should generate an event."""
+        with EventRecorder() as recorder:
+            packaging = Packaging()
+        (event,) = recorder.events
+        self.assertIsInstance(event, ObjectCreatedEvent)
+        self.assertIs(packaging, event.object)
+
+
 class PackagingUtilMixin:
     """Common items for testing IPackagingUtil."""
 

=== modified file 'lib/lp/testing/__init__.py'
--- lib/lp/testing/__init__.py	2011-02-01 15:57:56 +0000
+++ lib/lp/testing/__init__.py	2011-02-10 20:19:32 +0000
@@ -380,13 +380,14 @@
         """
         if not isinstance(event_types, (list, tuple)):
             event_types = [event_types]
-        result, events = capture_events(callable_obj, *args, **kwargs)
-        if len(events) == 0:
+        with EventRecorder() as recorder:
+            result = callable_obj(*args, **kwargs)
+        if len(recorder.events) == 0:
             raise AssertionError('No notification was performed.')
-        self.assertEqual(len(event_types), len(events))
-        for index, expected in enumerate(event_types):
-            self.assertIsInstance(events[index], expected)
-        return result, events
+        self.assertEqual(len(event_types), len(recorder.events))
+        for event, expected_type in zip(recorder.events, event_types):
+            self.assertIsInstance(event, expected_type)
+        return result, recorder.events
 
     def assertNoNotification(self, callable_obj, *args, **kwargs):
         """Assert that no notifications are generated by the callable.
@@ -395,12 +396,16 @@
         :param *args: The arguments to pass to the callable.
         :param **kwargs: The keyword arguments to pass to the callable.
         """
-        result, events = capture_events(callable_obj, *args, **kwargs)
-        if len(events) == 1:
-            raise AssertionError('An event was generated: %r.' % events[0])
-        elif len(events) > 1:
-            raise AssertionError('Events were generated: %s.' %
-                                 ', '.join([repr(event) for event in events]))
+        with EventRecorder() as recorder:
+            result = callable_obj(*args, **kwargs)
+        if len(recorder.events) == 1:
+            raise AssertionError(
+                'An event was generated: %r.' % recorder.events[0])
+        elif len(recorder.events) > 1:
+            event_list = ', '.join(
+                [repr(event) for event in recorder.events])
+            raise AssertionError(
+                'Events were generated: %s.' % event_list)
         return result
 
     def assertNoNewOops(self, old_oops):
@@ -900,26 +905,25 @@
             os.waitpid(pid, 0)
 
 
-def capture_events(callable_obj, *args, **kwargs):
-    """Capture the events emitted by a callable.
+class EventRecorder:
+    """Intercept and record Zope events.
 
-    :param callable_obj: The callable to call.
-    :param *args: The arguments to pass to the callable.
-    :param **kwargs: The keyword arguments to pass to the callable.
-    :return: (result, events), where result was the return value of the
-        callable, and events are the events emitted by the callable.
+    This prevents the events from propagating to their normal subscribers.
+    The recorded events can be accessed via the 'events' list.
     """
-    events = []
-
-    def on_notify(event):
-        events.append(event)
-    old_subscribers = zope.event.subscribers[:]
-    try:
-        zope.event.subscribers[:] = [on_notify]
-        result = callable_obj(*args, **kwargs)
-        return result, events
-    finally:
-        zope.event.subscribers[:] = old_subscribers
+    def __init__(self):
+        self.events = []
+        self.old_subscribers = None
+
+    def __enter__(self):
+        self.old_subscribers = zope.event.subscribers[:]
+        zope.event.subscribers[:] = [self.events.append]
+        return self
+
+    def __exit__(self, exc_type, exc_value, traceback):
+        assert zope.event.subscribers == [self.events.append], (
+            'Subscriber list has been changed while running!')
+        zope.event.subscribers[:] = self.old_subscribers
 
 
 @contextmanager

=== modified file 'lib/lp/testing/factory.py'
--- lib/lp/testing/factory.py	2011-02-04 17:58:42 +0000
+++ lib/lp/testing/factory.py	2011-02-10 20:19:32 +0000
@@ -2656,7 +2656,8 @@
                     ServiceUsage.LAUNCHPAD)
             else:
                 distroseries = self.makeUbuntuDistroSeries()
-                sourcepackagename = self.makeSourcePackageName()
+        if distroseries is not None and sourcepackagename is None:
+            sourcepackagename = self.makeSourcePackageName()
 
         templateset = getUtility(IPOTemplateSet)
         subset = templateset.getSubset(

=== modified file 'lib/lp/translations/configure.zcml'
--- lib/lp/translations/configure.zcml	2011-02-10 20:19:18 +0000
+++ lib/lp/translations/configure.zcml	2011-02-10 20:19:32 +0000
@@ -150,6 +150,10 @@
         for="lp.translations.interfaces.translationexporter.ITranslationExporter"
         provides="lp.translations.interfaces.translationexporter.ITranslationFormatExporter"
         factory="lp.translations.utilities.gettext_po_exporter.GettextPOChangedExporter"/>
+    <subscriber
+        for="lp.registry.interfaces.packaging.IPackaging
+             zope.lifecycleevent.interfaces.IObjectCreatedEvent"
+        handler="lp.translations.model.translationmergejob.schedule_merge" />
     <facet
         facet="translations">
 

=== modified file 'lib/lp/translations/model/translationmergejob.py'
--- lib/lp/translations/model/translationmergejob.py	2011-02-10 20:19:18 +0000
+++ lib/lp/translations/model/translationmergejob.py	2011-02-10 20:19:32 +0000
@@ -54,6 +54,15 @@
         """)
 
 
+def schedule_merge(packaging, event):
+    """Event subscriber to create a TranslationMergeJob on new packagings.
+
+    :param packaging: The `Packaging` to create a `TranslationMergeJob` for.
+    :param event: The event itself.
+    """
+    return TranslationMergeJob.forPackaging(packaging)
+
+
 class TranslationMergeJob(StormBase, BaseRunnableJob):
     """Job for merging translations between a product and sourcepackage."""
 
@@ -98,6 +107,17 @@
         self.productseries = productseries
 
     @classmethod
+    def forPackaging(cls, packaging):
+        """Create a TranslationMergeJob for a Packaging.
+
+        :param packaging: The `Packaging` to create the job for.
+        :return: A `TranslationMergeJob`.
+        """
+        return cls(
+            Job(), packaging.productseries, packaging.distroseries,
+            packaging.sourcepackagename)
+
+    @classmethod
     def iterReady(cls):
         """See `IJobSource`."""
         store = IStore(cls)
@@ -112,6 +132,8 @@
 
     def run(self):
         """See `IRunnableJob`."""
+        if self.distroseries.distribution.name != 'ubuntu':
+            return
         template_map = dict()
         tm = TransactionManager(None, False)
         all_templates = list(POTemplateSubset(

=== modified file 'lib/lp/translations/tests/test_translationmergejob.py'
--- lib/lp/translations/tests/test_translationmergejob.py	2011-02-10 20:19:18 +0000
+++ lib/lp/translations/tests/test_translationmergejob.py	2011-02-10 20:19:32 +0000
@@ -6,6 +6,9 @@
 __metaclass__ = type
 
 
+from storm.locals import Store
+import transaction
+
 from canonical.launchpad.webapp.testing import verifyObject
 from canonical.testing.layers import (
     LaunchpadZopelessLayer,
@@ -21,25 +24,29 @@
 from lp.translations.model.translationmergejob import TranslationMergeJob
 
 
-def make_translation_merge_job(factory):
+def make_translation_merge_job(factory, not_ubuntu=False):
     singular = factory.getUniqueString()
     upstream_pofile = factory.makePOFile(side=TranslationSide.UPSTREAM)
     upstream_potmsgset = factory.makePOTMsgSet(
         upstream_pofile.potemplate, singular, sequence=1)
     upstream = factory.makeCurrentTranslationMessage(
         pofile=upstream_pofile, potmsgset=upstream_potmsgset)
-    ubuntu_potemplate = factory.makePOTemplate(
-        side=TranslationSide.UBUNTU, name=upstream_pofile.potemplate.name)
-    ubuntu_pofile = factory.makePOFile(
-        potemplate=ubuntu_potemplate, language=upstream_pofile.language)
-    ubuntu_potmsgset = factory.makePOTMsgSet(
-        ubuntu_pofile.potemplate, singular, sequence=1)
-    ubuntu = factory.makeCurrentTranslationMessage(
-        pofile=ubuntu_pofile, potmsgset=ubuntu_potmsgset,
+    if not_ubuntu:
+        distroseries = factory.makeDistroSeries()
+    else:
+        distroseries = factory.makeUbuntuDistroSeries()
+    package_potemplate = factory.makePOTemplate(
+        distroseries=distroseries, name=upstream_pofile.potemplate.name)
+    package_pofile = factory.makePOFile(
+        potemplate=package_potemplate, language=upstream_pofile.language)
+    package_potmsgset = factory.makePOTMsgSet(
+        package_pofile.potemplate, singular, sequence=1)
+    package = factory.makeCurrentTranslationMessage(
+        pofile=package_pofile, potmsgset=package_potmsgset,
         translations=upstream.translations)
     productseries = upstream_pofile.potemplate.productseries
-    distroseries = ubuntu_pofile.potemplate.distroseries
-    sourcepackagename = ubuntu_pofile.potemplate.sourcepackagename
+    distroseries = package_pofile.potemplate.distroseries
+    sourcepackagename = package_pofile.potemplate.sourcepackagename
     return TranslationMergeJob(
         job=Job(), productseries=productseries, distroseries=distroseries,
         sourcepackagename=sourcepackagename)
@@ -107,3 +114,34 @@
         self.assertEqual(2, count_translations(job))
         job.run()
         self.assertEqual(1, count_translations(job))
+
+    def test_skips_non_ubuntu_distros(self):
+        """Run should ignore non-Ubuntu distributions."""
+        job = make_translation_merge_job(self.factory, not_ubuntu=True)
+        self.becomeDbUser('rosettaadmin')
+        self.assertEqual(2, count_translations(job))
+        job.run()
+        self.assertEqual(2, count_translations(job))
+
+    @staticmethod
+    def findJobs(productseries, sourcepackage):
+        store = Store.of(productseries)
+        result = store.find(
+            TranslationMergeJob,
+            TranslationMergeJob.productseries_id == productseries.id,
+            TranslationMergeJob.sourcepackagename_id ==
+            sourcepackage.sourcepackagename.id,
+            TranslationMergeJob.distroseries_id ==
+            sourcepackage.distroseries.id,
+            )
+        return list(result)
+
+    def test_create_packaging_makes_job(self):
+        """Creating a Packaging should make a TranslationMergeJob."""
+        productseries = self.factory.makeProductSeries()
+        sourcepackage = self.factory.makeSourcePackage()
+        self.assertEqual([], self.findJobs(productseries, sourcepackage))
+        sourcepackage.setPackaging(productseries, productseries.owner)
+        self.assertNotEqual([], self.findJobs(productseries, sourcepackage))
+        # Ensure no constraints were violated.
+        transaction.commit()