Commit graph

112 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
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
993c2790a5 xbps-bin: while updating a package, install reqdeps properly.
--HG--
extra : convert_revision : 4bf0e7965a802a0f30e90d1ec1c0eb94bdbfe1d3
2009-05-08 17:26:06 +00:00
Juan RP
ad12aa9583 xbps-bin: while updating a package, process required deps first.
--HG--
extra : convert_revision : 661277f80f289d4b965df96d2b12c90378d2c8d3
2009-05-08 17:11:45 +00:00
Juan RP
ed579c9c86 xbps-bin: when checking hashes, process only files.
--HG--
extra : convert_revision : 8228fd7e73209b481d87f5c50cc516989307b2e4
2009-05-07 15:19:20 +00:00
Juan RP
0bad2ab06a xbps-bin: when listing files, do not ignore links.
--HG--
extra : convert_revision : fb8661a02b4574baa9cff3826b54adae7bb71438
2009-05-07 15:16:48 +00: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
f4cd426deb xbps-src: fix 'xbps-src build-pkg all' after latest changes.
--HG--
extra : convert_revision : d39b501cc701921d109dcc1c713a997bc8c100ee
2009-04-18 16:45:30 +02:00
Juan RP
1487d0128f xbps-pkgdb: added 'getpkgrevision' target.
--HG--
extra : convert_revision : 48de400ba82c93d5f11e822d2b29cee90fdfbf8f
2009-04-18 16:45:10 +02:00
Juan RP
5ce7128616 xbps-repo: use HN_B|HN_DECIMAL in humanize_number.
--HG--
extra : convert_revision : 8d7d34a9d6f79d063e0069357a968c9d2fce6c6f
2009-04-16 16:08:59 +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
f0f53cb07e xbps-bin: use -f to bypass questions while installing/removing.
--HG--
extra : convert_revision : edefc4dbf4dbbcdac53579100732e77004a45463
2009-04-09 18:42:07 +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
288f3519c3 xbps-bin: check binpkg hash after asking the question.
--HG--
extra : convert_revision : c858349b4c9e52b75b12612677c583841cdcc926
2009-04-09 16:16:57 +02:00
Juan RP
ecd5d55f17 xbps-repo: added shell style match patterns for the 'search' target.
So you can do you now:

$ xbps-repo search '*'

and it will list all registered packages.

--HG--
extra : convert_revision : d65edb4be6a0d815410d215774acf9ebeb23fa49
2009-04-09 13:14:30 +02:00
Juan RP
1a26816aa3 xbps-repo: use list_strings_sep_in_array() for 'list' target.
--HG--
extra : convert_revision : 0f06fdb6172b0ef8e55af44037166508c4c9996b
2009-04-09 12:59:46 +02:00
Juan RP
6ff28f6d79 xbps-bin: fix a leak in install.c.
--HG--
extra : convert_revision : b333ca851cf33efe1f63af1637192552ff8f7de4
2009-04-09 12:47:17 +02:00
Juan RP
92d2087c7e xbps-{bin,repo}: print with correct indentation.
--HG--
extra : convert_revision : be65d8b98702e23eaeac6ff2adb2e726824b64f7
2009-04-09 12:24:15 +02:00
Juan RP
679117e9a9 xbps-bin: move (auto)remove code into its own file, use xbps_noyes().
--HG--
extra : convert_revision : 20398840d20154d90c7457b7318c651c513c1f72
2009-04-09 11:56:40 +02:00
Juan RP
3698644967 xbps-bin: use xbps_noyes() in the install/update targets.
Now it looks like this:

$ xbps-bin -r ~/blah install initscripts
Finding/sorting required binary packages...
Checking binary package file(s) integrity...

