Commit Graph

127 Commits

Author SHA1 Message Date
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
Juan RP be170f0cb7 Fix some problems with dangling links while removing a binpkg.
First remove all links, next files and last dirs.
Only check the SHA256 hash for files, skip links and dirs.

--HG--
extra : convert_revision : b1762d5e795959591c732f625d25adfd1840f592
2009-02-28 17:32:38 +01:00
Juan RP 4edad150c0 xbps-bin: make -C flag work when -r not set.
--HG--
extra : convert_revision : f4248255d94e9562483ef76630707eaefc3a9591
2009-02-27 18:30:59 +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 b225a1dc30 Added support to build subpackages from a single source.
proplib has been converted to see how it works.

--HG--
extra : convert_revision : dfcd1f547884108d69682e9e62b4aacfa431cc83
2009-02-20 04:10:55 +01:00
Juan RP cbb1d1bef5 xbps-repo: fix search and show targets when first repo doesn't exist.
--HG--
extra : convert_revision : 2e5410f4461c62ceb51bb1296cab8a9076bc666a
2009-02-18 03:50:05 +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 028cacdd2a Add support to set automatic install flag for srcpkgs.
--HG--
extra : convert_revision : fa0e103ce44a4758858124ecd63aea0dec400720
2009-02-18 00:28:35 +01:00
Juan RP a2e9f7de29 xbps-pkgdb: check for empty strings passed to getpkg{name,version}.
--HG--
extra : convert_revision : adc73449ed57cd4628fbba91c91372d05db4e594
2009-02-17 23:29:13 +01:00
Juan RP 3d308188b7 xbps-pkgdb: add 'getpkgname' and 'getpkgversion' actions.
--HG--
extra : convert_revision : e931f3527b501d6153348b503b3213064e55c286
2009-02-17 13:57:51 +01:00
Juan RP fda3da1543 Use string version comparator code from FreeBSD.
This fixes all cases that previous code has with no changes...
sorry pancake.

--HG--
extra : convert_revision : 993d0aa060daf36d1b5ffa63725002dda122c091
2009-02-17 03:49:02 +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 6b6162bb44 Added support for using noarch packages.
--HG--
extra : convert_revision : a96166ddecb6efe65d35283f25e06a944cc4a038
2009-02-16 00:39:41 +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 902fb71aa6 Changed XBPS_META_PATH to /var/db/xbps rather than /var/cache/xbps.
--HG--
extra : convert_revision : 4e10af13ce05f060ebdfa8ca4e767a269c46b17f
2009-02-14 23:21:12 +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 83ed100fcf Use xbps_callback_array_iter_in_repolist() and removed dup code.
--HG--
extra : convert_revision : 7eb9c1b3df3fc7fde2ff61ac0cce1d635c3fef18
2009-02-14 02:26:11 +01:00
Juan RP 3c7b8186e6 Fix binpkg installation with multiple repositories.
New changes include a modified algorithm of the previous one, which
finally does not fail even with multiple repos, YAY!

Fixed some leaks as well, thanks to valgrind.

--HG--
extra : convert_revision : 3cffe1e9e9e9f7abf225ca3c6643377fc12a94bd
2009-02-14 01:37:12 +01:00
Juan RP d420d00081 xbps_unregister_repository: return ENOENT if not found, not ENODEV.
--HG--
extra : convert_revision : c1be34bc1840ac351e8e2d301e2c71d247f0ea9c
2009-02-13 00:18:28 +01:00
Juan RP c9d4ea5527 xbps-pkgdb: use EXIT_FAILURE.
--HG--
extra : convert_revision : 0a41128bdf379ca2dfdf1be7053a42e85fddc81a
2009-02-12 18:59:43 +01:00
Juan RP 939a63036e Added support to keep track of reverse depends on installed packages.
--HG--
extra : convert_revision : 9e3e46f726ef28843dc52b95ce818637c2a18de5
2009-02-10 02:52:12 +01:00
Juan RP 126928ca8d Merge branch 'master' of ssh://xtraeme@repo.or.cz/srv/git/xbps
Conflicts:
	lib/depends.c

--HG--
extra : convert_revision : 568341c7637aa537838880da03bd4dda819902ea
2009-02-09 16:09:39 +01:00
Juan RP 2ff54fadeb xbps-src: ignore pkgs with unexistent destdir in 'build-pkg all'.
--HG--
extra : convert_revision : 7fe1a6d09fb90bed64b93f7b589641a34036511a
2009-02-09 03:52:08 +01:00
Juan RP 4a4f70b005 xbps-src: add -u flag, if used with fetch update $checksum in tmpl file.
--HG--
extra : convert_revision : a11fe9147498fb4a60ecb2633493d2d4789c288d
2009-02-09 01:01:14 +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 dfb7e2a687 xbps-repo: there's no need to prefix local funcs with xbps_ anymore.
--HG--
extra : convert_revision : d8a2402697ca5709c5ca4e94d94ab4df6b97c818
2009-02-05 15:31:54 +01:00
Juan RP c86be9931b Install by default xbps.conf into $(PREFIX)/etc and use it.
--HG--
extra : convert_revision : d6550a3d9e6093cb1ec789715e2b1107b9bb59bd
2009-02-05 15:21:33 +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
Juan RP fe8ea8c21c Check that pkg is installed before removing.
--HG--
extra : convert_revision : 4ea85e367ecbc0d39dcba1c8ee63392f0e1177f7
2009-02-03 16:51:42 +01:00
Juan RP 4a9125364a xbps-bin: added WIP remove target.
--HG--
extra : convert_revision : 71314f7183384094223cf10bf16ff704ca084883
2009-02-03 03:18:00 +01:00
Juan RP bc9bf83f0a xbps-src: update PATH with default PREFIX set by make.
--HG--
extra : convert_revision : 235ae5d28d075ffda87734224a4edf724799e2f1
2009-01-14 16:50:30 +01:00
Juan RP 68d2bbe8fb xbps-bin: add missing newline.
--HG--
extra : convert_revision : e75a20206dc19000360df659814b9c2d6f7769d1
2008-12-29 16:02:35 +01:00
Juan RP 15e15465c8 bin: use EXIT_SUCCESS and EXIT_FAILURE.
--HG--
extra : convert_revision : 730a4f09ae67423e4a34b1c7e9d020998cc2288c
2008-12-29 15:56:40 +01:00
Juan RP e5774555cf xbps-bin: simplify sanitize_localpath().
--HG--
extra : convert_revision : 223334822b80c6b11e63f1a34e7bfadb9115d5b9
2008-12-27 22:56:47 +01:00
Juan RP 926b1dfa4a Improve binpkg priorities, dynamically allocate mem, etc.
--HG--
extra : convert_revision : 479011aba6e9da4e5662137381e04042e762d428
2008-12-27 22:19:04 +01:00
Juan RP 74e575f984 xbps-pkgdb: fix argv in sanitize-plist target.
--HG--
extra : convert_revision : 6e475309733ddf37970ff0506b15714a6996b652
2008-12-27 16:19:11 +01:00
Juan RP b2abe59c52 Added support to specify a root directory for xbps.
All xbps metadata files will go into <rootdir>/var/cache/xbps
and package data will go into <rootdir>/<data>.

