[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#609162: debian-policy: package names with dots/periods ('.') and crontab files: packagers beware



On Tue, Sep 13, 2011 at 05:02:27PM -0500, Jonathan Nieder wrote:
> (bcc: cron maintainers, request-tracker3.8 maintainers, debianutils
>  maintainers, jtmd)
> Hi,
> 
> Karl E. Jorgensen noticed that the current advice for naming files in
> cron.d breaks for packages with a dot in their name and proposed a
> small policy change to fix that.  Seconds?  Objections?

Yes, that issue has been recently documented more in detail in cron's manpage
(in version 3.0pl1-119). In any case, this issue is still open as bug 618317
and bug 631884. We (the cron maintainers) are yet undecided on whether we are
going to keep it as it is or if we are going to change the default behaviour
in future releases.

Mainly because this seems to be a constant frustation for users since other
distributions do not impose this requirement in their own cron forks.

> The proposed change follows:
> 
> Russ Allbery wrote:
> > "Karl E. Jorgensen" <karl@jorgensen.org.uk> writes:
> 
> >> Can do. are two sentences in secion 9.5 which will need to be changed. 
> >>
> >> The 2nd sentence in 9.5, which currently reads:
> >>
> >>     If a package wants to install a job that has to be executed via
> >>     cron, it should place a file with the name of the package in one
> >>     or more of the following directories:
> >>
> >> could be changed to:
> >>
> >>     If a package wants to install a job that has to be executed via
> >>     cron, it should place a file with the name of the package (with a
> >>     file name as specified in section 9.5.1) in one or more of the
> >>     following directories:

Ok with this change.

> >>
> >> And further down, the sentence which currently reads:
> >>
> >>     If a certain job has to be executed at some other frequency or at
> >>     a specific time, the package should install a file
> >>     /etc/cron.d/package
> >>
> >> could be changed to:
> >>
> >>     If a certain job has to be executed at some other frequency or at
> >>     a specific time, the package should install a file
> >>     /etc/cron.d/package (with a file name as specified in section
> >>     9.5.1)

Ok with this change. But please notice that there are some restrictions
to the file permissions of the files under /etc/cron.d (from cron's manpage:
"must be owned by root, and must not be group- or other-writable."). 

Maybe those restrictions should be included there too?

> >>
> >> and a new section:
> >>
> >>     9.5.1 File Names for Cron Jobs
> >>
> >>     File names representing cron jobs should generally be named
> >>     according to the package from which it comes.
> >>
> >>     If a package supplies multiple crontab files in the same
> >>     directory, the file names should all start with the name of the
> >>     package followed by a hyphen ('-') and a suitable suffix.
> >>
> >>     The resulting file name must not include any '.' or '+' characters
> >>     as this will cause cron to ignore them.  Underscores ('_') should
> >>     be used instead of '.' and '+' characters.

Agree with this change, as it is the current situation. But please note that
we might change this in the future and lift this requirement for future
Debian releases.

In addition, strictly speacking, the filename restriction  does not necessarily
apply to the files under /etc/cron.d (there is a '-l' switch in our Vixie
cron implementation for those sysadmins that want LSB-style filenames there).
But, for the sake of brevity, we might want to put the general case.

> >> How does that sound?
> >
> > Looks good to me.  Seconded, with the minor correction in the
> > second-to-last paragraph of s/crontab files/cron job files/ since,
> > properly speaking, only the files in /etc/cron.d are actually crontab
> > files.  The rest are just executables.

Looks good to me too.


Regards

Javier

Attachment: signature.asc
Description: Digital signature


Reply to: