Merge ~enr0n/ubuntu/+source/cron:merge-mantic into ubuntu/+source/cron:debian/sid

Proposed by Nick Rosbrook
Status: Needs review
Proposed branch: ~enr0n/ubuntu/+source/cron:merge-mantic
Merge into: ubuntu/+source/cron:debian/sid
Diff against target: 894 lines (+605/-42)
9 files modified
debian/changelog (+483/-0)
debian/control (+4/-4)
debian/cron.default (+4/-28)
debian/cron.init (+1/-1)
debian/cron.service (+1/-1)
debian/crontab.main (+2/-1)
debian/patches/features/inherit-path.patch (+96/-0)
debian/patches/series (+1/-0)
debian/tests/compare-with-old-cron-files (+13/-7)
Reviewer Review Type Date Requested Status
Bryce Harrington (community) Approve
git-ubuntu import Pending
Review via email: mp+444197@code.staging.launchpad.net

Description of the change

Built in PPA: https://launchpad.net/~enr0n/+archive/ubuntu/proposed-migration/+packages?field.name_filter=cron&field.status_filter=published&field.series_filter=mantic

Simple test to verify that the -P option is working as expected:

* Create a script outside of cron's default path, e.g. /usr/local/bin/test
* Add a crontab entry for that script, e.g. crontab -e, and add @reboot /usr/local/bin/test
* Confirm the test was run on reboot as expected.

I ran dep8 tests locally on amd64, and they passed after I made the modification to compare-with-old-cron-files:

autopkgtest [11:37:58]: @@@@@@@@@@@@@@@@@@@@ summary
compare-with-old-cron-files PASS
check-significant-header PASS
do-not-modify-previous-crontabs PASS
check-messages-sent-by-cron PASS
check-listings-protection PASS
qemu-system-x86_64: terminating on signal 15 from pid 107910 (/usr/bin/python3)

To post a comment you must log in.
Revision history for this message
Bryce Harrington (bryce) wrote (last edit ):

I've also triggered the britney autopkgtests against the cron package in the PPA. Will followup with test results if they complete soonish, otherwise can retrieve them via ppa-dev-tools:

$ ppa tests ppa:enr0n/proposed-migration -p cron
* Triggers:
  - Source cron/3.0pl1-162ubuntu1~ppa2: Published
    + Trigger basic @amd64♻️ Trigger all-proposed @amd64💍
    + Trigger basic @arm64♻️ Trigger all-proposed @arm64💍
    + Trigger basic @armhf♻️ Trigger all-proposed @armhf💍
    + Trigger basic @i386♻️ Trigger all-proposed @i386💍
    + Trigger basic @ppc64el♻️ Trigger all-proposed @ppc64el💍
    + Trigger basic @s390x♻️ Trigger all-proposed @s390x💍
* Running:
  # time pkg release arch ppa trigger
  - 160 cron mantic amd64 enr0n/proposed-migration cron/3.0pl1-162ubuntu1~ppa2
  - 160 cron mantic i386 enr0n/proposed-migration cron/3.0pl1-162ubuntu1~ppa2
  - 160 cron mantic s390x enr0n/proposed-migration cron/3.0pl1-162ubuntu1~ppa2
  - 160 cron mantic armhf enr0n/proposed-migration cron/3.0pl1-162ubuntu1~ppa2
  - 160 cron mantic arm64 enr0n/proposed-migration cron/3.0pl1-162ubuntu1~ppa2
  - 160 cron mantic ppc64el enr0n/proposed-migration cron/3.0pl1-162ubuntu1~ppa2

Revision history for this message
Nick Rosbrook (enr0n) wrote :

Looks like the autopkgtest fix only works on amd64, so I will re-work that. Thanks for triggering those.

Revision history for this message
Bryce Harrington (bryce) wrote :
Download full text (6.7 KiB)

I. With dropped changes, a good practice to follow is to include a rationale for why it was dropped. I see what you mean about it no longer applying, and it looks like it's due to upstream cleanup work that removed the errant env vars in release 3.0pl1-136, so I'd suggest updating the changelog to:

  * Dropped changes, patch no longer applies:
    - Update crontab(5) manpage to match new behaviour
      [Fixed upstream in 3.0pl1-136.]

