xbps/Changelog
2011-05-24 09:47:36 +02:00

3952 lines
117 KiB
Plaintext

2011-05-24 Juan RP <xtraeme@gmail.com>
* NEWS:
NEWS: 0.8.0 will be released today.
[f841e5a313f0] [tip]
* .hgtags:
Removed tag 0.8.0
[3ff720902eaf]
* .hgtags:
Added tag 0.8.0 for changeset 587da31caa33
[bf9571fbc2ad]
2011-04-11 Juan RP <xtraeme@gmail.com>
* include/xbps_api.h:
Bump XBPS_RELVER for previous change.
[587da31caa33]
* bin/xbps-bin/install.c, bin/xbps-uhelper/main.c, include/xbps_api.h,
lib/package_register.c:
xbps_register_pkg: remove 'automatic' boolean argument.
It should be provided in the proplib dictionary with key 'automatic-
install'. This fixes a regression not respecting the 'automatic-
install' value stored in regpkgdb.
[cd1bbe18b5f0]
2011-04-08 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
xbps-bin::install.c: remove unused var to make this build with
gcc-4.6.
Reported and patch provided by ojab in issue 4.
[5a4c7ff55faf]
2011-04-07 Juan RP <xtraeme@gmail.com>
* lib/package_remove_obsoletes.c, lib/repository_finddeps.c,
lib/repository_findpkg.c, lib/util.c:
Some dead stores and build fixes reported by LLVM 2.9.
[cf61b9d58d60]
2011-03-04 Juan RP <xtraeme@gmail.com>
* lib/package_unpack.c:
xbps_unpack_binary_pkg: fix wrong path to metadata files!
[8d7701a6f74d]
2011-03-03 Juan RP <xtraeme@gmail.com>
* lib/package_unpack.c:
Fix a dup'ed word.
[6b911bd09e08]
2011-02-27 Juan RP <xtraeme@gmail.com>
* configure:
configure: build with -pthread unconditionally, don't test for -pipe
or -D_FORTIFY_SOURCE.
[e785a7231b0c]
2011-02-26 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/xbps-bin.8:
xbps-bin.8: bump date.
[76192cbeada4]
* bin/xbps-uhelper/main.c:
xbps-uhelper: added two new targets 'setsource' and 'fromsource'.
Both targets will be used by some upcoming changes in xbps-src,
therefore they shouldn't be used manually by the user.
[33979f43e5ec]
* NEWS, bin/xbps-bin/main.c, bin/xbps-bin/xbps-bin.8:
xbps-bin: added -A and -M options for explicitly setting install
reason to auto or manual.
[86edc000904b]
* include/xbps_api.h, lib/package_register.c:
Make it possible to overwrite the "automatic-install" pkg object via
xbps_init().
Two new booleans were added to struct xbps_handle:
install_reason_{auto,manual}. The backend is able to force auto or
manual installation for a package (and dependencies that were
installed/updated) by setting to true any of those booleans. Bump
XBPS_RELVER.
[291061c81bba]
* lib/package_orphans.c:
Treat pkgs with NULL or empty requiredby arrays as orphans.
[d53ff1283415]
2011-02-25 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
xbps-bin: return rval if 'install' target cannot find a pkg.
[50c056380a26]
* bin/xbps-bin/install.c:
xbps-bin: return 1 if there are missing deps, return errno in other
errors.
[30dfc09b05b8]
* lib/fexec.c:
Fix chdir(2) path in previous.
[f46fe1577791]
* lib/fexec.c:
xbps_file_exec: if chroot(2) returns EPERM, don't error out and try
chdir(2).
This makes possible to install a base system with fakeroot (of
course some things won't probably work fully).
[7f0ad6d1ee39]
* lib/package_remove.c, lib/package_remove_obsoletes.c:
Do not printf a warning if remove(3) returns EEXIST/ENOTEMPTY/EBUSY.
[13dce8478319]
2011-02-24 Juan RP <xtraeme@gmail.com>
* configure:
configure: test correctly PIE and PIC flags, remove -O2 which errors
out on pcc.
[0ccb14295b48]
* lib/plist_find.c, lib/plist_remove.c, lib/repository_findpkg.c:
Revert revision 581: "Inline some very common functions in the API."
Some compilers yet don't support fully the inline C99 keyword and
there's little benefit anyway.
[eaa8120032d6]
* configure, lib/Makefile:
configure: misc compiler flags fixes.
- Don't use -Wp, some compilers don't understand it. Simply use
-D__BLAH___.
- Check for -Wl,--export-dynamic and if that fails try -rdynamic.
[a78386a4321b]
* lib/humanize_number.c:
xbps_humanize_number: increase by one the output digits.
[a274e6d3f845]
* bin/xbps-bin/main.c:
xbps-bin: add a simple unpack cb that mimics the 'check' target.
[2008b0b5d119]
* lib/plist_archive_entry.c:
xbps_read_dict_from_archive_entry: handle all erros returned by
zlib's inflate().
[151e781aec8c]
* lib/package_unpack.c:
While installing a pkg, remove files with wrong hash before
unpacking.
[4e4a12c5229f]
* include/xbps_api.h, lib/util.c:
Added xbps_get_file_hash_from_dict(), returns the sha256 string obj
in a dictionary.
[7e1eaee890c9]
2011-02-23 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
xbps-bin: skip some unneeded stuff in the download and configure
phases.
[53d7806f09d2]
* lib/plist_find.c, lib/plist_remove.c, lib/repository_findpkg.c:
Inline some very common functions in the API.
[d9610ad8d7f9]
* lib/repository_finddeps.c, lib/repository_findpkg.c:
Simplify setting pkg state in transaction's dictionary.
[1938c2ee2ee3]
2011-02-22 Juan RP <xtraeme@gmail.com>
* NEWS, bin/xbps-bin/install.c, bin/xbps-bin/main.c:
xbps-bin: remove the unpack callback with a percentage.
It messes up some xbps_*printf()s, and removing it makes it look
like previous versions (<=0.7.3).
[e1b6442a8059]
* bin/xbps-uhelper/main.c, include/xbps_api.h,
lib/package_configure.c, lib/package_remove.c, lib/package_state.c,
lib/package_unpack.c:
xbps_set_pkg_state_installed: added two new optional arguments:
version and pkgver.
This can be used to avoid some rare cases where the pkg dictionary
is regpkgdb is in a state where code can be faulty if those objects
are not found.
[47c7d0c425de]
* bin/xbps-bin/install.c:
xbps-bin::instal.c: some bugfixes for pkg state and the transaction
steps.
- While installing a package, always check its state and don't
ignore it if it was already unpacked, we have to configure it.
- Before unpacking packages, configure packages that were unpacked
previously.
[46a270ddd326]
* lib/repository_findpkg.c:
xbps_repository_{install,update}_pkg: respect pkg state in regpkgdb.
[960e78c96d66]
2011-02-21 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
xbps-bin: skip packages to be configured in the install/update
stage, fix configured pkg count.
[40bb1dde7bee]
* lib/plist_find.c:
Simplify find_pkg_in_array().
[84f8a8f72e64]
* include/xbps_api.h:
xbps_api.h: fix some comments.
[19cc362b25d2]
* lib/package_unpack.c:
package_unpack.c: fix a comment.
[d9eb33c83f92]
* NEWS:
NEWS: tyopfix.
[13b3814d9bba]
* NEWS, bin/xbps-bin/check.c, bin/xbps-bin/find-files.c, bin/xbps-
bin/install.c, bin/xbps-bin/main.c, bin/xbps-bin/xbps-bin.8, bin
/xbps-dgraph/main.c, bin/xbps-repo/main.c, bin/xbps-
repo/repository.c, bin/xbps-repo/xbps-repo.8, bin/xbps-
uhelper/main.c, include/xbps_api.h, include/xbps_api_impl.h,
lib/initend.c, lib/mkpath.c, lib/package_configure.c,
lib/package_properties.c, lib/package_purge.c,
lib/package_register.c, lib/package_remove.c,
lib/package_remove_obsoletes.c, lib/package_requiredby.c,
lib/package_state.c, lib/package_unpack.c, lib/plist.c,
lib/regpkgdb_dictionary.c, lib/repository_pool.c,
lib/repository_register.c, lib/repository_sync_index.c, lib/util.c:
xbps_init() now sets rootdir, cachedir and flags.
That means that the following functions were removed:
- xbps_set_{cachedir,flags,rootdir}.
- xbps_get_{cachedir,flags,rootdir}.
With this change fixed an obvious typo that made -c argument to not
work, and now the cache directory is an absolute path not relative
to rootdir.
[1ac816372ee1]
* include/xbps_api_impl.h:
xbps_api_impl.h: remove function name arguments in prototypes.
[b3925b893b23]
* include/xbps_api_impl.h, lib/download.c, lib/initend.c,
lib/package_unpack.c:
Make the xbps_handle struct const internally.
[3765d531704f]
* bin/xbps-bin/main.c:
xbps-bin: unpack_progress_cb_verbose printf to stdout for
consistency.
[57b4beb49fee]
* include/xbps_api.h:
xbps_api.h: fix a comment.
[e3fab83e5c8a]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, bin/xbps-repo/main.c,
bin/xbps-repo/repository.c, bin/xbps-uhelper/main.c,
include/xbps_api.h, include/xbps_api_impl.h, lib/download.c,
lib/initend.c, lib/package_unpack.c, lib/repository_sync_index.c:
Introduce struct xbps_handle and use it for xbps_init().
This structure sets up function callbacks for fetching files and
unpacking binary packages, as well as setting the debug boolean.
This way the affected functions (xbps_fetch_file() and
xbps_unpack_binary_pkg()) do not need to accept the fn cb pointers
and data as arguments.
Bump XBPS_RELVER.
[62046ef8e918]
2011-02-19 Juan RP <xtraeme@gmail.com>
* TODO:
TODO: another item for xbps-bin(8).
[a86d752f19ca]
2011-02-18 Juan RP <xtraeme@gmail.com>
* NEWS, bin/xbps-bin/install.c, include/xbps_api.h,
lib/package_replaces.c, lib/package_unpack.c,
lib/transaction_sortdeps.c:
Fixed finally another real case when updating and replacing pkgs.
[ebe8417c1b63]
* lib/repository_findpkg.c:
xbps_repository_{install,update}_pkg: fixed a stupid logic error.
[9a13edeb9bd7]
2011-02-17 Juan RP <xtraeme@gmail.com>
* TODO:
Added a TODO file with some items.
[7eefcf402886]
* NEWS:
NEWS: mention latest bugfix.
[5a439762e9d0]
* lib/repository_pool.c:
xbps_repository_pool_init: do not fail to internalize all repos when
the first one fails.
If the first registered repo couldn't be internalized, all other
repositories were also failing because it returned error, so simply
skip them and return error when all them cannot be internalized.
[e5cf57c87dd5]
2011-02-05 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/xbps-bin.8, bin/xbps-repo/xbps-repo.8:
Minor nits to the xbps-{bin,repo}.8 manpages.
[83c1830aabed]
* doc/xbps_pkg_props_dictionary.dot:
Update the pkgprops graph to match latest code.
[76666f48dc7f]
* doc/Makefile, doc/xbps_api_doxyfile, doc/xbps_api_doxyfile.in:
Transform PROJECT_NUMBER in the doxyfile.
[3836761c46b0]
* doc/xbps_transaction_dictionary.dot:
Update the graph for the XBPS transaction dictionary.
[5c3bc9fe5725]
* bin/xbps-bin/install.c, doc/xbps_transaction_dictionary.dot,
lib/package_replaces.c, lib/package_unpack.c,
lib/repository_finddeps.c, lib/repository_findpkg.c,
lib/transaction_dictionary.c:
Rename the transaction object key to "transaction" rater than
"trans-action".
[fdda4d882ae8]
* lib/Makefile, lib/plist.c, lib/plist_find.c, lib/plist_remove.c:
Move plist find/remove functions into its own files.
[f18eb335a869]
* include/xbps_api_impl.h, lib/Makefile, lib/plist.c,
lib/plist_archive_entry.c:
Move xbps_read_dict_from_archive_entry() and friends into its own
file.
[ffacc6eb8cfa]
* bin/xbps-bin/install.c:
xbps-bin: shorter informative messages for transactions.
[98599eb5d185]
* bin/xbps-bin/xbps-bin.8:
xbps-bin.8: fix typo.
[d04296fc7435]
* NEWS, bin/xbps-bin/main.c, bin/xbps-bin/show-info-files.c, bin/xbps-
bin/xbps-bin.8, bin/xbps-uhelper/main.c, include/xbps_api.h,
include/xbps_api_impl.h, lib/Makefile, lib/package_properties.c,
lib/package_state.c, lib/plist.c, lib/repository_pool.c:
Added the concept of package properties in the API.
See the NEWS file and xbps-bin(8) for more information.
[35a92fc36c14]
2011-02-04 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/util.c:
xbps-bin::show_pkg_info() remove useless prop_object_type_t member.
[b0973b3c6e66]
* bin/xbps-repo/main.c:
xbps-repo: call xbps_end() in usage() before exit(3).
[95f24d81932a]
* lib/transaction_sortdeps.c:
xbps_sort_pkg_deps: change an assertion into a real check.
[e4a56242c3b4]
2011-02-03 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/check.c, bin/xbps-bin/main.c, bin/xbps-dgraph/main.c,
lib/package_unpack.c, lib/repository_finddeps.c,
lib/repository_findpkg.c:
Fix all warnings found by clang analyzer as reported by ojab in
issue 3.
[34f8ecf51c8a]
* lib/repository_findpkg.c:
xbps_repository_update_allpkgs: return ENOENT if regpkgdb dict
cannot be internalized.
[c1c74439db0b]
2011-02-02 Juan RP <xtraeme@gmail.com>
* lib/package_state.c:
xbps_get_pkg_state_*: if state object is not available return
EINVAL.
[0e2cd58b6850]
2011-02-01 Juan RP <xtraeme@gmail.com>
* lib/repository_finddeps.c:
xbps_repository_find_pkg_deps: improve a debug printf.
[5828854ec7af]
* lib/package_state.c:
xbps_get_pkg_state_installed: if pkg dictionary is not found return
ENOENT.
[3515623dfdcc]
* NEWS, bin/xbps-bin/install.c, include/xbps_api.h,
include/xbps_api_impl.h, lib/Makefile, lib/package_replaces.c,
lib/repository_finddeps.c, lib/repository_findpkg.c:
Added xbps_repository_pkg_replaces() to handle pkg "replaces" in the
transaction.
The frontend (in that case xbps-bin(8)) is only responsible to
remove those packages that have the "trans-action" string object set
to "remove".
[6f2f24129bc1]
2011-01-31 Juan RP <xtraeme@gmail.com>
* NEWS, bin/xbps-dgraph/main.c:
xbps-dgraph: parse the "provides" obj for virtual packages.
[6db84decff83]
2011-01-30 Juan RP <xtraeme@gmail.com>
* lib/package_remove.c, lib/package_unpack.c:
Make some xbps_warn_printf dependent of XBPS_FLAG_VERBOSE.
[882fb8e92b5a]
* lib/initend.c:
xbps_warn_printf: fix previous and remove unused var.
[086aa73afbaa]
* lib/initend.c:
xbps_warn_printf: always print regardless of XBPS_FLAG_VERBOSE.
[113e428ae33c]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, bin/xbps-bin/remove.c,
bin/xbps-repo/find-files.c, bin/xbps-repo/index.c, bin/xbps-
repo/main.c, bin/xbps-repo/repository.c, bin/xbps-uhelper/main.c:
Use xbps_{error,warn}_printf() everywhere.
[5f0fb859c5f3]
* lib/repository_pool.c:
xbps_repository_pool_foreach: use SIMPLEQ_FOREACH_SAFE.
[ebb27ad67c65]
* include/queue.h:
Update queue.h with latest NetBSD's version.
[eb1ec7275a44]
* lib/transaction_sortdeps.c:
xbps_sort_pkg_deps: use TAILQ_FOREACH_SAFE.
[937323a1f248]
* lib/package_purge.c:
xbps_purge_pkg: chdir to rootdir, check that REMOVE file exists and
is executable.
[df658834ad2f]
* bin/xbps-bin/install.c, bin/xbps-bin/remove.c:
xbps-bin: some cosmetic informative printfs.
[565f00c58a17]
* bin/xbps-bin/remove.c:
xbps-bin/remove.c: fix some comments.
[1df135be6828]
* lib/package_purge.c:
xbps_purge_pkg: execute the "purge" action in REMOVE script (if
found).
This replaces code for removing all directories installed by the
package and instead let's the package do whatever is ok in the
REMOVE script by executing the "purge" action.
[ced74d1bbeee]
* bin/xbps-bin/remove.c:
xbps-bin: there's no need to add objs in inverted order for -R.
[547570b8ef6d]
* NEWS:
NEWS: expand latest entry.
[a154686ee0a4]
* NEWS, bin/xbps-bin/defs.h, bin/xbps-bin/main.c, bin/xbps-
bin/remove.c, bin/xbps-bin/xbps-bin.8, include/xbps_api.h,
lib/package_orphans.c:
xbps-bin(8): added -R option to recursively remove pkgs that were
instaled automatically.
[ef30d2b17315]
* lib/plist.c:
Fix an assertion.
[fb0d086c094d]
2011-01-29 Juan RP <xtraeme@gmail.com>
* lib/package_orphans.c:
xbps_find_pkg_orphans: simplify even more.
[38694be73354]
* lib/plist.c:
xbps_find_pkg_in_*: search for virtual pkg before the real one.
[e927f51f78dd]
* bin/xbps-repo/xbps-repo.8:
xbps-repo(8): fix wrong sentence.
[a5647d65472c]
* NEWS:
NEWS: mention another change made for xbps-bin(8).
[0a412d09ceae]
* include/xbps_api.h:
Bump XBPS_RELVER for today's changes.
[7881964b76da]
* lib/package_remove_obsoletes.c:
xbps_remove_obsoletes: make xbps_printf conditionalized with
XBPS_FLAG_VERBOSE.
[fd80d9426dca]
* LICENSE:
LICENSE: update copyright year.
[f5a7dc575fb1]
* lib/package_requiredby.c:
xbps_requiredby_pkg_{add,remove}: simplify and make them aware of
virtual pkgs.
[5a7058a107f9]
* include/xbps_api.h, lib/plist.c:
Added three new helper functions to the API.
xbps_find_pkg_in_array_by_name xbps_find_pkg_in_array_by_pattern
xbps_remove_pkgname_from_array
[68c5849740ce]
* lib/package_purge.c, lib/package_remove.c:
Make some xbps_printf()s conditioned on XBPS_FLAG_VERBOSE.
[493f8e2bac2a]
2011-01-28 Juan RP <xtraeme@gmail.com>
* include/xbps_api.h, lib/plist.c, lib/transaction_sortdeps.c:
When sorting packages also look for virtual packages.
A new function xbps_find_virtual_pkg_in_dict() has been made public
to the API to make this find duplicate packages in the transaction
when updating packages.
[08432f8faa38]
* NEWS:
NEWS: note that dependency sorting is now 60% faster than 0.7.3.
[8a4ea7cfbd07]
* lib/transaction_sortdeps.c:
A really faster dependency sorting algorithm, 60% faster approx!
Benchmarks before and after the code for installing "xorg gnome xbmc
vlc firefox epdfview":
OLD
----------------- real 0m1.844s user 0m1.841s sys 0m0.003s
NEW
----------------- real 0m0.873s user 0m0.868s sys 0m0.004s
[c9aec1f650c6]
* bin/xbps-bin/check.c:
xbps-bin::check.c: reset a var to avoid false positives.
[3bda7b41d68d]
* lib/repository_finddeps.c:
xbps_repository_find_pkg_deps: do not recurse more than MAX_DEPTH
times, return ELOOP.
[ad5f5a7727be]
* lib/plist.c:
Performance improvements for xbps_find_pkg_in_dict_by_* and
xbps_find_*_in_array().
[ee06b4008f62]
2011-01-27 Juan RP <xtraeme@gmail.com>
* lib/repository_finddeps.c:
xbps_repository_find_pkg_deps: simplify even more and remove dead
code.
[c74a4db1c010]
* lib/repository_finddeps.c:
repository_finddeps.c: remove useless code.
[f85aa9d0b3b8]
* lib/repository_finddeps.c:
xbps_repository_find_pkg_deps: fix stupid error by reusing a var.
[548d474641a2]
* lib/transaction_sortdeps.c:
xbps_sort_pkg_deps: use xbps_check_is_installed_pkg_by_name().
[df99437183e8]
* lib/plist.c, lib/util.c:
Fix two asserts.
[2f4ba4ae1022]
* lib/repository_finddeps.c:
xbps_repository_find_pkg_deps: simplify and handle an error case.
[74d5d1a62620]
* bin/xbps-repo/index.c, bin/xbps-uhelper/main.c, include/xbps_api.h,
lib/package_register.c, lib/plist.c:
Make xbps_remove_pkg_from_* use shared code, and add another
variant.
The functions have been renamed to really match what they do.
[8a991edd1ed4]
* lib/plist.c:
Performance improvements for xbps_find_pkg_in_dict_by_{name,pattern}
with virtual pkgs.
[e2a43571ec3d]
* bin/xbps-bin/main.c:
xbps-bin: make 'list' target without arguments to only show pkgs in
"installed" state.
[26824f99e7f9]
* bin/xbps-bin/xbps-bin.8:
xbps-bin.8: fix a typo.
[8a7e1bc2360e]
* NEWS, bin/xbps-bin/defs.h, bin/xbps-bin/install.c, bin/xbps-
bin/main.c, bin/xbps-bin/xbps-bin.8:
xbps-bin(8): added -D option to only show the URL to download binary
packages.
[b7efd6553cd8]
* bin/xbps-repo/find-files.c, bin/xbps-repo/index.c, bin/xbps-
repo/main.c, bin/xbps-repo/repository.c, include/xbps_api.h,
lib/repository_plist.c:
Rename some symbols in repository_plist.c.
xbps_repository_get_pkg_plist_dict_from_url ->
xbps_repository_plist_find_pkg_dict_from_url
xbps_repository_get_pkg_plist_dict ->
xbps_repository_plist_find_pkg_dict
[77ef6938fdb6]
* doc/xbps-logo.png, doc/xbps_api_doxyfile:
Update doxygen's doxyfile for the API, add the XBPS logo.
[b48a57221726]
* include/xbps_api.h:
xbps_api.h: fix xbps_register_pkg() doc.
[b1f21b07364e]
* lib/repository_register.c:
repository_register.c: fix doxygen @file mark.
[91865e7160e3]
* bin/xbps-uhelper/main.c, include/xbps_api.h, lib/plist.c:
Rename xbps_find_pkg_from_plist to
xbps_find_pkg_dict_from_plist_by_name.
[8e5fe79da44c]
* bin/xbps-bin/check.c, bin/xbps-repo/repository.c,
include/xbps_api.h, lib/package_remove.c, lib/repository_plist.c,
lib/repository_register.c, lib/transaction_sortdeps.c, lib/util.c:
Rename a few symbols for clarity.
xbps_check_is_installed_pkg ->
xbps_check_is_installed_pkg_by_pattern
xbps_check_is_installed_pkgname ->
xbps_check_is_installed_pkg_by_name xbps_check_is_repo_string_remote
-> xbps_check_is_remote_uri_remote
[f1e45fdcbbfb]
* bin/xbps-bin/main.c, bin/xbps-bin/remove.c, include/xbps_api.h,
lib/package_orphans.c:
Rename xbps_find_orphan_packages() to xbps_find_pkg_orphans().
[f1c78ee73fbd]
* lib/plist.c:
Shared code for xbps_find_{string,pkgname,pkgpattern}_in_array().
[c529102737d1]
2011-01-26 Juan RP <xtraeme@gmail.com>
* lib/transaction_sortdeps.c:
Improve comments for dependency sorting.
[cf0898bce3f7]
* lib/package_register.c:
xbps_register_pkg: also copy the provides object for virtual
packages.
[9d3aa93f77bf]
* lib/util.c:
xbps_check_is_installed_pkg: simplify.
[1a01d9d13efb]
* NEWS, include/xbps_api.h, lib/plist.c, lib/repository_pool.c:
Implemented support for virtual packages.
The patch adds 150 lines approximately. It is implemented by
modifying xbps_find_pkg_in_dict_by_name() and
xbps_find_pkg_in_dict_by_pattern().
When no dictionary is returned if tries to find a virtual package by
looking at the "provides" array object, if found.
[592ed663e900]
* bin/xbps-bin/defs.h, bin/xbps-bin/show-info-files.c, bin/xbps-
bin/util.c, bin/xbps-repo/repository.c:
xbps-{bin,repo}: use static const tables to parse objs in
XBPS_PKGPROPS files.
[e1b4d4190ca5]
2011-01-25 Juan RP <xtraeme@gmail.com>
* lib/repository_finddeps.c:
xbps_repository_find_pkg_deps: some performance optimizations.
[f295e2315163]
* lib/repository_pool.c:
xbps_repository_pool_find_pkg: remove a debug printf that bothers
me.
[de750b03ffd3]
* bin/xbps-bin/defs.h, bin/xbps-bin/install.c, bin/xbps-bin/remove.c,
bin/xbps-bin/util.c:
xbps-bin: reset some static vars for correct indentation in output.
[c8c0e63c7a8c]
* lib/download.c:
xbps_fetch_file: memset the stat(2) struct before using it.
[66ca5753dd8f]
* lib/transaction_sortdeps.c:
xbps_sort_pkg_deps: exit from the loop immediately if all pkgs were
sorted.
[2894dc7c2397]
* lib/transaction_sortdeps.c:
xbps_sort_pkg_deps: optimize one more time, it is 5% faster approx.
[cbe53cdf5cd1]
* bin/xbps-bin/main.c, bin/xbps-bin/question.c, bin/xbps-repo/main.c,
bin/xbps-uhelper/main.c, configure, lib/Makefile, lib/cmpver.c,
lib/fexec.c, lib/util.c:
Don't build code with _GNU_SOURCE, use _XOPEN_SOURCE=500 instead.
_GNU_SOURCE is only now for xbps_xasprintf() if vasprintf is found,
and only for <stdio.h>, it's unset immediately once the header is
included.
[b538bee19392]
* configure:
configure: use a var with the function name to test.
[2376e88441ba]
* configure, lib/util.c:
Check for vasprintf() and add a replacement if it wasn't found.
[a488974acf99]
* lib/Makefile, lib/repository.c, lib/repository_register.c:
Rename repository.c to repository_register.c.
[6235ad891d36]
* lib/download.c, lib/humanize_number.c, lib/package_config_files.c,
lib/package_remove_obsoletes.c, lib/package_requiredby.c,
lib/package_state.c, lib/plist.c, lib/repository_findpkg.c,
lib/repository_plist.c, lib/repository_pool.c,
lib/repository_sync_index.c, lib/util.c:
Sprinkle a couple of assert(3)ions.
[955e2b67f037]
* bin/xbps-bin/check.c:
xbps-bin/check.c: save some lines by using prop_object_type()
directly.
[dde2ae7f85a6]
* bin/xbps-bin/install.c, include/xbps_api.h, lib/plist.c:
Added xbps_callback_array_iter() and use it in xbps-bin to list
missing pkgdeps.
[fa730bcbe67d]
* include/xbps_api.h:
xbps_api.h: fix some comments.
[c38fe486078f]
2011-01-24 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/question.c:
xbps-bin/question.c: use sizeof().
[2ef99e7c0e0b]
* bin/xbps-uhelper/main.c:
xbps-uhelper: added 'getpkgdepversion' target.
[206503e7740b]
* bin/xbps-bin/install.c, lib/repository_findpkg.c:
Simplify and share common code in
xbps_repository_{update,install}_pkg().
[b7cab3eacc0f]
* bin/xbps-bin/install.c, include/xbps_api.h, include/xbps_api_impl.h,
lib/Makefile, lib/repository_finddeps.c, lib/repository_findpkg.c,
lib/sortdeps.c, lib/transaction_dictionary.c,
lib/transaction_sortdeps.c:
Start moving code from repository_find* to transaction_*.
[2e5b9b02e24b]
* Close this branch, it has been merged to default.
[5c2d6cdf3076] <progress_callback>
* bin/xbps-repo/util.c:
Merged `progress_callback' branch.
[5f95a6a8c6ac]
* NEWS:
NEWS: update for this branch.
[9a2ed7d64bf3] <progress_callback>
2011-01-23 Juan RP <xtraeme@gmail.com>
* prog.mk:
prog.mk: look for libxbps in $(TOPDIR)/lib first rather than
$(PREFIX)/lib.
[fc7662880845] <progress_callback>
2011-01-22 Juan RP <xtraeme@gmail.com>
* lib/package_state.c:
libxbps: simplify package states code.
[02d9b575a43e] <progress_callback>
* lib/pkgmatch.c:
xbps_pkgpattern_match: remove a wrong memset(3) call.
[245d08c7a4fe] <progress_callback>
* lib/package_orphans.c:
Simplify xbps_find_orphan_packages() by not using a temporary
SIMPLEQUEU.
[814d98722f15] <progress_callback>
* lib/mkpath.c:
lib/mkpath.c: don't document this file, it's included in the util
group.
[dded6d352c48] <progress_callback>
* include/xbps_api.h:
Document xbps_humanize_number() in the API.
[8cfe41f1aae8] <progress_callback>
* include/xbps_api.h, lib/download.c, lib/fexec.c, lib/initend.c:
Update API documentation for recent changes.
[1ce33076fae6] <progress_callback>
* bin/xbps-bin/fetch.c:
xbps-bin/fetch.c: use else if conditionals.
[87940902eaaf] <progress_callback>
* lib/package_unpack.c:
xbps_unpack_binary_pkg: rename fn callback arg to be shorter.
[ec8bae3f7101] <progress_callback>
* bin/xbps-bin/fetch.c:
Added fetch.c for xbps-bin, with the fetch function callback.
[2adf5f4f9d8a] <progress_callback>
* bin/Makefile, bin/xbps-bin/Makefile, bin/xbps-bin/defs.h, bin/xbps-
bin/install.c, bin/xbps-bin/remove.c, bin/xbps-bin/util.c, bin/xbps-
repo/Makefile, bin/xbps-repo/defs.h, bin/xbps-repo/main.c, bin/xbps-
repo/repository.c, bin/xbps-repo/util.c, bin/xbps-uhelper/Makefile,
bin/xbps-uhelper/main.c, include/xbps_api.h, lib/download.c,
lib/initend.c, lib/package_config_files.c, lib/package_configure.c,
lib/package_purge.c, lib/package_remove.c,
lib/package_remove_obsoletes.c, lib/package_unpack.c,
lib/repository_sync_index.c:
Make xbps_fetch_file accept a callback to update its progress.
This also makes xbps_unpack_binary_pkg follow this convention by
avoiding static variables.
[4db3b6a1aa0f] <progress_callback>
2011-01-21 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c, include/xbps_api.h, lib/initend.c,
lib/package_unpack.c:
WIP checkpoint for progress callbacks in the API.
At this moment I've only implemented the part for unpacking, other
parts will also use progress callbacks.
[0135e91b1ebc] <progress_callback>
* bin/xbps-repo/repository.c, lib/util.c:
Check that return value of snprintf(3) is not negative, rather than
only -1.
[6da99a2499e2]
2011-01-20 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c, bin/xbps-repo/find-files.c, bin/xbps-
repo/repository.c, include/xbps_api.h, lib/package_unpack.c,
lib/repository_plist.c, lib/util.c:
libxbps: modify xbps_get_binpkg_repo_uri() to accept repository URL
as 2nd arg.
[ba692b8f6c8d]
* include/xbps_api_impl.h, lib/package_config_files.c,
lib/package_unpack.c:
libxbps: simplify how configuration files are handled, use cached
values if possible.
[07593f746527]
2011-01-19 Juan RP <xtraeme@gmail.com>
* NEWS:
NEWS: update with past days changes.
[9adff620f0a6]
* configure, prog.mk:
Don't build static bins with PIE, only for dynamic.
[64822ac217b4]
* configure, prog.mk:
configure: fixes for building with an installed static libxbps.
[12a435441079]
* lib/Makefile:
lib/Makefile: build libxbps with --export-dynamic.
[6a107dba2338]
* include/xbps_api.h:
xbps_api.h: fix API comments for refcnts.
[6d9b59e49d86]
* include/xbps_api.h, lib/package_configure.c, lib/package_orphans.c,
lib/package_purge.c, lib/package_register.c, lib/package_remove.c,
lib/package_state.c, lib/package_unpack.c:
Fixed API documentation comments for doxygen.
[35b241acd533]
2011-01-18 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/Makefile, bin/xbps-bin/defs.h, bin/xbps-bin/question.c,
include/xbps_api.h, lib/util.c:
libxbps: xbps_yesno/noyes() are only used in xbps-bin(8), remove
from API.
[a6156bbae1ec]
* bin/xbps-bin/install.c:
xbps-bin: remove spurios chars in two printf()s.
[4f66ebd26f2f]
* bin/xbps-bin/install.c, bin/xbps-repo/util.c, include/xbps_api.h,
lib/download.c, lib/humanize_number.c:
libxbps::xbps_humanize_number(): use common values and hide
implementation details from API.
So now its prototype is the following:
int xbps_humanize_number(char *buf, int64_t bytes)
It is a wrapper around NetBSD's humanize_number(3) which uses 6
digits for max length, HN_AUTOSCALE and HN_NOSPACE|HN_DECIMAL. All
users have been updated.
[dd17f211b877]
* lib/regpkgdb_dictionary.c:
regpkgdb_dictionary.c: bump copyright year for previous changes.
[905e902abc34]
* lib/regpkgdb_dictionary.c:
libxbps: regpkgdb: use a mutex for {inc,dec}rementing the refcnt.
[c968cbc8b00d]
* bin/xbps-bin/install.c, bin/xbps-repo/find-files.c, bin/xbps-
repo/repository.c, include/xbps_api.h, lib/package_unpack.c,
lib/repository_plist.c, lib/util.c:
libxbps: modify the API, new func xbps_get_binpkg_repo_uri().
This function replaces xbps_repository_get_path_from_pkg_dict() and
xbps_get_binpkg_local_path(). It takes a pkg dictionary as returned
by a repository pkg index or a transaction dictionary and returns a
string with the full path to the binary pkg, either in local repos,
cachedir or remote repos.
Update all code to use this function... sorry I broke ABI
compatiblity.
[4245ddc43ff5]
* lib/repository_plist.c:
xbps_repository_get_pkg_plist_dict: use
xbps_repository_pool_find_pkg().
[d897ab8598fe]
* bin/xbps-repo/repository.c:
xbps-repo: use xbps_repository_pool_find_pkg().
[22984e743652]
* include/xbps_api.h, lib/repository_finddeps.c,
lib/repository_findpkg.c, lib/repository_pool.c, lib/sortdeps.c:
libxbps: extend the API, new func: xbps_repository_pool_find_pkg.
prop_dictionary_t xbps_repository_pool_find_pkg(const char *pkg,
bool bypattern, bool best)
This function iterates over the repository pool and returns a pkg
dictionary matching its pkgname if "bypattern" is false, otherwise
if "pkg" matches the pkgdep pattern. If "best" is true, it will look
in all repos and will return the newer version, otherwise the first
one that matches the arguments specified.
With this addition supporting many small registered repos is cheap,
because it checks by-package rather than by-package-list. This also
helped to removed some duplicated code and fix some rare bugs.
Bump XBPS_RELVER to 20110118.
[a1b921d5fef7]
2011-01-17 Juan RP <xtraeme@gmail.com>
* lib/sortdeps.c:
libxbps: simplify the algorithm for sorting deps in the transaction.
Rather than using a SIMPLEQ to copy the package dictionary and later
on adding all items into the sorted array, just add the pkg
dictionary into the sorted array directly and removing it from the
unsorted array.
This reduces memory usage and greatly sorts all packages that aren't
installed automatically in the correct order in the transaction.
Also added a large comment explaining how the algorithm works and
what it is supposed to do and when.
[beac9c352141]
2011-01-16 Juan RP <xtraeme@gmail.com>
* .hgtags:
Added tag 0.7.3 for changeset b373dfd04ef2
[c2a81eab8b34]
* Changelog, NEWS:
NEWS, Changelog: update for 0.7.3.
[b373dfd04ef2] [0.7.3]
* lib/package_config_files.c:
Fixed a test in config file handling that made all conf_files not
properly detected.
[9e1a25c1d734]
2011-01-15 Juan RP <xtraeme@gmail.com>
* configure:
configure: -Wformat-security and -Wformat-nonliteral are included in
-Wformat=2.
[d6239a43b60e]
* lib/Makefile:
lib/Makefile: build -Wno-error for included libfetch for now.
[e327351d658b]
* configure:
configure: build with -O2 and -pipe if supported.
[353af14cc59e]
* configure, include/xbps_api_impl.h:
configure: make symbol visibility dependent in the configure test,
misc changes.
[b8b0eaa5622e]
* bin/xbps-bin/main.c, bin/xbps-dgraph/main.c, bin/xbps-repo/main.c,
bin/xbps-repo/util.c, bin/xbps-uhelper/main.c, configure,
lib/Makefile, lib/download.c:
Added another bunch of compiler warnings and fix code.
[df53b90473ec]
* configure, lib/Makefile, prog.mk:
configure: added --silent option to hide compilation details.
[5c875edcab69]
* configure, prog.mk:
Really enable the compiler detected flags into its correct var.
[42611448148b]
2011-01-14 Juan RP <xtraeme@gmail.com>
* configure, lib/Makefile, prog.mk:
Make configure detect required libraries to link.
[73bde00c8151]
2011-01-12 Juan RP <xtraeme@gmail.com>
* lib/repository_plist.c:
xbps_repository_get_pkg_plist_dict: avoid uninitialized var.
[229dcb2f86b2]
* configure, lib/Makefile:
Added "--with-external-libfetch" to build against external libfetch.
[73f6bdcae8e7]
2011-01-11 Juan RP <xtraeme@gmail.com>
* configure:
configure: respect CFLAGS/LDFLAGS passed via env.
[b705eefc18cd]
2010-12-28 Juan RP <xtraeme@gmail.com>
* Changelog, NEWS:
Update to 0.7.2.
[67d430917731]
* .hgtags:
Added tag 0.7.2 for changeset 25a675190b31
[a6692acd2765]
2010-12-25 Juan RP <xtraeme@gmail.com>
* lib/package_unpack.c:
xbps_unpack_binary_pkg: fix a memleak and make all error paths go to
a single point.
[25a675190b31] [0.7.2]
* lib/package_remove_obsoletes.c:
libxbps: fix a memleak when removing obsolete files in pkg upgrades.
[c1d91fe4b753]
* bin/xbps-repo/repository.c:
xbps-repo: report the errno string when a repository cannot be added
and fix a NULL pointer deref.
[ad3c74505dd8]
2010-12-24 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/repository.c:
xbps-repo: fix a memleak in the 'add' target.
[c8799729dc0b]
* bin/xbps-bin/main.c, bin/xbps-repo/util.c:
xbps-{bin,repo}: use strlcpy().
[c4454e1e267c]
* bin/xbps-repo/repository.c:
xbps-repo: fix a memleak in the 'show' target.
[8714a4627fdb]
* bin/xbps-repo/find-files.c:
xbps-repo: fix a memleak in the 'find-files' target.
[43bf5ceaa778]
* bin/xbps-bin/find-files.c:
xbps-bin: fix a memleak in the 'find-files' target.
[b578dfaf5458]
* configure:
configure: also check if compiler supports _FORTIFY_SOURCE=2.
[1fad8e3aacbe]
2010-12-23 Juan RP <xtraeme@gmail.com>
* .hgtags:
Added tag 0.7.1 for changeset 6b51cd806257
[7cdf6c9f025d]
* Changelog:
Changelog: update for 0.7.1.
[6b51cd806257] [0.7.1]
* NEWS:
NEWS: update for 0.7.1.
[73121d919348]
* bin/xbps-dgraph/main.c:
xbps-dgraph: use PRIu64 to printf uint64_t from <inttypes.h>.
[32856f602504]
2010-12-19 Juan RP <xtraeme@gmail.com>
* lib/repository_pool.c:
xbps_repository_pool_init: don't loop forever if repo pkg-
index.plist files cannot be internalized.
[4da227a0efff]
2010-12-18 Juan RP <xtraeme@gmail.com>
* bin/xbps-uhelper/main.c:
xbps-uhelper: added -d flag to enable debugging.
[092cf833adb2]
* lib/download.c:
xbps_fetch_file: set a 30seconds timeout.
[a8c796037138]
2010-12-16 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/index.c:
xbps-repo: fix the 'genindex' target due to 0.7.0 API changes.
[d07ddb577902]
* NEWS, bin/xbps-uhelper/main.c:
xbps-uhelper: fix the 'unregister' target, wasn't updated for 0.7.0
API changes.
[5e3b3e5ff4e6]
2010-12-15 Juan RP <xtraeme@gmail.com>
* .hgtags:
Added tag 0.7.0 for changeset 4a202e7ed155
[a8b91b20a5c5]
* NEWS:
NEWS: mention typo-fix for strlcat.
[4a202e7ed155] [0.7.0]
* Changelog:
Changelog: update for 0.7.0.
[8ebb5c578547]
* NEWS:
NEWS: 0.7.0 will be released today.
[e4c9e061a58d]
* NEWS, bin/xbps-repo/Makefile, bin/xbps-repo/defs.h, bin/xbps-repo
/find-files.c, bin/xbps-repo/main.c, bin/xbps-repo/xbps-repo.8:
xbps-repo(8): implemented 'find-files' target.
[2ad425bc1442]
2010-12-10 Juan RP <xtraeme@gmail.com>
* configure:
configure: fix a typo that broke strlcat test. Found by Min Sik Kim
reported in issue 2.
[ad7a5c48fce0]
2010-12-04 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/util.c:
xbps-repo: zero out allocated mem to avoid garbage in the 'search'
target.
[889d786ed645]
* bin/xbps-bin/main.c:
xbps-bin: zero out allocated mem to avoid garbage in the 'list'
target.
[91611ae45470]
2010-12-03 Juan RP <xtraeme@gmail.com>
* NEWS, bin/xbps-bin/defs.h, bin/xbps-bin/install.c, bin/xbps-
bin/main.c, bin/xbps-bin/remove.c, bin/xbps-bin/xbps-bin.8, bin
/xbps-repo/defs.h, bin/xbps-repo/main.c, bin/xbps-repo/util.c:
xbps-bin: added -F flag for the remove target.
Unless it's set, packages that are dependencies of other installed
packages won't be removed. This flag overrides this behaviour and
forces the package removal.
While being here, misc cleanups.
[0c4fbaab6dae]
* include/xbps_api_impl.h:
Remove DPRINTF macro, unused.
[86abf78451c3]
* bin/xbps-repo/util.c:
Also show the conflicts object if available and simplify the code.
[81f881155e69]
* lib/plist.c:
lib/plist: no need to check against NULL if prop_object_type() is
used.
[ace100d35b8f]
2010-11-25 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/main.c:
Backed out changeset e82cc0e4b779
Otherwise the refcount in repository pool will initialize/release on
every op.
[98f0e7f0145e]
* bin/xbps-bin/main.c:
xbps-bin: there's no need to init repository pool.
[e82cc0e4b779]
* bin/xbps-bin/install.c:
xbps-bin: always check if the there are missing deps regardless of
the errno value.
[1519a015100d]
2010-11-24 Juan RP <xtraeme@gmail.com>
* NEWS:
NEWS: mention that obsolete dirs are also removed while updating.
[85d86351185d]
* bin/xbps-bin/main.c:
xbps-bin: fix for previous.
[bdfbd01d5cda]
* NEWS, bin/xbps-bin/main.c, bin/xbps-repo/defs.h, bin/xbps-
repo/main.c, bin/xbps-repo/util.c:
Improvements for xbps-{bin,repo}.
- Indent properly with the longest "pkgver" object while listing or
searching for packages.
- Also match strings in the short description object while searching
for packages in xbps_repo.
[cf5d5e73a4ad]
2010-11-23 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c, lib/regpkgdb_dictionary.c,
lib/repository_finddeps.c, lib/repository_findpkg.c, lib/sortdeps.c:
Fix and improve when there are missing deps in the transaction
dictionary.
[01e5d6b82dc9]
2010-11-21 Juan RP <xtraeme@gmail.com>
* lib/package_purge.c:
xbps_purge_pkg: if state is not XBPS_PKG_STATE_CONFIG_FILES, just
return 0.
[c4c2675ee59c]
2010-11-19 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/check.c, bin/xbps-bin/install.c, bin/xbps-bin/main.c,
bin/xbps-bin/xbps-bin.8, bin/xbps-dgraph/main.c, bin/xbps-
repo/main.c, bin/xbps-repo/repository.c, bin/xbps-repo/xbps-repo.8,
bin/xbps-uhelper/main.c, include/xbps_api.h,
include/xbps_api_impl.h, lib/Makefile, lib/download.c, lib/fexec.c,
lib/initend.c, lib/package_config_files.c, lib/package_configure.c,
lib/package_orphans.c, lib/package_purge.c, lib/package_register.c,
lib/package_remove.c, lib/package_remove_obsoletes.c,
lib/package_requiredby.c, lib/package_state.c, lib/package_unpack.c,
lib/plist.c, lib/regpkgdb_dictionary.c, lib/regpkgs_dictionary.c,
lib/repository.c, lib/repository_finddeps.c,
lib/repository_findpkg.c, lib/repository_plist.c,
lib/repository_pool.c, lib/sortdeps.c:
API clean up (part 2), plus misc changes and improvements.
- Rename regpkgs_dictionary to regpkgdb_dictionary to better
describe what is is.
- Change some funcs in plist.c to return a boolean rather than int.
- Hide more internal funcs off the API.
- Simplify xbps_repository_update_pkg() and remove its second arg.
- Hide implementation details in xbps_repository_pool, now to iterate
over the pool you have to use xbps_repository_pool_foreach and its
struct repository_pool_index.
- Introduce xbps_{init,end}, to initialize/destroy some stuff in the
library.
- Introduce xbps_dbg_printf to printf stuff for debugging purposes.
- xbps-{bin,repo}: added -d arg to enable debugging output.
- Before checking if a config file needs to be installed or such,
check that package contains the "conf_files" array.
- Remove obsolete dirs as well while updating packages.
- If transaction dictionary is ready remove the "missing_deps" array.
Bump XBPS_RELVER to 20101118.
[ae1abcf9ce44]
2010-11-13 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/check.c, bin/xbps-bin/defs.h, bin/xbps-bin/install.c,
bin/xbps-bin/main.c, bin/xbps-bin/show-deps.c, bin/xbps-
repo/repository.c, bin/xbps-repo/util.c, bin/xbps-uhelper/main.c,
include/xbps_api.h, include/xbps_api_impl.h, lib/cmpver.c,
lib/fexec.c, lib/package_config_files.c, lib/package_configure.c,
lib/package_purge.c, lib/package_register.c, lib/package_remove.c,
lib/package_remove_obsoletes.c, lib/package_requiredby.c,
lib/package_state.c, lib/package_unpack.c, lib/plist.c,
lib/regpkgs_dictionary.c, lib/repository.c,
lib/repository_finddeps.c, lib/repository_findpkg.c,
lib/repository_plist.c, lib/repository_pool.c,
lib/repository_sync_index.c, lib/sortdeps.c, lib/util.c:
Starting to clean up the public API, move private stuff into
xbps_api_impl.h.
[9124f8dc1603]
2010-11-10 Juan RP <xtraeme@gmail.com>
* include/xbps_api.h, lib/plist.c:
Make xbps_read_dict_from_archive_entry() private to libxbps, as it's
only used internally.
[7110e8dced8e]
2010-11-08 Juan RP <xtraeme@gmail.com>
* .hgignore, NEWS, bin/Makefile, bin/xbps-dgraph/Makefile, bin/xbps-
dgraph/main.c:
xbps-dgraph: new utility to generate dot(1) graphs for package
metadata properties.
[03653b633113]
* lib/package_purge.c:
xbps_purge_all_pkgs: no need to check for pkg state because
xbps_purge_pkg() does it too.
[7222006a428d]
* include/xbps_api.h:
Better describe xbps_find_pkg_from_plist().
[d306b1ea05bc]
* bin/xbps-bin/check.c, bin/xbps-bin/find-files.c, bin/xbps-bin/show-
deps.c, bin/xbps-bin/show-info-files.c, include/xbps_api.h,
lib/package_config_files.c, lib/package_purge.c,
lib/package_remove.c, lib/plist.c:
New function: xbps_get_pkg_dict_from_metadata_plist.
This function returns and internalized dictionary from a package's
metadata plist file as specified by its arguments.
Update all code to use it where appropiate.
[933e865bdeee]
* include/xbps_api.h:
xbps_api.h: update comments for @private funcs.
[956e615695a0]
* bin/xbps-bin/check.c, bin/xbps-bin/remove.c, include/xbps_api.h,
lib/package_state.c:
Always release the object dictionary returned by
xbps_find_pkg_dict_installed().
Document this in the public API header and update all code
accordingly.
[7544cca4549e]
* lib/plist.c:
xbps_find_pkg_dict_installed: dictionary MUST be copied before
calling xbps_regpkgs_dictionary_release(), otherwise it will be
NULL.
Found by executing this function without initializing regpkgdb.
[8a780338f082]
* include/xbps_api.h:
xbps_api.h: improve description for some defs.
[84f6f1d13440]
2010-11-06 Juan RP <xtraeme@gmail.com>
* doc/xbps_transaction_dictionary.dot:
Update the dot(1) graph for the libxbps transaction dictionary.
[8764e84df72e]
* bin/xbps-bin/check.c, bin/xbps-bin/install.c, bin/xbps-bin/remove.c,
bin/xbps-repo/index.c, bin/xbps-repo/repository.c, bin/xbps-
repo/util.c, bin/xbps-uhelper/main.c, lib/package_config_files.c,
lib/package_configure.c, lib/package_orphans.c, lib/package_purge.c,
lib/package_register.c, lib/package_remove.c,
lib/package_requiredby.c, lib/package_state.c, lib/package_unpack.c,
lib/plist.c, lib/repository_finddeps.c, lib/repository_findpkg.c,
lib/repository_plist.c, lib/sortdeps.c, lib/util.c:
Misc cleanups and performance improvements.
- 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.
[e4d82bff8b11]
* lib/fexec.c:
Make xbps_file_*_exec() always chroot if uid==0 and /bin/sh (+x,
relative) exists.
[15078069dc33]
2010-11-04 Juan RP <xtraeme@gmail.com>
* lib/Makefile:
lib/Makefile: remove dup values.
[0d77552eebc1]
2010-11-03 Juan RP <xtraeme@gmail.com>
* lib/Makefile, lib/config_files.c, lib/configure.c, lib/orphans.c,
lib/package_config_files.c, lib/package_configure.c,
lib/package_orphans.c, lib/package_purge.c, lib/package_register.c,
lib/package_remove.c, lib/package_remove_obsoletes.c,
lib/package_requiredby.c, lib/package_state.c, lib/package_unpack.c,
lib/purge.c, lib/register.c, lib/remove.c, lib/remove_obsoletes.c,
lib/requiredby.c, lib/state.c, lib/unpack.c:
Rename some files in the library to better describe what they do.
[aca21d16213a]
* bin/xbps-bin/main.c, include/xbps_api.h, lib/download.c:
Some changes for the XBPS libfetch's frontend code.
1) Raise the cache connection settings to more sane defaults (8->6,
16->2). 2) Introduce xbps_fetch_unset_cache_connection() to drop the
caches.
[118cc56d26b5]
2010-11-02 Juan RP <xtraeme@gmail.com>
* lib/Makefile:
Pass LDFLAGS after the objects when creating the sharedlib,
otherwise
-Wl,--as-needed will think that zlib is not needed.
[67f956d02f2f]
2010-10-31 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/xbps-bin.8:
xbps-bin.8: fixed two formatting errors.
[ee6c2fedf072]
* .hgtags:
Added tag 0.6.2 for changeset fe0d022c4236
[214f66dc4d0b]
* Changelog:
Changelog: update.
[fe0d022c4236] [0.6.2]
* NEWS:
NEWS: XBPS 0.6.2 will be released in a few minutes.
[a01eb604fca2]
2010-10-29 Juan RP <xtraeme@gmail.com>
* NEWS, lib/repository.c:
libxbps: xbps_repository_unregister(): in remote repositories, also
remove the pkg index file and its directory.
[e71cb84b6a91]
* lib/util.c:
xbps_get_pkg_index_plist: fix a memleak.
[e1360eb38233]
2010-10-27 Juan RP <xtraeme@gmail.com>
* Changelog:
Add a Changelog file with all repo changes.
[962f23e033f9]
* NEWS, bin/xbps-bin/main.c, bin/xbps-bin/xbps-bin.8:
xbps-bin(8): modify the 'list' target to accept an optional argument
to list packages in the specified state, so that you can list
packages that need to be purged, configured and broken (will be
used in the future).
[559e85af63c5]
* NEWS, bin/xbps-bin/Makefile, bin/xbps-bin/defs.h, bin/xbps-bin/find-
files.c, bin/xbps-bin/main.c, bin/xbps-bin/xbps-bin.8:
xbps-bin(8): added a new target "find-files".
This new target 'find-files' can be used to find which installed
package(s) own a file. Exact matches like "/bin/mount" or patterns
like "/usr/lib/libb[ao]b\*" can be specified.
[bde21eacfae1]
* configure:
configure: don't use -fPIE and --param ssp-buffer-size if CC != gcc.
[c7773e278e58]
* lib/fetch/ftp.c:
fetch/ftp.c: fix a cast that caught clang via -Wcast-qual.
[f231b4972d0e]
* NEWS, lib/remove_obsoletes.c:
Remove empty dirs while removing obsolete files.
[676b7e99dca2]
2010-10-23 Juan RP <xtraeme@gmail.com>
* .hgtags:
Added tag 0.6.1 for changeset 9133c604fd81
[100f4038999f]
* include/xbps_api.h:
Increment XBPS_RELVER for 0.6.1.
[9133c604fd81] [0.6.1]
* .hgtags:
Added tag 0.6.1 for changeset 6a4587e4f95f
[b7e383e37039]
* NEWS, bin/xbps-bin/install.c, lib/unpack.c:
Prepare for going-to-be-released 0.6.1.
Includes the following change:
* When replacing a package that is going to be updated in the
transaction do not remove it, just overwrite its files and
continue. The updated package will find that old files didn't
match the SHA256 hash and will skip them. This solves the issue
of new package updates requiring new dependencies with files that
were previously stored in the old version. For example gtk+-2.20
containing gdk-pixbuf, and gtk+-2.22 requiring gdk-pixbuf
externally.
[6a4587e4f95f]
* Makefile:
Makefile: added dist target to create distribution source tarball.
[ff3357d56465]
* .hgtags:
Added tag 0.6.1 for changeset e51c0a0d740b
[e45e87832117]
2010-06-03 Juan RP <xtraeme@gmail.com>
* .hgtags:
Added tag 0.6.0 for changeset bfbbdcaef85a
[e51c0a0d740b]
* NEWS:
NEWS: fix date for 0.6.0.
[bfbbdcaef85a] [0.6.0]
2010-06-02 Juan RP <xtraeme@gmail.com>
* include/xbps_api.h:
Bump XBPS_RELVER for changes that will go to 0.6.0.
[6b622708535e]
* NEWS:
Mention libfetch-2.31 sync.
[8e790b8a35ca]
* 3RDPARTY, lib/fetch/common.c, lib/fetch/common.h, lib/fetch/ftp.c:
Import and merge libfetch-2.31 from NetBSD pkgsrc.
[8a0441414ef3]
2010-05-20 Juan RP <xtraeme@gmail.com>
* .hgignore:
Update .hgignore for recent changes.
[b4f0ed9d6748]
* lib/util.c:
xbps_[gs]et_cachedir(): ensure we don't copy more than buffer's size
including NUL.
[9f8692289158]
* bin/xbps-repo/main.c, bin/xbps-repo/repository.c:
xbps-repo: put back sanitize_url() and improve the implementation.
[6221608dcf00]
* lib/repository_finddeps.c:
lib/repository_finddeps.c: change var names to be more descriptive,
add some more verbose messages.
[3251baf24e83]
* include/xbps_api.h:
xbps_api.h: do not rely on sys/cdefs.h, fix up some comments.
[7d7d6c85ad67]
* NEWS, include/sha256.h, lib/Makefile, lib/sha256.c, lib/util.c:
libxbps: use OpenSSL SHA256, 5x faster xbps_get_file_hash()
implementation.
* libxbps: improved xbps_get_file_hash() to mmap(2) rather than
read(2) the file we have to process. With mmap'ed files the hash
can be processed 5x faster than before, or even more in some
cases.
* libxbps: switch to OpenSSL SHA256 implementation and remove the
one previously used. It's faster and OpenSSL is required for
libfetch so there is not point in using it.
[8ef9d11bc805]
2010-05-19 Juan RP <xtraeme@gmail.com>
* 3RDPARTY:
3RDPARTY: sync with reality.
[8a3ccfebb7a6]
* Makefile, NEWS, README, bin/Makefile, bin/xbps-bin/Makefile, bin
/xbps-repo/Makefile, bin/xbps-repo/repository.c, bin/xbps-
uhelper/Makefile, bin/xbps-uhelper/main.c, configure, doc/Makefile,
include/Makefile, include/strlcat.h, include/strlcpy.h,
lib/Makefile, lib/compat/strlcat.c, lib/compat/strlcpy.c,
lib/pkgmatch.c, lib/portableproplib/prop_object.c, lib/util.c,
prog.mk, vars.mk:
Added a configure script to emulate GNU autoconf and related
changes.
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.
[f3d2d6556b5c]
* doc/xbps_pkg_props_dictionary.dot:
Improve xbps_pkg_props_dictionary.dot even more.
[7357b1cd86fd]
* doc/xbps_pkg_files_dictionary.dot,
doc/xbps_pkg_props_dictionary.dot:
Improve binary package metadata plist file images.
[4c5ae8d5be32]
2010-05-18 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/index.c:
xbps-repo/index.c: fix a typo.
[5979d1ae4436]
* lib/repository_finddeps.c, lib/repository_findpkg.c:
libxbps: if XBPS_FLAG_VERBOSE is set print to stdout some info about
binary packages found in repositories and its dependencies.
[a30843b4c20c]
* .hgtags:
Added tag 0.5.2.2 for changeset 0c1a7cea8bd2
[8e7b4d5855bb]
* NEWS, include/xbps_api.h, lib/remove_obsoletes.c:
libxbps::xbps_remove_obsoletes(): reset a var to 0 in non fatal
errors!
[0c1a7cea8bd2] [0.5.2.2]
* .hgtags:
Added tag 0.5.2.1 for changeset 4cf86e688eef
[5a8af7dd8395]
* include/xbps_api.h:
Bump XBPS_RELVER.
[4cf86e688eef] [0.5.2.1]
* NEWS:
NEWS: fixed a typo.
[8b3e20d4d99b]
* NEWS, lib/configure.c, lib/remove.c, lib/unpack.c:
libxbps: bah do not ignore ENOENT when running INSTALL/REMOVE
scripts.
[7f1e37ff4605]
* .hgtags:
Added tag 0.5.2 for changeset e3054c016de0
[90f2379c998c]
* NEWS, include/xbps_api.h, lib/configure.c, lib/remove.c,
lib/remove_obsoletes.c, lib/unpack.c:
libxbps: some random bugfixes.
* libxbps: while running INSTALL/REMOVE scripts, do not fail if a
script returns ENOENT but the script exists; that means the script
did not match the expected action on its switch statement and the
fact can be simply ignored.
* libxbps: while upgrading packages and searching for obsolete
files, do not remove the files that did not match previous SHA256
hash. Also, only remove obsolete dangling symlinks.
[e3054c016de0] [0.5.2]
* .hgtags:
Removed tag 0.5.2
[2e19758da01f]
* .hgtags:
Added tag 0.5.2 for changeset 246721b8546e
[47673ec3fed9]
* bin/xbps-repo/index.c:
xbps-repo: fix genindex target to not return error when a package is
already registered in the index.
[246721b8546e]
2010-05-12 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
xbps-bin: when replacing a pkg do not purge the old one, just remove
it.
[a4e9fb17726b]
* NEWS, bin/xbps-repo/util.c:
xbps-repo(8): improved the 'search' target to also match substrings
in package/version tuples.
[57555845334d]
2010-05-11 Juan RP <xtraeme@gmail.com>
* .hgtags:
Added tag 0.5.1 for changeset 0d9e4fc8afd9
[54be827f1fe3]
* NEWS:
NEWS: mention new changes, in preparation for 0.5.1.
[0d9e4fc8afd9] [0.5.1]
* include/xbps_api.h:
Bump XBPS_RELVER for last change.
[4f50c2d1a2f4]
* include/xbps_api.h, lib/cmpver.c, lib/util.c:
libxbps: change the epoch char to ':' to differentiate the starting
char in pkgname.
Added xbps_get_pkg_epoch(), to get the epoch version string.
[68b083da7e05]
* lib/Makefile:
lib/Makefile: proplib sources need -Wno-stack-protector.
[02119879f21c]
2010-05-04 Juan RP <xtraeme@gmail.com>
* NEWS, bin/xbps-bin/defs.h, bin/xbps-bin/main.c, bin/xbps-
bin/remove.c, bin/xbps-bin/xbps-bin.8:
xbps-bin(8): added a new target 'show-orphans' that list all package
orphans currently installed.
[3c4ed1d715a7]
* README:
README: update project URL.
[f62d675ada32]
* prog.mk:
prog.mk: don't redirect stderr to /dev/null for static linking.
It's useful to see some possible errors.
[d5ef997c5c8f]
* lib/Makefile:
Also link libxbps to libpthread as it's required now.
[68ba7a848eb2]
* lib/sha256.c:
Provide stubs for htobe{32,64}() and be32toh() macros if they aren't
defined on Linux.
Tested and verified by Jimmy on xbps@googlegroups.com.
[10279e555579]
2010-05-03 Juan RP <xtraeme@gmail.com>
* .hgignore:
Update .hgignore after last change (troff manpages).
[1530e5dccbd5]
* NEWS, README, bin/xbps-bin/xbps-bin.8, bin/xbps-bin/xbps-bin.8.txt,
bin/xbps-repo/xbps-repo.8, bin/xbps-repo/xbps-repo.8.txt, prog.mk:
Remove asciidoc build dependency, use troff manpages directly.
[d635c8a30999]
2010-05-02 Juan RP <xtraeme@gmail.com>
* .bzrignore, .hgignore:
Moved .bzrignore to .hgignore and make it work.
[83fffa6b1784]
* bin/xbps-bin/xbps-bin.8.txt, bin/xbps-repo/xbps-repo.8.txt:
Update manpages for new XBPS project locations.
[783e207d30cd]
2010-05-01 convert-repo <convert-repo>
* .hgtags:
update tags
[406f512e4931]
2010-04-29 Juan RP <xtraeme@gmail.com>
* lib/portableproplib/prop_data.c, lib/portableproplib/prop_rb.c:
Apply the commit from portableproplib's git master:
commit b2975842aba26df9b9885ff56b2ff182eda06152 Author: Juan RP
<xtraeme@gmail.com> Date: Thu Apr 29 18:23:15 2010 +0200
Remove some dead code found by the LLVM's clang static analyzer.
[8c76b0f9dc54] [0.5.0]
2010-04-28 Juan RP <xtraeme@gmail.com>
* NEWS:
NEWS: improve an entry.
[7e06f281ee90]
* NEWS, bin/xbps-repo/util.c:
xbps-repo(8): fixed the 'search' target to also match patterns
against its description, and not only from the package/version
touple.
[b7ae363ae037]
* NEWS:
NEWS: no more warnings now are reported by the LLVM's clang
analyzer.
All possible warnings are only from portableproplib and libfetch.
[782e0f71f7b6]
* lib/download.c, lib/plist.c, lib/purge.c, lib/remove_obsoletes.c,
lib/repository_findpkg.c, lib/repository_sync_index.c, lib/sha256.c,
lib/unpack.c:
libxbps: fixed all warnings found by clang.
[04177a757347]
* bin/xbps-repo/index.c:
xbps-repo/index.c: fix warnings found by clang.
[3dee67a333f7]
* bin/xbps-bin/check.c:
xbps-bin/check.c: remove dead code, fix warnings found by clang.
[25919bb83bd8]
* bin/xbps-bin/install.c:
xbps-bin/install.c: remove unused vars, found by clang.
[3ef971556d56]
* bin/xbps-bin/main.c:
xbps-bin/main.c: remove unused var found by clang analyzer.
[0e3eaf381521]
* bin/xbps-bin/install.c:
xbps-bin/install.c: fix a NULL pointer dereference in error path,
found by the clang analyzer.
[12de53084cfd]
* doc/xbps_api_doxyfile:
Exclude portableproplib code when generating the API docs.
[bdd70727d85d]
* LICENSE:
LICENSE: remove C comments.
[215b07ce19f0]
* NEWS, bin/xbps-bin/defs.h, bin/xbps-bin/main.c, bin/xbps-
bin/remove.c, bin/xbps-bin/xbps-bin.8.txt:
xbps-bin(8): added -p flag to also purge packages for the 'remove'
and 'autoremove' targets, after successful removal.
[bae8299d9dff]
2010-04-27 Juan RP <xtraeme@gmail.com>
* NEWS:
NEWS: update for latest changes.
[dffd2080422d]
* bin/xbps-repo/defs.h, bin/xbps-repo/repository.c:
xbps-repo: show a warning when a repository has been already added.
[8dda2aefa593]
* include/xbps_api.h, lib/repository.c:
xbps_repository_register(): if repository already exists return
EEXIST.
Bump XBPS_RELVER to 20100427.
[190ec304a2be]
2010-04-24 Juan RP <xtraeme@gmail.com>
* README:
README: zlib is also required now.
[7a4a3f7e1833]
2010-04-21 Juan RP <xtraeme@gmail.com>
* lib/Makefile:
portableproplib can now be built with -Wextra and -Werror, but still
needs
-Wno-cast-qual and -Wno-unused-parameter.
[1697ed1beb24]
* lib/portableproplib/prop_object.c:
Add change from portableproplib's git master to fix a warning with
-Wextra:
commit 1296cfff2dd84a09f973bd446a75d5b92001506d Author: Juan RP
<xtraeme@gmail.com> Date: Wed Apr 21 05:47:34 2010 +0200
prop_object: add cast for -Wextra.
[dd3d514cd25f]
* lib/portableproplib/prop_array.c,
lib/portableproplib/prop_dictionary.c:
Incorporate a commit from portableproplib's git master to fix two
warnings:
commit 72e03f757660ed295f81315d871e51abe22df9dd Author: Juan RP
<xtraeme@gmail.com> Date: Wed Apr 21 05:07:53 2010 +0200
Add a cast that fixes a warning in the new zlib code.
[53749673049e]
* lib/plist.c:
xbps_read_dict_from_archive_entry: added support to uncompress plist
files in archives.
[e95c452405c1]
2010-04-20 Juan RP <xtraeme@gmail.com>
* include/xbps_api.h:
Bump XBPS_RELVER to 20100420 for compressed gzip plist files
support.
[65ccb7b94628]
* bin/xbps-uhelper/main.c:
xbps-uhelper: remove unused debug code.
[295c80d16a5b]
* 3RDPARTY, NEWS, README, bin/xbps-bin/check.c, bin/xbps-bin/show-
deps.c, bin/xbps-bin/show-info-files.c, bin/xbps-repo/index.c, bin
/xbps-repo/repository.c, bin/xbps-uhelper/main.c, include/queue.h,
include/xbps_api.h, lib/Makefile, lib/config_files.c, lib/plist.c,
lib/portableproplib/prop/prop_array.h,
lib/portableproplib/prop/prop_bool.h,
lib/portableproplib/prop/prop_data.h,
lib/portableproplib/prop/prop_dictionary.h,
lib/portableproplib/prop/prop_ingest.h,
lib/portableproplib/prop/prop_number.h,
lib/portableproplib/prop/prop_object.h,
lib/portableproplib/prop/prop_string.h,
lib/portableproplib/prop/proplib.h,
lib/portableproplib/prop_array.c,
lib/portableproplib/prop_array_util.c,
lib/portableproplib/prop_bool.c, lib/portableproplib/prop_data.c,
lib/portableproplib/prop_dictionary.c,
lib/portableproplib/prop_dictionary_util.c,
lib/portableproplib/prop_ingest.c,
lib/portableproplib/prop_number.c,
lib/portableproplib/prop_object.c,
lib/portableproplib/prop_object_impl.h,
lib/portableproplib/prop_rb.c, lib/portableproplib/prop_rb_impl.h,
lib/portableproplib/prop_stack.c, lib/portableproplib/prop_stack.h,
lib/portableproplib/prop_string.c, lib/purge.c, lib/register.c,
lib/regpkgs_dictionary.c, lib/remove.c, lib/repository.c,
lib/repository_pool.c, lib/requiredby.c, lib/state.c, lib/unpack.c,
vars.mk:
Some changes that will appear in 0.5.0:
* 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.
[bec8ad674e2c]
2010-03-31 Juan RP <xtraeme@gmail.com>
* README, vars.mk:
Use pkg-config to find out the openssl/libarchive required static
libs.
[f127b9149824]
2010-03-13 Juan RP <xtraeme@gmail.com>
* lib/register.c:
lib/register.c: add some DPRINTFs.
[652e4dc0ff62]
2010-02-28 Juan RP <xtraeme@gmail.com>
* LICENSE:
Add a LICENSE file.
[83ac79b54ac9] [0.4.1]
2010-02-26 Juan RP <xtraeme@gmail.com>
* NEWS:
NEWS: update for to be relesed 0.4.1 version.
[564935f86832]
* bin/xbps-bin/install.c:
xbps-bin: fixed the install target to work with pkgnames containing
multiple '-' characters, which resulted in incomplete pkgname.
The fix is to always append '>=0' if a pkgname is specified, and
passing a pkgpattern to xbps_repository_install_pkg().
[ec1e8deeea0c]
2010-02-17 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
xbps-bin: unset some bool vars while processing the transaction to
avoid wrong messages for preserve pkgs.
[3f3ee571b025]
2010-01-29 Juan RP <xtraeme@gmail.com>
* lib/repository_findpkg.c, lib/sortdeps.c:
Avoid endless loop while sorting dependencies due to missing
packages.
[a4fce231a58e] [0.4]
2010-01-28 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/remove.c:
xbps-bin/remove.c: set some pointers to NULL before checking them.
[9704c175fdd3]
* NEWS, lib/unpack.c:
Improve previous and only overwrite files while upgrading packages
in the unpack phase.
[9bfc58f968bc]
* NEWS, bin/xbps-bin/install.c, bin/xbps-bin/remove.c, bin/xbps-
repo/util.c, doc/xbps_pkg_props_dictionary.dot, include/xbps_api.h,
lib/remove.c, lib/unpack.c:
Always overwrite files while unpacking, this makes the "essential"
obj obsolete.
This helps to catch upgrade problems and simplifies some parts of
the code. Bumped XBPS_RELVER because xbps_remove_pkg() has been
changed.
[823d10c9fa55]
2010-01-25 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
xbps-bin: print different msgs for pkgs marked as preserve and
essential.
[f048ee5b668d]
* bin/xbps-bin/remove.c:
xbps-bin/remove.c: simplify error paths.
[15908f782da6]
* bin/xbps-bin/check.c:
xbps-bin/check.c: simplify exit paths.
[f9645223f939]
* lib/remove.c:
lib/remove.c: bump copyright year for previous change.
[20a41020b58a]
* NEWS, bin/xbps-bin/main.c, bin/xbps-bin/xbps-bin.8.txt,
lib/remove.c:
xbps-bin(8): if -f is set, remove files and configuration files even
if its hash doesn't match for the remove and purge targets
respectively.
[2fa1720168c0]
* bin/xbps-bin/install.c, bin/xbps-bin/remove.c, include/xbps_api.h,
lib/remove.c:
Repair upgrades of preserve packages, i.e kernel.
[150efe0786e0]
* bin/xbps-bin/install.c:
xbps-bin: fixed some stdout vs stderr printf issues.
[69dc1ef57c07]
* lib/plist.c:
lib/plist.c: fix an assertion.
[d2dbe6ef606b]
2010-01-24 Juan RP <xtraeme@gmail.com>
* NEWS:
Added a NEWS file in preparation for xbps-0.4.
[c216d9c2a28a]
* bin/xbps-uhelper/main.c:
xbps-uhelper: make 'fetch' target accept an arbitrary number of
arguments.
Also set default libfetch's cache connection limits.
[82f5d9be9e95]
* bin/xbps-bin/install.c, include/xbps_api.h, lib/download.c:
Add defs for default fetch cache connection limits and use them in
xbps_fetch_cache_connection() if 0 is passed as argument.
xbps-bin: enable fetch cached connection when downloading binpkgs.
[94a209bd5e95]
* include/xbps_api.h, lib/download.c:
Add xbps_fetch_set_cache_connection() to set libfetch's cache
connection limits.
Use it in xbps_fetch_file(), by default set with 8 and 16.
[c3f50dbaa4bf]
* include/fetch.h, lib/fetch/common.c, lib/fetch/common.h,
lib/fetch/ftp.c, lib/fetch/http.c:
Merge libfetch-2.30 from NetBSD's pkgsrc.
[d20017f977a1]
* bin/xbps-bin/install.c:
xbps-bin: remove an extra newline in transaction ops.
[601f784cd0d1]
* Makefile, include/Makefile, lib/Makefile, prog.mk, vars.mk:
Rework Makefiles one more time.
- use printf to print commands rather than echo, which it may not
have support for escape sequences (-e).
- Remove DESTDIR from SBINDIR, MANDIR, LIBDIR and INCLUDEDIR so that
you can override it.
[b76ee83f097e]
2010-01-23 Juan RP <xtraeme@gmail.com>
* README:
README: explain BUILD_API_DOCS.
[5b3e7a70bc35]
* lib/orphans.c:
xbps_find_orphan_packages: improve doxygen documentation.
[d4b89782c2ab]
* lib/unpack.c:
lib/unpack.c: improve doxygen description.
[e74d83fe6fc0]
* include/xbps_api.h, lib/repository_sync_index.c:
Don't export xbps_get_remote_repo_string() to the API, it's only
used internally in the library.
[a0274c611431]
* .bzrignore:
.bzrignore: add new stuff.
[a070cee9a512]
* Makefile, README, doc/Makefile, doc/xbps_api_doxyfile,
doc/xbps_binary_pkg_content.dot, doc/xbps_pkg_files_dictionary.dot,
doc/xbps_pkg_props_dictionary.dot, doc/xbps_regpkgdb_dictionary.dot,
doc/xbps_transaction_dictionary.dot, include/mainpage.h,
include/xbps_api.h, lib/configure.c, lib/purge.c, lib/register.c,
lib/regpkgs_dictionary.c, lib/remove.c, vars.mk:
Add infrastructure changes to build the API documentation.
doxygen and graphviz are required. It's disabled by default, use the
BUILD_API_DOCS make(1) argument to enable it.
[e4720c1ab598]
2010-01-22 Juan RP <xtraeme@gmail.com>
* include/xbps_api.h, lib/configure.c, lib/purge.c, lib/register.c,
lib/regpkgs_dictionary.c, lib/remove.c, lib/repository.c,
lib/repository_findpkg.c:
libxbps: improve doxygen documentation, still not finished.
[ed839e468150]
* lib/unpack.c:
xbps_unpack_binary_pkg: multiple fixes and improvements.
- Don't write any archive entry to disk unless the package metadata
plist files are found.
- Always check for the package metadata plist files in the first 4
entries, if they aren't found stop the unpacking... invalid archive.
- Don't check for removing INSTALL/REMOVE scripts on each iteration
when extracting, just check it once before the loop.
- Add doxygen comments and related stuff.
[3a93f4fa5c34]
* lib/repository_plist.c:
xbps_repository_get_pkg_plist_dict_from_url: stop processing the
archive once that 4 entries are checked for the plist file.
Processing 6 entries is too much, we can be sure that plist file
will always be in the first 4 entries.
[b3389760c4e2]
2010-01-21 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/check.c, bin/xbps-bin/install.c, bin/xbps-bin/main.c,
bin/xbps-bin/remove.c, bin/xbps-bin/show-deps.c, bin/xbps-
repo/main.c, bin/xbps-repo/repository.c, bin/xbps-repo/util.c, bin
/xbps-uhelper/main.c, include/sha256.h, include/xbps_api.h,
lib/Makefile, lib/cmpver.c, lib/config_files.c, lib/configure.c,
lib/download.c, lib/fexec.c, lib/humanize_number.c, lib/mkpath.c,
lib/orphans.c, lib/pkgmatch.c, lib/plist.c, lib/purge.c,
lib/register.c, lib/regpkgs_dictionary.c, lib/remove.c,
lib/remove_obsoletes.c, lib/repository.c, lib/repository_finddeps.c,
lib/repository_findpkg.c, lib/repository_plist.c,
lib/repository_pool.c, lib/repository_sync_index.c,
lib/requiredby.c, lib/sha256.c, lib/sortdeps.c, lib/state.c,
lib/unpack.c, lib/util.c, vars.mk:
Mega-commit to document the API with doxygen.
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.
[8c246c2ef9fc]
2010-01-18 Juan RP <xtraeme@gmail.com>
* lib/Makefile, lib/fetch/Makefile, prog.mk, vars.mk:
Rework Makefile files, fully parallel builds are now possible.
[e04bde7d0b34]
* include/xbps_api.h, lib/unpack.c:
xbps_unpack_binary_pkg: fixed some bugs while upgrading essential
pkgs.
* A package failed to be upgraded properly if current pkg contained
INSTALL/REMOVE scripts, while the new one didn't have any of them.
Fixed this by always removing current scripts if they exist.
* Essential pkgs are never removed (they are replaced) so the pre
remove action target was never called, now it all works properly.
Bumped XBPS_RELVER because I consider these bugs so important.
[59fd772dd9f6]
* lib/repository_pool.c:
xbps_repository_pool_init: fix memleaks in error paths, found by
cppcheck.
[f7b32d48913f]
2010-01-15 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/check.c, bin/xbps-bin/install.c, bin/xbps-bin/main.c,
bin/xbps-bin/remove.c, bin/xbps-bin/show-deps.c, bin/xbps-
repo/index.c, bin/xbps-repo/main.c, bin/xbps-repo/repository.c, bin
/xbps-uhelper/main.c, lib/configure.c, lib/remove.c,
lib/remove_obsoletes.c, lib/unpack.c:
Error and warning messages should go to stderr, make it so.
[e59c1e70812f]
2010-01-14 Juan RP <xtraeme@gmail.com>
* lib/repository_findpkg.c:
xbps_repository_install_pkg: don't forget to release repository pool
stuff.
[d9d8422836f2]
* lib/repository_findpkg.c:
xbps_repository_install_pkg: before adding pkg into the transaction,
check that it wasn't added before.
This change fixes and endless loop while doing the following:
$ xbps-bin install libXext libX11
where libX11 is a dependency of libXext and was already queued.
[89032ca90604]
* bin/xbps-bin/install.c:
xbps-bin: simplify pkgname_from_pkgmatch() and fix a bug.
[dfe13e8dcad5]
* bin/xbps-bin/install.c:
xbps-bin: really fix previous, by using a hack for now.
[68916b88bbe3]
* bin/xbps-bin/install.c:
xbps-bin: don't make false positives detecting pkgmatches vs
pkgnames while installing packages.
[d4a5c466c003]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, bin/xbps-bin/xbps-
bin.8.txt, bin/xbps-repo/index.c, bin/xbps-repo/repository.c,
include/xbps_api.h, lib/plist.c, lib/register.c,
lib/repository_finddeps.c, lib/repository_findpkg.c,
lib/repository_plist.c, lib/state.c:
Implemented blueprint 'install-pkg-by-pkgmatch' as specified in
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.
[cffd5516e9d2]
* bin/xbps-repo/util.c:
xbps-repo: search target: also report exact matches by pkgname.
[973a02766629]
* lib/pkgmatch.c:
xbps_pkgmatch: before checking pattern with csh_match(), try to see
if a full match with strcmp() is enough.
[577a92acf90e]
2010-01-13 Juan RP <xtraeme@gmail.com>
* Makefile, bin/Makefile, include/Makefile, vars.mk:
Install the xbps_api.h header.
[9a72f86c9b66]
* lib/remove.c:
xbps_remove_pkg: fix a memleak, thanks valgrind.
[5a9193b86cba]
* bin/xbps-repo/util.c:
xbps-repo/util.c: bump copyright year.
[8b1fff326b0c]
* bin/xbps-repo/util.c:
xbps-repo/util.c: simplify show_pkg_files().
[c7298514c018]
* lib/Makefile:
Install shlib with 755 perms to match what the world does.
[d30359f579fe]
2010-01-11 Juan RP <xtraeme@gmail.com>
* lib/fetch/ftp.c:
Sync fetch code with libfetch-2.27.
joerg@netbsd libfetch-2.27: The connection sharing didn't handle the
case of active transfers correctly and tried to close the connection
in that case (PR 42607). Correctly check if there is a transfer
going on and just leave the connection alone in that case.
[702b8f0b469b]
2010-01-06 Juan RP <xtraeme@gmail.com>
* lib/Makefile, lib/fetch/Makefile, prog.mk, vars.mk:
Restructure the Makefiles, INET6 and SSL support in libfetch is now
mandatory, build executables as PIE objects.
[0bee17c756d6]
2009-12-28 Juan RP <xtraeme@gmail.com>
* README:
README: improve make install example.
[c55ab3d86c16]
* README, lib/Makefile, lib/fetch/Makefile, prog.mk:
Cleaned up the Makefiles, improve README about what's required.
[c3af2254249d]
2009-12-24 Juan RP <xtraeme@gmail.com>
* lib/register.c:
xbps_register_pkg: if automatic-install obj is there, don't
overwrite its value.
[5a0d1558f4a3]
2009-12-22 Juan RP <xtraeme@gmail.com>
* include/xbps_api.h:
Bump XBPS_RELVER to 20091222 for last set of changes.
[345145c682ad]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, bin/xbps-bin/xbps-
bin.8.txt:
xbps-bin(8):
- Add -y flag to assume "yes" for all questions.
- Print a proper error string when the transaction dictionary is
empty.
[5297e0d22a24]
* bin/xbps-bin/defs.h, bin/xbps-bin/install.c, bin/xbps-bin/main.c,
bin/xbps-bin/remove.c, bin/xbps-bin/xbps-bin.8.txt,
lib/repository_finddeps.c, lib/repository_findpkg.c:
xbps-bin(8): implemented Launchpad blueprint "arbitrary-pkgname-
args". See https://blueprints.launchpad.net/xbps/+spec/arbitrary-
pkgname-args.
The install, update and remove targets now accept a list of package
names that will be processed.
[acd82608bcca]
* lib/util.c:
xbps_yesno/noyes: change the funcs to only accept "yes" or "no"
(case insensitive) answers rather than the short ones.
[a5a171e641fb]
2009-12-20 Juan RP <xtraeme@gmail.com>
* vars.mk:
vars.mk: remove dup -lcrypto.
[aa8e61d170b2]
2009-12-18 Juan RP <xtraeme@gmail.com>
* lib/fetch/Makefile:
lib/fetch/Makefile: ignore fstack-protector warnings.
[f800f31fa361]
* .bzrignore:
.bzrignore: add .xml files.
[2db899aa6d90]
* lib/repository_sync_index.c:
repository_sync_index.c: add missing sys/stat.h.
[a0217d3f9741]
2009-12-18 Juan RP <juan@juan-desktop>
* bin/xbps-bin/xbps-bin.8.txt, bin/xbps-repo/xbps-repo.8.txt:
xbps-{bin,repo}.8.txt: s/SYNOPSYS/SYNOPSIS/
[c7bc21a8517f]
2009-12-12 Juan RP <xtraeme@gmail.com>
* README:
README: asciidoc is also required to build the manpages.
[84cbb396030d] [0.3]
* README:
Added a minimal README file.
[034ae565f6db]
2009-12-11 Juan RP <xtraeme@gmail.com>
* lib/unpack.c:
xbps_unpack_binary_pkg: set INSTALL/REMOVE perms to 0750.
[921fed384a70]
2009-12-10 Juan RP <xtraeme@gmail.com>
* lib/repository_plist.c:
repository_plist.c: fix lp bug #494905 "xbps build failure on
x86_64".
fetchIO_read returns ssize_t not int, applied patch from submitter.
Thanks.
[8ec89948aa24]
2009-12-09 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, include/xbps_api.h,
lib/configure.c, lib/unpack.c:
When executing the INSTALL/REMOVE scripts, always pass the UPDATE
value to them.
Bump XBPS_RELVER to 20091209.
[31dcb98264ce]
2009-12-07 Juan RP <xtraeme@gmail.com>
* lib/unpack.c:
xbps_unpack_binary_pkg: bail out if required metadata plist files
aren't found after processing 6 entries from the archive.
This to detect non-valid XBPS binary packages.
[b45c72e349e1]
* bin/xbps-bin/defs.h, bin/xbps-bin/main.c, bin/xbps-bin/remove.c:
xbps-bin: make the 'autoremove' target respect -f flag to bypass
question.
[cb0cae51a795]
* include/xbps_api.h, lib/purge.c, lib/remove.c:
libxbps: share code for removing pkg files in remove.c and purge.c.
A new function has been created, xbps_remove_pkg_files() that
accepts a dictionary internalized from files.plist and a key to
remove links, dirs, files and conf_files.
As result of this, now when purging a package those directories that
were used in configuration files will also be removed if they are
empty.
Bump XBPS_RELVER to 20091207.
[3d82446e2e5e]
* lib/remove.c:
xbps_remove_pkg: when removing dirs there is no need to look for the
"keep" obj anymore.
[78a09943bec5]
2009-12-06 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/repository.c:
xbps-repo: when adding local repos always create XBPS_META_PATH.
[0ddde4623cec]
2009-12-05 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/xbps-bin.8.txt:
xbps-bin.8.txt: fix typo.
[c3550956f315]
2009-12-02 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/xbps-bin.8.txt, bin/xbps-repo/xbps-repo.8.txt:
Fixed typos in xbps-{bin,repo} manpages.
[6283c719c91d]
* bin/xbps-bin/install.c, include/xbps_api.h, lib/unpack.c:
xbps_unpack_binary_pkg: removed 2nd bool argument, look for a
preserve object to not remove files in removal or upgrades.
Bump XBPS_RELVER to 20091202.
[9468623e7bdc]
2009-11-30 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c, bin/xbps-repo/index.c, bin/xbps-repo/main.c,
bin/xbps-repo/repository.c, include/xbps_api.h,
lib/repository_plist.c:
Rename lib/repository_plist.c exported functions.
xbps_get_path_from_pkg_dict_repo ->
xbps_repository_get_path_from_pkg_dict
xbps_get_pkg_plist_dict_from_repo ->
xbps_repository_get_pkg_plist_dict xbps_get_pkg_plist_dict_from_url
-> xbps_repository_get_pkg_plist_dict_from_url
[ef29dd5b4e87]
* bin/xbps-repo/main.c, bin/xbps-repo/repository.c,
include/xbps_api.h, lib/repository_finddeps.c,
lib/repository_findpkg.c, lib/repository_plist.c,
lib/repository_pool.c:
Rename struct repository_data to repository_pool.
[50c3b6347af1]
* bin/xbps-bin/install.c, bin/xbps-repo/repository.c,
include/xbps_api.h, lib/repository.c, lib/repository_finddeps.c,
lib/repository_findpkg.c:
Rename some function from lib/repository* with more meaningful
names.
xbps_unregister_repository() -> xbps_repository_register()
xbps_register_repository() -> xbps_repository_unregister()
xbps_find_deps_in_pkg() -> xbps_repository_find_pkg_deps()
xbps_prepare_pkg() -> xbps_repository_install_pkg()
xbps_find_new_pkg() -> xbps_repository_update_pkg()
xbps_find_new_packages() -> xbps_repository_update_allpkgs()
xbps_get_pkg_props() -> xbps_repository_get_transaction_dict()
[d323ab017a4a]
* bin/xbps-repo/repository.c, include/xbps_api.h, lib/Makefile,
lib/repository_sync_index.c, lib/sync_remote_pkgidx.c:
Rename lib/sync_remote_pkgidx.c to repository_sync_index.c.
xbps_sync_repository_pkg_index() renamed to
xbps_repository_sync_pkg_index().
[af35d7234973]
* include/xbps_api.h:
xbps_api.h: update comments, sort.
[94aebfa33b2d]
* lib/Makefile, lib/depends.c, lib/findpkg.c,
lib/repository_finddeps.c, lib/repository_findpkg.c:
Rename lib/depends.c to repository_finddeps.c and lib/findpkg.c to
repository_findpkg.c.
[443a6a312bda]
* bin/xbps-repo/util.c:
xbps-bin, xbps-repo: show the "essential" and "replaces" objs values
in the 'show' target.
[44829821456e]
2009-11-29 Juan RP <xtraeme@gmail.com>
* lib/sortdeps.c:
xbps_sort_pkg_deps: add debugging, use xbps_pkgdep_match().
[69ecd1f57a9f]
* lib/depends.c:
xbps_find_pkg_repo_deps: check if current pkg version in repo is
enough to satisfy the required rundep for a pkg!
[e18fae789099]
* bin/xbps-bin/install.c:
xbps-bin: fix assertion with pkgs containing the "replaces" obj.
[59fb3bb7bbdf]
* bin/xbps-bin/install.c, lib/depends.c, lib/plist.c:
Fix and improve how missing pkg dependencies are handled from repos.
- Use an array of strings to store the pkgdeps.
- While adding a missing pkgdep, check if it's already in the queue
and new required version is greater, in that case replace with new
one.
[22b1b338ccf1]
2009-11-28 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/xbps-bin.8.txt:
xbps-bin(8): mention /var/db/xbps/metadata/pkgname/*.plist.
[3f756bb4ac47]
* include/xbps_api.h:
xbps_api.h: indent.
[741b469c726b]
* bin/xbps-repo/util.c, lib/repository_plist.c:
xbps-repo: also print binpkg compression type in the show target.
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 $
[609f4e7ed906]
* bin/xbps-repo/util.c:
xbps-bin, xbps-repo: use xbps_pkgdep_match() for the search target.
This provides csh style shell pattern.
[6f8468780883]
* include/xbps_api.h, lib/Makefile, lib/config_files.c,
lib/remove_obsoletes.c, lib/unpack.c:
Split unpack.c config files and remove obsoletes code into its own
files.
[cd1056500384]
* bin/xbps-bin/xbps-bin.8.txt:
xbps-bin: update manpage.
[92d52396c86f]
* bin/xbps-repo/main.c, bin/xbps-repo/xbps-repo.8.txt:
xbps-repo: add -c flag to set cachedir, update manpage.
[a2fbdc4ea54f]
* bin/xbps-bin/install.c, bin/xbps-repo/xbps-repo.8.txt,
include/xbps_api.h, lib/repository_plist.c, lib/unpack.c,
lib/util.c:
xbps-repo: if fetching info from remote repo for the 'show' and
'show-files' targets and the binary package exists in cachedir, use
it.
[8066b1b10113]
* lib/sync_remote_pkgidx.c:
xbps_sync_repository_pkg_index: update comments.
[9c8f64cdd692]
* include/xbps_api.h, lib/util.c:
libxbps: remove unused xbps_check_pkg_file_hash().
[e5ec88b8b03f]
* lib/unpack.c:
xbps_unpack_binary_pkg: cosmetic changes.
[3ed60ce6d5de]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, bin/xbps-bin/xbps-
bin.8.txt, include/xbps_api.h, lib/Makefile, lib/mkpath.c,
lib/sync_remote_pkgidx.c, lib/unpack.c, lib/util.c:
Added support for a cachedir to store downloaded binpkgs.
libxbps:
* Added xbps_set_cachedir() and xbps_get_cachedir(). By default it's
set to /var/cache/xbps if not specified and it's always relative
to the root directory.
* Move mkpath() code from sync_remote_pkgidc.c into its own file
mkpath.c to use it in another parts of the code.
* Added xbps_get_binpkg_local_path(), that returns the local path to
a binary package file, stored in cachedir or local repo.
* Remote pkg index files are now stored directly in metadir/repodir,
skipping the arch directory because binpkgs are now in cachedir.
xbps-bin:
* Added -c flag to set the cachedir.
* Check sha256 hashes in the download stage so that it can check a
downloaded binpkg immediately once is stored.
* If a binpkg doesn't match the hash it will be refetched.
Bump XBPS_RELVER to 20091128.
[ea1a6979cd94]
2009-11-27 Juan RP <xtraeme@gmail.com>
* lib/repository_pool.c:
xbps_repository_pool_init: if unexistent repos are registered,
ignore them but do not report any error.
[de5c5b1fb970]
2009-11-26 Juan RP <xtraeme@gmail.com>
* lib/repository_pool.c:
xbps_repository_pool_init: ignore invalid repositories if always
there is one that is working, otherwise report an error.
[ce391bf58b1f]
* lib/plist.c:
xbps_find_pkg_installed_from_plist: if pkg is in 'config-files'
state, treat this as not installed and set errno to ENOENT.
[0daad84b3171]
* lib/repository_plist.c:
xbps_get_path_from_pkg_dict_repo: adding rootdir wasn't correct for
a local repository, remove it.
[9795082b301e]
* bin/xbps-bin/xbps-bin.8.txt, bin/xbps-repo/xbps-repo.8.txt:
Added some missing changes for previous.
[fb2c1f59c99b]
* bin/xbps-bin/xbps-bin.8.txt, bin/xbps-repo/xbps-repo.8.txt:
xbps-bin(8), xbps-repo(8): improve descr for some targets.
[c219acc682bc]
* bin/xbps-bin/check.c, bin/xbps-bin/install.c, bin/xbps-bin/main.c,
bin/xbps-bin/show-deps.c, bin/xbps-repo/index.c, bin/xbps-
repo/main.c, bin/xbps-repo/repository.c, bin/xbps-repo/util.c,
include/xbps_api.h, lib/Makefile, lib/configure.c, lib/depends.c,
lib/findpkg.c, lib/orphans.c, lib/plist.c, lib/purge.c,
lib/register.c, lib/regpkgs_dictionary.c, lib/repository_plist.c,
lib/repository_pool.c, lib/requiredby.c, lib/state.c, lib/unpack.c,
lib/util.c:
Major changes in libxbps to implement caching in some cases.
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.
[f993808267ff]
2009-11-25 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/index.c:
xbps-repo: genindex: also remove the "conf_files" object.
[8b06d31c5dc8]
* include/xbps_api.h:
Bump XBPS_PKGINDEX_VERSION to 1.1 because some pkg objects were
removed.
[d635282d7668]
* bin/xbps-repo/Makefile, bin/xbps-repo/defs.h, bin/xbps-repo/index.c,
bin/xbps-repo/main.c, bin/xbps-repo/repository.c, bin/xbps-
repo/util.c:
xbps-repo: improve genindex target, reorganize main.c file.
- 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.
[309260a1a4b2]
* include/xbps_api.h, lib/repository_plist.c:
xbps_get_path_from_pkg_dict_repo: new function that returns a
malloc'ed string with the full path to a binary package file.
[086ceefd4a58]
* include/xbps_api.h, lib/repository_plist.c:
xbps_get_pkg_plist_dict_from_repo: split reading the pkg plist dict
from an url into a new function, xbps_get_pkg_plist_dict_from_url.
[788f4c5f16ae]
* bin/xbps-bin/show-info-files.c, bin/xbps-repo/defs.h, bin/xbps-
repo/main.c, bin/xbps-repo/util.c, bin/xbps-repo/xbps-repo.8.txt,
include/xbps_api.h:
xbps-repo(8): added 'show-files' target.
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.
[e8cd4a35970e]
* include/xbps_api.h, lib/Makefile, lib/repository_plist.c:
Added xbps_get_pkg_plist_dict_from_repo().
This function will fetch a requested plist file in a binary package
matching its 'pkgname' object by searching in repository pool.
This works in any kind of repository, local and remote. Some code
was Taken from NetBSD's pkg_install HEAD. Oh, and it's on-the-fly!
doesn't need to download the binpkg first!
[38dd644ba7c0]
* bin/xbps-repo/index.c:
xbps-repo: genindex: optimization change.
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.
[7a913fc8ee10]
* .bzrignore:
Update .bzrignore after last changes.
[6daf7302edd8]
2009-11-24 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/index.c:
xbps-repo: genindex: print error msg if required dirs to store
binpkgs are not there.
[1b1cd4c9c552]
* bin/Makefile, bin/xbps-cmpver/Makefile, bin/xbps-cmpver/main.c, bin
/xbps-digest/Makefile, bin/xbps-digest/main.c, bin/xbps-
fetch/Makefile, bin/xbps-fetch/main.c, bin/xbps-pkgdb/Makefile, bin
/xbps-pkgdb/main.c, bin/xbps-uhelper/Makefile, bin/xbps-
uhelper/main.c, include/xbps_api.h:
xbps-uhelper: new bin that combines xbps-cmpver, xbps-digest, xbps-
fetch and xbps-pkgdb in one utility.
Bump XBPS_RELVER to 20091124-1.
[db3bdfaeacab]
* bin/xbps-repo/defs.h, bin/xbps-repo/index.c:
xbps-repo: make xbps_repo_addpkg_index() static.
[2a7bbbef1992]
* bin/xbps-bin/Makefile, bin/xbps-bin/defs.h, bin/xbps-bin/main.c, bin
/xbps-bin/remove.c, bin/xbps-bin/show-deps.c, bin/xbps-bin/show-
info-files.c, bin/xbps-repo/defs.h, bin/xbps-repo/index.c, bin/xbps-
repo/index.h, bin/xbps-repo/main.c, bin/xbps-repo/util.c, bin/xbps-
repo/util.h:
Refactored shared code between xbps-bin(8) and xbps-repo(8).
- 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.
[1c25b7658fe3]
* bin/xbps-bin/show-deps.c, bin/xbps-repo/main.c, bin/xbps-
repo/util.c, bin/xbps-repo/util.h, bin/xbps-repo/xbps-repo.8.txt,
include/xbps_api.h, lib/plist.c:
xbps-repo: added 'show-deps' target to mimic xbps-bin(8).
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.
[253e8be13a0b]
* bin/xbps-bin/install.c, bin/xbps-fetch/main.c, bin/xbps-repo/main.c,
lib/download.c, lib/sync_remote_pkgidx.c:
Some changes to know if a file was downloaded successfully or not.
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.
[698e054e3545]
* lib/download.c:
xbps_fetch_file: in refetch case, do nothing if local/remote size
match.
[0efe39e1eb50]
* bin/xbps-repo/xbps-repo.8.txt:
xbps-repo: explain in the manpage that outdated package files will
be removed automatically for the 'genindex' target.
[17384d2aea1f]
* include/xbps_api.h:
Bump XBPS_RELVER to 20091124 for xbps-repo genindex fix.
[146aa3c7b1b1]
* bin/xbps-repo/index.c, bin/xbps-repo/index.h:
xbps-repo genindex: fix use after free, remove outdated binpkg files
by default.
[9049eab45957]
* lib/plist.c:
xbps_find_pkg_in_dict: return NULL if pkgname obj is not there.
[87bcc31f3a72]
* bin/xbps-bin/install.c:
xbps-bin: fix one more for previous commit.
[7a5106340a33]
2009-11-23 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
xbps-bin: fix download local dir when fetching binpkgs from remote
repos.
[982c79ab0fef]
* bin/xbps-bin/check.c, bin/xbps-bin/install.c, bin/xbps-bin/remove.c,
bin/xbps-repo/index.c, bin/xbps-repo/util.c, lib/configure.c,
lib/depends.c, lib/findpkg.c, lib/orphans.c, lib/plist.c,
lib/purge.c, lib/register.c, lib/remove.c, lib/requiredby.c,
lib/sortdeps.c, lib/state.c, lib/unpack.c:
Extensively verified that all functions have its return value
checked for any spurious error, this should make the core more safer
:-)
[d70c50d38f5a]
* lib/util.c:
xbps_get_pkg_index_plist: use xbps_check_is_repo_string_remote().
[5147bd1c5c99]
* bin/xbps-bin/install.c, bin/xbps-repo/main.c, bin/xbps-repo/xbps-
repo.8.txt, include/xbps_api.h, lib/sync_remote_pkgidx.c,
lib/util.c:
xbps-repo: changed the 'sync' target to update from all registered
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.
[e9f2422e6225]
* include/xbps_api.h:
Bump XBPS_RELVER to 20091123.
[2031e9856f4f]
* bin/xbps-pkgdb/main.c:
xbps-pkgdb: don't forget to add the pkgver object in register
target.
[115848ac8bd9]
* lib/register.c:
xbps_register_pkg: check that required objs are there!
[9555e41af3a5]
* lib/depends.c:
xbps_find_pkg_repo_deps: don't propagate rv to next calls using it,
add some more debugging for future problems.
[7a1117ae48f5]
2009-11-22 Juan RP <xtraeme@gmail.com>
* lib/depends.c:
xbps_find_pkg_repo_deps: if finding a dep failed for whatever
reason, stop immediately and return the appropiate error.
[f0bf38818fb3]
* lib/findpkg.c:
xbps_find_new_pkg: do not report incorrect debug printf.
[b8cd563a6cbd]
* lib/util.c:
xbps_get_pkgver_from_dict: return NULL if the object is not there.
[fb899b286db1]
* include/xbps_api.h:
Bump XBPS_RELVER to 20091122 for previous change.
[54cb8e2fa608]
* bin/xbps-repo/main.c, lib/download.c:
xbps-repo: print error if pkg-index file cannot be fetched.
[5614620233f0]
* doc/BINPKG_INFO, doc/BINPKG_REPOSITORY, doc/README, doc/TODO:
Removed outdated doc files.
[a0a319ac3061]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, bin/xbps-bin/remove.c,
include/xbps_api.h, lib/depends.c, lib/register.c, lib/requiredby.c,
lib/util.c:
Improve dependency matching via repos and use the "pkgver" object in
pkg dictionary to improve performance in some cases.
Bumped XBPS_RELVER to 20091121.
[b76ecd32fd03]
2009-11-21 Juan RP <xtraeme@gmail.com>
* include/xbps_api.h, lib/depends.c, lib/findpkg.c:
xbps_find_pkg_deps: simplify, fix multi-repo bug, add debugging.
[c1440f8556d2]
2009-11-20 Juan RP <xtraeme@gmail.com>
* .bzrignore:
.bzrignore: add xbps-fetch bin.
[1212e98c77cb]
* prog.mk:
Fixed prog.mk rules that skipped the manpage.
[bb67838675ed]
2009-11-19 Juan RP <xtraeme@gmail.com>
* lib/unpack.c:
xbps_unpack_binary_pkg: initialize a local var.
[f76ba5b1365c]
* Makefile, bin/Makefile, bin/xbps-bin/Makefile, bin/xbps-
cmpver/Makefile, bin/xbps-digest/Makefile, bin/xbps-fetch/Makefile,
bin/xbps-pkgdb/Makefile, bin/xbps-repo/Makefile, doc/README,
lib/Makefile, lib/fetch/Makefile, prog.mk, vars.mk:
Improve make output similar to what recent GNU configure scripts do.
Also always build the static bins so that it's done in one pass,
that means that objects are PIC and built with SSP.
[1e0e8631efd3]
* bin/xbps-repo/index.c:
xbps-repo: do the right thing in some error paths.
[15353effc62c]
2009-11-18 Juan RP <xtraeme@gmail.com>
* lib/Makefile, lib/fetch/Makefile, prog.mk, vars.mk:
Reorganize the Makefiles so that parallel build is possible.
[c186a4f92c63]
* include/xbps_api.h:
xbps_api.h: use __BEGIN/END_DECLS.
[36cd7959676e]
* .bzrignore:
Ignore two generated headers in .bzrignore.
[c61a6a170d65]
* bin/xbps-bin/install.c, bin/xbps-fetch/main.c, include/xbps_api.h,
lib/download.c, lib/sync_remote_pkgidx.c:
Improve download code, as well as fixing refetching when syncing to
a remote package index. Bump XBPS_RELVER to 20091118.
[c40274228d3f]
* bin/xbps-repo/index.c:
xbps-repo: fix previous, writing a dangling string and a leak in
exit path.
[46942e1c007d]
* bin/xbps-repo/index.c, bin/xbps-repo/index.h, bin/xbps-repo/main.c,
bin/xbps-repo/xbps-repo.8.txt:
xbps-repo: made 'genindex' code run ~60% faster than before!
Rather than externalizing the package index plist file to storage
every time a package is registered, only do it one time once all
packages have been processed. Creating an index with 700 pkgs now
takes 14s in a VM, where before it took 39s. As consequence of this,
the 'add-pkgidx' target is no longer relevant or useful, remove it.
[1adb5fbe7818]
2009-11-17 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/xbps-bin.8.txt, bin/xbps-repo/xbps-repo.8.txt:
Fix a typo in xbps-bin/repo manpages.
[bcb09f418b5a]
2009-11-09 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/main.c, bin/xbps-bin/xbps-bin.8.txt:
xbps-bin: rename 'show-manual' target to 'list-manual', it's a
better name IMHO :-)
[71e6765c1fe9]
* include/xbps_api.h:
xbps_api.h: bump XBPS_RELVER to 20091109.
[d2486475ad2a]
* lib/unpack.c:
Implemented blueprint "essential-upgrades".
See https://blueprints.launchpad.net/xbps/+spec/essential-upgrades
for complete information.
Implementation used almost the same code than the pseudo-code
explained in the blueprint. Works really fine, tested with
glibc-2.10.1 -> 2.11 upgrade.
[1c13692d6c52]
2009-11-07 Juan RP <xtraeme@gmail.com>
* lib/depends.c, lib/pkgmatch.c, lib/util.c:
Fix some issues while matching for required pkgdeps.
[f5288e2b757c]
* lib/download.c:
xbps_fetch_file: return proper error if connection failed, fix SSP
problem with fetchflags!
[ac6ffd0a3ba0]
* bin/xbps-bin/check.c, bin/xbps-bin/install.c, bin/xbps-bin/show-
deps.c, bin/xbps-pkgdb/main.c, include/xbps_api.h, lib/Makefile,
lib/depends.c, lib/pkgmatch.c, lib/requiredby.c, lib/sortdeps.c,
lib/util.c:
Added support for shell (and csh as well) patterns for required
dependencies, as specified in blueprint "improved-version-matching".
It's possible now to require greater, greater or equal than, less,
less or equal than, and equal pkg versions, as well as using '{}'
and '[^!]' csh patterns in dependencies.
Code lifted from FreeBSD, thanks! :-)
Change XBPS_RELVER to 20091107 to match latest additions.
[9ec078af1aed]
2009-11-05 Juan RP <xtraeme@gmail.com>
* prog.mk:
Fix launchpad bug #473249 "-lxbps not found because of wrong
LDFLAGS"
Append (+=) to LDFLAGS as suggested in provided patch.
[e761763b5e3e]
2009-11-01 Juan RP <xtraeme@gmail.com>
* doc/TODO:
doc/TODO: remote repos are working.
[7beb6d20537e]
* bin/xbps-bin/check.c:
xbps-bin: improve 'check all' target output.
[6a04b92af1fa]
2009-10-31 Juan RP <xtraeme@gmail.com>
* lib/download.c, lib/fetch/Makefile, vars.mk:
Improve xbps_fetch_file() and friends, one more time by Daft Punk.
[c2b5c03a8c74]
* bin/xbps-repo/main.c, bin/xbps-repo/xbps-repo.8.txt:
xbps-repo: add a sync target, to sync the pkg index file from a
remote repository.
[49ef49bc5f98]
* lib/download.c:
xbps_fetch_file: erm fix previous, FETH_UNCHANGED is the correct
one.
[9fe634d036d5]
* lib/download.c:
xbps_fetch_file(): check for local/remote mtime, add some more
checks for errors, add some printfs.
[ffddae242974]
2009-10-30 Juan RP <xtraeme@gmail.com>
* lib/Makefile, prog.mk:
Bah, fix these stupid make targets.
[4ac1a1d3464f]
* Makefile, lib/Makefile, prog.mk:
Fix up some issues for building shared/static bins.
[1106a3d93328]
* lib/download.c:
libxbps: avoid fetchStat() and use only fetchXGet().
Some HTTP servers (observerd with googlecode.com), issue a 404 if
the headers are checked before issuing a GET transfer.
[69559e9c0ec8]
* lib/Makefile:
lib/Makefile: don't forget to install the static lib.
[90d025d30e87]
* Makefile, bin/xbps-bin/Makefile, bin/xbps-bin/install.c, bin/xbps-
fetch/main.c, bin/xbps-repo/Makefile, doc/README, include/sha256.h,
include/xbps_api.h, lib/Makefile, lib/download.c,
lib/fetch/Makefile, lib/sha256.c, lib/sync_remote_pkgidx.c,
lib/util.c, prog.mk, vars.mk:
Properly build shared/static libxbps and utils.
xbps-fetch: added -v flag to see verbose messages in libfetch.
[d565eed997f2]
* bin/Makefile, bin/xbps-fetch/main.c, include/xbps_api.h,
lib/download.c, prog.mk:
libxbps: added xbps_fetch_error_string(), that returns libfetch
fetchLastErrString.
Hook xbps-fetch to the tree and use the new function to print
errors.
[5a6a438879c4]
* bin/xbps-bin/main.c:
xbps-bin: use exit(2) rather than _exit(2).
This was causing premature exiting when piping the program!
[1d9c06a3a0e9]
2009-10-28 Juan RP <xtraeme@gmail.com>
* .bzrignore, bin/xbps-bin/xbps-bin.8.txt, bin/xbps-cmpver/Makefile,
bin/xbps-digest/Makefile, bin/xbps-fetch/Makefile, bin/xbps-
pkgdb/Makefile, bin/xbps-repo/xbps-repo.8.txt, doc/README, prog.mk,
vars.mk:
Added xbps-bin(8) and xbps-repo(8) manpages in asciidoc format.
That means that asciidoc is required to build/install XBPS.
[bf8946a8a147]
* bin/xbps-bin/main.c:
xbps-bin: added "show-manual" target.
This targets shows the list of packages that were installed
manually, i.e not as dependencies.
[ba394491b1ef]
* lib/depends.c:
lib/depends.c: minor performance change.
[b36aeb02e154]
2009-10-27 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/main.c:
xbps-repo: sanitize uri provided to the add target also for remote
repositories.
[6acbb982d232]
* bin/xbps-bin/check.c, bin/xbps-bin/show-deps.c, bin/xbps-
repo/util.c, lib/findpkg.c, lib/plist.c, lib/purge.c,
lib/register.c, lib/remove.c, lib/repository.c, lib/requiredby.c,
lib/state.c:
Use xbps_get_root() directly where appropiate.
[dc7621ef6247]
* include/xbps_api.h, lib/Makefile, lib/repository.c,
lib/sync_remote_pkgidx.c:
libxbps: move remote repo pkg-index sync code into its own file.
[f5acd8c6ae5b]
* doc/README:
README: mention that openssl is required for https support.
[8cd94bbd0f63]
* bin/Makefile, bin/xbps-bin/install.c, bin/xbps-digest/main.c, bin
/xbps-fetch/Makefile, bin/xbps-fetch/main.c, bin/xbps-repo/index.c,
bin/xbps-repo/main.c, bin/xbps-repo/util.c, doc/BINPKG_REPOSITORY,
include/fetch.h, include/xbps_api.h, lib/Makefile, lib/cmpver.c,
lib/configure.c, lib/depends.c, lib/download.c, lib/fetch/Makefile,
lib/fetch/common.c, lib/fetch/common.h, lib/fetch/errlist.sh,
lib/fetch/fetch.c, lib/fetch/file.c, lib/fetch/ftp.c,
lib/fetch/ftp.errors, lib/fetch/http.c, lib/fetch/http.errors,
lib/fexec.c, lib/findpkg.c, lib/humanize_number.c, lib/orphans.c,
lib/plist.c, lib/purge.c, lib/register.c, lib/remove.c,
lib/repository.c, lib/requiredby.c, lib/sortdeps.c, lib/state.c,
lib/unpack.c, lib/util.c, vars.mk:
Implemented support for working with remote repositories.
libfetch from NetBSD's pkgsrc has been imported into lib/fetch, but
the objects are embedded into libxbps. Only a public function to
fetch files has been implemented: xbps_fetch_file().
The library now is built with -fvisibility=hidden by default, and
exported symbols are the ones that use the SYMEXPORT macro.
The code works well enough, but will need many more cleanups.
[8c3dab8669c1]
2009-10-23 Juan RP <xtraeme@gmail.com>
* lib/orphans.c:
xbps_find_orphan_packages: report return value as errno in an error
path.
[32b865393c07]
* bin/xbps-bin/defs.h, bin/xbps-bin/install.c, bin/xbps-bin/main.c,
bin/xbps-bin/remove.c:
xbps-bin: use a single point to cleanup resources.
[69998c500a00]
* bin/xbps-bin/main.c:
xbps-bin: use a signal handler for SIGINT, SIGTERM and SIGQUIT to
free resources used by libxbps.
[d0826ac9f982]
* lib/util.c:
xbps_check_is_installed_pkg: fix a leak in error paths reported by
valgrind.
[545f099950cf]
* bin/xbps-bin/install.c:
xbps-bin: use HN_B and HN_DECIMAL when using humanize_number for a
more detailed output.
[d954a44a8d10]
2009-10-22 Juan RP <xtraeme@gmail.com>
* bin/xbps-digest/main.c, include/xbps_api.h, lib/sha256.c,
lib/util.c:
Do not use private sha256.h header file in the public exported API
header file (xbps_api.h).
[40768c0c7d4d]
* vars.mk:
vars.mk: _BSD_SOURCE does not need to be defined.
[fa07818c5854]
* bin/xbps-bin/install.c:
xbps-bin: while updating a package that needs a new dependent
package the automatic-install object wasn't set correctly, fix this.
[94bae6c1e686]
* .bzrignore:
.bzrignore: add static bins.
[eba217df0199]
2009-10-21 Juan RP <xtraeme@gmail.com>
* lib/unpack.c:
Fix typo in previous.
[a409205a4184]
* lib/unpack.c:
Improved unpacking package files, fixing bugs in configuration file
handling.
[08b23e8136f7]
2009-10-20 Juan RP <xtraeme@gmail.com>
* doc/BINPKG_INFO:
doc/BINPKG_INFO: mention that binary packages might be compressed in
any format supported by libarchive, not just bzip2.
[9a1f7c1debb0]
* vars.mk:
vars.mk: build bins with -fstack-protector-all and -Wstack-
protector.
[b4c2c85c3ea8]
2009-10-19 Juan RP <xtraeme@gmail.com>
* bin/xbps-pkgdb/main.c:
xbps-pkgdb: always set rootdir as an empty string, otherwise if -r
is not specified it will fail to get the regpkgdb plist file.
Bug found by pancake.
[c6e0f06e6794]
2009-10-18 Juan RP <xtraeme@gmail.com>
* prog.mk:
prog.mk: add uninstall target.
[893b5e9fae10]
* .bzrignore, Makefile, bin/Makefile, bin/xbps-src/Makefile, bin/xbps-
src/main.sh, doc/README, doc/SRCPKG_INFO, doc/TODO, etc/Makefile,
etc/xbps-src.conf, lib/Makefile, shutils/Makefile,
shutils/build_funcs.sh, shutils/builddep_funcs.sh,
shutils/buildvars_funcs.sh, shutils/chroot.sh,
shutils/common_funcs.sh, shutils/configure_funcs.sh, shutils/cross-
compilation.sh, shutils/extract_funcs.sh, shutils/fetch_funcs.sh,
shutils/install_funcs.sh, shutils/make-binpkg.sh,
shutils/metadata.sh, shutils/metadata_scripts.sh,
shutils/mktoolchain.sh, shutils/patch_funcs.sh,
shutils/pkgtarget_funcs.sh, shutils/stow_funcs.sh,
shutils/tmpl_funcs.sh, vars.mk:
Remove xbps-src and its associated code. This is required for the
upcoming 0.3 version.
[bc54efa70907]
* bin/xbps-bin/main.c, bin/xbps-pkgdb/main.c, bin/xbps-repo/main.c:
xbps-{bin,repo,pkgdb}: added -V flag that prints the current XBPS
release version as defined in xbps_api.h.
[00c44e5d2329]
* include/xbps_api.h:
xbps_api.h: aded XBPS_RELVER definition that returns the current
version of xbps (utils and libraries).
Will be used by xbps-src in the future to require a minimal version.
[e5afadcd94db]
* shutils/build_funcs.sh, shutils/configure_funcs.sh,
shutils/install_funcs.sh:
shutils: reorganize stuff for $build_style, add "python-module"
style.
If build_style=python-module, $XBPS_HELPERSDIR/python-module.sh will
run the do_install function.
[608cc871c1d9]
2009-10-17 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c, lib/findpkg.c:
Fix "autoupdate" target when no new packages are available.
[5644a2e49e30] [0.2]
* shutils/metadata.sh:
Don't propagate $replaces value to subpkgs, use its own if defined.
[1ecfc8bd7207]
* bin/xbps-bin/Makefile, bin/xbps-repo/Makefile:
Fixed bug #453422: "xbps shouldn't depend on LZMA utils"
Do not link to libzmadec, rather to liblzma provided by xz. Pointed
by ojab in the bug, thanks!
[7d396e81655a]
* bin/xbps-bin/install.c:
Fix previous, so that only tries to replace packages if they are
installed! heh
[80d343373334]
* bin/xbps-bin/install.c, doc/README, shutils/metadata.sh,
shutils/tmpl_funcs.sh:
Added support to replace packages with another one. Package metadata
uses an array of strings that lists the packages that should be
removed before new package can be installed.
In the build templates one can use: replaces="foo foo-blah foo-
libs".
[1cdebda9461a]
* bin/xbps-src/main.sh, doc/README, etc/xbps-src.conf,
shutils/build_funcs.sh, shutils/chroot.sh, shutils/fetch_funcs.sh,
shutils/install_funcs.sh, shutils/libtool_funcs.sh,
shutils/metadata.sh, shutils/tmpl_funcs.sh:
Multiple changes to xbps-src and shutils:
* Added XBPS_FETCH_CMD to xbps-src.conf, this will be used to fetch
distfiles. Please note that it will be copied to the chroot, so it
should be statically linked or with only libc required.
* Removed libtool_func.sh and associated vars, it's unneeded
currently.
* Added keep_empty_dirs, keep_libtool_archives and nostrip. By
default all empty dirs and libtool archives are removed, and
executables and libraries stripped, respectively. One can use set
the var in a build template to change the behaviour.
* Explain in README what are the requirements to build XBPS.
[a9aeaa8e80e2]
2009-10-16 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/defs.h, bin/xbps-bin/install.c, bin/xbps-bin/main.c:
xbps-bin/install.c: use only a function for
install/update/autoupdate.
[2011b786cc0c]
* bin/xbps-bin/main.c, lib/findpkg.c:
xbps-bin: don't initialize repolist data unless we want to update.
xbps_find_new_pkg: always initialize repolist data.
[baac7fd0ea53]
* vars.mk:
vars.mk: add DEBUG option.
[f0d439793c3a]
* bin/xbps-bin/install.c:
xbps-bin/xbps_install_pkg(): only sort pkg deps in update mode.
[a687c1a9f69d]
* lib/findpkg.c:
xbps_find_new_packages(): do not treat missing packages in repo, or
packages with less than or equal version installed as errors.
[3c2258d3400e]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, lib/findpkg.c:
xbps-bin: multiple fixes to update packages.
* Fix 'autoupdate' target to look for new packages in ALL repos, not
just the first one that has the package.
* Fix 'update' target to work correctly.
[bf6b3fda863d]
* lib/requiredby.c:
xbps_requiredby_pkg_add: ignore existing entries.
[4a1beac04777]
* bin/xbps-bin/Makefile, bin/xbps-cmpver/Makefile, bin/xbps-
digest/Makefile, bin/xbps-pkgdb/Makefile, bin/xbps-repo/Makefile,
doc/README, prog.mk, vars.mk:
Build xbps-{bin,cmpver,digest,pkgdb,repo} as static, and install
them as foo.static.
Updated README to note the new requirements for it. It will be used
to reduce the number of dependencies when building packages in the
chroot.
[0957ac14ff22]
* Makefile:
Makefile: remove $(SHAREDIR) in uninstall target.
[6ea28411ecee]
2009-10-15 Juan RP <xtraeme@gmail.com>
* bin/xbps-repo/util.c, lib/depends.c, shutils/metadata.sh,
shutils/tmpl_funcs.sh:
Remove support for "keep_dirs", it won't be used.
[0d7601d2e264]
* shutils/install_funcs.sh:
shutils/install_funcs.sh: always remove unwanted perl installed
files, even in packages that use do_install(). Wrap a long line.
[010b6d7177fa]
* bin/xbps-pkgdb/main.c, shutils/common_funcs.sh:
xbps-pkgdb, shutils: use red/bold, red/yellow and bold for
msg_error, msg_warn and msg_normal respectively.
[3f099169118f]
* shutils/configure_funcs.sh, shutils/tmpl_funcs.sh:
shutils: remove support for $configure_shell.
There is not much gain supporting this...
[d70818cb62dc]
* shutils/builddep_funcs.sh:
shutils/builddep_func.sh: use msg_* funcs.
[d1157fcb8574]
* shutils/patch_funcs.sh, shutils/tmpl_funcs.sh:
shutils: improve how the patches are applied.
Now all patches must be placed in PATCHESDIR
(templatesdir/$pkgname/patches) and must be in -p0 format. If other
args are required, a same file with .args extension should be
created with specific args inside of it.
[a5d5a8aca232]
2009-10-13 Juan RP <xtraeme@gmail.com>
* shutils/build_funcs.sh, shutils/common_funcs.sh,
shutils/configure_funcs.sh, shutils/install_funcs.sh:
shutils: return proper error in {do,pre,post}_* stage funcs and use
msg_error.
[f047e1331df2]
2009-10-12 Juan RP <xtraeme@gmail.com>
* shutils/build_funcs.sh, shutils/configure_funcs.sh,
shutils/install_funcs.sh:
shutils: cross-compilation.sh is in XBPS_SHUTILSDIR not
XBPS_HELPERSDIR.
[8e86c3521434]
* bin/xbps-src/main.sh, shutils/tmpl_funcs.sh, shutils/tmpl_vars.sh:
shutils: remove tmpl_func.sh, moved to the xbps-templates repo.
xbps-src: added XBPS_COMMONVARSDIR that sources all .sh files in
setup_tmpl(), this replaces tmpl_funcs.sh.
[1e73a060daa1]
* shutils/fetch_funcs.sh, shutils/tmpl_funcs.sh:
shutils: added "nofetch" variable to be used in build templates.
When it's set, a custom do_fetch() function must be used to fetch
sources. $distfiles and $checksum will be ignored in that case. This
makes it able to fetch sources from git, svn, bzr, etc.
[c9e46fe8a861]
2009-10-10 Juan RP <xtraeme@gmail.com>
* bin/xbps-pkgdb/main.c, shutils/builddep_funcs.sh,
shutils/pkgtarget_funcs.sh, shutils/stow_funcs.sh:
Remove 'automatic' flag while installing via xbps-src, it's not very
useful and won't be implemented.
[73629e78912d]
* lib/plist.c, lib/requiredby.c:
Fix bug #447944: xbps build failure (gcc 4.4.1)
unsigned int and size_t do not match in size in x86_64, so use
unsigned int in functions expecting this type.
[8231d271e414]
* shutils/install_funcs.sh:
shutils/install_funcs.sh: fix inverted test for
$libtool_no_delete_archives.
[e3581f9ca71a]
* lib/unpack.c:
lib/unpack.c: fix a NULL pointer deref when checking configuration
files exists or not while unpacking.
[baf27ca2826c]
2009-10-08 Juan RP <xtraeme@gmail.com>
* shutils/chroot.sh:
shutils/chroot.sh: only rebuild ldso cache once at creation time.
[b203085bf2b5]
2009-10-06 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/check.c, bin/xbps-bin/defs.h, bin/xbps-bin/main.c:
xbps-bin: add support to check integrity of all installed packages,
through "xbps-bin check all".
[4163040b465c]
* bin/xbps-bin/main.c:
xbps-bin: rename the 'files' target to 'show-files' for consistency.
[f25c75a4e82d]
* bin/xbps-bin/check.c:
xbps-bin: do not mark package as broken if the any task in the check
target failed, just print the info.
[cd89715a7e2b]
2009-10-05 Juan RP <xtraeme@gmail.com>
* shutils/make-binpkg.sh:
shutils/make-binpkg.sh: reset revision while building binpkgs, so
that the archive is created with the correct version.
[d11f9e9d489d]
* lib/depends.c:
Fix bug #443436: endless loop if indirect dep missing in repo.
Make xbps_find_deps_in_pkg() return ENOENT when missing deps are
found.
[a1fd81777596]
* bin/xbps-bin/install.c:
xbps-bin/install.c: improve some printfs.
[a9ca22d42d62]
* etc/xbps-src.conf:
xbps-src.conf: change XBPS_MASTERDIR to
$XBPS_DISTRIBUTIONDIR/masterdir.
[a23c3ba5b7b4]
2009-10-02 Juan RP <xtraeme@gmail.com>
* shutils/metadata_scripts.sh:
Pass the ${UPDATE} argument to the triggers, to support restarting
services while upgrading packages.
[9b00841e93cb]
* bin/xbps-bin/install.c:
While upgrading a package, print informative line about old package
being removed.
[6d0a75f2ddb0]
* lib/remove.c:
Pass another argument to the REMOVE script to make the script aware
of package being upgraded or removed. Will be used later to restart
services while upgrading packages.
[35249bedc52b]
2009-10-01 Juan RP <xtraeme@gmail.com>
* bin/xbps-bin/install.c:
Fix #438201 "Upgrading essential pkgs results in duplicated reqby
entries"
Always remove reqby entries while upgrading "essential" packages.
[861a0b643286]
2009-09-30 Juan RP <xtraeme@gmail.com>
* lib/unpack.c:
Fix bug #439457 "Unpacking a package ignores correct perms"
Simplify logic and fix the mistake of pass-by-value vs pass-by-ref.
[422be7735de8]
2009-08-27 Juan RP <xtraeme@gmail.com>
* lib/configure.c:
xbps_configure_pkg: pass correct version to the post install script.
[b4e6b1519bd9]
2009-08-25 Juan RP <xtraeme@gmail.com>
* lib/configure.c, lib/remove.c:
Check if pkg INSTALL/REMOVE metadata scripts are executable rather
than readable, to ensure scripts can be executed.
[7acd1cecea15]
* lib/fexec.c:
xbps_file_chdir_exec: check if /bin/sh is executable rather than
readable.
[2e3b2c8197e2]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, include/xbps_api.h,
lib/configure.c:
Fix xbps_configure_pkg() reporting old version when upgrading
packages.
[959c9d8a725c]
2009-08-22 Juan RP <xtraeme@gmail.com>
* lib/orphans.c:
When finding package orphans, only report those with "installed"
state.
[1016989c153b]
* bin/xbps-bin/show-deps.c:
Fix memleaks in xbps_show_pkg_deps() and
xbps_show_pkg_reverse_deps().
[78cd4727a7de]
* bin/xbps-bin/Makefile, bin/xbps-bin/defs.h, bin/xbps-bin/main.c, bin
/xbps-bin/show-deps.c, bin/xbps-repo/util.c:
xbps-bin: add two new targets 'show-deps' and 'show-revdeps" to
print dependencies and reverse dependencies of a package,
respectively.
'xbps-bin show' no longer prints the deps anymore.
[29835233f947]
2009-08-21 Juan RP <xtraeme@gmail.com>
* vars.mk:
vars.mk: change default PREFIX to /usr/local and conditionalize
SHAREDIR based on its value.
[f6b20b885325] [0.1]
* shutils/stow_funcs.sh:
xbps-src: when stowning a package, do not copy metadata files.
[fa7d97eee3c7]
* bin/xbps-bin/install.c, bin/xbps-bin/main.c, include/xbps_api.h,
lib/configure.c, lib/purge.c:
Improve marginally configuring/purging all packages by looking at
its state in the object dictionary rather than opening and
externalizing the dictionary of every package.
[377e0b62a689]
* Makefile, etc/Makefile, lib/Makefile, prog.mk, shutils/Makefile:
Add some PHONYs to the install target in Makefiles.
[ad2d7e228a5c]
* .bzrignore:
Ignore some created files.
[08e418c34ba2]
* doc/BINPKG_REPOSITORY, doc/README, doc/SRCPKG_INFO, doc/TODO:
Update documentation to match with reality.
[cd98ba051df8]
2009-08-20 Juan RP <xtraeme@gmail.com>
* etc/Makefile:
etc/Makefile: remove modified config file in the clean target.
[7ed3ebb2a0c9] [0.1rc2]
2009-08-18 Juan RP <xtraeme@gmail.com>
* lib/unpack.c:
lib/unpack.c: fix the logic of an inverted conditional.
[79b0a0fe1ca1]
* lib/configure.c:
xbps_configure_pkg: chdir(rootdir) before checking for INSTALL
script!
[898d1f82f3be]
* lib/unpack.c:
xbps_unpack_binary_pkg: switch back to fsync(), to be safe.
Move the set_pkg_state call just after the fsync call, otherwise
strange things can ocurr sometimes.
[d7747ce50993]
* etc/Makefile, etc/xbps-src.conf, shutils/chroot.sh:
Fix installation of packages in the chroot due to previous changes.
[e58104729df6]
* Makefile, bin/xbps-src/Makefile, bin/xbps-src/main.sh,
shutils/Makefile, shutils/build_funcs.sh, shutils/builddep_funcs.sh,
shutils/buildvars_funcs.sh, shutils/chroot.sh,
shutils/common_funcs.sh, shutils/configure_funcs.sh, shutils/cross-
compilation.sh, shutils/extract_funcs.sh, shutils/fetch_funcs.sh,
shutils/install_funcs.sh, shutils/libtool_funcs.sh, shutils/make-
binpkg.sh, shutils/metadata.sh, shutils/metadata_scripts.sh,
shutils/mktoolchain.sh, shutils/patch_funcs.sh,
shutils/pkgtarget_funcs.sh, shutils/stow_funcs.sh,
shutils/tmpl_funcs.sh, shutils/tmpl_vars.sh, vars.mk:
Add shell utils required by xbps-src.
These files are moved from the GIT repository.
[0932f55dd530]
* bin/xbps-repo/index.c:
xbps-repo: fix swapped args in xbps_repo_addpkg_index().
[48a625963827] [0.1rc1]
* etc/Makefile, vars.mk:
Fix DESTDIR + ETCDIR interaction.
[b7c914bbdb7b]
* bin/xbps-repo/index.c, bin/xbps-repo/index.h, bin/xbps-repo/main.c:
Implement blueprint 'xbps-repo-list-via-cmdline'.
A new target (add-pkgidx) has been added to the xbps-repo command,
that takes two args, local repository dir and path to binpkg.
[0692c3f50fae]
* vars.mk:
Use DESTDIR to install xbps, if defined.
[85dc3ca2a325]
* bin/xbps-src/main.sh, etc/Makefile, etc/xbps-src.conf,
etc/xbps.conf:
Rename xbps.conf to xbps-src.conf, because it's only used by xbps-
src.
[f645a5949065]
* Makefile:
Makefile: remove all libxbps files in uninstall target.
[e7b603e808ed]
2009-08-17 juan <juan@xbps>
* Makefile, bin/Makefile, bin/xbps-bin/Makefile, bin/xbps-bin/check.c,
bin/xbps-bin/defs.h, bin/xbps-bin/install.c, bin/xbps-bin/main.c,
bin/xbps-bin/remove.c, bin/xbps-cmpver/Makefile, bin/xbps-
cmpver/main.c, bin/xbps-digest/Makefile, bin/xbps-digest/main.c, bin
/xbps-pkgdb/Makefile, bin/xbps-pkgdb/main.c, bin/xbps-repo/Makefile,
bin/xbps-repo/index.c, bin/xbps-repo/index.h, bin/xbps-repo/main.c,
bin/xbps-repo/util.c, bin/xbps-repo/util.h, bin/xbps-src/Makefile,
bin/xbps-src/main.sh, doc/BINPKG_INFO, doc/BINPKG_REPOSITORY,
doc/README, doc/SRCPKG_INFO, doc/TODO, etc/Makefile, etc/xbps.conf,
include/sha256.h, include/xbps_api.h, lib/Makefile, lib/cmpver.c,
lib/configure.c, lib/depends.c, lib/fexec.c, lib/findpkg.c,
lib/humanize_number.c, lib/orphans.c, lib/plist.c, lib/purge.c,
lib/register.c, lib/remove.c, lib/repository.c, lib/requiredby.c,
lib/sha256.c, lib/sortdeps.c, lib/state.c, lib/unpack.c, lib/util.c,
prog.mk, vars.mk:
Initial import of xbps with code as August '09.
[08cd235b80ee] [0.1beta1]