Removed outdated doc files.
--HG-- extra : convert_revision : xtraeme%40gmail.com-20091122054748-1gidbo33c2c3e2j2
This commit is contained in:
parent
3d24672e58
commit
625b3df820
106
doc/BINPKG_INFO
106
doc/BINPKG_INFO
@ -1,106 +0,0 @@
|
|||||||
------------------------------------------------------------------------------
|
|
||||||
BRIEF INTRODUCTION
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
A binary package built with xbps is a normal tar(1) archive, compressed
|
|
||||||
with any of the formats that libarchive supports, and it has the following
|
|
||||||
structure:
|
|
||||||
|
|
||||||
Package metadata
|
|
||||||
-----------------
|
|
||||||
/INSTALL
|
|
||||||
/REMOVE
|
|
||||||
/files.plist
|
|
||||||
/props.plist
|
|
||||||
|
|
||||||
Package data
|
|
||||||
-----------------
|
|
||||||
/usr
|
|
||||||
/var
|
|
||||||
/etc
|
|
||||||
...
|
|
||||||
|
|
||||||
Metadata info is stored in the "/var/db/xbps/metadata/$pkgname"
|
|
||||||
directory and two files will be always be present: files.plist
|
|
||||||
and props.plist.
|
|
||||||
|
|
||||||
The files.plist file contains the list of files/links/dirs that package
|
|
||||||
will install, as well as SHA256 hashes for files.
|
|
||||||
|
|
||||||
The props.plist file contains package metadata properties and has the
|
|
||||||
following structure:
|
|
||||||
|
|
||||||
<dict>
|
|
||||||
<key>pkgname</key>
|
|
||||||
<string>foo</string>
|
|
||||||
|
|
||||||
<key>version</key>
|
|
||||||
<string>3.40</string>
|
|
||||||
|
|
||||||
<key>maintainer</key>
|
|
||||||
<string>The Master BOFH <bofh@baobab.org> </string>
|
|
||||||
|
|
||||||
<key>short_desc</key>
|
|
||||||
<string>Foo is a virtual package</string>
|
|
||||||
|
|
||||||
<key>long_desc</key>
|
|
||||||
<string>
|
|
||||||
Foo is a virtual package to show how the metadata props.plist file works
|
|
||||||
with xbps handling binary packages.</string>
|
|
||||||
|
|
||||||
<key>architecture</key>
|
|
||||||
<string>x86_64</string>
|
|
||||||
|
|
||||||
<key>installed_size</key>
|
|
||||||
<integer>500000</integer>
|
|
||||||
|
|
||||||
<key>configuration_files</key>
|
|
||||||
<array>
|
|
||||||
<string>/etc/foo.conf</string>
|
|
||||||
...
|
|
||||||
</array>
|
|
||||||
<key>run_depends</key>
|
|
||||||
<array>
|
|
||||||
<string>bofh-2.0</string>
|
|
||||||
<string>blab-1.1</string>
|
|
||||||
...
|
|
||||||
</array>
|
|
||||||
...
|
|
||||||
</dict>
|
|
||||||
|
|
||||||
The INSTALL/REMOVE executables allows you to trigger any action
|
|
||||||
at pre/post installation/removal of the binary package.
|
|
||||||
|
|
||||||
The package's dictionary will also be written into the repository's package
|
|
||||||
index file, that describes information about a binary package on it.
|
|
||||||
See the BINPKG_REPOSITORY file for more info about repositories.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
HOW TO USE BINARY PACKAGES
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
To install binary packages, firstly a repository must be created as well as
|
|
||||||
some binary packages for it. The flow for this task is:
|
|
||||||
|
|
||||||
1- xbps-src install <package>
|
|
||||||
2- xbps-src build-pkg all [requires sudo access]
|
|
||||||
3- xbps-repo genindex $XBPS_PACKAGES
|
|
||||||
4- xbps-repo add $XBPS_PACKAGES
|
|
||||||
5- xbps-bin install -r /rootdir <package>
|
|
||||||
|
|
||||||
So the tasks are: install the package into destdir (and all its dependencies),
|
|
||||||
build the binary package from the required package, generate the repository
|
|
||||||
index, add the repository into the pool and install the binary package.
|
|
||||||
|
|
||||||
Please note that by default, the xbps-* utils accept the -r flag, to specify
|
|
||||||
the root directory for all operations, in that case the package will be
|
|
||||||
installed into <rootdir> and metadata files into <rootdir>/var/db/xbps.
|
|
||||||
|
|
||||||
Don't forget to set this flag if you aren't using xbps as the primary
|
|
||||||
package manager in your system, otherwise it could overwrite some files!
|
|
||||||
|
|
||||||
See the BINPKG_REPOSITORY file for more info about repositories for
|
|
||||||
binary packages or SRCPKG_INFO for source packages.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
Juan Romero Pardines <xtraeme@gmail.com>
|
|
@ -1,111 +0,0 @@
|
|||||||
------------------------------------------------------------------------------
|
|
||||||
BRIEF INTRODUCTION
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
A repository for binary packages contains the packages itself, and
|
|
||||||
an index file describing the information about available packages.
|
|
||||||
|
|
||||||
The structure for this file is just the same than the plist file used
|
|
||||||
to register installed packages, aka "an array of dictionaries" and
|
|
||||||
a "dictionary per package". Additional objects are added into the
|
|
||||||
main dictionary to specify more info, like:
|
|
||||||
|
|
||||||
- pkgindex-version: version used to build the index.
|
|
||||||
- total-pkgs: total of number of available packages.
|
|
||||||
|
|
||||||
The package dictionary will be the same than the one available in
|
|
||||||
package's metadata directory "/var/db/xbps/metadata/$pkgname/props.plist",
|
|
||||||
but some additional objects are added to provide enough info for
|
|
||||||
the repository itself:
|
|
||||||
|
|
||||||
- filename: name (and path relative to current dir) for the binary
|
|
||||||
package.
|
|
||||||
- filename-sha256: SHA256 hash of the binary package.
|
|
||||||
|
|
||||||
Here's how the package index plist file shall look like in a repository:
|
|
||||||
|
|
||||||
<dict>
|
|
||||||
<key>pkgindex-version</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>total-pkgs</key>
|
|
||||||
<integer>666</integer>
|
|
||||||
<key>available-packages</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>pkgname</key>
|
|
||||||
<string>klibc</string>
|
|
||||||
<key>version</key>
|
|
||||||
<string>1.5.17</string>
|
|
||||||
<key>filename</key>
|
|
||||||
<string>klibc-1.5.17.x86_64.xbps</string>
|
|
||||||
<key>filename-sha256</key>
|
|
||||||
<string>7b0de0521983037107cc33f2b1514126432f86ac2be1ef9b9dc51a1e959ea777</string>
|
|
||||||
<key>architecture</key>
|
|
||||||
<string>x86_64</string>
|
|
||||||
<key>installed_size</key>
|
|
||||||
<integer>9471141</integer>
|
|
||||||
<key>maintainer</key>
|
|
||||||
<string>Juan RP xtraeme@gmail.com</string>
|
|
||||||
<key>short_desc</key>
|
|
||||||
<string>Minimal libc subset for use with initramfs</key>
|
|
||||||
<key>long_desc</key>
|
|
||||||
<string>
|
|
||||||
klibc is intended to be a minimalistic libc subset for use with initramfs.
|
|
||||||
It is deliberately written for small size, minimal entanglement, and
|
|
||||||
portability, not speed. It is definitely a work in progress and a lot of
|
|
||||||
things are still missing.</string>
|
|
||||||
...
|
|
||||||
</dict>
|
|
||||||
...
|
|
||||||
</array>
|
|
||||||
</dict>
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
HOW TO USE BINPKGS WITH REPOSITORIES
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
To build binary packages from all currently installed packages in
|
|
||||||
XBPS_MASTERDIR:
|
|
||||||
|
|
||||||
$ xbps-src build-pkg all
|
|
||||||
|
|
||||||
To generate the repository package index for your $XBPS_PACKAGESDIR
|
|
||||||
setting in the configuration file:
|
|
||||||
|
|
||||||
$ xbps-repo genindex /path/to/dir
|
|
||||||
|
|
||||||
Alternatively if you only want to register a single package:
|
|
||||||
|
|
||||||
$ xbps-repo add-pkgidx /package/repo /package/repo/<arch>/foo-1.2.xbps
|
|
||||||
|
|
||||||
After this you can add your own local repository with binary packages:
|
|
||||||
|
|
||||||
$ xbps-repo add /path/to/dir
|
|
||||||
Added repository at /path/to/dir (1.0) with 6 packages.
|
|
||||||
$
|
|
||||||
|
|
||||||
Once it's registered, you can start searching/installing/removing
|
|
||||||
binary packages. You can add multiple repositories, the order for searching
|
|
||||||
is the same than they were added; check it with:
|
|
||||||
|
|
||||||
$ xbps-repo list
|
|
||||||
/storage/xbps/binpkgs
|
|
||||||
/path/to/dir
|
|
||||||
$
|
|
||||||
|
|
||||||
The first repository that has the metadata for a package wins, if not found
|
|
||||||
it will search in all them until it's found. A repository can also be
|
|
||||||
unregistered from the pool:
|
|
||||||
|
|
||||||
$ xbps-repo remove /path/to/dir
|
|
||||||
|
|
||||||
To show information about available packages in the repository pool:
|
|
||||||
|
|
||||||
$ xbps-repo show package
|
|
||||||
|
|
||||||
To search for binary packages by specifying a shell pattern (see fnmatch(3)):
|
|
||||||
|
|
||||||
$ xbps-repo search 'foo*'
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
Juan Romero Pardines <xtraeme@gmail.com>
|
|
65
doc/README
65
doc/README
@ -1,65 +0,0 @@
|
|||||||
-----------------------------------------------------------------------------
|
|
||||||
WHAT IS IT?
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
xbps - xtraeme's binary package ystem.
|
|
||||||
|
|
||||||
xbps is a new binary package system, taken ideas from other free available
|
|
||||||
implementations, such as dpkg/apt, RPM, pacman and others. Metadata handling
|
|
||||||
as package databases are handled by proplib. Multiple compression formats
|
|
||||||
are supported in binary packages thanks to libarchive.
|
|
||||||
|
|
||||||
xbps has been designed for Linux, and for the moment I'm not interested to
|
|
||||||
make it work on any other random OS. xbps is the base to create a basic
|
|
||||||
Linux system.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
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.
|
|
||||||
|
|
||||||
To build the xbps utils, you'll need for both shared and dynamic:
|
|
||||||
|
|
||||||
* asciidoc (to build the manpages)
|
|
||||||
* libarchive (devel pkg)
|
|
||||||
* proplib (devel pkg)
|
|
||||||
* openssl (devel pkg)
|
|
||||||
|
|
||||||
And the following packages as well to build the static binaries:
|
|
||||||
|
|
||||||
* attr (devel pkg with static lib)
|
|
||||||
* acl (devel pkg with static lib)
|
|
||||||
* zlib (devel pkg with static lib)
|
|
||||||
* bzip2 (devel pkg with static lib)
|
|
||||||
* xz (devel pkg with static lib)
|
|
||||||
|
|
||||||
Please note that when building the static binaries, the static libs
|
|
||||||
must match the requirements! please make sure that your installed
|
|
||||||
libarchive has all features built in (acl, zlib, bzip2, xz and openssl).
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
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.
|
|
||||||
|
|
||||||
To build binary packages, you need xbps-src. It's stored in a public GIT
|
|
||||||
repository located at:
|
|
||||||
|
|
||||||
http://repo.or.cz/w/xbps.git
|
|
||||||
|
|
||||||
For information about binary packages, see the BINPKG_INFO file.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
Juan Romero Pardines <xtraeme@gmail.com>
|
|
18
doc/TODO
18
doc/TODO
@ -1,18 +0,0 @@
|
|||||||
xbps-bin:
|
|
||||||
* Add support to install binary packages without any repository.
|
|
||||||
* Add a flag to reinstall a package version that is already installed,
|
|
||||||
overwritting files on disk and updating required_by if required.
|
|
||||||
Perhaps change the automatic-install object to false, like pkg_install
|
|
||||||
from NetBSD do.
|
|
||||||
* Implement shell style match patterns with fnmatch() for install, update
|
|
||||||
and remove.
|
|
||||||
* Make -f flag to overwrite files when installing, and to ignore
|
|
||||||
files with wrong checksum or unexistent when removing.
|
|
||||||
[PARTIAL: only unexistent files are ignored when removing]
|
|
||||||
|
|
||||||
libxbps:
|
|
||||||
* Add support to upgrade packages but overwritting current files;
|
|
||||||
this will fix libc, sh and others. An "essential" boolean obj
|
|
||||||
seems to be a good way to find such packages, like dpkg.
|
|
||||||
[PARTIAL: files are overwritten but obsolete files are not
|
|
||||||
taken into account yet]
|
|
Loading…
Reference in New Issue
Block a user