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

Standards-Version field should be deprecated



On 08.09.2016 14:30, Ian Jackson wrote:
> Emmanuel Bourg writes ("Re: Network access during build"):
>> That makes sense, but in this case what is the usefulness of the
>> Standards-Version field? And more precisely, why is it considered an
>> error [1] to omit it?
> 
> The field is useful because it shows the most recent version of the
> policy that the package has been checked against.  It is useful to
> occasionally update packages to the latest standards, and the
> Standards-Version field can be used to spot how long it has been for
> this particular package.  Policy comes with handy summaries of the
> changes, for use when checking/updating a package.

I agree with Emmanuel and I also think that the Standards-Version field
should be deprecated. People expect that a package complies with the
most recent Policy and latest standards when it is updated. That's an
implicit expectation that should not require a regular and tedious
update of a debian/control field. If a package doesn't comply with
Policy, people start to file bug reports and that can't be prevented by
using an older Standards-Version. If I want to know more about the
history of the package, I'll take a look at debian/changelog. If I want
to have a first glimpse I could also follow the link to the Lintian
summary page at tracker.debian.org which quickly tells me something
about possible Policy violations or something that could be improved.


> As a matter of courtesy to those who will come after you, in the
> maintenance of a package, I think it should always be included.  It's
> your declaration of what work you have (and have not!) done.

I'd rather prefer not having to update this field every time. If I want
to learn more about the work that has been done, Git commits or the
changelog will be far more informative.

> I don't have a strong opinion about whether it should be an "error"
> for lintian, but: it is really very easy to put one in when you make a
> packaqe for the first time, and inventing one later might be tiresome.
> 
>> Speaking for the Java team, on each new version of the policy we have to
>> update this field in ~500 packages actively maintained, and most of the
>> time no other change is necessary. If the field could be deprecated it
>> would save some time.
> 
> You could do your checks, and update the field, much more rarely, if
> you wanted.  There is nothing inherently wrong with having a
> Standards-Version which refers to a previous version of policy.

But wouldn't that defeat the purpose of the Standards-Version field, if
I don't update it even if the package complies with the most recent
Policy version?

> (A very old Standards-Version is a rather different matter: it
> suggests that the package may be rotting.)

The Standards-Version field doesn't provide reliable information in my
opinion. I have seen packages with a very old version which were in good
shape and I have seen packages with the most recent one that were not
policy-compliant. It is far more likely that we spot bit rotting when
compat levels get removed in debhelper (e.g. the recent RC compat level
4 removal) or when missing build-arch and build-indep targets in
debian/rules became release critical and people started filing bug reports.

> Is that suggestion any use ?

I have written a macro to update the Standards-Version field because it
is such a boring task. Declaring compliance with the Policy over and
over again by updating this field and mentioning it in the d/changelog,
doesn't strike me as being a useful task. There are better ways to
determine bit rot IMO.

Regards,

Markus


Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: