Commit Graph

41 Commits

Author SHA1 Message Date
Juan RP
ebd2c8b227 xbps-bin: silent output in check target if there are no errors.
--HG--
extra : convert_revision : 4b2d94a618a49dedb9b96163533db24cd5f67625
2009-08-09 16:21:38 +02:00
Juan RP
17404bdb42 Mega-commit with improvements and changes done in the past days.
- Introduce package states: unpacked, broken, installed, etc.
  Not yet finished, only unpacked and installed are used for now.

- Move package metadata files in binary packages directly to
  the top directory, this speeds up some ops and makes easier to
  continue working in future changes.

- xbps-bin: -C flag to check the hash of package files has been
  superseded by the 'check' target, which verifies the integrity
  of an installed package.

- Use the 'essential' object when upgrading packages, overwritting
  current files. This is needed for critical packages like sh, libc
  and others.

- Miscellaneous tweaks and improvements thorough the code.

--HG--
extra : convert_revision : 2073fcc123efc24b3e9327b5e22aa91752f20df6
2009-08-08 22:29:48 +02:00
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
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
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
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
4bf5c5f750 Introduce xbps_xasprintf() and use it where required.
--HG--
extra : convert_revision : 324a92a4824476059e0993d00c2b925c732a79f8
2009-04-04 19:32:39 +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
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
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
Juan RP
48a5933756 xbps-bin: added -C flag for 'files' target, to check SHA256 hash in files.
--HG--
extra : convert_revision : 28fffd3047de8d8a4b9401618017a880cbf03008
2009-02-27 17:00:41 +01:00
Juan RP
8d243e8dab xbps-bin: implement 'files' target, to show installed files for a pkg.
--HG--
extra : convert_revision : c522253a61c23e8439c6de343e713497a2a10033
2009-02-26 02:46:20 +01:00
Juan RP
eb2e824a33 xbps-bin: while installing binpkgs, detect properly in some cases its return value.
--HG--
extra : convert_revision : 89cb21eed183c1d9702613690fb7f48f8cceb5e2
2009-02-22 06:00:08 +01:00
Juan RP
2c7f9d1330 xbps-bin: fix typo in previous.
--HG--
extra : convert_revision : 3010d732f67e42a368722f6aa81b5263e0b1fdf9
2009-02-18 01:10:07 +01:00
Juan RP
3b18195a6a Change code to compile with -Wall -Wextra.
--HG--
extra : convert_revision : 992e1515458c6ee36cd481d1ba0ff8febf892d12
2009-02-18 01:07:51 +01:00
Juan RP
fb998feacf xbps-bin: add -v flag, used when installing/removing currently.
--HG--
extra : convert_revision : d543b52213bf3d35b17ef29ff74a879bc4342cef
2009-02-17 00:08:03 +01:00
Juan RP
82a9667049 xbps-bin: return a proper error when dict == NULL && rv != ENOENT.
--HG--
extra : convert_revision : f51b4fcda1497cd9aa640cb3db48080806fe497a
2009-02-16 22:19:10 +01:00
Juan RP
e59520869b Use a common mk file for all bins, install bins stripped.
--HG--
extra : convert_revision : dd739bbc9c67b099ef690533e02bb3f40aa2dc8a
2009-02-16 18:03:03 +01:00
Juan RP
2b24128059 xbps-bin: added support for the show target.
--HG--
extra : convert_revision : 24b2d30a94c95b22b1c524203cf578da03314335
2009-02-16 16:24:33 +01:00
Juan RP
746d59a9dd Some improvements for installation of binary packages.
* If any dep of a package cannot be found in the repository pool,
  show it on xbps-bin.

* Add the automatic-install boolean obj into pkg's dictionary
  on regpkgdb.plist, this will be used to implemented something
  like "apt-get autoremove".

--HG--
extra : convert_revision : 666e2fa666ac94140159896e28b445e88e8afb7a
2009-02-15 20:23:23 +01:00
Juan RP
3084354cec Fix previous.
--HG--
extra : convert_revision : a8073bfa4782f6c6a3e2afe760b184598f268807
2009-02-14 03:57:29 +01:00
Juan RP
b55346ae64 Show an informative error if binpkg cannot be found in repos.
--HG--
extra : convert_revision : 0c1e639cb598b19d258c1e1413dd1cb5930c4c61
2009-02-14 03:25:55 +01:00
Juan RP
bb6355fe12 Allow installing/removing binpkgs as non-root.
--HG--
extra : convert_revision : 3781ef0a422530623cf64f45f87948e00d7e50e8
2009-02-07 18:05:40 +01:00
Juan RP
7e48132dde Fix some stuff committed in previous.
--HG--
extra : convert_revision : a0daf5c9d6bf623d3a35c5e2195cc7adaa3ed753
2009-02-07 13:30:02 +01:00
Juan RP
61f0b09698 New dependency/install/unpack WIP code.
This implementation will be faster and resolv the dependency chain
correctly taking into account indirect/direct deps and priority.

--HG--
extra : convert_revision : cc4ec186f06f944fa8825b176344c4d612658f85
2009-02-07 13:27:24 +01:00
Juan RP
7740958643 Split repo commands into the new xbps-repo bin.
- Remove lib/info.c that doesn't belong in the lib and add it into the
  bins.
- Every binary now uses its own directory on bin/.

This is in preparation for future changes for correct behaviour of
the library and binaries.

--HG--
extra : convert_revision : 880d16378bf940c4f5478de0362afe883cd5fd2c
2009-02-05 14:46:09 +01:00