mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
xbps: sync xbps-checkvers(1) with 0.58.
Without this xbps-checkvers(1) failed to check for the correct binpkg version in xbps repos.
This commit is contained in:
parent
ac7098156a
commit
73b6b1b574
2 changed files with 83 additions and 1 deletions
82
srcpkgs/xbps/patches/xbps-checkvers-subpkgs-fix.patch
Normal file
82
srcpkgs/xbps/patches/xbps-checkvers-subpkgs-fix.patch
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
Sync xbps-checkvers(1) with code from 0.58.
|
||||||
|
This fixes detection of subpkgs in xbps repos.
|
||||||
|
--xtraeme
|
||||||
|
|
||||||
|
--- bin/xbps-checkvers/main.c.orig 2019-10-27 09:50:11.000000000 +0100
|
||||||
|
+++ bin/xbps-checkvers/main.c 2020-01-04 11:24:38.109708818 +0100
|
||||||
|
@@ -46,22 +46,15 @@
|
||||||
|
#define GOT_REVISION_VAR 0x4
|
||||||
|
|
||||||
|
typedef struct _rcv_t {
|
||||||
|
- const char *prog, *fname;
|
||||||
|
- char *xbps_conf, *rootdir, *distdir;
|
||||||
|
- char *buf;
|
||||||
|
- size_t bufsz;
|
||||||
|
- size_t len;
|
||||||
|
- char *ptr;
|
||||||
|
+ const char *prog, *fname, *format;
|
||||||
|
+ char *xbps_conf, *rootdir, *distdir, *buf, *ptr, *cachefile;
|
||||||
|
+ size_t bufsz, len;
|
||||||
|
uint8_t have_vars;
|
||||||
|
+ bool show_all, manual, installed;
|
||||||
|
xbps_dictionary_t env;
|
||||||
|
xbps_dictionary_t pkgd;
|
||||||
|
xbps_dictionary_t cache;
|
||||||
|
struct xbps_handle xhp;
|
||||||
|
- bool show_all;
|
||||||
|
- bool manual;
|
||||||
|
- bool installed;
|
||||||
|
- const char *format;
|
||||||
|
- char *cachefile;
|
||||||
|
} rcv_t;
|
||||||
|
|
||||||
|
typedef int (*rcv_check_func)(rcv_t *);
|
||||||
|
@@ -535,9 +528,10 @@ static int
|
||||||
|
rcv_check_version(rcv_t *rcv)
|
||||||
|
{
|
||||||
|
const char *repover = NULL;
|
||||||
|
- char srcver[BUFSIZ] = { '\0' };
|
||||||
|
+ char srcver[BUFSIZ] = { '\0' }, *binpkgname = NULL, *s = NULL;
|
||||||
|
const char *pkgname, *version, *revision, *reverts, *repourl;
|
||||||
|
int sz;
|
||||||
|
+ size_t len;
|
||||||
|
|
||||||
|
assert(rcv);
|
||||||
|
|
||||||
|
@@ -568,17 +562,24 @@ rcv_check_version(rcv_t *rcv)
|
||||||
|
if (sz < 0 || (size_t)sz >= sizeof srcver)
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
|
||||||
|
+ /* Check against binpkg's pkgname, not pkgname from template */
|
||||||
|
+ s = strchr(rcv->fname, '/');
|
||||||
|
+ len = s ? strlen(rcv->fname) - strlen(s) : strlen(rcv->fname);
|
||||||
|
+ binpkgname = strndup(rcv->fname, len);
|
||||||
|
+ assert(binpkgname);
|
||||||
|
+
|
||||||
|
repourl = NULL;
|
||||||
|
if (rcv->installed) {
|
||||||
|
- rcv->pkgd = xbps_pkgdb_get_pkg(&rcv->xhp, pkgname);
|
||||||
|
+ rcv->pkgd = xbps_pkgdb_get_pkg(&rcv->xhp, binpkgname);
|
||||||
|
} else {
|
||||||
|
- rcv->pkgd = xbps_rpool_get_pkg(&rcv->xhp, pkgname);
|
||||||
|
+ rcv->pkgd = xbps_rpool_get_pkg(&rcv->xhp, binpkgname);
|
||||||
|
xbps_dictionary_get_cstring_nocopy(rcv->pkgd, "repository", &repourl);
|
||||||
|
}
|
||||||
|
xbps_dictionary_get_cstring_nocopy(rcv->pkgd, "pkgver", &repover);
|
||||||
|
if (repover)
|
||||||
|
- repover += strlen(pkgname)+1;
|
||||||
|
+ repover += strlen(binpkgname)+1;
|
||||||
|
|
||||||
|
+ free(binpkgname);
|
||||||
|
if (!repover && rcv->manual)
|
||||||
|
;
|
||||||
|
else if (rcv->show_all)
|
||||||
|
@@ -717,7 +718,7 @@ main(int argc, char **argv)
|
||||||
|
free(tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
- rcv.cachefile = xbps_xasprintf("%s/.xbps-checkvers.plist", rcv.distdir);
|
||||||
|
+ rcv.cachefile = xbps_xasprintf("%s/.xbps-checkvers-0.58.plist", rcv.distdir);
|
||||||
|
|
||||||
|
argc -= optind;
|
||||||
|
argv += optind;
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'xbps'
|
# Template file for 'xbps'
|
||||||
pkgname=xbps
|
pkgname=xbps
|
||||||
version=0.57.1
|
version=0.57.1
|
||||||
revision=5
|
revision=6
|
||||||
bootstrap=yes
|
bootstrap=yes
|
||||||
build_style=configure
|
build_style=configure
|
||||||
short_desc="XBPS package system utilities"
|
short_desc="XBPS package system utilities"
|
||||||
|
|
Loading…
Add table
Reference in a new issue