The following new packages will be installed:

  xbps-base-files-0.8_1 gcc-libgcc-4.3.3 glibc-locales-2.9
  ncurses-base-5.7 glibc-2.9 ncurses-libs-5.7 gawk-3.1.6 grep-2.5.4
  coreutils-7.1 sed-4.1.5 ncurses-5.7 kbd-1.15 findutils-4.4.0_1
  net-tools-1.60 rcorder-2009.01 minilogd-2009.01 dhcpcd-4.0.12
  bash-4.0 procps-3.2.7 udev-140_2 initscripts-2009.03_2

Total download size: 16M
Total installed size: 48M

Do you want to continue? [y/N]
...

--HG--
extra : convert_revision : e32a136ee882160637c1930d998c0f5ae3a6b108
2009-04-09 04:54:09 +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
581e908793 xbps-src: fix 'build-pkg all' with pkgs with $revision set.
--HG--
extra : convert_revision : 866ef758ef96722676e575acebee1fe3be8a9df1
2009-04-07 20:13:55 +02:00
Juan RP
4b3adf1db3 xbps-pkgdb: check rval correctly for xbps_remove_pkg_from_file().
--HG--
extra : convert_revision : ae3f35ef7d01c84c5249554cbb08c5bbc63f17c8
2009-04-06 16:58:13 +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
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
44926cd53c Performance improvements while installing deps of a binpkg.
--HG--
extra : convert_revision : 2ad3b29cfd22489f76739287176f40dd9535dfee
2009-04-04 05:24:58 +02:00
Juan RP
dfeb2f4143 Define XBPS_PKGINDEX_VERSION constant and use it.
--HG--
extra : convert_revision : e5c982e083d1a03b57feb71799619e7cbbae4239
2009-04-03 19:55:57 +02:00
Juan RP
7a81766b82 xbps-repo: performance fix for the genindex target.
--HG--
extra : convert_revision : 727664eccf8901a5bd39dedd28e3624076025075
2009-04-03 19:45:08 +02:00
Juan RP
2b1044dd8c xbps-bin: cosmetics changes for *remove targets.
--HG--
extra : convert_revision : c5659a2f268a40a0d909bbdbdbd6a725386d9863
2009-04-03 18:16:26 +02:00
Juan RP
b329b3be39 xbps-bin: fix "-C files" as mentioned in TODO.
--HG--
extra : convert_revision : 21dc44831330411f079044c47b5bc6f53c599126
2009-04-03 17:15:38 +02:00
Juan RP
13df7f994c xbps-src: remove genindex code. A better version in C was implemented.
--HG--
extra : convert_revision : 07d5d4bbe27d66760ebc0d602290781d0f257c82
2009-04-03 15:50:57 +02:00
Juan RP
1d718ef09a xbps-repo: new genindex implementation in C.
This version is 12x faster than current implementation in shell script.
To generate an index for 434 packages, current implementation took
5min and 56 seconds. New implementation only took 29 seconds!

New implementation also doesn't add duplicate packages, and updates
the package entry for new package versions.

--HG--
extra : convert_revision : 269d38ee18184b585877fd729bf95e07ce57dd50
2009-04-03 15:44:28 +02:00
Juan RP
80450fcc4c xbps-repo: cosmetic changes for the 'show' target.
--HG--
extra : convert_revision : a7bfd979f9f363fb0174599ecd21dd7045c9e266
2009-04-02 16:15:41 +02:00
Juan RP
fda979d8c5 xbps-bin: rework error message if pkg is already up to date while updating.
--HG--
extra : convert_revision : cea191aad5a2c4d96764c35c04e2d4af8f82b7d7
2009-04-02 03:38:53 +02:00
Juan RP
b57b60b23e xbps-bin: sync usage().
--HG--
extra : convert_revision : f155a0e55274a4dbeea6b3b1dd027f230e507ab9
2009-04-02 03:18:28 +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
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
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
aee08a7f8f Make the code build with another bunch of warning flags.
--HG--
extra : convert_revision : 1c5b66b58e4c66ff61e9cef2cb3760ac675c1626
2009-03-13 00:21:55 +01:00
Juan RP
b14fea2e58 Split funcs to build binpkgs into its own file.
--HG--
extra : convert_revision : a4fd0f4506bd257308936e0d0c0187fa62a840ed
2009-03-12 23:44:18 +01:00
Juan RP
53747489f0 Implemented support for running triggers with binpkgs.
Also the following changes were made:
 * Added an info-files trigger, to (un)register info files.
 * xbps-base-dirs: it's responsible to install triggers on destdir.

