Added support for RPM packages.
Added support for Debian packages.
I checkout and bootstraped "pkgsrc" (Ubuntu). The name "flavor" is replaced with "pkgformat".
I've installed the misc/rpm package from pkgsrc native format. I'm using default configuration.
rpm directory added in pkgformats(former flavors). *.mk for required private targets.
I plan to change it the same way as dpkg (see bellow). builddir paths need to be changed for
rpmbuild to work.
At bootstrap there is a check for native dpkg tools. If it is installed, the debian
pkgformat option can be used. I did not include option to use dpkg from pkgsrc.
= Interface =
Packages are first created, then installed
to build package:
(b)make PKG_FORMAT=rpm package
To install package:
(b)make PKG_FORMAT=rpm install
to deinstall package:
(b)make PKG_FORMAT=rpm deinstall
This is not working for unprivileged user (su is called but _pkgformat-deinstall is not executed)
It is working for "root" user. I don't know why yet.
== Variables usable at load-time ==
A package system flavor must define the following variables so that they
can be used when loading Makefiles. (That is, no references to undefined
variables.)
RPMBASE?= /usr/rpm
RPM_DBDIR?= /var/db/rpm
=== Packaging commands ===
pkg_* tools are not changed
== Make targets ==
* package - Implemented
* _pkgformat-check-vulnerable - Not tested
* _pkgformat-deinstall - Does not work for unprivileged user
* _pkgformat-show-depends - Implemented
* _pkgformat-install-dependencies - Not tested
* _pkgformat-bootstrap-depends - Not tested
* _pkgformat-register - This looks like pkgsrc-native specific target
* tarup - This looks like pkgsrc-native specific target
* tarup-pkg - This looks like pkgsrc-native specific target
* package-install - Implemented
* _pkgformat-replace - Not tested
* _pkgformat-destdir-replace - Not tested
* _pkgformat-undo-replace - Not tested
* info - Implemented
* check - Not implemented
* list - Implemented
* show-downlevel - Implemented
* show-installed-depends - Implemented
* show-needs-update - Not implemented
* show-needs-update - Not implemented
* show-pkgsrc-dir - Not implemented
* show-depends-options - Implemented
* sid - See show-installed-depends
The same applies to Debian packages.
Other notable problems:
- copyrights control file for Debian packages:
At the moment it contains generic message. It it should contain license and copyrights information
in Debian format. A license mapping to Debian supported licenses will be useful.
- changelog control file for Debian packages:
At the moment it contains generic message. It it should contain changelog information in Debian format.
- pre-,post- install/remove scripts.
- generate conffiles, shlibs control files if applicable.