Commit Graph

105 Commits

Author SHA1 Message Date
classabbyamp
50fb2017d0 xbps-uhelper: add verbose output for cmpver/pkgmatch
I can never remember which retval means which thing. This only prints if
-v/--verbose is specified.

Examples:
```
$ ./bin/xbps-uhelper/xbps-uhelper -v cmpver 1 2 ; echo ret: $?
1 < 2
ret: 255
$ ./bin/xbps-uhelper/xbps-uhelper -v cmpver 1 1 ; echo ret: $?
1 = 1
ret: 0
$ ./bin/xbps-uhelper/xbps-uhelper -v cmpver 2 1 ; echo ret: $?
2 > 1
ret: 1
$ ./bin/xbps-uhelper/xbps-uhelper -v pkgmatch 'foo-1.0_1' 'foo>=0' ; echo ret: $?
foo-1.0_1 matches foo>=0
ret: 1
$ ./bin/xbps-uhelper/xbps-uhelper -v pkgmatch 'foo-1.0_1' 'foo<0.1_1' ; echo ret: $?
foo-1.0_1 does not match foo<0.1_1
ret: 0
```

it also seems that getting an error from pkgmatch is currently impossible
2023-06-01 20:21:57 +02:00
Duncan Overbruck
be2525adc0
bin/xbps-uhelper: format usage like other xbps binaries 2023-02-11 21:32:36 +01:00
classabbyamp
9056a63701 bin/xbps-uhelper/xbps-uhelper.1: add manpage 2023-02-11 19:32:44 +01:00
classabbyamp
6010b9f091 bin/xbps-uhelper: add longopts for -CdrV
also adjust help output to be more clear, and removed examples (moving
those to the manpage)
2023-02-11 19:32:44 +01:00
classabbyamp
1271a3dbed bin/: use xbps logging functions more 2023-02-11 14:23:51 +01:00
classabbyamp
7391a7b213 bin/xbps-uhelper: add getname and getversion actions
these actions are kind of "meta" actions, combining getpkgdepname and
getpkgname (and the respective version actions) so that a list of mixed
pkgvers and package patterns can be interpreted. This uses the internal
format check of `xbps_pkgpattern_{name,version}()` to allow for a
fallback to `xbps_pkg_{name,version}()` for exact versions, then falls
back to displaying an error message if that also fails.
2023-02-10 21:34:16 +01:00
classabbyamp
83e66e215a bin/xbps-uhelper: allow multiple arguments for many actions 2023-02-10 21:34:16 +01:00
Duncan Overbruck
44cd938115
Revert "Use shared LICENSE file for all xbps code."
This reverts commit be7d8cfaf1.

This commit missed some previous copyrights mentioned,
in general I think its better to have this per-file to
follow who wrote what and when.
2020-04-29 14:12:10 +02:00
Juan RP
be7d8cfaf1
Use shared LICENSE file for all xbps code. 2020-04-24 11:44:19 +02:00
Duncan Overbruck
0d90534236
libxbps: ABI/API break due to hash function changes 2020-02-10 13:32:17 +01:00
Juan RP
6010a24de6 libxbps: ABI/API break due to xbps_pkg{,pattern}_name changes.
The funcs xbps_pkg_name() and xbps_pkgpattern_name() were
using malloc(3) to return the result, until now.

They now have been changed to not allocate the result
via malloc, the caller is responsible to provide a buffer
at least of XBPS_NAME_SIZE (64).

If for whatever reason the pkgname can't be guessed,
returns false. This should avoid lots of small allocs
around libxbps.

New functions have the following prototype:

bool xbps_pkg_name(char *dst, size_t len, const char *pkg)
bool xbps_pkgpattern_name(char *dst, size_t len, const char *pkg)

as suggested by @duncaen.
2020-02-08 19:49:57 +01:00
Juan RP
e7738555b2
xbps-uhelper: restore compat.
Add 'digest' and 'fetch' actions again for compatibility,
but don't mention them in usage().

