pkgsrc/mk/pkgformat
rillig 7f191db6be mk/pkgformat: include only relevant ident strings in +BUILD_VERSION
Before, not only files containing an RCS Id were recorded in the
+BUILD_VERSION file but also files containing text that looked similar to
an RCS Id were recorded, even though these didn't contain any valuable
version information.

The effect was that before this change, pkgtools/pkglint was built over
and over again by the bulk builds since pbulk uses a different regular
expression for detecting modified files.

The regular expression for unexpanded RCS Ids is added to record files
that have never been checked in to CVS, just to have them recorded and to
distinguish them from the final committed version.

See https://mail-index.netbsd.org/tech-pkg/2020/01/11/msg022489.html.
2020-01-15 20:11:11 +00:00
..
pkg mk/pkgformat: include only relevant ident strings in +BUILD_VERSION 2020-01-15 20:11:11 +00:00
bsd.pkgformat-vars.mk
bsd.pkgformat.mk
README Remove support for USE_DESTDIR=no. 2016-04-10 15:58:02 +00:00

$NetBSD: README,v 1.3 2016/04/10 15:58:03 joerg Exp $

= Introduction =

A package format is a packaging system that is supported by pkgsrc.
Currently, there is only one (the native pkgsrc tools), but maybe we can
support RPM, dpkg or the Solaris native packages someday. It can also be
used to test new variants of the packaging tools.

NOTE: The Google Summer of Code 2011 project includes rpm and debian
http://addpackageforma.sourceforge.net/

The PKG_FORMAT variable is used to select the format. The default
format is ``pkg''.

= Interface =

== Variables usable at load-time ==

A package system format must define the following variables so that they
can be used when loading Makefiles. (That is, no references to undefined
variables.)

=== Legacy ===

* PKG_DBDIR (TODO: Make the other parts of pkgsrc independent of that
  variable; this should go away.)

=== Packaging commands ===

The following variables all refer to shell commands, which must accept
some command line options that are detailed in the respective man pages.
(TODO: Find out which command line options are really used and which
ones are useful. Document them.)

* PKG_ADD
* PKG_ADMIN
* PKG_CREATE
* PKG_DELETE
* PKG_INFO
* LINKFARM
* PKG_BEST_EXISTS

The following variables must be defined so that they can be used in
shell commands. They may contain references to all other variables.

* PKG_FILELIST_CMD

XXX: Why isn't this variable in the previous list?

== Make targets ==

The following make targets must be implemented:

* _pkgformat-check-vulnerable
* _pkgformat-deinstall
* _pkgformat-show-depends
* _pkgformat-install-dependencies
* bootstrap-depends
* tarup (XXX: This doesn't sound like a target that should be defined
  here.)
* tarup-pkg
* package-install
* _pkgformat-replace
* _pkgformat-destdir-replace
* _pkgformat-undo-replace