--HG--
extra : convert_revision : 8d707053616f38d2b5beef7cf28e1bc4a66812b8
2009-03-12 11:16:08 +01:00
Juan RP
05f918ea93 xbps-repo: in the show target also print the binpkg file size.
Now it looks like:

...
Filename: kernel-2.6.28.1.i686.xbps (size: 16M)
SHA256: 6b2d79ed89697263020979addde7fa2f535d53df0c1b011ea74ec7757cfba2f0
...

--HG--
extra : convert_revision : 3e18cbc35b8a85fffefe71dd64815ba23c06b528
2009-03-02 03:06:35 +01:00
Juan RP
0d8f08e8ea Added support to list and remove orphaned packages.
A new target has been added to xbps-bin: autoremove. It works in
the same way than 'apt-get', but there's no stdin input. By default
it will list you all orphaned packages, and -f flag must be set
to really remove them.

The following is a real example for the git package, which requires
directly perl and curl-libs, and indirectly libidn and openssl.

$ xbps-bin -r ~/testing-xbps remove git
Removing package git-1.6.1.3 ... done.
$

$ xbps-bin -r ~/testing-xbps autoremove
The following packages were installed automatically
(as dependencies) and aren't needed anymore:

	perl-5.10.0 curl-libs-7.19.0 libidn-1.10 openssl-0.9.8j

If you are really sure you don't need them, use -f to confirm.
$

--HG--
extra : convert_revision : 70eebaa3d99be27753b94f580c8ec86330c7c2d3
2009-03-02 02:26:20 +01:00
Juan RP
f1f34487e2 xbps-bin: added -f flag for remove target.
Now if any package is going to be removed and it's required by
other packages, it won't let you remove it unless -f is set.

Here's an example of how it looks like:

[juan@fedora-vm xbps]$ xbps-bin -r ~/testing-xbps remove glibc
WARNING! glibc is required by the following packages:

	zlib-1.2.3 ncurses-libs-5.7 gcc-libstdc++-4.3.2 e2fsprogs-libs-1.41.4
	cracklib-2.8.13 expat-2.0.1 ncurses-5.7 cpio-2.9
	module-init-tools-3.6 busybox-initramfs-1.13.2 udev-138 procps-3.2.7
	pam-1.0.2 dbus-libs-1.2.12 lzma-utils-libs-4.32.7 coreutils-7.1
	sed-4.1.5 grep-2.5.4 gawk-3.1.6 gzip-1.3.12
	bzip2-1.0.5 bash-4.0 less-424 gdbm-1.8.3
	groff-1.20.1 lzma-utils-4.32.7 dbus-1.2.12 proplib-0.3
	dash-0.5.4 findutils-4.4.0 util-linux-ng-2.14.2 initramfs-tools-0.92o
	file-5.00 diffutils-2.8.1 wget-1.11.4 man-db-2.5.3
	sysklogd-1.5 eject-2.1.5 shadow-4.1.2.2 sudo-1.7.0
	e2fsprogs-1.41.4 tzdata-2009a vim-7.2 upstart-0.5.1
	kernel-2.6.28.1 xbps-base-pkg-0.1 kbd-1.14.1

If you are sure about this, use -f to force deletion for this package.
[juan@fedora-vm xbps]$

--HG--
extra : convert_revision : eeb92925e51f11d5b3bf7e069ed4986ae5fb0c2d
2009-03-01 01:34:15 +01:00
Juan RP
62e1344b53 xbps-bin::main.c: avoid an extra level of indentation.
--HG--
extra : convert_revision : 6c05ab660edbaef484d0a8852918c021a253dc9f
2009-03-01 00:19:45 +01:00