This way previous versions of xbps-src (that don't require xbps-0.54)
still work without changes.
2019-06-20 10:53:30 +02:00
Juan RP
8cea3e351b xbps-fetch(1): new utility that replaces 'xbps-uhelper fetch'.
xbps-install(1): document all libfetch env vars.

Signed-off-by: Juan RP <xtraeme@gmail.com>
2019-06-12 18:07:24 +02:00
Juan RP
9cda7ef72a xbps-digest(1): new utility that replaces "xbps-uhelper digest".
See the manual page:

XBPS-DIGEST(1)              General Commands Manual             XBPS-DIGEST(1)

NAME
     xbps-digest - XBPS utility to generate message digests

SYNOPSIS
     xbps-digest [OPTIONS] [FILE] [FILE+N]

DESCRIPTION
     The xbps-digest utility generates message digests for specified FILE or
     stdin if unset.

OPTIONS
     -m, --mode mode
         Sets the message digest mode. Supported: sha256.  If unset, defaults
         to sha256.

     -h, --help
         Show the help message.

     -V, --version
         Show the version information.

SEE ALSO
     xbps.d(5), xbps-checkvers(1), xbps-create(1), xbps-dgraph(1),
     xbps-fbulk(1), xbps-install(1), xbps-pkgdb(1), xbps-query(1),
     xbps-reconfigure(1), xbps-remove(1), xbps-rindex(1), xbps-uchroot(1),
     xbps-uunshare(1)

AUTHORS
     Juan Romero Pardines <xtraeme@gmail.com>

BUGS
     Probably, but I try to make this not happen. Use it under your own
     responsibility and enjoy your life.

     Report bugs at https://github.com/void-linux/xbps/issues

                                 June 12, 2019

Signed-off-by: Juan RP <xtraeme@gmail.com>
2019-06-12 16:15:18 +02:00
Juan RP
9046727301 xbps-uhelper: fix a warning reported by clang-3.8.1. 2016-07-17 11:34:39 +02:00
Juan RP
6272280fcf xbps-uhelper: support 'XBPS_{,TARGET_}ARCH' env vars in the 'arch' target. 2016-04-13 08:53:26 +02:00
Juan RP
55e9752aee xbps-uhelper: fetch: print errors in stderr instead. 2015-06-22 20:03:40 +02:00
Christopher Brannon
b1e6efeebe Use getopt_long instead of getopt, for musl. 2015-06-21 07:06:18 -07:00
Juan RP
725ef2472d xbps-uhelper: sync error messages with reality. 2015-02-23 16:56:47 +01:00
Juan RP
a72a52da1d xbps-uhelper: added 'getsystemdir' target to print path to <sharedir>/xbps.d. 2014-11-21 10:40:11 +01:00
Juan RP
428a747fad Fix #69 (No way to set globally a custom architecture)
The "architecture" configuration keyword is now available to override
the native machine architecture returned by (uname(2)).

The XBPS_ARCH environment variable still has preference.
2014-11-19 11:36:09 +01:00
Juan RP
5b522109f7 Replaced config/system {repo,preserve,virtualpkg}.d with a single directory.
See the NEWS file for more information.
2014-11-06 09:58:04 +01:00
Juan RP
87ca42f399 Remove xdelta support: it never worked and wasn't fully implemented. 2014-10-24 11:04:51 +02:00
Juan RP
b73d40092c xbps-uhelper: new targets: binpkgarch and binpkgver.
- binpkgarch: returns the architecture component of a xbps filename.
- binpkgver: returns the pkgver component of a xbps filename.
2014-09-05 21:06:06 +02:00
Juan RP
f83fed1ea6 Merge pull request #52 from Gottox/xdelta
support for fetching file deltas for repo_sync.
2014-08-13 21:38:35 +02:00
Enno Boland
80f4c2ed17 bin/xbps-uhelper/main.c: fix english. It's 'identical to' not 'identical than' 2014-08-12 08:09:47 +02:00
Enno Boland
64fe81d1bd bin/xbps-uhelper/main.c: fetch accepts >=2 arguments, not only 2 arguments 2014-08-12 08:09:47 +02:00
Enno Boland
89c1b88dfd bin/xbps-uhelper: fix flags for xfetch 2014-08-11 19:24:33 +02:00
Enno Boland
040e114ad4 lib/download.c: add basic support for vcdiffs 2014-08-11 18:40:44 +02:00
Juan RP
f8d8f91a08 Implement support to "preserve" existent on-disk files.
See NEWS for more information. Fix #51
2014-08-01 15:09:51 +02:00
Juan RP
bbc737a3ee xbps-uhelper: apply some indentation to usage(). 2014-04-21 11:03:18 +02:00
Juan RP
2bb915c9d5 xbps-uhelper: update usage() for fetch and add Gottox to copyright. 2014-03-04 15:08:14 +01:00
Enno Boland
8cdd242f85 xbps-uhelper fetch supports user defined output file
xbps-uhelper now supports downloading files with a defined destination.

The syntax of fetch is "URI>FILENAME". So if you call

	xbps-uhelper fetch "http://foobar.com/foo.tar.gz>bar.tar.gz"

the output file will be named "bar.tar.gz"
2014-03-04 14:22:02 +01:00
Juan RP
2a21354a1c Make some reorganization in struct xbps_handle.
The variables to set cachedir, rootdir and metadir have been
changed to "array of chars", this way there are no extra allocations.

Update clients accordingly and bump API version.
2013-12-16 11:46:39 +01:00
Juan RP
7b0e9967b1 xbps-uhelper: added 'real-version' action.
- This prints to stdout the version of an installed "real" package,
  not virtual. The 'version' action can be used to match any "real" and
  "virtual" package instead.
- Drop strcasecmp() to check actions and use strcmp() instead.
2013-10-22 09:56:55 +02:00
Juan RP
c5acbc7953 mk/prog.mk: set MAN to $(BIN).8 by default. 2013-09-16 08:57:24 +02:00
Juan RP
4057e4961c Use C99 for loop initializers.
That means that a C99 compiler is now mandatory.
2013-09-15 10:06:49 +02:00
Juan RP
09e116b7f0 xbps_api.h -> xbps.h 2013-06-20 12:31:02 +02:00
Juan RP
42c0766c00 Get rid of libfetch and proplib external dependencies.
The list of required external deps is now confuse, libarchive and openssl.

libxbps now includes a wrapper for proplib prefixed with xbps_ rather than prop_.
2013-06-20 10:26:12 +02:00
Juan RP
e25216822b xbps-uhelper: make the 'version' target also match virtual pkgs. 2013-03-25 21:11:30 +01:00
Juan RP
0e50b09cbe xbps-uhelper: fix 'version' target. 2013-03-05 04:45:32 +01:00
Juan RP
e2176ec4b6 bin: no point in cleaning up resources when it's exiting... 2012-12-14 11:58:30 +01:00
Juan RP
63c1883201 Major API/ABI cleanup bringing performance improvements and fixes.
These are the core interfaces in the new API:

rpool - Interface to interact with the repository pool.
rindex - Interface to interact with repository indexes.
pkgdb - Interface to interact with local packages.
transaction - Interface to interact with a transaction.

This also brings new repository index format, making the index file
per architecture and being incompatible with previous versions.

The transaction frequency flush option has been removed, and due to
the nature of package states it was causing more harm than good.

More changes coming soon, but the API shall remain stable from now on.
2012-11-30 07:11:51 +01:00
Juan RP
b0fab7a3ee Implemented a cache to get pkg dicts from metadir.
This improves xbps-pkgdb -a marginally, but still seems to be a bit slow.
2012-11-16 21:50:52 +01:00
Juan RP
a77727887d Improvements for xbps_fetch_file and xbps_repository_sync_index.
xbps_fetch_file:
	- A temp file is created with .part extension to improve resuming.
	- Files are downloaded in cwd.
	- Switch to futimens(2) and fsync(2).

xbps_repository_sync_index:
	- Do not create local repodir in metadir if it already exists.
	- Simplify the code thanks to new xbps_fetch_file().
2012-11-11 11:29:49 +01:00
Juan RP
e21cdc68df Remove obsolete xbps-{bin,repo} utils. 2012-11-06 11:07:31 +01:00
Juan RP
140a012d3b xbps-uhelper: remove obsolete code (unneeded with upcoming xbps-src-30).
(cherry picked from commit 14ec6cfdd0068b348b302a8da24774e9794bbaf8)

Conflicts:
	bin/xbps-uhelper/main.c
2012-09-29 19:13:38 +02:00
Juan RP
ea2710bca4 xbps-uhelper: allways zero out xbps_handle passed to xbps_{init,end}.
(cherry picked from commit e84d44a3416936333d10b134514eca6abddb5d6d)
2012-09-29 19:12:39 +02:00
Juan RP
7714f0f6c5 bin: print usage() in stdout.
(cherry picked from commit b090e1a0bd32cabd8fe81bd756d419ee4b170ef7)
2012-09-29 19:08:03 +02:00
Juan RP
974b2fe8ad libxbps: simplify pkgdb_get_pkgd and find_pkg_dict_installed internals.
There's no need to prop_dictionary_copy the returned dictionary to
later have to free it again, just return directly the dictionary and
avoid the free(3)s.
2012-06-16 09:02:07 +02:00