void-packages/doc
Juan RP 17404bdb42 Mega-commit with improvements and changes done in the past days.
- Introduce package states: unpacked, broken, installed, etc.
  Not yet finished, only unpacked and installed are used for now.

- Move package metadata files in binary packages directly to
  the top directory, this speeds up some ops and makes easier to
  continue working in future changes.

- xbps-bin: -C flag to check the hash of package files has been
  superseded by the 'check' target, which verifies the integrity
  of an installed package.

- Use the 'essential' object when upgrading packages, overwritting
  current files. This is needed for critical packages like sh, libc
  and others.

- Miscellaneous tweaks and improvements thorough the code.

--HG--
extra : convert_revision : 2073fcc123efc24b3e9327b5e22aa91752f20df6
2009-08-08 22:29:48 +02:00
..
BINPKG_INFO Mega-commit with improvements and changes done in the past days. 2009-08-08 22:29:48 +02:00
BINPKG_REPOSITORY Long life to the xbps-repo genindex C implementation! 2009-04-03 16:03:31 +02:00
FEATURES Added two features missed in previous. 2009-03-14 07:46:08 +01:00
README doc: update requirements. 2009-04-29 16:02:17 +02:00
SRCPKG_INFO doc: update requirements. 2009-04-29 16:02:17 +02:00
TODO Mega-commit with improvements and changes done in the past days. 2009-08-08 22:29:48 +02:00

-----------------------------------------------------------------------------
 WHAT IS IT?
-----------------------------------------------------------------------------

xbps - xtraeme's build package system.

It is a simple build package system that installs packages inside of
a chroot in a destination directory. Once the package has been installed
into this directory, you can make it appear/unappear at the master directory
at any time. It's in spirit the same than GNU stow, but the files are just
copied (there are no soft/hard links).

xbps has been designed for Linux, and for the moment I'm not interested to
make it work on any other random OS. I've been a NetBSD developer for some
years and I do not want to come back... also the experience has helped to
me to start xbps and not to use pkgsrc, which is very portable but also
not so fast.

-----------------------------------------------------------------------------
 REQUIREMENTS
-----------------------------------------------------------------------------

xbps uses proplib, a property container object library and it's almost the
same one available for NetBSD. Be sure to have it installed before using
xbps. You can get it at:

http://code.google.com/p/portableproplib/

I'm also the human maintaining the portable proplib package. I'd suggest you
to install it into /usr/local to avoid issues with your distribution packages.

Additionally the following software is required to be able to build and install
xbps binary/source packages:

	* GNU GCC C++
	* GNU Make
	* fakeroot
	* wget
	* libarchive (development package)
	* perl
	* sudo

Super-user privileges are required as well, because all packages are built
in a chroot (except the ones that are included in a virtual package to be
able to build a minimal system for the chroot).

PLEASE NOTE THAT fakechroot or fakeroot-ng DO NOT WORK.

------------------------------------------------------------------------------
 HOW TO USE IT
------------------------------------------------------------------------------

Before using xbps, some required utilities need to be built and installed
into $(PREFIX); by default they are installed into /usr/local.
You can do this by issuing "make" and "make install" as root in the top
level directory. See the REQUIREMENTS section above for required packages.

Once the xbps distfiles are installed into prefix, you can start building
packages from source, add local repositories with binary packages, install or
remove them, etc.

If you are only interested in building/using packages from source, see the
SRCPKG_INFO file.

For information about binary packages, see the BINPKG_INFO file.

------------------------------------------------------------------------------
	Juan Romero Pardines <xtraeme@gmail.com>