2011-05-24 Juan RP * 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 * 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 * 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 * 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 * lib/package_unpack.c: xbps_unpack_binary_pkg: fix wrong path to metadata files! [8d7701a6f74d] 2011-03-03 Juan RP * lib/package_unpack.c: Fix a dup'ed word. [6b911bd09e08] 2011-02-27 Juan RP * configure: configure: build with -pthread unconditionally, don't test for -pipe or -D_FORTIFY_SOURCE. [e785a7231b0c] 2011-02-26 Juan RP * 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 * 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 * 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 * 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 * 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 * 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 * TODO: TODO: another item for xbps-bin(8). [a86d752f19ca] 2011-02-18 Juan RP * 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 * 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 * 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 * 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 * 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 * lib/package_state.c: xbps_get_pkg_state_*: if state object is not available return EINVAL. [0e2cd58b6850] 2011-02-01 Juan RP * 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 * NEWS, bin/xbps-dgraph/main.c: xbps-dgraph: parse the "provides" obj for virtual packages. [6db84decff83] 2011-01-30 Juan RP * 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 * 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 * 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 * 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 * 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 * 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 , 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 * 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] * bin/xbps-repo/util.c: Merged `progress_callback' branch. [5f95a6a8c6ac] * NEWS: NEWS: update for this branch. [9a2ed7d64bf3] 2011-01-23 Juan RP * prog.mk: prog.mk: look for libxbps in $(TOPDIR)/lib first rather than $(PREFIX)/lib. [fc7662880845] 2011-01-22 Juan RP * lib/package_state.c: libxbps: simplify package states code. [02d9b575a43e] * lib/pkgmatch.c: xbps_pkgpattern_match: remove a wrong memset(3) call. [245d08c7a4fe] * lib/package_orphans.c: Simplify xbps_find_orphan_packages() by not using a temporary SIMPLEQUEU. [814d98722f15] * lib/mkpath.c: lib/mkpath.c: don't document this file, it's included in the util group. [dded6d352c48] * include/xbps_api.h: Document xbps_humanize_number() in the API. [8cfe41f1aae8] * include/xbps_api.h, lib/download.c, lib/fexec.c, lib/initend.c: Update API documentation for recent changes. [1ce33076fae6] * bin/xbps-bin/fetch.c: xbps-bin/fetch.c: use else if conditionals. [87940902eaaf] * lib/package_unpack.c: xbps_unpack_binary_pkg: rename fn callback arg to be shorter. [ec8bae3f7101] * bin/xbps-bin/fetch.c: Added fetch.c for xbps-bin, with the fetch function callback. [2adf5f4f9d8a] * 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] 2011-01-21 Juan RP * 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] * 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 * 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 * 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 * 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 * 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 * .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 * 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 * configure, lib/Makefile, prog.mk: Make configure detect required libraries to link. [73bde00c8151] 2011-01-12 Juan RP * 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 * configure: configure: respect CFLAGS/LDFLAGS passed via env. [b705eefc18cd] 2010-12-28 Juan RP * Changelog, NEWS: Update to 0.7.2. [67d430917731] * .hgtags: Added tag 0.7.2 for changeset 25a675190b31 [a6692acd2765] 2010-12-25 Juan RP * 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 * 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 * .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 . [32856f602504] 2010-12-19 Juan RP * 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 * 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 * 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 * .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 * configure: configure: fix a typo that broke strlcat test. Found by Min Sik Kim reported in issue 2. [ad7a5c48fce0] 2010-12-04 Juan RP * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * .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 * 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 * lib/Makefile: lib/Makefile: remove dup values. [0d77552eebc1] 2010-11-03 Juan RP * 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 * 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 * 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 * 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 * 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 * .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 * .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 * 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 * .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 * 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 * 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 * 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 * .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 * 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 * .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 * .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 * .hgtags: update tags [406f512e4931] 2010-04-29 Juan RP * lib/portableproplib/prop_data.c, lib/portableproplib/prop_rb.c: Apply the commit from portableproplib's git master: commit b2975842aba26df9b9885ff56b2ff182eda06152 Author: Juan RP 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 * 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 * 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 * README: README: zlib is also required now. [7a4a3f7e1833] 2010-04-21 Juan RP * 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 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 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 * 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 * README, vars.mk: Use pkg-config to find out the openssl/libarchive required static libs. [f127b9149824] 2010-03-13 Juan RP * lib/register.c: lib/register.c: add some DPRINTFs. [652e4dc0ff62] 2010-02-28 Juan RP * LICENSE: Add a LICENSE file. [83ac79b54ac9] [0.4.1] 2010-02-26 Juan RP * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * lib/register.c: xbps_register_pkg: if automatic-install obj is there, don't overwrite its value. [5a0d1558f4a3] 2009-12-22 Juan RP * 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 * vars.mk: vars.mk: remove dup -lcrypto. [aa8e61d170b2] 2009-12-18 Juan RP * 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 * 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 * 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 * lib/unpack.c: xbps_unpack_binary_pkg: set INSTALL/REMOVE perms to 0750. [921fed384a70] 2009-12-10 Juan RP * 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 * 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 * 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 * bin/xbps-repo/repository.c: xbps-repo: when adding local repos always create XBPS_META_PATH. [0ddde4623cec] 2009-12-05 Juan RP * bin/xbps-bin/xbps-bin.8.txt: xbps-bin.8.txt: fix typo. [c3550956f315] 2009-12-02 Juan RP * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * .bzrignore: .bzrignore: add xbps-fetch bin. [1212e98c77cb] * prog.mk: Fixed prog.mk rules that skipped the manpage. [bb67838675ed] 2009-11-19 Juan RP * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * .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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * shutils/chroot.sh: shutils/chroot.sh: only rebuild ldso cache once at creation time. [b203085bf2b5] 2009-10-06 Juan RP * 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 * 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 * 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 * 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 * 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 * lib/configure.c: xbps_configure_pkg: pass correct version to the post install script. [b4e6b1519bd9] 2009-08-25 Juan RP * 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 * 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 * 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 * etc/Makefile: etc/Makefile: remove modified config file in the clean target. [7ed3ebb2a0c9] [0.1rc2] 2009-08-18 Juan RP * 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 * 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]