--HG--
extra : convert_revision : 37007ac4f9b99b31465612a58749713b3164139b
2008-12-27 12:56:51 +01:00
Juan RP 7be91b93b9 xbps-src: remove unneeded stuff.
--HG--
extra : convert_revision : 38d5fc74271e041cd9b4e529960ceeb482c6b51e
2008-12-27 08:51:40 +01:00
Juan RP 3b702f33aa xbps-pkgdb: check that plist dict is there in version target.
--HG--
extra : convert_revision : 926363d195d0e4ce4fcd2e715823f43fd839561c
2008-12-27 08:43:13 +01:00
Juan RP cbe0046537 xbps-bin: add the 'list' target, and remove it from xbps-pkgdb.
--HG--
extra : convert_revision : 411b27525082c2ff7a766490b00056cc7c78d78f
2008-12-26 11:30:19 +01:00
Juan RP d309f54ff1 Register binary package if unpacking was successful.
--HG--
extra : convert_revision : ac984d640acb340e3a8db2ac07e41d15b1eea89e
2008-12-26 10:13:03 +01:00
Juan RP 91f7df59cd Support for installing pkgs from multiple repositories.
--HG--
extra : convert_revision : fc8a430e71d202aa9e7560b921669f62f1947ae1
2008-12-26 04:36:51 +01:00
Juan RP 9a0c175c18 Use the repo list to find binary packages.
--HG--
extra : convert_revision : c35e25604d0e417115cd1c30d77d23fee3c39f92
2008-12-24 12:34:04 +01:00
Juan RP 4101025318 Working dependency handling for binary packages.
--HG--
extra : convert_revision : d0ff56b524efba53b11b7635972b03feaaeb889a
2008-12-24 10:58:19 +01:00
Juan RP fa3b59b246 Another checkpoint for installing binary packages.
At least now dependencies are tracked, not sure it will be
enough for real life :-)

--HG--
extra : convert_revision : 962de22d515efa5599c148f918c14d32b5d9496d
2008-12-24 07:20:19 +01:00
Juan RP 0c0e796fc5 Fix some leaks detected by valgrind.
--HG--
extra : convert_revision : 15f7c0f673c4f46e36de82f5e55c7bcd370093e9
2008-12-23 13:05:01 +01:00
Juan RP 26c054d773 Checkpoint for installation of binary packages.
--HG--
extra : convert_revision : 0bc55ebae04b2e1e5ab20feca786b649fc2e0335
2008-12-23 12:28:21 +01:00
Juan RP 546cc0ccc1 Use %ju to printf uint64_t's. Fixes building on i386.
--HG--
extra : convert_revision : c910dcedf00a095ebbe001cb78d7f8fa2ef19035
2008-12-22 15:21:29 +01:00
Juan RP 3f7c353356 Fix some issues in repo handling.
--HG--
extra : convert_revision : 5ec7488c8967f50b7e2dce93276accd829c541b3
2008-12-22 05:00:15 +01:00
Juan RP 9a10b636cc xbps-cmpver: fix usage.
--HG--
extra : convert_revision : 450fc45a76cb4dc24f3bf4c8f4cba747ed05d653
2008-12-22 02:47:36 +01:00
Juan RP cde9dddfcf Move xbps-src.sh into bin/.
--HG--
extra : convert_revision : bb6fba26702ec51514b31abd1eb5f8d7431b30b6
2008-12-22 02:26:28 +01:00
Juan RP 6ee35486bf To use xbps now 'make and make install' is required.
--HG--
extra : convert_revision : 976738f26daf1ccd2101ca2325e1e517d98e71cb
2008-12-22 02:14:40 +01:00
Juan RP f2a77f5e0e xbps-pkgdb: fix crash if db file unexistent in 'list' target.
--HG--
extra : convert_revision : a42e5a7eda63a0d121dd7f15683220c84d58b620
2008-12-22 00:37:42 +01:00
Juan RP e7cf222ac9 Reorganize the tree splitting stuff on its own dir.
--HG--
extra : convert_revision : 87473fb499c42deaf0285f5559dc1cd8d67ab436
2008-12-21 23:57:02 +01:00