Commit Graph

1237 Commits

Author SHA1 Message Date
Duncaen
bd616aa901 xbps-pkgdb: add alternatives check
Closes #66
2019-04-20 11:07:00 +02:00
Duncaen
d1667fd931 Add the ability to ignore packages
The previous idea was to use virtual packages in the users configuration
to satisfy dependencies by mapping them to existing installed packages.
Using virtual packages for it doesn't work as expected and trying to make
it work would break other functionalities of virtual packages, like the
version satisfaction checks for `provides` and the ability to replace
virtual packages with real packages. The virtual package functionality
should be used exclusively for virtual packages.

This allows users to specify packages packages that should be ignored.
Ignored packages in dependencies are always satisfied without installing
the package, while updating or installing a package that depends on an
ignored package.

This does NOT ignore the shlib checks, ignoring a package that provides
required shared libraries will abort the transaction as if there was no
package that provides the required shared library.
2019-04-19 23:07:59 +02:00
Duncaen
a46be6867a xbps-create: reject unhandled files
A segfault in xbps-create(1) was found in:
https://github.com/void-linux/void-packages/pull/7524

xbps-create adds a file type string to the xentry for every file it
finds in `destdir`, files other than symlinks, regular files and
directories weren't handled and resulted in a segfault later when
when processing the xentry structures.

This commit adds checks for sockets and fifos and exits with an
appropriate error message or with a generic error message for every
other unhandled file.

Closes #66
2019-04-14 12:39:04 +02:00
Duncaen
d57a39ef4a bin/xbps-install: don't overwrite action with downgrade if its on hold
Fixed #65
2019-04-14 11:53:07 +02:00
Leah Neukirchen
601f0a2d09 bin/xbps-query: support $NO_COLOR
Closes: #273 [via git-merge-pr]
2019-03-22 21:47:14 +01:00
Duncaen
c950441537 bin/xbps-install: ignore EBUSY errors 2019-03-22 21:43:52 +01:00
Duncaen
3ad6b7a523 bin/xbps-remove: ignore EBUSY errors
EBUSY occurs if xbps tries to remove a directory with unlink(2) that is
a mount point, this happens with `/boot` as example.

https: //github.com/voidlinux/void-packages/issues/7229#issuecomment-319392560
https: //github.com/voidlinux/void-packages/issues/8753
Closes: #259 [via git-merge-pr]
2019-03-22 21:41:43 +01:00
Duncaen
f20032efa3 bin/xbps-checkvers: replace strncat with one snprintf 2019-03-22 19:14:08 +01:00
Duncaen
71b076908d bin/xbps-install: remove duplicate from Makefile 2019-03-22 19:14:08 +01:00
Foxlet
0f33859701 Fix namespace violation 2018-09-25 22:11:30 -04:00
Frank Steinborn
f366d6cb11 manpages: change URL for bug reporting to new GitHub repo 2018-09-23 17:51:07 +02:00
Enno Boland
e4702d9d3b
Merge pull request #6 from foxlet/fix-string-formatting
Fix string formatting of 64-bit unsigned integers
2018-07-30 20:28:09 +02:00
Enno Boland
ebca1758cc xbps-rindex.1: document --hashcheck option 2018-07-20 09:37:50 +02:00
Foxlet
4eaf45a767 Fix string formatting of 64-bit unsigned integers 2018-07-17 20:50:48 -04:00
Enno Boland
c992049eb5 xbps-create: fix formatting, set return value on path overflow 2018-07-07 12:23:01 +02:00
Enno Boland
3ef932de2f xbps-create: replace nftw by an implementation that traverses the directory tree in an alphabetic order. 2018-07-07 12:15:00 +02:00
Enno Boland
aa21cb08fd Revert "bin/xbps-create: process dictionary instead of linked list."
This reverts commit 25fa00ea46.
2018-07-06 08:07:59 +02:00
Enno Boland
705a30c63c Revert "bin/xbps-create: process_entry_file uses dictionary instead of linked list now."
This reverts commit 61d2361646.
2018-07-06 08:07:58 +02:00
Enno Boland
e211ae21fe Revert "bin/xbps-create: remove xentry struct and clean up"
This reverts commit aa90201b2d.
2018-07-06 08:07:55 +02:00
Enno Boland
7fe66a1f20 xbps-rindex: make hash check optional 2018-07-03 08:07:23 +02:00
Enno Boland
a717e53ee7 xbps-rindex: fix staging deadlock. 2018-06-28 13:30:14 +02:00
Duncaen
daa1b44682 xbps-install: fix "Space available on disk:" padding 2018-05-02 00:46:07 +02:00
Enno Boland
513bf65c6d uunshare: fix argument parsing 2018-04-30 18:22:28 +02:00
Enno Boland
449dc8a551 Revert "bin/xbps-uunshare: stop option parsing at the first nonoption argument"
This reverts commit 6cca905d64.
2018-04-16 14:00:30 +02:00
Enno Boland
f4060aff6c Revert "bin/xbps-uchroot: stop option parsing at the first nonoption argument"
This reverts commit 948ba8d7d1.
2018-04-16 14:00:29 +02:00
Juan RP
e0f4199fff Merge pull request #250 from ebfe/infinity
bin/xbps-checkvers: avoid infinite loops when checking reverts
2017-10-25 09:19:10 +02:00
Juan RP
c20b37e022 Merge pull request #247 from ebfe/man
manpages: fix invalid escape
2017-10-25 09:18:11 +02:00
Juan RP
a6df70b8af Merge pull request #245 from ebfe/sign-big-pkgs
bin/xbps-rindex: use xbps_file_hash_raw while signing
2017-10-25 09:17:08 +02:00
Juan RP
9c0d795810 Merge pull request #207 from Duncaen/relative
xbps-uchroot and xbps-uunshare usability improvements
2017-10-25 09:14:40 +02:00
Agustin Chiappe Berrini
51207b9076 fix compilation of fetch_cb on gcc 7
Original message:

```
fetch_cb.c:80:29: error: ‘h’ directive output may be truncated writing 1 byte into a region of size between 0 and 14 [-Werror=format-truncation=]
   snprintf(str, sizeof str, "%02ldh%02ldm",
                             ^~~~~~~~~~~~~~
fetch_cb.c:80:29: note: directive argument in the range [0, 59]
fetch_cb.c:80:3: note: ‘snprintf’ output between 7 and 21 bytes into a destination of size 16
   snprintf(str, sizeof str, "%02ldh%02ldm",
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       eta / 3600, (eta % 3600) / 60);
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fetch_cb.c:83:30: error: ‘%02ld’ directive output may be truncated writing between 2 and 19 bytes into a region of size 16 [-Werror=format-truncation=]
   snprintf(str, sizeof str, "%02ldm%02lds",
                              ^~~~~
fetch_cb.c:83:29: note: directive argument in the range [-153722867280912930, 60]
   snprintf(str, sizeof str, "%02ldm%02lds",
                             ^~~~~~~~~~~~~~
fetch_cb.c:83:29: note: directive argument in the range [-59, 59]
fetch_cb.c:83:3: note: ‘snprintf’ output between 7 and 25 bytes into a destination of size 16
   snprintf(str, sizeof str, "%02ldm%02lds",
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       eta / 60, eta % 60);
       ~~~~~~~~~~~~~~~~~~~
fetch_cb.c:80:29: error: ‘h’ directive output may be truncated writing 1 byte into a region of size between 0 and 14 [-Werror=format-truncation=]
   snprintf(str, sizeof str, "%02ldh%02ldm",
                             ^~~~~~~~~~~~~~
fetch_cb.c:80:29: note: directive argument in the range [0, 59]
fetch_cb.c:80:3: note: ‘snprintf’ output between 7 and 21 bytes into a destination of size 16
   snprintf(str, sizeof str, "%02ldh%02ldm",
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       eta / 3600, (eta % 3600) / 60);
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fetch_cb.c:83:30: error: ‘%02ld’ directive output may be truncated writing between 2 and 19 bytes into a region of size 16 [-Werror=format-truncation=]
   snprintf(str, sizeof str, "%02ldm%02lds",
                              ^~~~~
fetch_cb.c:83:29: note: directive argument in the range [-153722867280912930, 60]
   snprintf(str, sizeof str, "%02ldm%02lds",
                             ^~~~~~~~~~~~~~
fetch_cb.c:83:29: note: directive argument in the range [-59, 59]
fetch_cb.c:83:3: note: ‘snprintf’ output between 7 and 25 bytes into a destination of size 16
   snprintf(str, sizeof str, "%02ldm%02lds",
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       eta / 60, eta % 60);
       ~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
```
2017-08-22 18:44:32 -04:00
Leah Neukirchen
876f9f4a27 xbps-fbulk: use _DEFAULT_SOURCE, required for wait3 in glibc 2.16.
Also these guards need to be defined before including anything.
2017-08-07 16:08:15 +02:00
Michael Gehring
52d3077206 bin/xbps-checkvers: avoid infinite loops when checking reverts 2017-07-16 20:08:25 +00:00
Michael Gehring
63596b5a06 xbps-remove.1: fix invalid escape 2017-07-11 04:30:23 +02:00
Michael Gehring
0886012d72 xbps-reconfigure.1: fix invalid escape 2017-07-11 04:30:03 +02:00
Michael Gehring
25418f98af xbps-query.1: fix invalid escape 2017-07-11 04:29:45 +02:00
Michael Gehring
a61fd5f8c1 xbps-pkgdb.1: fix invalid escape 2017-07-11 04:29:19 +02:00
Michael Gehring
b9656b1546 xbps-install.1: fix invalid escape 2017-07-11 04:28:57 +02:00
Michael Gehring
681acd08ef xbps-dgraph.1: fix invalid escape 2017-07-11 04:28:34 +02:00
Michael Gehring
ae3f5546bf xbps-checkvers.1: fix invalid escape 2017-07-11 04:28:13 +02:00
Michael Gehring
13a38fa6ba xbps-alternatives.1: fix invalid escape 2017-07-11 04:27:51 +02:00
Michael Gehring
5e4f445b90 bin/xbps-rindex: use xbps_file_hash_raw while signing
Fixes #243
2017-06-27 20:05:15 +02:00
Juan RP
1670ff000d Merge pull request #206 from Duncaen/memleak
fix some some memory leaks
2017-02-19 02:46:50 +01:00
Juan RP
a7f2080367 Merge pull request #198 from roman-neuhauser/package-modes
xbps-pkgdb(1), xbps-install(1), xbps-remove(1): extend discussion of package modes
2017-02-19 02:45:58 +01:00
Juan RP
956ec93f45 Merge pull request #202 from ebfe/list-repolock
bin/xbps-query: add --list-repolock-pkgs
2017-02-19 02:45:51 +01:00
Juan RP
a53bcef00b Merge pull request #196 from Duncaen/xbps-uchroot
xbps-uchroot: umount chroot mounts
2017-02-19 02:44:43 +01:00
Alain Kalker
69a5ee2c1b xbps-checkvers.1: fix incorrect double negative (#219) 2016-12-25 21:21:28 +01:00
Michael Gehring
2984d6a5ec bin/xbps-install/fetch_cb.c: flush stdout when printing progress 2016-10-05 20:18:43 +02:00
Duncaen
6cca905d64 bin/xbps-uunshare: stop option parsing at the first nonoption argument 2016-09-25 22:26:47 +02:00
Duncaen
948ba8d7d1 bin/xbps-uchroot: stop option parsing at the first nonoption argument 2016-09-25 22:26:38 +02:00
Duncaen
2a6e805bb4 bin/xbps-uunshare: allow relative chroot directory 2016-09-25 22:23:17 +02:00
Duncaen
c5784e9cc3 bin/xbps-uchroot: allow relative chroot directory 2016-09-25 22:23:05 +02:00
Duncaen
81673d69c7 bin/xbps-rindex: fix memleaks in index_add 2016-09-25 21:27:38 +02:00
Roman Neuhauser
d0b4089e6e xbps-install(1), xbps-remove(1) point to xbps-pkgdb(1)
... from descriptions of -A and -u (xbps-install) and -o (xbps-remove).
2016-09-21 14:56:17 +02:00
Roman Neuhauser
025b133025 xbps-pkgdb(1): extend discussion of package modes
description of implications of the various modes was scattered across
xbps-pkgdb(1), xbps-install(1), xbps-remove(1).
2016-09-21 14:56:17 +02:00
Michael Gehring
3dce6ab1ed bin/xbps-query: add --list-repolock-pkgs 2016-09-21 14:11:04 +02:00
Duncaen
414256292a bin/xbps-uchroot: mount / as private 2016-09-20 17:45:56 +02:00
Duncaen
bc5b38218a bin/xbps-uchroot: call clone only once if its successful 2016-09-20 17:39:13 +02:00
Enno Boland
7967efc1e0 xbps-install: do not fail on update if any of the provided packages are up to date.
addresses #194
2016-09-14 18:12:54 +02:00
Enno Boland
1ffac73f54 Merge pull request #192 from jantatje/clean-cache-dry-run
xbps-remove: fix --dry-run for --clean-cache
2016-09-07 22:03:28 +02:00
Jan Tatje
46be602e28 xbps-remove: fix --dry-run for --clean-cache
`xbps-remove --clean-cache --dry-run` did not consider the
--dry-run flag, this has been fixed.
2016-09-07 21:56:01 +02:00
Juan RP
e4907adfe7 Merge pull request #187 from weakish/free-space-message
Change free space message to avoid ambiguity.
2016-09-07 07:49:12 +02:00
Michael Gehring
3a1892028a xbps-checkvers: fix build with glibc-2.24 (#188) 2016-08-15 12:44:25 +02:00
Jakukyo Friel
4e2823ffa5
Change free space message to avoid ambiguity.
`xbps-install` will report free space available on disk wording:

> Free space on disk: ...

'free' above is supposed to be  an adjective.
But 'free' can also be a verb,
thus the above message can be interpreted as free some space on disk.

'Free' is now changed to 'Available' to avoid ambiguity.
2016-08-11 21:04:28 +08:00
Andrea Brancaleoni
03d29f64b8 bin/xbps-uchroot: add docker support (#176) 2016-07-17 20:41:12 +02:00
Juan RP
9046727301 xbps-uhelper: fix a warning reported by clang-3.8.1. 2016-07-17 11:34:39 +02:00
Juan RP
0cff982e7b xbps-rindex/sign: simplify. 2016-07-13 08:37:04 +02:00
Enno Boland
35fa3b5808 xbps-create: remove mmap to load files to archive. 2016-06-17 17:10:10 +02:00
Juan RP
5117ff84a2 xbps-uchroot: do not fail if the mount MS_MOVE operation fails.
This could happen if chrootdir is in a shared mount or when it's not
a real mountpoint. Just continue with chroot().
2016-04-30 17:34:32 +02:00
Juan RP
447a2f43ad xbps-install/util.c: do not check errno for isatty().
Fixes line truncation in musl. As @chneukirchen pointed out, POSIX
does not need to set errno. Just use its return value.
2016-04-24 14:02:52 +02:00
Michael Gehring
dedc93d17d xbps-create: add -c/--changelog 2016-04-23 08:42:15 +02:00
Juan RP
6272280fcf xbps-uhelper: support 'XBPS_{,TARGET_}ARCH' env vars in the 'arch' target. 2016-04-13 08:53:26 +02:00
Juan RP
13395d8a50 Merge pull request #159 from Gottox/reproducible-create
Reproducible create
2016-04-07 16:26:38 +02:00
Enno Boland
ba2074a1cc xbps-rindex: use consistent output format 2016-03-31 08:10:14 +02:00
Enno Boland
aa90201b2d bin/xbps-create: remove xentry struct and clean up 2016-03-27 14:46:16 +02:00
Enno Boland
61d2361646 bin/xbps-create: process_entry_file uses dictionary instead of linked list now. 2016-03-27 14:46:13 +02:00
Enno Boland
25fa00ea46 bin/xbps-create: process dictionary instead of linked list. 2016-03-27 14:45:57 +02:00
Enno Boland
b2c7fa8846 bin/xbps-create: search for inode dublication using xbps_dictionary_t instead of linked list. 2016-03-27 14:45:41 +02:00
Enno Boland
5c18a43c1c bin/xbps-create: construct proplist objects in ftw.
This is the first commit in a series to make xbps-create build
reproducable packages.

xbps-create uses nftw(3) to walk through all files. As nftw doesn't
sort files it may happen that the resulting packages will have
different checksums due to differentiating orders of files on
different filesystems.

To solve this issue xbps-create uses xbps_directory_t, which is always
sorted, instead of a simple linked list.
2016-03-27 14:44:47 +02:00
Enno Boland
855bc915e5 xbps-rindex: replace puts calls with printf 2016-03-22 09:47:25 +01:00
Enno Boland
2e6b2a6c94 xbps-rindex: remove empty stage file on cleanup. 2016-03-22 09:47:19 +01:00
Enno Boland
e1a76b13e5 xbps-rindex: cleanup stage area on -c too. 2016-03-21 11:39:43 +01:00
Enno Boland
3431715d67 xbps-rindex: consider stage area when removing packages. 2016-03-21 10:50:25 +01:00
Enno Boland
4d1ee3b01d xbps-rindex: check for consistent shlibs
When adding packages to the index, xbps-rindex will check if the
consistency of shlibs is broken by a package. If so, rindex will create
a stage file and commit the packages there. Once the consistency is restored,
rindex -a will commit the stage area back to the public repo and delete the
stage file.
2016-03-21 08:31:18 +01:00
Enno Boland
897ac238c4 Revert "xbps-rindex: check for consistent shlibs"
This reverts commit 5f4e1ad43e which was
accidently checked in in the master branch.
2016-03-20 21:40:22 +01:00
Enno Boland
5f4e1ad43e xbps-rindex: check for consistent shlibs
When adding packages to the index, xbps-rindex will check if the
consistency of shlibs is broken by a package. If so, rindex will create
a stage repository and commit the packages there. Once the consistency
is restored, rindex -a will commit the stage area back to the public
repo and delete the stage file.
2016-03-20 21:36:30 +01:00
Enno Boland
3bcb2d6543 xbps-query: remove doubled incrementation
Otherwise clang will complain with the following message:

  search.c:67:3: error: variable 'i' is incremented both in the loop
  header and in the loop body [-Werror,-Wfor-loop-analysis]
2016-03-20 10:02:26 +01:00
Michael Gehring
618e504d30 actually use HAVE_FDATASYNC 2016-02-08 15:09:43 +01:00
Juan RP
27e36fcbf9 xbps-fbulk(1): ignore xbps-src msgs (those starting with '=>').
Reported by @chneukirchen.
2016-02-05 11:44:22 +01:00
Juan RP
b759ca4b07 xbps-install(1): do not exit if pkg is up-to-date in dry-run mode.
Close #145
2016-02-05 11:27:40 +01:00
Christian Neukirchen
034d3591b3 xbps-query: generate -o output from a single printf.
Else parts written by multiple threads can become mixed up.
2016-01-20 13:41:13 +01:00
Enno Boland
e7a2c08629 bin/xbps-query: document in the manpage that remote repositories must be signed. #141 2015-12-24 13:48:26 +01:00
Enno Boland
93df7953f5 bin/xbps-install: document in the manpage that remote repositories must be signed. #141 2015-12-24 13:48:21 +01:00
Juan RP
83b5b357cb xbps-rindex/sign: fix a memleak found by clang-analyzer. 2015-12-21 17:16:00 +01:00
Juan RP
68d84d89c1 xbps-fbulk: fix a memleak found by clang-analyzer. 2015-12-21 17:07:43 +01:00
Juan RP
a00c7b1c4b xbps-checkvers: add some assertions. 2015-12-21 16:51:24 +01:00
Joey Gouly
b4ef9954e7 Fix #120 by stripping comments from the end of lines.
The debug printing is also moved after variable substitution.
Now it prints:
  foo/template: _var foo
  foo/template: pkgname foo

It used to print:
  foo/template: _var foo
  foo/template: pkgname ${_var}
2015-10-31 16:49:55 +00:00
Juan RP
5170566e64 xbps-create.1: bump date. 2015-10-31 13:04:21 +01:00
Joey Gouly
b06ce15136 Allow relative symlinks in xbps-alternatives. 2015-10-31 11:54:01 +00:00
Juan RP
3e6651d286 xbps-alternatives(1): implemented -g <grp> -l. 2015-10-31 12:11:21 +01:00
Juan RP
f69171320d xbps-remove: fix previous correctly: process XBPS_STATE_ALTGROUP states. 2015-10-31 12:07:06 +01:00