Commit Graph

157 Commits

Author SHA1 Message Date
Juan RP 38e6679ff5 Implemented plist caching, that gives >30% performance.
--HG--
extra : convert_revision : 6302893f967be96f99a86d499ca62a8c005e56f7
2009-05-19 01:42:48 +02:00
Juan RP f55617312f xbps_get_regpkgdb_dict(): fix previous.
--HG--
extra : convert_revision : bf88602fe6a8c87901fc8e2ffa7f94464961fcbb
2009-05-17 19:46:46 +02:00
Juan RP 1ff41ddbd7 xbps_get_regpkgdb_dict(): fix two memleaks.
--HG--
extra : convert_revision : d66be453f2472e5fdb81b2810f1777166d9a04d3
2009-05-17 07:18:19 +02:00
Juan RP 9f108b4cd2 xbps-bin: implemented (WIP) "autoupdate" target.
Some parts in the library related to findings pkgs in repositories
has been improved vastly by caching the dictionary once.

Duplicated code has been added in xbps-bin/install.c, but will
be fixed soon.

--HG--
extra : convert_revision : 2924012a8589a2a6ecaa3863b5091049006c0ef3
2009-05-17 04:09:26 +02:00
Juan RP 99290baf5e Redo previous and use archive_read_format_tar() rather than _all.
--HG--
extra : convert_revision : 3c80ec13642737551b7bf38c25ee5494593aed4d
2009-04-18 23:58:49 +02:00
Juan RP fd8d47684a Revert "Only add support for bzip2/lzma compression and tar format in"
This reverts commit d8153785d25241d8e22ef664d484cf37a50c8ef2.

--HG--
extra : convert_revision : 62e08401d6a94e78d149ff5ce4ba455d087b39df
2009-04-18 23:55:38 +02:00
Juan RP e4c31936b2 Only add support for bzip2/lzma compression and tar format in
libarchive.

--HG--
extra : convert_revision : d8153785d25241d8e22ef664d484cf37a50c8ef2
2009-04-18 17:25:04 +02:00
Juan RP 046dbee415 Add xbps_get_pkg_revision() to get the revision string.
--HG--
extra : convert_revision : 5c58a44db6b3f1ff2c7f75173aff7d6509dfd4c9
2009-04-18 15:49:08 +02:00
Juan RP 504e123044 Build code with -Wconversion.
--HG--
extra : convert_revision : ac2ea951cae1e739335e428e0fc4d0f90045b77d
2009-04-11 16:15:06 +02:00
Juan RP bd3484fa6b Build code with -Wcast-qual, -Wcast-align and -Wsign-compare.
--HG--
extra : convert_revision : d489ad995bb69850cba5a352f3ac85b74a54b5cf
2009-04-11 15:52:32 +02:00
Juan RP ae1fb7b50c lib/Makefile: run ranlib(1) against the static lib.
--HG--
extra : convert_revision : 269ad3844ef145e0a962f7424258135aa2f74cd1
2009-04-10 19:09:13 +02:00
Juan RP db6b1526d4 lib/sortdeps.c: remove useless check.
--HG--
extra : convert_revision : f1fd20ffc9f77187173422e44aee1a3c369f96cb
2009-04-10 18:38:09 +02:00
Juan RP c1bc7a6a3c lib/Makefile: fix install target.
--HG--
extra : convert_revision : 4ab223f606cac1d5d8b1baea93f87909c607829c
2009-04-10 18:37:41 +02:00
Juan RP d0d45c2ea9 Install the static libxbps library.
--HG--
extra : convert_revision : ff19e2c3f10ac330c4364d40b036ea0bd50b87a8
2009-04-10 17:09:12 +02:00
Juan RP f0bbfad2ae lib/depends.c: remove some extra unneeded checks.
--HG--
extra : convert_revision : f7acb4754894690941a2087bc09b011c50ea3add
2009-04-10 01:46:05 +02:00
Juan RP 01be3b5920 Fix xbps_prepare_pkg() in pkgs without deps.
--HG--
extra : convert_revision : 9be76ef482e54bfbd7e6a038a504f8225aa89cfe
2009-04-10 01:36:22 +02:00
Juan RP 41d9b9acb8 lib/unpack.c: use fsync(), there's not much difference with fdatasync().
--HG--
extra : convert_revision : 9632271e53f4d44890d711943642afddedf69e72
2009-04-09 18:43:00 +02:00
Juan RP 58c6a31297 Define ARCHIVE_READ_BLOCKSIZE and use it rather than using magic numbers.
--HG--
extra : convert_revision : b8e6755400eb6f2bef0ea1eb25a258f9ed1714c2
2009-04-09 18:38:05 +02:00
Juan RP 053abca5ef Use glibc's sys/queue.h and remove the NetBSD local copy.
--HG--
extra : convert_revision : 2e6967a2666bcb7cd826293c03863890649f4c6d
2009-04-09 16:33:42 +02:00
Juan RP aaf5f8fb40 Add some funcs from pacman: question(), yesno(), noyes() and strtrim().
--HG--
extra : convert_revision : 82fbbd28253b02968826bebe4252523c47903a49
2009-04-09 04:52:46 +02:00
Juan RP f80e1753a8 Remove knowledge from the library to install packages.
The library is only responsible now to find all binary packages
from repositories, sort them and create a dictionary with all
details. The frontend (xbps-bin) provides support for this,
and this allows for more flexibility and removes some stuff
that didn't belong in the library.

While here implemented support to show total download/installed
size for all packages that are going to be installed.

Next step will be to implement user interactivity before
installing/removing/updating packages.

--HG--
extra : convert_revision : 858e9a89bc6a60b348435f2416a8af3ebb6ea5c9
2009-04-09 02:29:15 +02:00
Juan RP 32e81e7555 For INSTALL/REMOVE scripts use xbps_file_chdir_exec().
This will chroot() to rootdir and removes many chroot() commands
from those scripts.

--HG--
extra : convert_revision : 4845df1949996da1bcd2776fcc50c3d0a00b451b
2009-04-08 03:20:13 +02:00
Juan RP 3e9e342f74 Make xbps_file_chdir_exec() change root directory if /bin/sh exists.
If /bin/sh is not there, fall back to chdir(destdir) as before.

--HG--
extra : convert_revision : 7506a8db97346dbf45292e4c46b9d8ecc384162a
2009-04-07 22:54:34 +02:00
Juan RP 06e6244f40 lib/install.c: return rv not 0 in xbps_install_binary_pkg_fini().
--HG--
extra : convert_revision : bd6a815ab8a17add0200a8693221c5def18642a1
2009-04-07 15:50:29 +02:00
Juan RP bb3240e4ac Do not reuse requiredby objects while updating pkgs.
--HG--
extra : convert_revision : 1bc0a25601b6ff1c4cd83de4dcd775ffdee1e9a1
2009-04-06 17:00:52 +02:00
Juan RP 625a77883c Make xbps_remove_pkg_from_* return int rather than bool.
--HG--
extra : convert_revision : 9f413873669b552a4d7a6e25e667fe5ff43f6a78
2009-04-06 16:39:14 +02:00
Juan RP 147a8af559 lib/sortdeps.c: wrap long line.
--HG--
extra : convert_revision : 8484a1a0eed376e1cd4e9af9917d42dab91d5ef1
2009-04-06 14:44:35 +02:00
Juan RP ebf400f728 lib/depends.c: simplify store_dependency().
--HG--
extra : convert_revision : 83d806e199b0cc593a82a7f0d575994ea04277fd
2009-04-06 11:40:55 +02:00
Juan RP 986a54a56f xbps_removed_binary_pkg(): chdir after checking if pkg is installed not before.
--HG--
extra : convert_revision : c06555f92939f37740b1677d842619eeb1f5d5ac
2009-04-05 14:48:24 +02:00
Juan RP 4f8d329867 xbps_remove_binary_pkg_meta(): fix a memleak if opendir(2) fails.
--HG--
extra : convert_revision : e5a107219e809abf4a8f5fac8e066016b1d46455
2009-04-05 12:47:02 +02:00
Juan RP 500cfe4b4f Simplify previous.
--HG--
extra : convert_revision : c93b6612845c64f9b9b929150014a76d6584ec1c
2009-04-05 12:46:15 +02:00
Juan RP 161f97ce97 Fix chdir() when rootdir it's an empty string.
--HG--
extra : convert_revision : bb7847fc538401d8c585bcb75114956f879077d3
2009-04-05 12:41:40 +02:00
Juan RP 4bf5c5f750 Introduce xbps_xasprintf() and use it where required.
--HG--
extra : convert_revision : 324a92a4824476059e0993d00c2b925c732a79f8
2009-04-04 19:32:39 +02:00
Juan RP f5dd58df5d Simplify xbps_{un,}register_repository().
--HG--
extra : convert_revision : 95ac1ddedbc96fe3bf2a9dfe282c20385c8740ff
2009-04-04 18:05:18 +02:00
Juan RP ba56172222 Add a func to remove a string obj from an array.
--HG--
extra : convert_revision : 2de9ea16361286a17e93e9fb65a93bd28e7688db
2009-04-04 18:04:37 +02:00
Juan RP 44926cd53c Performance improvements while installing deps of a binpkg.
--HG--
extra : convert_revision : 2ad3b29cfd22489f76739287176f40dd9535dfee
2009-04-04 05:24:58 +02:00
Juan RP 856f1554bc Add some printfs when finding/sorting required deps.
--HG--
extra : convert_revision : f113844179d22f00390c218486cd34fdd23be6a4
2009-04-03 18:08:16 +02:00
Juan RP 46f712b4e1 Add a func to remove a pkg from a dictionary.
--HG--
extra : convert_revision : 371d97cf7b6d28555b2b194a83254c29a12c44b4
2009-04-03 15:24:08 +02:00
Juan RP c72bbb0a5b Add func that returns a malloc'ed buffer with the hash string of a file.
--HG--
extra : convert_revision : 66d886c413e0a909ccd678fe1ebdda44ab6fef8a
2009-04-03 12:10:28 +02:00
Juan RP bf01da5dcf There's no need to overwrite files while unpacking.
--HG--
extra : convert_revision : 0af6a384b869b752a47e33e95cacb0c33521ee53
2009-04-02 04:52:29 +02:00
Juan RP 797b3dad46 Remove currrent installed pkg first while updating a package.
--HG--
extra : convert_revision : 8d93d1a59f47edf468781c66116bba45a3ecd70b
2009-04-02 03:08:20 +02:00
Juan RP 54b6d87809 Added basic support to update a single package via "xbps-bin update foo".
--HG--
extra : convert_revision : 7214ab270ccb57a327afeed94f6a2efc4738442d
2009-04-02 02:46:36 +02:00
Juan RP a4ee56a799 depends.c: remove unneeded code.
--HG--
extra : convert_revision : 1a8ee48e7fc60db7d9e40bf7d99535acbc1ec11c
2009-03-26 09:54:20 +01:00
Juan RP da1cfa2cf2 New dependency sorting code that doesn't use priorities.
This new code correctly sorts all dependencies without needing
to look at required_by or priority objects.

--HG--
extra : convert_revision : 3aa07372ae07e6938b9120d560a49efdaeac0a4e
2009-03-26 09:26:07 +01:00
Juan RP 6a9d6518c9 cmpver.c: change syntax to <pkgname>-<version>_<revision>-<epoch>.
--HG--
extra : convert_revision : 89f8d1825437117f37a891f388d1d9a33c39c7d9
2009-03-19 00:25:41 +01:00
Juan RP 0ed055c4eb Don't continue installing a binpkg if newest version in repos is already installed.
--HG--
extra : convert_revision : b73376d091fd95f4cfd92cbdba21f4bc93781504
2009-03-17 05:10:21 +01:00
Juan RP 40b62ee70d Return appropiate value in xbps_check_is_installed_pkg().
Return -1 if package is not installed or dependency not satisfied.
Return 0 if same version required is already installed.
Return 1 if installed version is greater than required.

--HG--
extra : convert_revision : 359b79cbe809e1818fe999dc1d55da7e635dbe44
2009-03-17 04:32:03 +01:00
Juan RP a67374bd66 Simplify all code that used rootdir and flags passed via xbps-bin.
Add util funcs to get/set global values for them:
 * xbps_[gs]et_rootdir()
 * xbps_[gs]et_flags()

--HG--
extra : convert_revision : 2584b098e68a684e7b0eeac57c2b1df4aba6589d
2009-03-17 00:32:26 +01:00
Juan RP 96cda65443 Simplify install_binpkg_repo_cb().
--HG--
extra : convert_revision : cffcd0098292f26170589d5a5db2261a204dc2be
2009-03-16 07:03:25 +01:00
Juan RP e53bb1c885 sha256.c: remove unneeded macro.
--HG--
extra : convert_revision : d00be17201375e7562fb43b28e1c7b9da3b049b2
2009-03-13 00:31:17 +01:00