Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Rename README for github.
jlaffaye committed 14 years ago
commit 124b4b2dd2a790231ead8a2451b76cad5833f322
parent 06b2601
3 files changed +70 -70
deleted README
@@ -1,69 +0,0 @@
-
pkgng - a binary package manager for FreeBSD
-
============================================
-

-
libpkg
-
------
-

-
pkgng is built on top of libpkg, a new library to interface with package registration backends.
-
It abstracts package management details such as registration, remote repositories, package creation,
-
updating, etc.
-

-
Package format
-
--------------
-

-
pkgng uses a new +MANIFEST file to describe a package. It is very similar to
-
the old +CONTENTS file, but cleaned (no more @comment which in fact can be an
-
hidden key-value!). The new manifest has new metadatas such as the
-
architecture and the release it is built for, the maintainer of the package,
-
the ports options it was build with.
-

-
@exec and @unexec are deprecated. They are still executed but pkgng print a
-
deprecation warning message.
-

-
pkgng supports new scripts: +PREINSTALL +POSTINSTALL, +PREDEINSTALL, +POSTDEINSTALL,
-
+PREUPGRADE, +POSTUPGRADE as well as the original scripts : +INSTALL +DEINSTALL +UPGRADE
-

-
The prefered compression format of pkgng for package archive is .txz. It is
-
faster to decompress than bzip2, thus allow faster installation with a smaller
-
archive file. Of course, pkgng can manage .tbz, .tgz and .tar archives.
-

-
Local database
-
--------------
-

-
Once a package is installed, it is registered to a sqlite database.
-
The sqlite database allow fast queries, ACID transactions.
-
It also allow to query the reverse dependencies without a +REQUIRED_BY hack.
-
In order to save space the MTREE is only stored once, which save 18K per
-
installed package.
-

-
pkgng supports a `register' command to register packages into the sqlite
-
database from the ports. The register command can execute the install script,
-
show pkg-message, ...
-

-
Installation of a package
-
-------------------------
-

-
`pkg add' can install a package archive on the local disk, on a http/ftp remote
-
server. If only a package name is given, it will search the remote repository
-
and download and install the package if it exists. The dependencies will be
-
downloaded and installed first. This is possible because we have the
-
dependencies informations in the repository database.
-

-
`pkg add' will check if the user attempt to install a package built for another
-
arch or release.
-

-
Upgrade of packages
-
-------------------
-

-
pkgng will compare the versions of installed packages and those available on
-
the repository. It will compute the proper update order and apply them.
-

-
Deletion of a package
-
---------------------
-

-
Directory leftovers are automatically removed if they are not in the MTREE.
-

-
Using from ports
-
----------------
-
To use pkgng from ports currently we need to include bsd.pkgng.mk in bsd.port.mk
-
the line before  .if defined(USE_LOCAL_MK)
added README.md
@@ -0,0 +1,69 @@
+
pkgng - a binary package manager for FreeBSD
+
============================================
+

+
libpkg
+
------
+

+
pkgng is built on top of libpkg, a new library to interface with package registration backends.
+
It abstracts package management details such as registration, remote repositories, package creation,
+
updating, etc.
+

+
Package format
+
--------------
+

+
pkgng uses a new +MANIFEST file to describe a package. It is very similar to
+
the old +CONTENTS file, but cleaned (no more @comment which in fact can be an
+
hidden key-value!). The new manifest has new metadatas such as the
+
architecture and the release it is built for, the maintainer of the package,
+
the ports options it was build with.
+

+
@exec and @unexec are deprecated. They are still executed but pkgng print a
+
deprecation warning message.
+

+
pkgng supports new scripts: +PREINSTALL +POSTINSTALL, +PREDEINSTALL, +POSTDEINSTALL,
+
+PREUPGRADE, +POSTUPGRADE as well as the original scripts : +INSTALL +DEINSTALL +UPGRADE
+

+
The prefered compression format of pkgng for package archive is .txz. It is
+
faster to decompress than bzip2, thus allow faster installation with a smaller
+
archive file. Of course, pkgng can manage .tbz, .tgz and .tar archives.
+

+
Local database
+
--------------
+

+
Once a package is installed, it is registered to a sqlite database.
+
The sqlite database allow fast queries, ACID transactions.
+
It also allow to query the reverse dependencies without a +REQUIRED_BY hack.
+
In order to save space the MTREE is only stored once, which save 18K per
+
installed package.
+

+
pkgng supports a `register' command to register packages into the sqlite
+
database from the ports. The register command can execute the install script,
+
show pkg-message, ...
+

+
Installation of a package
+
-------------------------
+

+
`pkg add' can install a package archive on the local disk, on a http/ftp remote
+
server. If only a package name is given, it will search the remote repository
+
and download and install the package if it exists. The dependencies will be
+
downloaded and installed first. This is possible because we have the
+
dependencies informations in the repository database.
+

+
`pkg add' will check if the user attempt to install a package built for another
+
arch or release.
+

+
Upgrade of packages
+
-------------------
+

+
pkgng will compare the versions of installed packages and those available on
+
the repository. It will compute the proper update order and apply them.
+

+
Deletion of a package
+
---------------------
+

+
Directory leftovers are automatically removed if they are not in the MTREE.
+

+
Using from ports
+
----------------
+
To use pkgng from ports currently we need to include bsd.pkgng.mk in bsd.port.mk
+
the line before  .if defined(USE_LOCAL_MK)
modified libpkg/pkg_config.c
@@ -11,7 +11,7 @@
#include "pkg.h"
#include "pkg_event.h"

-
struct _config {
+
static struct _config {
	const char *key;
	const char *def;
	const char *val;