- There's no need to check rval for prop_dictionary_get_*, we are sure the
objects are there at prop_dictionary_set_* time.
- Avoid two chdir(2) calls per INSTALL/REMOVE run.
- Avoid using access(2) to check for existence of INSTALL/REMOVE scripts,
just try to run the executable directly and check for ENOENT.
Changes included in this set:
* Added strlcat() and strlcpy() from OpenBSD, always use them if the
system does not have them built in.
* Changed an array of PATH_MAX size allocated in the stack, to a dynamically
allocated buffer from heap. This should reduce memory usage a bit.
* Simplify code that implemented a homegrown realpath(3) implementation,
simply use realpath(3).
* If compiler supports -fstack-protector, build all code with
-D_FORTIFY_SOURCE=2 and --param ssp-buffer-size=1 so that all
buffers are protected.
* Add proplib-0.4.1 source and use it in XBPS. This is to avoid
an external dependency, so that we depend on the features of the
internal library. This also means that proplib is not required anymore.
* Added support to read/write gzip compressed plists by default, thanks
to proplib-0.4 that gained new functionality.
That means that from now, XBPS will be able to write compressed gzip
plist files for all metadata related work. This will vastly reduce
bandwidth required for fetching remote repo's pkg index file and
binary packages.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100420122238-zcb85rudt9p34e10
This helps to catch upgrade problems and simplifies some parts of the code.
Bumped XBPS_RELVER because xbps_remove_pkg() has been changed.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100128150850-gcs93su38t6moydn
Some changes were made to the API when making the documentation:
- A few exported functions are now hidden, because they were only used
internally in the library.
- A few exported symbols were renamed to document them better than
previously.
- Cosmetic changes all along the way, as well as some fixes here and there.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100121021019-onbsivlrhdb7t3ou
https://blueprints.launchpad.net/xbps/+spec/install-pkg-by-pkgmatch
The implementation works as expected, it was easier that I thought.
Bump XBPS_RELVER because the API was changed slightly.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20100114011431-xv5q6bgahm6v9dbq
Now it looks like:
$ xbps-repo show xbps-devel
Fetching info from: /storage/xbps/packages
Filename: xbps-devel-20091128.i686.xbps (size: 69K)
SHA256: 2c54a61fbd128097692edc19a7c17bfb10d93b3f055b04171cd1e4d97cde79df
Compression type: xz
Package: xbps-devel
Installed size: 216K
Maintainer: Juan RP [xtraeme@gmail.com]
Architecture: i686
Version: 20091128
Description: The XBPS package system (development branch)
The XBPS package system. A new, fast, from scratch and simple
binary package manager. This packages includes code from a development
branch available from https://launchpad.net/xbps
$
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091128051134-qzqqnwd76tcxgxb0
libxbps:
- Moved repolist code to lib/repository_pool.c.
- Renamed xbps_{prepare,release}_repolist_data() to
xbps_repository_pool_{init,release} respectively.
- Moved regpkgdb dict code to lib/regpkgs_dictionary.c.
- Renamed xbps_{prepare,release}_regpkgdb_dict() to
xbps_regpkgs_dictionary_{init,release} respectively.
- Use a global reference count for repository_pool and regpkgs_dictionary,
this gives a substantial performance gain while looking for dependencies
in repository pool, among other things.
- Make xbps_find_pkg_* functions return errno and use it to detect
for spurious errors in code using them.
- Add code to detect when a dependency is already unpacked.
xbps-bin:
- Do not set pkg state to unpacked in the transaction, it's set already
while a package is unpacked.
- While installing or updating packages, it now knows when a dependency
is already unpacked and shows it as "unconfigured".
Bump XBPS_RELVER to 20091126.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091126022250-uu8x0fa86l4scb5x
- genindex: use new recently added function, remove some objects from
generated pkg dictionaries, they will be fetched remotely.
- moved some code from main.c into repository.c.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091125043204-nbtdtaxkga3dad2h
It will search for 'pkgname' and will print its list of files, by
searching it in repository pool. The first repo wins.
Bump XBPS_RELVER to 20091125.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091125021556-n8p6atfbkuvb4doi
While looking at the archive for the XBPS_PKGPROPS file, it's unlikely
that it will have it after reading 6 entries, so discard it completely
and show an error message.
The XBPS_PKGPROPS it's always there at index <= 4.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091125001733-i46wnqdxp497km6s
- xbps-repo: move protos to defs.h and remove index.h and util.h.
- xbps-bin: move code that belongs to it from xbps-repo to show-info-files.c.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091124110539-nsdjp0ajr7nn8pa3
As consequence of this, remove xbps_callback_array_iter_in_repolist().
Nowadays to iter over the repository pool we have a SIMPLEQ, this
allowed to simplify the code and remove some now unneeed stuff.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091124104704-oyvrmb3tmd59w4e7
Improved xbps-repo sync/add and xbps-fetch to print informative
messages when a transfer was not necessary because local/remote size
and/or mtime matched.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091124050326-owez7140fdxwepuk
checked for any spurious error, this should make the core more safer :-)
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091123094651-5prw0bkqmt3y8h23
remote repositories, so remove its argument.
xbps_sync_repository_pkg_index:
- create the local repo dir in XBPS_META_PATH.
- also add the uri scheme (http://, https://, ftp://) in the created
local directory and subst ':' also with an underscore.
- do not create local repo directories unless the download pkg-index
plist file is verified to be fetched correctly.
xbps_check_is_repo_string_remote:
New function to check if a repo string is a remote repository, use
it in all places where it was used before.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091123042316-rmu4w3ehoxwh3iz8
Also always build the static bins so that it's done in one pass,
that means that objects are PIC and built with SSP.
--HG--
extra : convert_revision : xtraeme%40gmail.com-20091119050337-hkdksjqxy9n7vy7m