Commit Graph

1251 Commits

Author SHA1 Message Date
Juan RP
22f982df77 xbps-uchroot: fix warning with old clang (hi travis). 2015-06-22 08:02:57 +02:00
Christopher Brannon
b1e6efeebe Use getopt_long instead of getopt, for musl. 2015-06-21 07:06:18 -07:00
Juan RP
5ebd4a6dfb xbps-uchroot: handle SIG{INT,TERM,QUIT} signals to cleanup temp masterdir. 2015-06-11 11:21:35 +02:00
Juan RP
d86cece411 xbps-rindex(1): add support to sign specific pkgs, not the whole repo.
See NEWS for more information.
2015-06-04 16:01:43 +02:00
Juan RP
6df2ff69fe xbps-fbulk: add -h for usage(). 2015-06-04 10:02:16 +02:00
Juan RP
07e8330936 xbps-install(1): added -U --unpack-only to only unpack pkgs, skips configuration. 2015-06-03 11:15:11 +02:00
Juan RP
b2dd18faba configure: added --enable-fulldebug to enable extra/expensive debug code.
This is mostly to avoid the allocation required by the externalization of the
transaction dictionary, which in some cases is huge.

This should reduce the massive memory usage required to inspect the externalized
dictionary.
2015-05-28 11:02:40 +02:00
Juan RP
769a997afb Introduce xbps_plist_{array,dictionary}_from_file().
Those are a wrapper around xbps_{array,dictionary}_internalize_from_zfile()
that prints a debugging msg when the plist file cannot be internalized.

Update xbps to use these wrappers.
2015-05-28 10:15:05 +02:00
Juan RP
c4ed1b5845 xbps-pkgdb: if pkg metafile cannot be internalized print a proper errmsg. 2015-05-28 09:44:01 +02:00
Juan RP
42831b97d4 xbps-pkgdb: add two assertions. 2015-05-28 09:41:00 +02:00
Juan RP
c4184e64b0 xbps-fbulk: needs fcntl.h too. 2015-05-28 09:20:15 +02:00
Juan RP
18d4ee73ac xbps-fbulk: wait3() is declared via _{GNU,BSD}_SOURCE with musl. 2015-05-28 09:18:32 +02:00
Juan RP
0027e54532 xbps-pkgdb.1: fix a mandoc -Wall warning. 2015-05-28 09:13:12 +02:00
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