467
478
... modified_insecure_policy, DevNullLogger())
468
479
>>> errors = ed_broken_dsc_file.verify()
469
480
>>> [str(err) for err in errors]
470
['File ed_0.2-20.diff.gz mentioned in the changes has a checksum mismatch. 8343836094fb01ee9b9a1067b23365f1 != f9e1e5f13725f581919e9bfd6227ffff']
473
=== Sub-DSC file lookup ===
476
== SourceUploadFile ==
479
== DebBinaryUploadFile ==
481
DebBinaryUploadFile models a binary .deb file.
483
>>> from lp.archiveuploader.nascentuploadfile import (
484
... DebBinaryUploadFile)
485
>>> ed_deb_path = datadir('ed_0.2-20_i386.deb')
486
>>> ed_binary_deb = DebBinaryUploadFile(ed_deb_path,
487
... 'e31eeb0b6b3b87e1ea79378df864ffff',
488
... 15, 'main/editors', 'important', 'foo', '1.2',
489
... ed_binary_changes, modified_insecure_policy,
481
['File ed_0.2-20.diff.gz mentioned in the changes has a checksum mismatch.
482
8343836094fb01ee9b9a1067b23365f1 != f9e1e5f13725f581919e9bfd6227ffff']
488
DebBinaryUploadFile models a binary .deb file.
490
>>> from lp.archiveuploader.nascentuploadfile import (
491
... DebBinaryUploadFile)
492
>>> ed_deb_path = datadir('ed_0.2-20_i386.deb')
493
>>> ed_binary_deb = DebBinaryUploadFile(
494
... ed_deb_path, 'e31eeb0b6b3b87e1ea79378df864ffff', 15,
495
... 'main/editors', 'important', 'foo', '1.2', ed_binary_changes,
496
... modified_insecure_policy, DevNullLogger())
492
498
Like the other files it can be verified:
494
>>> list(ed_binary_deb.verify())
500
>>> list(ed_binary_deb.verify())
497
503
Verification checks that the specified section matches the section in the
500
>>> ed_binary_deb = DebBinaryUploadFile(ed_deb_path,
501
... 'e31eeb0b6b3b87e1ea79378df864ffff',
502
... 15, 'main/net', 'important', 'foo', '1.2',
503
... ed_binary_changes, modified_insecure_policy,
505
>>> list(ed_binary_deb.verify())
506
[UploadError('ed_0.2-20_i386.deb control file lists section as
507
main/editors but changes file has main/net.',)]
506
>>> ed_binary_deb = DebBinaryUploadFile(
507
... ed_deb_path, 'e31eeb0b6b3b87e1ea79378df864ffff', 15, 'main/net',
508
... 'important', 'foo', '1.2', ed_binary_changes,
509
... modified_insecure_policy, DevNullLogger())
510
>>> list(ed_binary_deb.verify())
511
[UploadError('ed_0.2-20_i386.deb
512
control file lists section as main/editors but changes file has
509
515
It also checks the priority against the changes file:
511
>>> ed_binary_deb = DebBinaryUploadFile(ed_deb_path,
512
... 'e31eeb0b6b3b87e1ea79378df864ffff',
513
... 15, 'main/editors', 'extra', 'foo', '1.2',
514
... ed_binary_changes, modified_insecure_policy,
516
>>> list(ed_binary_deb.verify())
517
[UploadError('ed_0.2-20_i386.deb control file lists priority as important
518
but changes file has extra.',)]
520
The timestamp of the files in the .deb are tested against the policy for being
523
>>> from lp.archiveuploader.uploadpolicy import ArchiveUploadType
524
>>> old_only_policy = getPolicy(
525
... name='insecure', distro='ubuntu', distroseries='hoary')
526
>>> old_only_policy.accepted_type = ArchiveUploadType.BINARY_ONLY
527
>>> old_only_policy.future_time_grace = -5 * 365 * 24 * 60 * 60
529
>>> ed_binary_deb = DebBinaryUploadFile(ed_deb_path,
530
... 'e31eeb0b6b3b87e1ea79378df864ffff',
531
... 15, 'main/editors', 'important', 'foo', '1.2',
532
... ed_binary_changes, old_only_policy,
534
>>> list(ed_binary_deb.verifyDebTimestamp())
535
[UploadError('ed_0.2-20_i386.deb: has 26 file(s) with a time stamp too
536
far into the future (e.g. control [Thu Jan 3 19:29:01 2008]).',)]
517
>>> ed_binary_deb = DebBinaryUploadFile(
518
... ed_deb_path, 'e31eeb0b6b3b87e1ea79378df864ffff', 15,
519
... 'main/editors', 'extra', 'foo', '1.2', ed_binary_changes,
520
... modified_insecure_policy, DevNullLogger())
521
>>> list(ed_binary_deb.verify())
522
[UploadError('ed_0.2-20_i386.deb
523
control file lists priority as important but changes file has extra.',)]
525
The timestamp of the files in the .deb are tested against the policy for
528
>>> from lp.archiveuploader.uploadpolicy import ArchiveUploadType
529
>>> old_only_policy = getPolicy(
530
... name='insecure', distro='ubuntu', distroseries='hoary')
531
>>> old_only_policy.accepted_type = ArchiveUploadType.BINARY_ONLY
532
>>> old_only_policy.future_time_grace = -5 * 365 * 24 * 60 * 60
534
>>> ed_binary_deb = DebBinaryUploadFile(
535
... ed_deb_path, 'e31eeb0b6b3b87e1ea79378df864ffff', 15,
536
... 'main/editors', 'important', 'foo', '1.2', ed_binary_changes,
537
... old_only_policy, DevNullLogger())
538
>>> list(ed_binary_deb.verifyDebTimestamp())
539
[UploadError('ed_0.2-20_i386.deb:
540
has 26 file(s) with a time stamp too far into the future
541
(e.g. control [Thu Jan 3 19:29:01 2008]).',)]
538
543
... as well as for being too old:
540
>>> new_only_policy = getPolicy(
541
... name='insecure', distro='ubuntu', distroseries='hoary')
542
>>> new_only_policy.accepted_type = ArchiveUploadType.BINARY_ONLY
543
>>> new_only_policy.earliest_year = 2010
544
>>> ed_binary_deb = DebBinaryUploadFile(ed_deb_path,
545
... 'e31eeb0b6b3b87e1ea79378df864ffff',
546
... 15, 'main/editors', 'important', 'foo', '1.2',
547
... ed_binary_changes, new_only_policy,
549
>>> list(ed_binary_deb.verify())
550
[UploadError('ed_0.2-20_i386.deb: has 26 file(s) with a time stamp too
551
far in the past (e.g. control [Thu Jan 3 19:29:01 2008]).',)]
554
== UDebBinaryUploadFile ==
557
== CustomUploadFile ==
545
>>> new_only_policy = getPolicy(
546
... name='insecure', distro='ubuntu', distroseries='hoary')
547
>>> new_only_policy.accepted_type = ArchiveUploadType.BINARY_ONLY
548
>>> new_only_policy.earliest_year = 2010
549
>>> ed_binary_deb = DebBinaryUploadFile(
550
... ed_deb_path, 'e31eeb0b6b3b87e1ea79378df864ffff', 15,
551
... 'main/editors', 'important', 'foo', '1.2', ed_binary_changes,
552
... new_only_policy, DevNullLogger())
553
>>> list(ed_binary_deb.verify())
554
[UploadError('ed_0.2-20_i386.deb:
555
has 26 file(s) with a time stamp too far in the past
556
(e.g. control [Thu Jan 3 19:29:01 2008]).',)]