Juan RP
b459e4542f
xbps-rindex: eliminate locking and update repo index immutable dicts.
2015-05-22 12:20:49 +02:00
Juan RP
fcdd71aac4
Move xbps utils manpages to the section 1 (user commands).
2015-05-16 09:46:10 +02:00
Juan RP
ff8569274f
Merge pull request #96 from GiedriusS/master
...
xbps-checkvars: add missing assertions after memory allocations
2015-05-11 09:54:21 +02:00
Giedrius Statkevičius
fe3cb72a5b
xbps-checkvars: add missing assertions after memory allocations
2015-05-10 21:17:39 +03:00
Juan RP
2c0e27a001
xbps-install: print required size and free size on ENOSPC.
2015-05-09 07:02:21 +02:00
Juan RP
2baf1ae101
xbps-uunshare: replace -D/-H/-S with -b src/dest and switch to getopt(3).
2015-05-06 11:40:19 +02:00
Juan RP
4a97810c0b
xbps-uchroot: assert that strdup() does not fail.
2015-05-06 11:38:06 +02:00
Juan RP
7d6d1805f3
xbps-uchroot: replace -D/-H/-S with -b src/dest and switch to getopt(3).
2015-05-06 11:24:47 +02:00
Juan RP
9f08ec5123
xbps-fbulk: added support to just building pkgs specified as arguments.
...
xbps-fbulk [options] void-packages [pkg pkgN]
2015-05-04 18:12:52 +02:00
Juan RP
6a087f5a1f
xbps-uchroot.8: document -t and detail -o.
2015-04-27 17:50:46 +02:00
Juan RP
93c85e8038
xbps-fbulk: simplify recollection of dependencies.
...
The changes I made to xbps-src show-build-deps now will print only
real source package names, without version components or virtual packages,
so that fbulk does not do any extra work.
2015-04-26 10:05:56 +02:00
Juan RP
149f48fb8e
xbps-uchroot: added -t option to mount a tmpfs for overlayfs.
2015-04-23 15:05:29 +02:00
Juan RP
46e6a00482
xbps-fbulk: check for xcode==2 to add it to "skipped".
2015-04-23 10:37:32 +02:00
Juan RP
31bf6c5309
xbps-uchroot: added -o <opts> to pass options to the temporary tmpfs mount.
2015-04-20 20:44:42 +02:00
Juan RP
7ea5a53cbd
xbps-fbulk: deps/foo just append the dependency pkgname.
2015-04-20 18:44:06 +02:00
Juan RP
4b608365e0
xbps-fbulk: split results into 4 categories: good, bad, skipped, deps.
...
- good (built successfully)
- bad (build failed)
- skipped (build skipped due to broken/only_for_archs)
- deps (build skipped due to dependencies)
2015-04-20 17:47:10 +02:00
Juan RP
e60ab98e2c
xbps-fbulk: added -a <cross-target> support.
2015-04-19 11:49:29 +02:00
Juan RP
d50a6866bc
xbps-uchroot: with -O, don't make tmpfs a private mount.
...
This seems to avoid the weird build issues with xbps-fbulk.
2015-04-16 19:07:40 +02:00
Juan RP
18e743daed
xbps-fbulk: declare usage() with __attribute__((noreturn)) to fix clang.
2015-04-16 10:40:26 +02:00
Juan RP
9199867df1
New utility: xbps-fbulk - a fast bulk builder for xbps.
...
This is a modified version of DragonFlyBSD's fastbulk utility, that
has been adapted for xbps/xbps-src and contains multiple improvements
like configurable logging path, skipping building non working packages
(broken/only_for_archs), etc.
A manual page will be pushed soon.
This is still WIP, it needs more changes to support building a customizable
set of packages and other additions.
2015-04-16 10:28:01 +02:00
Juan RP
bc97851fdb
xbps-query(8): do not truncate output if stdout is not a tty.
2015-04-15 18:40:34 +02:00
Juan RP
19fc88198a
xbps-uunshare.8: sync with reality.
2015-04-13 16:11:54 +02:00
Juan RP
f78c2986d4
xbps-uchroot: try to bind mount /proc if a new instance fails.
...
This should help uchroot to work in the travis-ci containers (hopefully).
2015-04-11 08:47:40 +02:00
Juan RP
3ef9350787
xbps-rindex/clean: simplify.
2015-04-09 12:14:03 +02:00
Juan RP
ea0f1731e3
xbps-uchroot: added -O to use overlayfs on tmpfs in a tempdir.
2015-03-26 03:15:17 +01:00
Juan RP
9a16283575
Introduce xbps_repo_{un,}lock() to serialize write access to repodata.
...
We use a simple file lock that is created with O_CREAT|O_EXCL.
This should fix the concurrency issues with multiple processes
running xbps-rindex -a/-c on the same repository/arch combo.
2015-03-25 12:00:59 +01:00
Juan RP
62b21a4f93
xbps-install/question.c: char is not enough for fgetc, use int (HI GOTTOX)
2015-03-21 09:45:29 +01:00
Enno Boland
1eeaa99438
utils: test for EOF on error, not for \0.
2015-03-14 00:41:39 +01:00
Enno Boland
507a9e338f
utils: small code cleanup.
2015-03-14 00:38:33 +01:00
Juan RP
52dae50075
xbps-uunshare: replace clone/exec with unshare/exec cmd.
...
There's no reason to clone and run cmd in the child, replace the
execution environment with cmd directly to avoid the child process.
2015-03-13 21:14:28 +01:00
Juan RP
519ea4001c
xbps-uunshare: fix typo in an error msg (thanks uggedal).
2015-03-12 19:05:05 +01:00
Juan RP
301b6d220e
xbps-uunshare: fix previous ( 15977278
).
2015-03-09 12:45:32 +01:00
Juan RP
1597727814
xbps-uunshare: do not fail if /proc/self/setgroups does not exist.
...
3.16 supports user_namespaces(7) but does not have /proc/self/setgroups.
Found by @cheneukirchen.
2015-03-09 12:34:57 +01:00
Juan RP
25f7228920
xbps-reconfigure: add -i/--ignore to usage; thanks @chneukirchen.
2015-03-08 10:22:15 +01:00
Juan RP
acb00d52e4
xbps-checkvers(8): fix manually added packages as arguments.
...
Regression introduced in the 0.44 changes.
2015-03-07 09:11:12 +01:00
Juan RP
77e83d4b17
xbps-uunshare: for compat with uchroot, use the uid/gid of the calling process.
...
... rather than setting this up for uid/gid 0.
2015-03-06 07:39:31 +01:00
Juan RP
3da2c3fdda
xbps-uunshare: silence a clang warning.
2015-03-05 19:24:33 +01:00
Juan RP
26944cf6be
xbps-uunshare: chdir to the correct dir for bind mounts.
2015-03-05 19:06:39 +01:00
Juan RP
a1d1b3e480
bin/Makefile: restrict xbps-uunshare(8) only on linux.
2015-03-05 18:46:01 +01:00
Juan RP
58e6d71d24
New utility: xbps-uunshare(8) - like xbps-uchroot(8) with user_namespaces(7).
2015-03-05 18:44:20 +01:00
Juan RP
927254c43e
xbps-rindex(8): fix -s short option (omitted in shortopts).
2015-03-03 16:10:03 +01:00
Juan RP
4922c808f4
Implemented feature #77 (Add package repository locked mode)
...
Close #77
2015-03-03 12:11:28 +01:00
Juan RP
db21c045d2
xbps-create(8): use fdatasync() rather than fsync().
...
The latter could be too expensive, and we only care for the data to be written
to the binary package because a bit later we rename() the temporary file,
which will ensure a data flush to disk.
2015-02-27 11:04:25 +01:00
Juan RP
04da57e4f9
xbps-pkgdb: when checking pkg files, ignore mtime with mutable files.
2015-02-27 10:38:50 +01:00
Juan RP
c712c99ced
xbps-pkgdb: exit with error if any test fails.
2015-02-26 12:01:20 +01:00
Juan RP
725ef2472d
xbps-uhelper: sync error messages with reality.
2015-02-23 16:56:47 +01:00
Juan RP
b909e8edc3
xbps-pkgdb: fix use-after-free introduced in 3855d2e
.
2015-02-23 08:26:20 +01:00
Juan RP
3855d2e2fb
xbps-pkgdb(8): check pkg file mtime (iff the obj is available).
2015-02-22 18:45:47 +01:00
Juan RP
2cae0cba01
xbps-create(8): store file mtime in metadata for upcoming changes.
2015-02-22 18:20:32 +01:00
Juan RP
3692ecb537
xbps-query/search: fix previous.
2015-02-20 11:07:35 +01:00
Juan RP
341e8a10ae
xbps-query/search: minor optimizations.
2015-02-20 11:01:18 +01:00
Juan RP
a05e039cce
Revert "Stop converting relative symlinks to absolute."
...
This reverts commit 9ae3638429
.
This change is ok, but cannot be used right now because all existing
binpkgs were created with an old xbps-create(8).
2015-02-19 11:11:58 +01:00
Juan RP
9ae3638429
Stop converting relative symlinks to absolute.
...
There's no reason to make them absolute, simply store in the metadata
the target file as is. This vastly simplifies the code and makes all
test pass correctly.
2015-02-19 11:04:34 +01:00
Juan RP
67eba7d912
Improve detection of target file in relative symlinks.
...
If xbps-create(8) did not guess the target file of relative symlinks for
some reason, just compare the current symlink and what's stored as is,
without converting it to absolute.
This might happen with dangling relative symlinks or existing binary
packages that were not created with a newer xbps-create(8).
2015-02-19 10:24:24 +01:00
Juan RP
05f879ec09
Introduce xbps_symlink_target() and use it in two places.
...
This code is now shared by xbps-pkgdb and libxbps/xbps-remove.
2015-02-19 09:47:09 +01:00
Juan RP
69e3a50e75
xbps-create: handle correctly another case of relative symlinks.
2015-02-19 09:44:09 +01:00
Juan RP
9c47bc0b1a
xbps-re{configure,move}: fix previous.
2015-02-18 17:02:50 +01:00
Juan RP
96b76c28e5
xbps-reconfigure: do not bother to print useless msgs about unknown states.
...
Those states are not meaningful for the application.
2015-02-18 16:56:34 +01:00
Juan RP
73c0d68acd
xbps-remove: do not bother to print useless msgs about unknown states.
...
Those states are not meaningful for the application.
2015-02-18 16:55:42 +01:00
Juan RP
3c34c300d1
xbps-create(8): record target file or relative symlinks correctly.
2015-02-18 14:55:54 +01:00
Juan RP
38e71e8e1c
xbps-checkvers: more fixes and new test cases.
...
- This now checks for vars that have refs to other vars:
pkgname=${_myvar}
- This now checks for unwanted garbage before assignment:
. ./source/file
pkgname=${_myvar}
- Misc tweaks to use my coding style.
2015-02-17 10:20:59 +01:00
Juan RP
7cdba2ed14
xbps-checkvers(8): fixed segfaults with missing vars on templates.
2015-02-16 18:53:45 +01:00
Juan RP
c0c3771965
xbps-remove.8: improve -F desc.
2015-02-16 11:19:09 +01:00
Juan RP
d607655371
libxbps: globally check for unresolved reverse dependencies.
...
Close #46 . See NEWS for more information.
2015-02-03 10:20:13 +01:00
Juan RP
1d0a8649da
bin/xbps-install/util.c: properly report pkgs to be removed.
2015-02-02 09:49:16 +01:00
Juan RP
0c208bb744
xbps-query(8): ownedby: do not follow symlinks and print target file too.
2015-01-29 17:32:14 +01:00
Juan RP
20276fc068
xbps-install: add additional actions to the column output.
...
- downgrade if new version in repos is less than installed one.
- reinstall if both versions are equal.
and additionally always print installed pkg version, irrespectively of
the transaction mode.
Close #72
2015-01-29 09:58:32 +01:00
Juan RP
e95300e952
xbps-install/util: print installed version in pkgs on hold mode.
2015-01-28 18:06:58 +01:00
Juan RP
9bc3275515
xbps-install/state_cb: log XBPS_STATE_UPDATE via syslog too.
...
This way the updates are also recorded via syslog.
2015-01-28 09:48:20 +01:00
Juan RP
d519ed3d15
xbps-checkvers: misc changes to fix issues I've found.
...
- Clear completely the rcv struct.
- Remove unapplicable free()a before assignment (wtf)
- Fix usage, -C expects a path to a directory not a filename.
- Remove obsolete xbps.conf handling, this is unnecessary (xbps.d(5)).
- Random tweaks after a quick inspection.
2015-01-22 18:44:39 +01:00
Juan RP
f11dc1a7b1
xbps-query.8: mention that -p is also accepted with -S (show/default mode).
2015-01-18 19:14:30 +01:00
Juan RP
94d0e4e131
xbps-query(8): --regex now matches EREs in case insensitive mode.
2015-01-18 17:50:26 +01:00
Juan RP
1251583154
xbps-{pkgdb,reconfigure}: flush pkgdb in case it was modified.
...
Regression introduced with the recent xbps_end() changes.
2015-01-17 12:06:13 +01:00
Juan RP
676888b5c1
xbps-query: optimize the search mode with --regex (compile ERE once).
2015-01-14 20:53:01 +01:00
Juan RP
8f1e7d9e55
question: accept enter key as default preset value.
2015-01-12 10:22:30 +01:00
Juan RP
f7142412c9
utils: implement issue #73 (only pay attention to the first char).
...
The answer can now just be 'y/Y' to accept it or 'n/N' to deny it.
Close #73
2015-01-11 16:52:04 +01:00
Juan RP
b23855f692
xbps_repo_close: only unlock the file lock if repo was opened as such.
...
If xbps_repo_open() was called with the lock arg set, xbps_repo_close()
will now unlock the repo file lock, without the need to set it.
This avoids the need to always unlock the file lock even if it wasn't
locked previously. This also introduceds an ABI/API break, but this
way it's cleaner.
2015-01-11 09:11:38 +01:00
Juan RP
9aaff4e2d0
xbps-dgraph: -m --metadata was documented but not enabled in getopt (oops).
2015-01-11 08:58:02 +01:00
Juan RP
d4a25b7ebf
xbps-remove: xbps_pkgdb_unlock -> xbps_end.
2015-01-10 19:26:24 +01:00
Juan RP
ee175a2a68
Improve xbps_end() and use it before exit(3)ing.
...
- Simplify xbps_repo_open::repo_get_dict().
- Use xbps_end() in the utils where necessary.
- Make xbps_end() call xbps_pkgdb_unlock() if necessary.
- Make xbps_end() release rpool resources.
- Make xbps_end() release resources from xbps_handle.
- Fixed 90% of reported leaks (still reachable at exit) from valgrind.
That was to silence valgrind's memcheck with --leak-check=full.
2015-01-10 19:11:31 +01:00
Juan RP
d98442d84e
xbps-{install,query}.8: absolute path in --repository is not a requirement now.
2015-01-10 12:02:20 +01:00
Juan RP
b09faadebc
xbps-{install,query}: --repository now accepts relative paths in local repos.
2015-01-10 11:59:31 +01:00
Juan RP
283fb4bc06
xbps-remove: misc changes to the clean-cache mode.
...
- If orphans mode is not set, exit directly.
- Simplify the clean-cache code to avoid unnecessary allocs in some cases.
2015-01-10 11:13:26 +01:00
Juan RP
ee9aa98a64
xbps-query: some minor memleaks found by valgrind.
2015-01-10 08:01:36 +01:00
Juan RP
cdf7fc81af
xbps-query(8): performance improvement to the ownedby mode with --regex.
...
Only compile the ERE once, rather than on any file. Found and suggested
by Christian Neukirchen (@chneukirchen).
2015-01-08 10:32:08 +01:00
Juan RP
df1608d47d
xbps-pkgdb: drop packaged-with
from pkgdb; unnecessary and obsolete.
2014-12-26 15:53:02 +01:00
Juan RP
59096a866b
bin/*/*.8: mention system configuration directory.
2014-12-15 09:24:55 +01:00
Juan RP
c8ecf4ac6c
xbps-reconfigure(8): new option -i, --ignore to ignore pkgs with -a, --all.
...
-i, --ignore can be specified multiple times and can be used to
ignore configuration of those packages while configuration of all
packages is being performed.
Close #67
2014-12-09 13:10:48 +01:00
Juan RP
925ec15c3d
xbps-rindex: do not add "packaged-with" obj to the index.
...
With our current xbps-src it's unnecessary because the current git
revision is already recorded in "source-revisions".
2014-12-09 12:41:33 +01:00
Juan RP
b4ce0f1d0f
Fix #71 (Tiny display bug in the column output mode)
2014-12-09 12:33:58 +01:00
Juan RP
395e147c6c
xbps.d(5) - XBPS configuration directory
2014-12-09 11:41:35 +01:00
Juan RP
c8d91348a1
xbps-rindex.8: improve -s --sign mode.
2014-12-06 11:23:41 +01:00
Juan RP
70d5cea79c
xbps-{install,query}.8: document -R and --repository independently.
2014-12-06 11:21:30 +01:00
Juan RP
4d5eb2b18e
xbps-{install,query}.8: --repository opt expects abs paths for local repos.
2014-12-06 11:10:33 +01:00
Juan RP
8839669710
xbps-query/list: pass correct length to strlcat to truncate results.
2014-12-02 13:06:29 +01:00
Juan RP
a71e428610
xbps-rindex.8: clarify abs paths, detail -f with -a.
2014-11-29 08:27:33 +01:00
Juan RP
b78d78a1cd
xbps-dgraph: wrote a manual page.
2014-11-29 08:18:36 +01:00
Juan RP
f890a17b84
xbps-dgraph: update options to match other utils.
2014-11-29 08:06:26 +01:00
Juan RP
fe9a795995
xbps-{install,query}: added -M --memory-sync option.
...
This explicitly enables the in memory fetch/store of remote repository
data archives mode, ignoring existing on-disk repodata archives.
This changes the previous behaviour of falling back to this mode if no
on-disk repodata archives were found.
Thanks to @Gottox and @dominikh for comments.
2014-11-27 10:42:05 +01:00
Juan RP
ad9cbaf777
xbps-query: print 'source-revisions' obj as any other metadata obj.
...
There's no reason to special case it anymore.
2014-11-25 09:01:16 +01:00
Juan RP
89d11e871f
xbps-{install,query}: added -i to ignore repos defined in xbps.d.
...
See the NEWS file for more information.
2014-11-21 10:56:41 +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
1789e527a9
Gratuitous ABI break: xbps_binpkg_get_xxx() -> xbps_archive_fetch_xxx().
2014-11-21 09:51:57 +01:00
Juan RP
7e6b38f951
xbps-dgraph: take into account virtual pkgs in fulldepgrah mode (-f).
2014-11-20 19:49:57 +01:00
Juan RP
edb613f1d5
xbps-dgraph: remove dead code; use more saner defaults.
2014-11-20 17:15:43 +01:00
Juan RP
4b3a4159a0
xbps-dgraph: update graph label for -f mode
2014-11-20 16:28:47 +01:00
Juan RP
8c4d41ccfd
xbps-dgraph: simplify.
2014-11-20 16:24:43 +01:00
Juan RP
0b50672a33
xbps-dgraph: added support to generate full dependency graphs.
...
- Full dependency graphs can be generated with -f in pkgdb or repository
mode (-R).
- Removed -o and writing dot files by default, the generated dot file
is written to stdout.
- Misc tweaks that I cannot remember right now.
2014-11-20 13:32:21 +01:00
Juan RP
2e3213de25
xbps-dgraph: remove code to colorize optional objs (unmaintanable).
2014-11-20 10:48:28 +01:00
Juan RP
1bae26606e
Introduce xbps_{pkgdb,rpool}_get_pkg_fulldeptree().
...
These routines return a xbps_array_t with a full sorted dependency graph
for the target pkg, by querying pkgdb or rpool.
Update xbps-query(8) to use the new libxbps API.
2014-11-20 09:23:51 +01:00
Juan RP
2c01994497
xbps-dgraph: random changes as anticipation of more features.
...
* Rather than requiring a config file to be generated with -g, if -c
is unset and default config file does not exist, use builtin defaults.
* Always process all available pkg objs.
* -R is now used to enable repository mode rather than checking revdeps.
* -o removed; simply use <pkgname>.dot.
2014-11-19 18:21:32 +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
83d00e4e8c
xbps-query/search: pass correct length to strlcat to truncate results.
2014-11-18 07:35:25 +01:00
Juan RP
d53b2c57cc
xbps-query.8: more detailed info about --cat.
2014-11-17 19:40:35 +01:00
Juan RP
77c6c3e504
Introduce xbps_binpkg_get_file_into_fd() and use it for xbps-query(8) --cat.
...
This allows you to print to stdout any file stored in a binary package,
locally or remotely!
$ xbps-query -R --cat=/usr/bin/ls coreutils > ls
$ file ls
ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=7a195fc46d1d5cdca32bfccd3b30f81784e342ed, stripped
$
2014-11-17 18:43:08 +01:00
Juan RP
db14524cf3
xbps-query: unbreak -f/--files mode.
2014-11-17 16:10:55 +01:00
Juan RP
a6516505e9
xbps-query(8: added --cat=FILE mode support.
...
- This mode prints to stdout the matching FILE stored in a binary package.
- ABI break: renamed xbps_get_pkg_plist_from_binpkg() xbps_binpkg_get_plist().
- Added xbps_binpkg_get_file() as a generic way to get pkg file contents.
- Removed useless comments from xbps_api_impl.h.
2014-11-17 15:45:46 +01:00
Juan RP
3afb9d709d
Get rid of repodata index-files; the archive is now 8x smaller.
...
See the NEWS file for more information.
2014-11-13 17:09:43 +01:00
Juan RP
fcaf18c494
bin/xbps-install/util.c: add a newline before the header (requested by chris2).
2014-11-13 15:25:35 +01:00
Juan RP
039a155918
xbps-create(8): fix #64 "incorrect installed-size with hardlinks"
2014-11-12 12:37:35 +01:00
Juan RP
84be0dcd8b
xbps-rindex: use correct argv index.
2014-11-06 11:33:04 +01:00
Juan RP
51ec53846c
xbps-rindex: added 'd' to shortopts.
2014-11-06 11:14:29 +01:00
Juan RP
40c3e048b0
xbps-rindex: added -d/--debug option.
2014-11-06 10:54:52 +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
578c3add0c
xbps-uchroot: mount sys/dev recursively to access to /dev/pts (thanks chris2).
2014-11-05 15:57:21 +01:00
Juan RP
42bbc60154
xbps-install: fix cnt stats and align issues in the column output mode.
...
- The counter stats were not taken into account.
- Align version/new version with pkgs that have long versions (chromium).
2014-11-05 10:16:57 +01:00
Juan RP
59781f4e91
bin/xbps-install/fetch_cb.c: use STDOUT_FILENO.
2014-10-30 11:25:37 +01:00
Juan RP
b179c16fc0
xbps-{install,remove}: implemented column/wide output mode.
...
See https://github.com/voidlinux/xbps/issues/63 for info.
Close #63
2014-10-30 11:23:10 +01:00
Juan RP
3f7cd86d9d
bin/xbps-query/list.c: remove unused header.
2014-10-30 11:00:01 +01:00
Juan RP
12e18ae579
bin/xbps-install/util.c: use STDOUT_FILENO.
2014-10-30 10:59:42 +01:00
Juan RP
15943d990c
xbps-query: fix --fulldeptree with multiple pkgs using vpkgs and non vpkgs.
2014-10-29 09:46:54 +01:00
Juan RP
fa6f20ec4f
xbps-pkgdb: rework symlinks checks to avoid false positives with -r.
2014-10-25 10:11:46 +02: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
adc0643ee4
Fully switch to zplists.
2014-10-17 10:27:58 +02:00
Juan RP
84a16c86cc
xbps-query/search: simplify.
2014-10-17 10:09:34 +02:00
Juan RP
b157407684
bin/xbps-remove/clean-cache.c: CID 62747 (toctou)
2014-10-08 10:09:58 +02:00
Juan RP
d4374fb9af
xbps-rindex: fix CID 62741 correctly (untrusted value as argument)
2014-10-07 10:11:14 +02:00
Juan RP
8d4a01baa4
bin/xbps-checkvers/main.c: CID 62712 (NULL pointer dereference)
2014-10-07 07:55:54 +02:00
Juan RP
eb0674376f
bin/xbps-checkvers/main.c: CID 62711 (NULL pointer dereference)
2014-10-07 07:53:49 +02:00
Juan RP
4a188a433a
bin/xbps-rindex/index-clean.c: CID 62708 (NULL pointer dereference)
2014-10-07 07:50:03 +02:00
Juan RP
8c5ef42935
bin/xbps-checkvers/main.c: CID 62705 (argument cannot be negative)
2014-10-07 07:33:28 +02:00
Juan RP
960c3fdcdf
bin/xbps-pkgdb/check.c: CID 62721 (argument cannot be negative)
2014-10-07 07:25:25 +02:00
Juan RP
5bec421726
bin/xbps-rindex/index-add.c: add assertions to make coverity happy (CID 62741)
2014-10-06 17:13:06 +02:00
Juan RP
b96d1c9f4e
bin/xbps-rindex/sign.c: CID 62699 (dereference NULL return value)
2014-10-05 13:20:18 +02:00
Juan RP
1edd4e2ecf
bin/xbps-create/main.c: CID 62678 (unchecked return value)
2014-10-05 12:33:45 +02:00
Juan RP
f74f079d9d
bin/xbps-checkvers/main.c: CID 62673 (unchecked return value)
2014-10-05 12:25:58 +02:00
Juan RP
616af5c207
bin/xbps-create/main.c: CID 62713 (dead code)
2014-10-05 12:16:39 +02:00
Juan RP
fe80347a32
bin/xbps-checkvers/main.c: use-after-free (CID 62743)
2014-10-05 10:06:42 +02:00
Juan RP
14da590f41
bin/xbps-checkvers/main.c: fix CID 62667 (2/2)
2014-10-05 09:56:42 +02:00
Juan RP
d006d60497
bin/xbps-rindex/index-clean.c: use-after-free (CID 62752)
2014-10-05 09:47:48 +02:00
Juan RP
15743d20ea
bin/xbps-checkvers/main.c: fix CID 62667 correctly.
2014-10-05 09:44:39 +02:00
Juan RP
54b72d8f81
bin/xbps-rindex/index-add.c: fix CID 62685 correctly.
2014-10-05 09:35:42 +02:00
Juan RP
2902a43aab
bin/xbps-query/list.c: fix CID 62690 correctly.
2014-10-05 09:31:32 +02:00
Juan RP
3b0917c24a
bin/xbps-rindex/index-add.c: use-after-free (CID 62764)
2014-10-05 09:23:03 +02:00
Juan RP
f7441d24cf
bin/xbps-create/main.c: fix CID 62686 correctly; all tests pass now.
2014-10-05 08:55:32 +02:00
Juan RP
9f873072b4
bin/xbps-query/list.c: resource leak (CID 62690)
2014-10-05 08:14:17 +02:00
Juan RP
2fe9fbe777
bin/xbps-create/main.c: Out-of-bounds write (CID 62686)
2014-10-05 08:09:42 +02:00
Juan RP
ced1ce4b40
bin/xbps-rindex/index-add.c: resource leak (CID 62685)
2014-10-05 08:06:12 +02:00
Juan RP
0af6db77e6
bin/xbps-remove/clean-cache.c: resource leak (CID 62680)
2014-10-05 08:00:31 +02:00
Juan RP
596a37defa
bin/xbps-checkvers/main.c: buffer not NUL terminated (CID 62667)
2014-10-05 07:55:27 +02:00
Juan RP
810c5d8de0
bin/xbps-pkgdb/check_pkg_symlinks.c: buffer not NUL terminated (CID 62665)
2014-10-05 07:43:39 +02:00
Juan RP
b5713ecf12
bin/xbps-rindex/remove-obsoletes.c: resource leak (CID 62695)
2014-10-05 07:40:18 +02:00
Juan RP
73e81addba
bin/xbps-rindex/remove-obsoletes.c: resource leak (CID 62707)
2014-10-05 07:34:15 +02:00
Juan RP
62cb6f14e6
bin/xbps-rindex/index-add.c: resource leak (CID 62718)
2014-10-05 07:31:07 +02:00
Juan RP
a15dc24fe8
bin/xbps-pkgdb/check_pkg_symlinks.c: uninitialized pointer read (CID 62730)
2014-10-05 07:23:53 +02:00
Juan RP
83c981884c
bin/xbps-query/show-deps.c: initialize a var to make gcc-4.6 happy.
2014-10-04 22:08:07 +02:00
Juan RP
8f25116d54
bin/xbps-install/main.c: rename a var to make gcc-4.6 happy.
2014-10-04 22:05:33 +02:00
Juan RP
966718bb7d
bin/*/*.8: fixed mdoc errors/warnings reported by mandoc -Wall.
2014-09-30 11:36:08 +02:00
Juan RP
ef7e8bdfe3
xbps-query.8: mdoc fix.
2014-09-28 09:29:08 +02:00
Enno Boland
7e47614b4d
bin/xbps-checkvers: take reverts field in account
2014-09-27 20:51:21 +02:00
Juan RP
0f5ce62ba9
xbps-create: fix build introduced in previous.
2014-09-27 13:11:43 +02:00
Juan RP
72cefcfc83
Introduce xbps_mmap_file() and use it in strategic points.
...
Rather than using a random buffer from stack or heap, and decide
what size to use, create a private memory mapped object...
This simplifies the code in lib/verifysig.c and xbps-create.
2014-09-27 13:00:34 +02:00
Juan RP
ba0cdabe1e
bin/xbps-pkgdb/check.c: fix assertion due to double free.
2014-09-27 12:22:13 +02:00
Enno Boland
2fe65dccec
rename xbps-packages to void-packages
2014-09-26 14:24:06 +02:00
Enno Boland
b5f357bd5e
bin/xbps-create: update manpage.
2014-09-23 20:50:59 +02:00
Enno Boland
78203c1735
bin/xbps-rindex: fix adding packages with reverts.
2014-09-23 19:14:45 +02:00
Enno Boland
50fb6c1605
rename xbps_pkgver_is_reverted to xbps_pkg_reverts
2014-09-23 13:54:06 +02:00
Enno Boland
ebd614dff6
bin/xbps-rindex: take the revert field in account.
...
- if the user wants to add a package which is older than the
one in the index, xbps-rindex will check if the package
reverts the one on the index. If so the package will be added
regardless of its version
- if the user wants to add a package which is newer than the
one on the index, xbps-rindex will check if the package on the
index reverts the one the user wants to add. If so the package
will be skipped regardless of its version.
2014-09-23 13:54:06 +02:00
Enno Boland
33032429c2
bin/xbps-create: allow to define the reverts field for a package.
2014-09-23 13:54:06 +02:00
Christian Neukirchen
cfc0e3b9d9
xbps-create: do not compress with xz -9
...
xz -9 is very expensive in terms of CPU and memory usage, and also
memory usage for decompression. Thus we stick to default of -6 for
xz. For gzip and bzip2, -9 is ok.
2014-09-19 16:38:31 +02:00
Juan RP
f52eea34d4
xbps-install: abort transaction if there's insufficient disk space on rootdir.
...
The free disk space wasn't computed correctly and xbps-install(8) wasn't
handling ENOSPC rval in xbps_transaction_prepare().
2014-09-18 12:11:02 +02:00
Juan RP
20326738ed
bin/xbps-install/fetch_cb.c: optimize: only call isatty() once.
2014-09-18 10:21:24 +02:00
Juan RP
2550d3d006
xbps-query: do not print ANSI escape codes if stdout is not a tty.
2014-09-18 10:14:42 +02:00
Juan RP
f80df0fa22
xbps-{install,remove}: print guards in post-install/pre-remove messages.
...
This avoids the need to manually add them to the {INSTALL,REMOVE}.msg
files in binary packages, and saves some bytes in the repository archive
and binary packages.
Idea by @dominikh.
2014-09-16 09:58:27 +02:00
Juan RP
dee7852af8
xbps-rindex: fix -a/--add mode repodata archive permissions.
...
The repodata archive wasn't group writable, resulting in a new archive
created from scratch if the fd wasn't writable.
repodata archives are now created with 0664 mode, this way its main group
also can write to it.
2014-09-15 12:15:42 +02:00
Juan RP
567382c3a2
xbps-rindex: fix musl build: needs -lcrypto explicitly.
2014-09-14 20:01:05 +02:00
Juan RP
e902619220
Remove empty self replaced pkg arrays from pkgdb.
2014-09-14 18:16:43 +02:00
Juan RP
2b7c4d568a
Remove pkg self replacement from pkgdb; this must not be propagated.
2014-09-13 18:14:04 +02:00
Juan RP
411480e43d
pkgdb: repository-origin -> repository to match the repo pkg obj.
2014-09-13 10:49:13 +02:00
Juan RP
287665009b
Drop unused headers.
2014-09-13 08:54:12 +02:00
Juan RP
f26a9c1e2b
xbps-{install,query}.8: sync with reality.
2014-09-12 12:15:03 +02:00
Juan RP
39aca1bbc9
Implement shlib checks for all pkg revdeps in the transaction.
...
Added three new test cases to verify its correctness.
2014-09-12 11:49:34 +02:00
Juan RP
b306adf52b
bin/xbps-query/ownedby.c: take into account pkgs with no files.
2014-09-11 18:10:04 +02:00
Juan RP
dea7ea888e
bin/*/*.8: sync with reality.
2014-09-11 12:21:33 +02:00
Juan RP
f9d162e639
xbps-install: show "pkgname (curver -> newver)" in updates; requested by @chneukirchen.
2014-09-11 11:43:15 +02:00
Juan RP
e32f7f4909
xbps-pkgdb: unfix previous, pkg metafile must be internalized.
2014-09-11 08:04:51 +02:00
Juan RP
bd2bb98fa7
xbps-pkgdb: update for pkgdb-0.38.
2014-09-11 08:00:37 +02:00
Juan RP
ed67cad564
xbps-query(8): added local search mode support (-s [-p]).
2014-09-11 01:15:51 +02:00
Juan RP
01dbb968dd
Welcome pkgdb-0.38.
2014-09-11 00:12:12 +02:00
Juan RP
56ab438d3c
xbps-install: indentation.
2014-09-07 09:34:33 +02:00
Juan RP
05e7a59f03
xbps_handle: constify xbps_xxx_cb_data argument.
2014-09-06 09:46:03 +02:00
Juan RP
1a024773af
xbps-remove: use xbps_binpkg_{arch,pkgver} for -O (clean-cache).
...
The new implementation is almost 1s faster than before on my system.
2014-09-05 21:09:27 +02:00
Juan RP
d7d749312d
xbps-rindex: use xbps_binpkg_{arch,pkgver} for -r (remove-obsoletes).
...
This is magnituds faster than before; some results:
$ for f in 1 2 3; do time xbps-rindex -r /var/cache/xbps/ &>/dev/null; done
real 0m0.624s
user 0m2.163s
sys 0m0.032s
real 0m0.590s
user 0m2.159s
sys 0m0.023s
real 0m0.584s
user 0m2.144s
sys 0m0.039s
$ for f in 1 2 3; do time LD_PRELOAD=$PWD/lib/libxbps.so.2.0.0 ./bin/xbps-rindex/xbps-rindex -r /var/cache/xbps &>/dev/null; done
real 0m0.037s
user 0m0.030s
sys 0m0.010s
real 0m0.036s
user 0m0.032s
sys 0m0.007s
real 0m0.037s
user 0m0.035s
sys 0m0.006s
$
2014-09-05 21:07:07 +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
013731c502
Acquire/release a POSIX file lock on repository archives.
...
- xbps_repo_open() accepts a third argument (bool) to acquire a POSIX file
lock on the repository archive.
- xbps_repo_close() accepts a second argument (bool) to release a POSIX file
lock on the repository archive.
This avoids the issue of multiple xbps-rindex(8) processes being blocked
even for different repositories on the same architecture, resulting in
unnecessary contention.
2014-09-05 12:26:42 +02:00
Juan RP
bc92b387cb
Really fix #53 this time: with or without -n.
2014-08-23 16:25:51 +02:00
Juan RP
8939e8697d
bin/*/*.8: add missing End-List macros (.El).
2014-08-23 09:26:02 +02:00
Juan RP
c8c331bd9a
xbps-uchroot.8: document required kernel options.
2014-08-23 09:20:07 +02:00
Juan RP
74b3cb0e64
Only build/install xbps-uchroot(8) on linux.
2014-08-23 09:06:46 +02:00
Juan RP
1d2dabca09
xbps-query(8): fix --fulldeptree with pkgs that have multiple vpkgs.
2014-08-23 08:47:38 +02:00
Juan RP
4c14785480
Fix #53 (xbps-install with multiple arguments shouldn't fail if one is already installed).
2014-08-23 08:02:40 +02:00
Juan RP
0e745c29e8
xbps-install.8: clarify -ff behaviour.
2014-08-21 19:05:07 +02:00
Juan RP
3f22aca00c
xbps-query: fix an obvious tyop that broke -RX.
2014-08-19 16:59:25 +02:00
Juan RP
d7c7783ac2
xbps-query(8): added --fulldeptree to print a full dependency tree with -x.
...
This fixes the regression introduced in 0.37 with -xx; -xx is not supported
anymore, use `--fulldeptree -x`.
2014-08-19 13:14:37 +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
Juan RP
c5d56bbf83
xbps-uchroot(8): do not remount / unnecessarily.
2014-08-12 07:53:59 +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
c301cc32e5
xbps-query(8): -S mode prints keys with ANSI bold escape code.
2014-08-05 01:22:58 +02:00
Juan RP
0b116a0f3f
xbps-query(8): --search --property now works with <number> objects.
...
For example to find a package where its binpkg file is bigger than 1GB:
$ xbps-query --regex -s [0-9][0-9][0-9][0-9]MB -p filename-size
2014-08-02 12:11:28 +02:00
Juan RP
766cbcf683
xbps-remove(8): fix assertion when the cachedir is empty.
2014-08-02 10:00:54 +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
a28046332f
Implemented support for pre-remove and post-install messages.
...
Close #44
2014-07-27 11:24:49 +02:00
Juan RP
38aba4ce60
xbps-install: fix previous of previous (heh).
2014-07-14 09:49:21 +02:00
Juan RP
314e345a5e
xbps-install: fix previous; only print pkgs that have "download" property.
2014-07-14 09:43:52 +02:00
Juan RP
26fca48da2
xbps-install(8): added support to list pkgs that will be downloaded from remote repos.
2014-07-14 09:30:28 +02:00
Juan RP
4356b6fd65
Abort transaction if there's not enough free space on disk.
...
Close #7 .
2014-07-13 11:45:04 +02:00
Juan RP
ad28774f2f
bin/xbps-install/transaction.c: simplify.
2014-07-13 09:34:54 +02:00
Juan RP
36ad783f07
xbps-query/search: handle vpkg matches into its own conditional; a small performance improvement.
2014-07-06 09:33:59 +02:00
Juan RP
9349e5fc40
xbps-install/state_cb.c: do not treat XBPS_STATE_DOWNLOAD always as an error.
2014-07-03 08:33:37 +02:00
Juan RP
e60677116d
Fix #43 (xbps-install: unhelpful message for invalid dependency)
...
If a package that is going to be installed or updated contains invalid
dependencies return ENXIO and XBPS_STATE_INVALID_DEP xbps state to clients.
This improves the error messages returned to the clients when such
condition happens.
2014-07-02 10:59:25 +02:00
Juan RP
6bb61adb0e
Enable syslog logging by default; updated API to use xbps_handle::flags.
2014-06-04 09:39:02 +02:00
Juan RP
a3c253d03c
xbps-query: check regcomp() return value.
2014-06-03 12:50:34 +02:00
Juan RP
b9e44009d9
xbps-create(8): new option -t, --tags to store tags/categories metadata.
2014-05-29 11:36:39 +02:00
Juan RP
9e1132c950
xbps-query.8: explain modes and accepted options a bit more detailed.
2014-05-27 12:01:48 +02:00
Juan RP
61a1d33995
xbps-install(8): implemented single pkg updates without -u, --update.
...
The -u, --update is now only necessary to perform full system updates.
Close #35 (https://github.com/voidlinux/xbps/issues/35 )
2014-05-27 11:33:45 +02:00
Juan RP
91344451a3
xbps-query: another argc fixup.
2014-05-27 08:19:08 +02:00
Juan RP
ca8619dd57
xbps-query: fix fallout due to no_argument -> required_argument changes.
2014-05-26 18:05:30 +02:00
Juan RP
0ffc536b48
xbps-query: initialize some modes correctly; remove obsolete -D option.
2014-05-26 17:59:58 +02:00
Juan RP
f1cb7f43dc
xbps-query: fix arg[cv] logic added in previous.
2014-05-26 17:52:41 +02:00
Juan RP
0eadaab19d
xbps-query: added --regex to use EREs in ownedby and search modes.
...
This replaces previous -S, --search-regex option. The regex option
can now be used in the ownedby and search modes.
Also added -S, --show option which is the default mode if no other
mode set, and defaults to it to preserve compatibility.
2014-05-26 17:30:44 +02:00
Juan RP
0fbab93383
xbps-query/search.c: simplify regex matching code.
2014-05-26 08:36:33 +02:00
Juan RP
1f0605810c
xbps-query: added -S, --search-regex to match EREs against pkg props in repos.
2014-05-25 11:03:31 +02:00
Juan RP
6b83ec7039
xbps-create: initialize two vars to make gcc-4.9 with -fstack-protector-strong happy.
2014-05-16 09:47:35 +02:00
Juan RP
ae70e2c7f4
xbps-uchroot: fixed clang warnings.
2014-05-15 17:05:11 +02:00
Juan RP
ccc5a29a27
xbps-pkgdb/check_pkg_symlinks: avoid many small allocations and fix a small memleak.
2014-05-13 22:54:43 +02:00
Juan RP
26c1e80933
xbps-remove(8): -n,--dry-run option does not need pkgdb write perms anymore.
2014-05-06 16:25:52 +02:00
Juan RP
bbae14f187
xbps-remove(8): -O,--clean-cache is now multithreaded.
2014-05-06 12:17:18 +02:00
Juan RP
35de44fcbd
xbps-query(8): fix a segfault with -Rf if pkg is in repodata but not its binpkg.
2014-05-02 17:23:53 +02:00
Juan RP
bbc737a3ee
xbps-uhelper: apply some indentation to usage().
2014-04-21 11:03:18 +02:00
Juan RP
43090cef2a
Xref xbps-uchroot(8)
2014-04-21 10:58:09 +02:00
Juan RP
bb491e2667
libxbps: detect and ignore incorrect deps of a pkg if those are virtual pkgs.
2014-04-20 16:54:50 +02:00
Juan RP
119d059c9b
bin/xbps-rindex/index-add.c: fix a mistake in previous cleanups.
2014-04-20 10:36:17 +02:00
Juan RP
dacbb2f22f
Fixed some warnings reported by clang.
2014-04-20 10:02:54 +02:00
Juan RP
5c3c192d16
xbps-uchroot(8): now with a manual page.
2014-04-18 09:45:25 +02:00
Juan RP
1d74c1c144
xbps-install(8): -n,--dry-run option does not need pkgdb write perms anymore.
2014-04-18 09:06:53 +02:00
Juan RP
1fb3c501ed
xbps-{install,query}.8: clarify package expression matching.
2014-04-18 08:53:14 +02:00
Juan RP
20fcf3ad0a
xbps-install: sync usage() with reality.
2014-04-17 11:39:47 +02:00
Juan RP
f3274fd13a
xbps-query: sync usage() with reality.
2014-04-17 11:39:36 +02:00
Juan RP
5d0ffd8f03
xbps-checkvers: added -d,--debug and -R,--repository=url options.
...
- -d, --debug new option to enable xbps debug output.
- --distdir short option has been changed to -D.
- -R, --repository=url new option to append repos to the xbps list.
2014-04-17 10:31:00 +02:00
Juan RP
c2c149bd29
xbps-checkvers: use --longopt=FOO in usage().
2014-04-17 10:03:33 +02:00
Juan RP
ed70fe5009
xbps-query(8): fix a segfault with '-vL' for local unsigned repositories.
2014-04-13 12:24:26 +02:00
Juan RP
b71bda2ba4
xbps-create(8): new option (--compression) to set compression format.
2014-04-11 14:16:58 +02:00
Juan RP
0c3638231c
xbps-checkvers: use --distdir option as it is in the original implementation.
2014-04-07 14:11:47 +02:00
Juan RP
8244f57320
bin/*: update manpages with Xref xbps-checkvers(8).
2014-04-07 12:22:55 +02:00
Juan RP
1800aa3434
xbps-checkvers: added a manpage.
2014-04-07 12:20:09 +02:00
Juan RP
e559b9ef9e
xbps-checkvers: added -V --version flag; update copyright.
2014-04-07 12:18:20 +02:00
Juan RP
806bcdfe54
xbps-checkvers: make usage() follow xbps style.
2014-04-07 10:53:32 +02:00
Juan RP
1ff1fc90cb
Renamed xbps-repo-checkvers -> xbps-checkvers.
2014-04-07 10:45:25 +02:00
Juan RP
f270e6a025
xbps-repo-checkvers: added support to check for outdated pkgs in a rootdir.
...
New options:
-i, --installed [to check for outdated pkgs in a rootdir]
-r, --rootdir [to set the root directory]
The utility name does not make sense anymore and will be renamed in an
upcoming commit.
2014-04-07 10:39:12 +02:00
Juan RP
eb1f1d197d
Merge xbps-repo-checkvers from https://github.com/xdave/xbps-src-utils
...
This is the 2-clause BSD implementation that does not use any external
dependency (other than libxbps).
Written by xdave.
Made some minor changes to build cleanly.
2014-04-06 12:21:24 +02:00
Juan RP
9ace61225d
xbps-uchroot: new utility merged from xbps-src, must have appropiate permissions to work.
2014-04-01 10:26:22 +02:00
Juan RP
ee9479cc57
xbps-rindex: --sign bugfix to avoid garbage in the PEM RSA public key buffer.
2014-03-31 12:00:08 +02:00
Juan RP
981bff38cf
xbps-query.8: sync with reality.
2014-03-21 14:15:25 +01:00
Juan RP
cb66092fbc
xbps-query: added support for -p/--property argument in search mode.
...
See the NEWS file for more information.
2014-03-21 13:19:40 +01:00
Juan RP
f2868856ee
xbps-query: in local mode print all objs from pkgdb.
2014-03-21 11:14:16 +01:00
Juan RP
9eebead5d7
xbps-query: print the 'hold' object on installed packages.
2014-03-21 09:33:18 +01:00
Juan RP
878d2bf7e2
xbps-dgraph: only set rootdir it was set ( fix #33 ).
2014-03-10 10:20:04 +01:00
Juan RP
2bb915c9d5
xbps-uhelper: update usage() for fetch and add Gottox to copyright.
2014-03-04 15:08:14 +01:00
Juan RP
0416b067d0
Use a POSIX lock for pkgdb and only issue pkgdb writes in exact points.
...
- Rather than using a POSIX named semaphore use a POSIX lock (lockf(3))
for pkgdb for writers. Writers that cannot acquire the pkgdb lock will
get EAGAIN rather then being blocked.
- Due to using a file lock we cannot write the pkgdb every time a package
is being unpacked, configured or removed. Instead pkgdb is only written
at the end of a specific point in the transaction (unpack, configure, remove)
or via xbps_pkgdb_unlock().
2014-03-04 14:37:10 +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
f74bf1c1c8
New custom configuration file format that does not need confuse.
2014-02-25 16:42:52 +01:00
Juan RP
73764a90fe
xbps-remove: missed an error path where pkgdb lock must be released.
2014-02-23 10:31:36 +01:00
Juan RP
4d1cdcac0c
Fix concurrency issues in pkgdb: only allow 1 write transaction at the same time.
...
This implementation relies on a POSIX named semaphore, which is also
required by xbps-rindex(8).
2014-02-23 08:23:14 +01:00
Juan RP
f97ea2b915
xbps-remove: make -O also remove signature files and skip pkgs with unmatched arch.
2014-02-07 03:50:30 +01:00
Juan RP
9fe6b363d6
Revert "xbps-rindex: [sign] free pubkey data obj after externalizing index-meta."
...
This reverts commit 11e04685ef
.
2014-02-06 16:34:59 +01:00
Juan RP
06b0f86ef4
Revert "xbps-rindex: [sign] pubkey buffer must be kept until index-meta is externalized too."
...
This reverts commit cbe05bd0f4
.
2014-02-06 16:34:45 +01:00
Juan RP
cbe05bd0f4
xbps-rindex: [sign] pubkey buffer must be kept until index-meta is externalized too.
2014-02-06 12:26:17 +01:00
Juan RP
11e04685ef
xbps-rindex: [sign] free pubkey data obj after externalizing index-meta.
...
Otherwise the externalization process might give unexpected results.
2014-02-06 11:52:36 +01:00
Juan RP
306fe4968e
xbps-rindex: clear file permission bits before creating our named semaphore.
...
Due to the file permission bits (umask(3)) the semaphore wasn't created
with correct permissions.
2014-02-05 15:27:35 +01:00
Juan RP
4f7385e4a6
xbps-rindex: switch named semaphore only for the target architecture.
2014-01-31 18:44:24 +01:00
Juan RP
f5e1fff93a
xbps-rindex: use a POSIX named semaphore to avoid concurrency issues.
2014-01-31 11:35:31 +01:00
Juan RP
915b8b2557
bin/xbps-rindex/sign.c: fix a stupid typo.
2014-01-30 19:46:46 +01:00
Juan RP
ea26fb3d3f
bin/xbps-rindex/sign.c: initialize var for strcmp().
2014-01-30 19:33:14 +01:00
Juan RP
d08e76a386
Keep repo metadata if possible when updating repodata (xbps-rindex -a/-c).
...
API/ABI incompat changes, you've been warned.
2014-01-30 13:07:34 +01:00
Juan RP
b21f4c9a59
xbps-rindex: clean mode: fixed random false positives with multiple threads.
2014-01-29 16:58:38 +01:00
Juan RP
c03505b13e
Fix #30 (segment fault in xbps-rindex)
2014-01-22 11:53:08 +01:00
Juan RP
7f5bd2f8a3
bin/xbps-rindex/sign.c: add 0.27 compat again.
2014-01-21 16:36:44 +01:00
Juan RP
72f37de770
Fix #29 (xbps-rindex does not sign repodata if no pkg has been signed)
2014-01-21 11:06:02 +01:00
Juan RP
5eea259c13
Remove the config.h kludge and override vasprintf detection via HAVE_VASPRINTF.
2014-01-20 18:50:33 +01:00
Juan RP
804a39c63b
Added XBPS_ARCH environment var to override uname(2) machine result.
2014-01-09 11:41:25 +01:00
Juan RP
6537004532
xbps-create: do not use FTW_MOUNT with nftw(3).
...
There's not much point in using FTW_MOUNT anyway because we don't care
if files are in another filesystem. This makes it work with musl
(which uses a different behaviour when FTW_MOUNT is set).
2014-01-08 20:16:02 +01:00
Juan RP
23650f1c66
bin/xbps-rindex/sign.c: add 0.27 compat glue.
2014-01-03 10:53:55 +01:00
Juan RP
3ca442eb3d
xbps-rindex: [add] re-add all package objects to the index.
2013-12-30 10:27:54 +01:00
Juan RP
0a9522210a
bin/xbps-rindex/sign.c: use access(2) to check if pkg signature exists.
2013-12-26 07:59:11 +01:00
Juan RP
3730f9f5a4
bin/xbps-install/state_cb.c: use pkgver obj from pkgdb.
2013-12-25 11:12:03 +01:00
Juan RP
98748bdcd1
bin/xbps-rindex/remove-obsoletes.c: also remove pkg signature files.
2013-12-24 12:02:33 +01:00
Juan RP
0a5fa442f2
bin/xbps-query/list.c: remove extra newline.
2013-12-24 11:08:48 +01:00
Juan RP
e4b2193786
bin/xbps-rindex/sign.c: fix a -Wsign-compare warning.
2013-12-24 10:58:55 +01:00
Juan RP
ec0d38c469
Implement per pkg RSA signatures and on-demand repository access.
2013-12-24 10:43:55 +01:00
Juan RP
0744b76946
xbps-xxx.8: update issues url.
2013-12-17 15:38:56 +01:00
Juan RP
2e45e7c5f7
xbps-remove.8: explain how to show the pkg remove script.
2013-12-17 15:36:07 +01:00
Juan RP
77b41d7696
xbps-reconfigure.8: explain how to show the pkg install script.
2013-12-17 15:28:22 +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
cc19818680
Improve stats in the transaction dictionary.
2013-12-16 07:24:17 +01:00
Juan RP
e8c454f3d2
xbps-query: do not print pkg dirs in local ownedby mode, it's unnecessary.
2013-12-12 15:34:37 +01:00
Juan RP
711f2ea7f5
bin/xbps-rindex/sign.c: fix a double free in error path found by clang-analyzer.
2013-12-11 12:39:15 +01:00
Juan RP
4403caa434
Add repos set in xbps_handle::repositories to the top of the list.
...
That means that now xbps-install(8) and xbps-query(8) --repository
option does not override the repository list of a configuration file.
2013-12-04 16:59:15 +01:00
Juan RP
d98468515a
Fix #25 correctly: compare against repo->signature.
2013-11-30 08:30:25 +01:00
Juan RP
e86f9def03
xbps-rindex: fix #25 (--sign unnecessarily regenerates <arch>-repodata).
2013-11-30 08:04:37 +01:00
Juan RP
7c57918950
xbps-rindex(8): fix #24 and added an ATF test case.
2013-11-29 17:30:45 +01:00
Juan RP
30a500b5b3
xbps-rindex: clean: fix a regression introduced yesterday (use-after-free).
2013-11-28 11:29:48 +01:00
Juan RP
5d63f6f442
xbps-rindex: clean: avoid printing obj key after removal (dangling pointer) v2.
2013-11-27 15:00:37 +01:00
Juan RP
a8dc0dbdec
xbps-rindex: clean: avoid printing obj key after removal (dangling pointer).
2013-11-27 14:54:21 +01:00
Juan RP
ef67b56054
xbps-rindex: clean: ignore invalid entries from index-files.
2013-11-25 11:27:11 +01:00
Juan RP
20213deb10
xbps-rindex: clean: use the correct key from index-files.
2013-11-25 11:05:06 +01:00
Juan RP
ae8925d907
xbps-rindex: in add mode also remove old entry from index-files.
2013-11-25 11:03:51 +01:00
Juan RP
d2f2796c85
xbps-rindex: redo the clean mode in two passes as it was intended in previous commit.
2013-11-25 10:45:05 +01:00
Juan RP
172c84040c
xbps-rindex: fix clean mode while removing obsolete entries on index-files with updates.
2013-11-25 10:16:38 +01:00
Juan RP
17228eb12b
xbps-query(8): do not print useless stuff with -vL.
2013-11-18 16:52:12 +01:00
Juan RP
8882b0215f
Redo how the repository keys are stored.
...
- Repository keys are now stored in a new directory on metadir (/var/db/xbps):
<metadir>/key>
- Repository keys are stored with the hex fingerprint of its RSA
public key in a plist dictionary:
<metadir>/keys/xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.plist
- Drop xbps-rkeys(8) and merge its functionality into xbps-install(8) and
xbps-query(8).
- xbps-query(8) -vL now shows some more details of remote repositories:
3134 http://localhost:8000 (RSA signed, verified)
Signed-by: Void Linux
4096 60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d
16 http://localhost:8000/nonfree (RSA signed, verified)
Signed-by: Void Linux
4096 60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d
Bump XBPS_API_VERSION.
2013-11-18 16:05:46 +01:00
Juan RP
e03d49f6bf
xbps-install: size required on disk == dlsize+instsize.
2013-11-15 10:29:07 +01:00
Juan RP
53ecaf9819
Remove xbps_print_hexfp() from API and move it xbps-rindex, where it belongs.
2013-11-08 09:12:29 +01:00
Juan RP
89c62c626c
xbps-rindex: [clean] the filesclean test now passes successfully.
2013-11-03 11:15:56 +01:00
Juan RP
3602774bc3
xbps-rindex: [clean] make sure to pass a valid repository url.
2013-11-03 10:16:58 +01:00
Juan RP
616d4420d2
xbps-rindex(8): fix #19 . An ATF test-case will be imported later.
2013-11-02 11:34:55 +01:00
Juan RP
f39f7ff2fa
xbps-rkeys: print the error if pubkey cannot be imported.
2013-10-28 12:46:23 +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
ab5b356b5b
xbps-rindex: initialize idxfiles in repo to access to it.
2013-10-18 09:36:25 +02:00
Juan RP
70047586ee
Xref xbps-rkeys(8)
2013-10-12 10:13:32 +02:00
Juan RP
43b9be6046
xbps-rindex(8): added support for XBPS_PASSPHRASE env var.
...
- XBPS_PASSPHRASE (if set) will be supplied as passphrase when signing repos.
- Use the default OpenSSL passphrase cb when loading the private key.
2013-10-12 09:55:03 +02:00
Juan RP
c91050fc35
xbps-rindex(8): added -v --verbose option (mainly for -r mode).
2013-10-10 10:43:01 +02:00
Juan RP
a5ecaa493f
New utility: xbps-rkeys(8) to manage RSA public keys.
2013-10-09 10:13:07 +02:00
Juan RP
250916fa6a
xbps-query: use the _multi version to find out largest pkgver string.
2013-10-08 10:39:20 +02:00
Juan RP
f3b0b19258
xbps-rindex: remove -c --clean mode and adapt to the new libxbps API.
...
- Removed -c --clean mode. It's not too useful and adds a considerable
amount of gratuitous code. It takes almost the same time than
adding all pkgs from scratch.
- When creating the repository data always add the meta plist at the
2nd position in the archive, to optimize its access.
- Misc improvements.
2013-10-07 10:23:14 +02:00
Juan RP
1f270e3a1a
xbps-query: adapt to the new libxbps API.
2013-10-07 10:22:45 +02:00
Juan RP
8d5c48b861
Added support for the long awaited feature: RSA signed repositories.
2013-10-05 11:38:04 +02:00
Juan RP
27db8e89c4
xbps-query: replace -D --defrepo' option with
-R' and `--repository=url'.
...
The argument in `--repository' is optional, therefore must be specified
with `=' to work. If no argument is specified, repository mode is enabled
preserving the repository list of configuration file.
2013-09-18 17:13:43 +02:00
Juan RP
5e1432f418
Added support to specify multiple repositories via cmdline ( close #17 ).
2013-09-18 16:45:05 +02:00
Juan RP
c514894152
xbps-{install,remove}: remove the stupid rw checks on rootdir/metadir.
2013-09-18 15:43:55 +02:00
Juan RP
023484ca0b
Introduce xbps_{array,pkgdb}_foreach_cb_multi() and use it where appropiate.
...
In some tasks the single threaded implementation outperms the multithreaded
one. Use it where it really makes a difference. The _multi() routines do not
spawn any thread if _SC_NPROCESSORS_ONLN == 1.
Bump XBPS_API_VERSION.
2013-09-17 16:30:13 +02:00
Juan RP
af4e90aae8
xbps-rindex: register pkgs in index-files by pkgname and use xbps_array_foreach_cb().
...
This simplifies accessing/removing pkgs in this dictionary.
2013-09-16 10:41:42 +02:00
Juan RP
98e1687ef5
Re-add all pkg metadata objects to the repository index.
2013-09-16 09:09:56 +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
0a48738634
bin/xbps-remove/main.c: fix a memleak in the clean-cache code.
2013-09-15 10:25:47 +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
9a9c816552
xbps-query.8: remove dup block.
2013-09-13 09:17:00 +02:00
Juan RP
24ff0472dd
Use fs blksize from stat(2)ed file when reading archives.
2013-08-29 14:30:14 +02:00
Juan RP
a039330f3c
Misc cleanups: use __attribute__((__unused__)); remove dead code.
2013-08-29 10:45:30 +02:00
Juan RP
add4484ad8
bin/xbps-query/xbps-query.8: document -H --list-hold-pkgs.
2013-08-18 11:06:45 +02:00
Juan RP
22ae6295f5
manpages: use github url for bugreports.
2013-08-18 10:17:45 +02:00
Juan RP
1999fbd771
Relax libarchive version requirement to 2.8.0.
2013-08-16 10:26:36 +02:00
Juan RP
84d14286a8
More libarchive-2.x compat.
2013-08-15 11:55:20 +02:00
Juan RP
776b94e6bc
Remove PackagesOnHold from xbps.conf; use xbps-pkgdb -m hold|unhold instead.
...
To put a package on hold mode:
$ xbps-pkgdb -m hold foo
To unhold the package:
$ xbps-pkgdb -m unhold foo
To list packages on hold mode:
$ xbps-query -H
This also close #12 from github.
2013-08-12 14:46:54 +02:00
Juan RP
9c9d5b58dd
Assume 80 columns if TIOCGWINSZ ws.col is bogus (0).
2013-08-10 12:59:59 +02:00
Juan RP
2f9bd4f9a2
bin/xbps-rindex/remove-obsoletes.c: fix use-after-free.
2013-08-07 16:01:59 +02:00
Juan RP
4428cac154
xbps-query: ignore non working repos; misc fixes.
2013-07-27 20:02:07 +02:00
Juan RP
0c7701f2bc
Introduce xbps_array_foreach_cb() and use it in random code.
...
This routine will spawn a thread per core to process N items stored
in the specified array, the last thread gets the remainder of items left.
Results have shown that xbps benefits if there is a considerable amount
of items and number of threads being spawned.
Use it in xbps_pkgdb_foreach_cb(), xbps-pkgdb(8), xbps-query(8)
and xbps-rindex(8).
On UP systems there's no overhead because pthread(3) is not used at all.
WIP! investigate if it can be used in libxbps (xbps_rpool_foreach()),
and finish conversion of xbps-rindex(8) -c.
2013-07-27 09:47:16 +02:00
Juan RP
84d0e429ab
bin/xbps-query/list.c: simplify list_orphans().
2013-07-27 06:11:48 +02:00
Juan RP
20f2d10527
xbps-query(8): -L now prints all repos, including non working repos ( close #11 ).
2013-07-26 11:42:52 +02:00
Juan RP
e0643acbb0
xbps-query(8): fixed some memleaks in local/remote ownedby mode.
2013-07-21 10:49:30 +02:00
Juan RP
6358cf43fc
xbps-query: fix regression in -R, also print repository string object.
2013-07-07 09:59:25 +02:00
Juan RP
6d87bf04d0
Revert "xbps-rindex: [add] add index-files.plist the first in the repo archive."
...
This reverts commit e76874f513
.
This slows down some ops that were much faster before; will use another approach.
2013-07-04 11:05:42 +02:00
Juan RP
e76874f513
xbps-rindex: [add] add index-files.plist the first in the repo archive.
...
By having index.plist the 2nd entry in archive there are more chances
to skip identical bytes in the archive via rsync.
2013-07-04 03:33:42 +02:00
Juan RP
505a933097
Added support to verify reverse dependencies in a transaction.
...
See https://plus.google.com/106812073015308749022/posts/ZXMHimd8iKd
2013-06-27 16:52:31 +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
55af300e65
xbps-create: needs stdarg.h.
2013-06-19 11:28:51 +02:00
Juan RP
02a11ed08c
xbps-rindex: add: remove unused headers; prop_array_count checks for NULL pointers.
2013-06-19 09:20:44 +02:00
Juan RP
03575cecd0
xbps-create: s/size_t/unsigned int/ to iter in prop_arrays.
2013-06-15 10:29:43 +02:00
Juan RP
3abe48b68a
Introduce xbps_repo_get_pkg_plist() and use it in xbps-query -R.
2013-06-14 10:22:10 +02:00
Juan RP
5c3985ddf1
xbps-query: search: simplify and use xbps_match_virtual_pkg_in_dict().
2013-06-14 09:40:10 +02:00
Juan RP
89ded69bed
xbps-query: use get_maxcols() from xbps-install.
2013-06-14 09:33:27 +02:00
Juan RP
5f2bba7f4e
Move functionality to resolve revdeps from repos to libxbps.
2013-06-14 08:13:51 +02:00
Juan RP
8a05bc5f24
xbps-dgraph: installed_size obj is in bytes; fix a comment.
2013-06-14 05:12:15 +02:00
Juan RP
7b2942e789
xbps-dgraph: only add revdeps when it's necessary.
2013-06-13 17:44:44 +02:00
Juan RP
6b397198bf
xbps-dgraph: completely updated and working as before.
2013-06-13 17:41:16 +02:00
Juan RP
f868dd7816
xbps-dgraph: make this work again; needs more changes yet.
2013-06-12 10:34:01 +02:00
Juan RP
db1efb3aa6
Relax memory requirements on 64bit platforms; fix two memleaks.
2013-06-12 10:04:10 +02:00
Juan RP
6a9e394a60
xbps-query(8): extend 734a2c3
to also match with pkgpatterns.
2013-06-12 04:48:36 +02:00
Juan RP
5f02790ac7
xbps-query(8): fix regression introduced in 734a2c3
.
2013-06-11 16:41:36 +02:00
Juan RP
b646554aea
xbps-query: formatting tweaks for PROP_TYPE_ARRAY objects.
2013-06-11 16:26:27 +02:00
Juan RP
734a2c3c2b
xbps-query(8): added support to find revdeps for virtual pkgs in repository mode.
2013-06-11 16:18:40 +02:00
Juan RP
99be698979
Use a single file to store repository data.
...
This is just the starting point to extend repositories with PGP signatures.
2013-06-10 10:28:39 +02:00
Juan RP
fa9d3471d9
xbps-create: improve d6605e1b97
(sanitize destdir to resolve target files in symlinks).
...
Previously in d6605e1b97
if destdir had trailing '/' the behavior
of detecting target files in symlinks was changed slightly.
2013-05-27 13:03:40 +02:00
Juan RP
d6605e1b97
xbps-create(8): calculate correctly target file for relative symlinks.
2013-05-27 10:27:55 +02:00
Juan RP
15b2258b77
xbps-pkgdb: fix issue #9 (remove old code that broke pkgdb mem vs disk comparisions).
2013-05-16 17:16:39 +02:00
Juan RP
91c08bfe75
bin/xbps-query/ownedby.c: simply match patterns with fnmatch(3).
2013-05-13 15:10:47 +02:00