Bug 2365811

Summary: cron daemons need to support alternative crontab binary and Provides: cron
Product: [Fedora] Fedora Reporter: Pramod V U <pramodvu1502>
Component: cronieAssignee: Ondřej Pohořelský <opohorel>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 42CC: dick, jstanek, mmaslano, mmuzila, nixuser, opohorel, tm
Target Milestone: ---Keywords: RFE
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2350109    
Bug Blocks:    

Description Pramod V U 2025-05-13 06:50:36 UTC
Cron packages, like cronie, need to add `Provides: cron` (and `Provides: anacron` as needed) to themselves.

AND packages like "crontabs" need to `Requires: cron` rather than a specific implementation like cronie.

This allows any cron implementation to be installed on fedora, without hacks like `Provides: cronie` in alternate packages.

This would allow seamless interchanging of various cron implementations...

Additionally, the "crontab" binary needs to be interchangeable via "update-alternatives".

Reproducible: Always

Steps to Reproduce:
No specific steps... It's a package metadata issue.
Actual Results:
- Alternate cron implementations need to either re-implement the entire "crontabs" package or if they depend on it need to `Provides: cronie` in order to avoid pulling the redundant cronie daemon, which if running may re-run the crobjobs which are already taken care of by the alternate implementations.
- `crontab` binary is different across implementations, and conflicts when multiple cron impelmentations are to be installed... Any implementation has to depend on "crontabs" which depends on cronie, and there is a conflict with the alternate implementation of `crontab` binary.

Expected Results:
- Installing any alternate cron implementation should be seamlessly supported as anything needing cron has `Requires: cron`. Without hacks or needing to account for other specific implementations.
- "crontab" binary should be interchangeable via "update-alternatives".

Additional Information:
https://bugzilla.redhat.com/show_bug.cgi?id=2350109

This is a cron implementation which is a systemd generator rather a traditional cron daemon; It generates systemd service-timer unit pairs for each cronjob, which systemd runs.

Trying to package this, in a clean way such that it is interchangeable and drop-in replacement to cronie, the problem becomes apparent.