But that's just a nitpick. :-)

II. The rest of the packaging work looks solid, good job.

III. I ran your suggested test, creating a /usr/local/bin/test script and cronning it. I ran it both before upgrading to the PPA cron, and after, and verified that rebooting the container caused it to generate the /tmp/hello.txt file I expected. (I hadn't used @reboot in cron jobs before; nice, TIL!)

Btw, 'test' is probably a bad name to suggest for the test since there's a 'test' built-in for Bash already. :-)

IV. Unfortunately, there does seem to be an error with the updated autopkgtest:

  - cron/3.0pl1-162ubuntu1~ppa2
    + ✅ cron on mantic for amd64 @ 06.06.23 18:47:26 Log️ 🗒️
    + ❌ cron on mantic for arm64 @ 06.06.23 18:37:47 Log️ 🗒️
      • compare-with-old-cron-files FAIL 🟥
      • check-significant-header PASS 🟩
      • do-not-modify-previous-crontabs PASS 🟩
      • check-messages-sent-by-cron PASS 🟩
      • check-listings-protection PASS 🟩
    + ❌ cron on mantic for armhf @ 06.06.23 18:27:21 Log️ 🗒️
      • compare-with-old-cron-files FAIL 🟥
      • check-significant-header PASS 🟩
      • do-not-modify-previous-crontabs PASS 🟩
      • check-messages-sent-by-cron PASS 🟩
      • check-listings-protection PASS 🟩
    + ❌ cron on mantic for i386 @ 06.06.23 18:35:50 Log️ 🗒️
      • compare-with-old-cron-files FAIL 🟥
      • check-significant-header FAIL 🟥
      • do-not-modify-previous-crontabs FAIL 🟥
      • check-messages-sent-by-cron FAIL 🟥
      • check-listings-protection FAIL 🟥
    + ❌ cron on mantic for ppc64el @ 06.06.23 18:33:51 Log️ 🗒️
      • compare-with-old-cron-files FAIL 🟥
      • check-significant-header PASS 🟩
      • do-not-modify-previous-crontabs PASS 🟩
      • check-messages-sent-by-cron PASS 🟩
      • check-listings-protection PASS 🟩
    + ❌ cron on mantic for s390x @ 06.06.23 18:39:18 Log️ 🗒️
      • compare-with-old-cron-files FAIL 🟥
      • check-significant-header PASS 🟩
      • do-not-modify-previous-crontabs PASS 🟩
      • check-messages-sent-by-cron PASS 🟩
      • check-listings-protection PASS 🟩

The i386 failures are probably irrelevant, but the fails on the other architectures aren't. Looking at the log file for the armhf test:

### https://autopkgtest.ubuntu.com/results/autopkgtest-mantic-enr0n-proposed-migration/mantic/armhf/c/cron/20230606_182721_a02c9@/log.gz ###

+----------------------------------------------------------------------+
| this test has been designed to check that when one uses the new |
| package set, cron + cron-daemon-common, the installed |
| configuration files are the same than those wh...

Read more...

review: Needs Fixing
Revision history for this message
Nick Rosbrook (enr0n) wrote :
Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks, looks good. Upload sponsored:

Vcs-Git: https://git.launchpad.net/~bryce/ubuntu/+source/cron
Vcs-Git-Commit: 72ea84d47af8a68360f3ece054768df33de40298
Vcs-Git-Ref: refs/heads/merge-mantic

gpg: ../cron_3.0pl1-162ubuntu1_source.changes: Valid signature from E603B2578FB8F0FB
Checking signature on .dsc
gpg: ../cron_3.0pl1-162ubuntu1.dsc: Valid signature from E603B2578FB8F0FB
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading cron_3.0pl1-162ubuntu1.dsc: done.
  Uploading cron_3.0pl1-162ubuntu1.debian.tar.xz: done.
  Uploading cron_3.0pl1-162ubuntu1_source.buildinfo: done.
  Uploading cron_3.0pl1-162ubuntu1_source.changes: done.
Successfully uploaded packages.

review: Approve
Revision history for this message
Nick Rosbrook (enr0n) wrote :

Thanks, Bryce!

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches