Subject: Package patch file checksums
To: None <tech-pkg@netbsd.org>
From: Alistair G. Crooks <agc@ftp.netbsd.org>
List: tech-pkg
Date: 07/09/1999 08:03:58
As you may have noticed from the commit messages flying past (and
I apologise to you if you receive mail over a slow modem), I have
just committed logic to bsd.pkg.mk to generate a file containing
MD5 checksums of all the official patch-files in a package (this
is the "makepatchsum" target, analogous to the "makesum" target),
and also added some code to the path target which, if a files/patch-sum
file is present, will check the patches which are present in its
patches/ directory, and only apply the ones for which it has checksum
information.  This should allow you to overwrite a pkgsrc tree with
the contents of pkgsrc.tar.gz, although I should stress that I have
not tried that.

The checksum is only carried out on lines of the patch file which
do not contain the NetBSD RCS Id, so that a patch file will checksum
the same before and after being committed to the cvs repository.

If you have local patches, they should be place in files called
patches/patch-local-* (files will that form of name will not be
added to the patch-sum file, and will not be checked at "make patch"
time).

If a patch's checksum does not equal that recorded in the patch-sum
file, it will not be applied, and a warning message will be generated.
If a file exists in the patches/ directory, but does not appear in
the patch-sum file, that patch file is deemed to be "unofficial",
it will not be applied as a patch, and a warning message will be
generated.

I have tested this, and do not foresee any problems. If there are any,
please send-pr them in the normal manner.

Thanks,
Alistair