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

Bug#397939: clean rule behavior underspecified and inconsistent with common practice



* Jonathan Nieder <jrnieder@gmail.com> [120911 05:45]:
> > during the last months i had to review several packages. Quite a number
> > of packages were not buildable two times (eg. "unrepresentable changes
> > to source"). Most of these packages used svn-buildpackage or
> > cvs-buildpackage. This bug is quite annoying as one needs to either
> > manual interact or run dpkg-source -x again.
> 
> Of course policy forbids that.  The requirements in policy for
> "debian/rules clean" are very stringent --- to avoid the
> "unrepresentable changes" it would be enough to _remove_ the modified
> (regenerated) files, but policy requires undoing everything the build
> target did, or in other words restoring the original files.

I disagree.

Policy says:

| This must undo any effects that the build and binary targets may have
| had, except that it should leave alone any output files created in the
| parent directory by a run of a binary target.

It does not do it must undo "everything". Undoing everything would be
impossible (like, how do you revert the timestamps of directories that
got a newer timestamp because there was a file created and then removed
in there?).

Policy only speaks about the "effects" those targets had.

And I think common understanding of this was (at least was in the past)
that removing files not needed for the build is a simple and effective
way to undo those effects, as it results in a working dir aquivalent
for all practical purposes to one where build and binary never ran.

        Bernhard R. Link


Reply to: