this endpoint is intended for git usage and while it is "binary", it is text and
has all the tags, which is what we care about
these pages are also much smaller than the web or even an atom feed, so
this should be more efficient
xbps-remove needs the right rootdir to not remove packages still required
by repos. Without it it will just delete everything since it can't be
found in any of the registered repositories.
instead of just giving an error message, we can just do this
automatically. if the user wants to do a source bootstrap, they should
know to do this explicitly.
so many people ask how to fix this error, especially now that `-a`
implies the matching libc's `-A`, so let's make it more automatic.
this file is also sourced during subpackage install, so a metapackage
that has non-meta subpackages will source this and scream because there
is no do_install
Overloading `build_style` for meta-packages has always felt very hacky,
and it prevents having the main package be a meta-package (with non-meta
subpackages) and using a `build_style` at the same time (example of
trying to hack around that: 62c0c08e18).
It also can create confusion about how subpackages work if you can
define a `build_style` there (but only `meta`).
This makes using `build_style=meta` an error at the package and subpackage
level, and replaces it with a new variable (`metapackage=yes`).
A pkglint for non-empty meta-packages is also added.
to XBPS_STATEDIR. There's no need for them to pollute PKGDESTDIR. Keep
INSTALL.msg/REMOVE.msg handling as-is for now because it's a little more
complex. Keep the pkglints for these files because xbps still ignores
them.
Due to this change, `./xbps-src sort-dependencies` will take
checkdepends into account when using -Q or -K.
Before this commit, if `pkgA` checkdepends on `pkgB`, sort-dependencies
could still print `pkgA` before `pkgB`. This causes CI to build `pkgB`
twice: first when building `pkgA`, which forces implicit build of pkgB;
second when building `pkgB` (explicit, so it will ignore the package is
already built).
The implementation uses `skip_check_step()` from previous commit, for
consistency, so checkdepends are only taken into account if the check
step would be enabled.
In particular, nothing is changed unless -Q or -K flag is passed.
EXAMPLE:
Before:
```
$ ./xbps-src -Q sort-dependencies python3-process-tests python3-pytest-cov
python3-pytest-cov
python3-process-tests
```
After:
```
$ ./xbps-src -Q sort-dependencies python3-process-tests python3-pytest-cov
python3-process-tests
python3-pytest-cov
```
This function contains the logic that determines whether the check step
will be skipped for the current pkg, taking into account `make_check`.
Use this new function in `install_pkg_deps()` so that it uses a more
accurate condition to skip installing check dependencies.
For instance, check dependencies for a pkg with `make_check=extended`
will no longer be installed when using `-Q`. Similar for `make_check=ci-skip`.
Replaces: #46207
Most terminals see '1m' as being a "bright colour" modifier, but others
consider it to be the "bold font" modifier, like the GitHub Actions log.
'97m' is a standalone "bright white" that is supported in most terminals,
including GitHub Actions, and is ignored where not supported.
When packages in `hostdir/binpkgs` are signed, it causes `xbps-src` to
annoyingly request to import the associated key (every time, in the case
of automation tools like `xxbuild` or `ymir`). This allows the user to
add their personal public key `.plist` to `etc/repo-keys/` so this
prompting does not happen.
Messages like "building [rust] for <platform>" could lead to mild panic as they
might be read as "building <large toolchain> on your laptop".
Simply adding "with" before the style/helpers should solve that.
It works for build_style, build_helper, both, and none.
=> ircdog-0.4.0_2: building with [go] for x86_64...
=> firefox-111.0.1_1: building with [rust] for x86_64...
=> riff-2.23.2_1: building with [cargo] [rust] for x86_64...
=> discord-0.0.26_1: building for x86_64...