Commit graph

113 commits

Author SHA1 Message Date
Juan RP 8ab6edc842
xbps-src/chroot.sh: copy xbps repo keys even with -N.
To make @pullmoll happy
2020-04-13 01:59:03 +02:00
Juan RP 8b3ce3fc02
xbps-src: (chroot_sync_repodata) skip unnecessary stuff with -N. 2020-04-13 01:14:31 +02:00
Piotr Wójcik 588e8cdb7b common: retry ftp download during CI 2020-02-11 23:05:31 +01:00
q66 cd2e132ea1 xbps-src: per-architecture handling of repo confs
The new behavior is basically this:

1) Local repos are installed same as before.
2) Multilib configs are now handled only if they exist. They follow
   a naming system repos-{local,remote}-ARCH-multilib.conf.
3) Remote repo files follow naming repos-remote-ARCH.conf. If that
   does not exist, repos-remote.conf or repos-remote-musl.conf is
   used instead (fallback).
4) Cross follows the same behavior, just without multilib.

[ci skip]
2020-01-30 15:49:01 +01:00
q66 4098c62ebc xbps-src: prevent builddir/destdir from always being removed
The problem here is that newly introduced behavior in commit
b2b0409be4 resulted in builddir and
destdir *always* being removed when starting a build, as a part of
masterdir auto-update. We don't want this as we may want to resume
a previous build (e.g. by running stages individually or by resuming
a failed build from where it stopped).

Therefore, explicitly override the removal to restore previous behavior.
2020-01-28 01:09:04 +01:00
Juan RP d94a15be8f
xbps-src: use XBPS_INSTALL_ARGS; allow custom xbps.d settings.
If `etc/xbps.d/custom` exists (directory) and contains
xbps.d(5) .conf files, those will be copied verbatim
to `masterdir/etc/xbps.d`.

This allows you to set your custom xbps.d(5) settings
without having to modify any other file.

This is also useful for testing xbps.d(5) noextract feature.
2020-01-26 10:41:12 +01:00
Jürgen Buchmüller 1111601672 common.sh: if $XBPS_SKIP_REMOTEREPOS rm *remote*
There may be /etc/xbps.d/*remote* config files dangling from a previous
run w/o XBPS_SKIP_REMOTEREPOS being set. Make sure to remove them
in case $XBPS_SKIP_REMOTEREPOS is set for this run.
2020-01-08 16:54:32 +01:00
Juan RP 0ad1351c30
xbps-src/chroot.sh: repair "binary-bootstrap" for 32bit on x86_64. 2020-01-05 12:07:30 +01:00
Juan RP b2b0409be4 xbps-src/chroot.sh: simplify update_base_chroot(). 2020-01-05 10:44:56 +01:00
Juan RP b164856abd xbps-src/chroot.sh: silence grep output 2020-01-05 10:44:56 +01:00
Juan RP 5285cb9212 xbps-src: fix for x86_64 local multilib repos.
Found and fixed by @pullmoll
2020-01-05 10:44:56 +01:00
Juan RP 80b76c221a xbps-src: update_base_chroot(): remove autodeps after sysup. 2020-01-05 10:44:56 +01:00
Juan RP 817d3a8b7d chroot_init: return 0 at the end to not inherit last cmd errval. 2020-01-05 10:44:56 +01:00
Juan RP 75eca1b03e xbps-src: base-chroot-v2 (reduce artifacts/deps)
This patchset contains multiple changes to xbps-src and
its required package "base-chroot" for building packages
via chroot.

- moved xbps.d(5) conf files to `etc/xbps.d`.
- renamed xbps.d(5) repository files to `etc/xbps.d/repos-{local,remote}*`.
- do not set `--repository` to any xbps command that supports it,
  xbps-src now simply populates `rootdir/etc/xbps.d` with correct
  settings (taking care of CHROOT_READY/IN_CHROOT).
- Unless `-C` is set (to preserve builddir/destdir/autodeps), when
  entering to the chroot (if CHROOT_READY is set), xbps-src will
  clean up the masterdir and then perform a system update to always
  use a constant set of packages for that exact date.
- Improved some normal/error msgs.
- Includes support for `xbps>=0.58`.
- common/hooks: switch to bsdtar.
- base-chroot:
  - base-chroot-musl is gone, now unified for glibc/musl.
  - deps removed: gettext, mpfr, readline, texinfo, which, xz.
  - deps changed: tar -> bsdtar.

Effectively this reduces dependencies in `base-chroot`, makes
it unified for musl and glibc, switches xbps-src to use `bsdtar`
rather than GNU `tar` and `xz`, gets rid of useless host dependencies
like GNU gettext, texinfo, etc.

I've been testing these changes for 1 month or so already,
I was able to build from scratch `base-system` for both native
and multiple targets, i.e `./xbps-src -a target -Nt pkg base-system`
2020-01-05 10:44:56 +01:00
Duncaen 2a59e976c1
xbps-src/chroot.sh: don't set empty PROXY environment variables 2019-11-08 18:48:25 +01:00
Juan RP 23f75a842d
xbps-src/chroot.sh: fix previous correctly 2019-10-27 12:15:49 +01:00
Juan RP b469f1d590
xbps-src/chroot.sh: initialize XBPS_CONFIG_FILE.
Fixes #15208
2019-10-27 12:14:24 +01:00
Andrew Benson 7acadabc6b xbps-src/chroot: pass proxy variables 2019-10-21 18:27:09 +02:00
Juan RP e4984d01ea xbps-src: multiple performance improvements
- use xbps-checkvers(1) to resolve dependencies.
- all dependencies are installed at once for the host and target.
- the show-build-deps target is now much faster.
- the update-bulk/show-repo-updates targets are now much faster.
- the update-sys/show-sys-updates targets are now much faster.
- the bootstrap target now works on musl hosts.
- simplified some loops.
- use cut(1) rather than awk(1) where applicable.
- multiple random changes to improve performance.

Based on work started by @Duncaen on #12433

Close #12433
Close #11282
2019-07-10 20:28:46 +02:00
John 506c2faf14 xbps-src/chroot.sh: reuse $PATH from outsude
This partially reverts commit e0e48d6f6a

This commit broke xbps-src when the xbps tools weren't in /usr/bin
2019-07-07 07:28:02 +00:00
Jürgen Buchmüller 17ba00b095 Revert "xbps-src: multiple performance improvements."
This reverts commit 2a4e178e35.
2019-07-05 12:08:45 +02:00
Juan RP 2a4e178e35 xbps-src: multiple performance improvements.
- use xbps-checkvers(1) to resolve dependencies.
- all dependencies are installed at once for the host and target.
- the `show-build-deps` target is now much faster.
- the `update-bulk/show-repo-updates` targets are now much faster.
- the `update-sys/show-sys-updates` targets are now much faster.
- the `bootstrap` target now works on musl hosts.
- simplified some loops.
- use cut(1) rather than awk(1) where applicable.
- multiple random changes to improve performance.

Based on work started by @Duncaen on https://github.com/void-linux/void-packages/pull/12433

Close https://github.com/void-linux/void-packages/pull/12433
Close https://github.com/void-linux/void-packages/pull/11282
2019-07-05 08:53:51 +02:00
Juan RP e0e48d6f6a
xbps-src/chroot.sh: sanitize PATH. 2019-07-02 19:14:56 +02:00
Duncaen f1ec7fac9f
xbps-src: open $XBPS_MASTERDIR/etc/xbps/xbps-src.conf only once 2019-06-19 11:15:26 +02:00
Duncaen 6d3c739c9a
xbps-src: use substitutions instead of sed for xbps-shell 2019-06-19 11:12:29 +02:00
maxice8 fadca94b98 common: add chroot-style 'ethereal' 2019-04-05 05:49:34 -03:00
maxice8 79172bd8dc
meta: also run actions in chroot when calling for patch phase. 2019-03-03 12:16:41 -03:00
Leah Neukirchen 699d070492 common/xbps-src/shutils/chroot.sh: configure locale also when using -t. 2018-02-20 15:35:35 +01:00
Jürgen Buchmüller 6c320e98ba ruby: retry to build for *-musl
chroot: copy UTC as localtime as fallback if /etc/localtime does not exist.
It looks as if ruby's rdoc was failing in a function using /etc/localtime.
2017-12-16 17:55:18 +01:00
Michael Gehring 9ffc64e20c common: drop 0/no logic from XBPS_{CHECK_PKGS,BUILD_ONLY_ONE_PKG}
use the common convention as described in etc/defaults.conf
2017-11-20 21:12:54 +01:00
Michael Gehring 565de75a06 xbps-src: flip logic of -Q 2017-11-20 13:02:30 +00:00
Duncan Overbruck 570842f4a5 xbps-src: add etc/xbps.conf for extra xbps options (#8304) 2017-10-19 11:38:14 +02:00
Toyam Cox bfbfbf2cab xbps-src: use -1 to trigger errors on missing deps 2017-09-04 16:34:18 -04:00
Toyam Cox 41cadcf1d6 xbps-src: now pass -q for quiet, -Q for no-check
Previously -q was passed to sub processes. When I changed
-q's meaning, this made everything quiet. -Q is now passed
for those instances, and -q is passed for quieting.
2017-08-29 15:18:48 -04:00
Enno Boland 33c1040159 Merge branch 'master' into check 2017-06-05 14:58:57 +02:00
Duncaen c32fb6e0d1 xbps-src: portability fixes 2017-06-05 01:48:19 +02:00
Duncaen 13b96bc7cf xbps-src: Revert "add -- to env for portability"
This reverts commit a01afa1d56.
2017-06-03 22:57:51 +02:00
Duncaen a01afa1d56 xbps-src: add -- to env for portability 2017-06-03 20:45:43 +02:00
Duncaen 102fc6f99f xbps-src: portability fixes 2017-05-24 20:02:46 +02:00
Jürgen Buchmüller 5a11957d14 Merge branch 'master' into check 2017-05-02 09:18:52 +02:00
Jürgen Buchmüller 272114cd05 xbps-src: trying to fix FFLAGS construction
This still isn't perfect. When the common/xbps-src/shutils/chroot.sh
function chroot_init() is called, the value for $XBPS_FFLAGS, which is
defined in common/build-profiles/bootstrap.sh, is empty.

Put the immediate value into the generated /etc/xbps/xbps-src.conf
file until someone finds out where passing the value of $XBPS_FFLAGS
throughout the scripts is missing.
2017-03-08 17:36:22 +01:00
Jürgen Buchmüller 60603dd0a5 common: rename FCC to FC and introduce FFLAGS 2017-03-08 16:04:42 +01:00
Jürgen Buchmüller c31dd888f6 xbps-src: implement a 'check' stage
Add another stage 'check' between 'build' and 'install'. It is be enabled using the
variable XBPS_CHECK_PKGS=yes and disabled if unset, set to "0" or "no" in your
local etc/conf.

A new xbps-src option `-q` for `quick` will disable XBPS_CHECK_PKGS by overriding it to 0.
If enabled, `common/xbps-src/shutils/xbps-src-docheck.sh` checks for an existing
`do_check()` function in the package's template and, if it exists, calls it.

A new template variable `checkdepends` may be present and list packages required
to run the `do_check()` function. Example: `checkdepends="bc unittest-cpp"`.
2017-03-08 11:33:48 +01:00
Juan RP b722ed3c8b cross-profiles: simplify and rename some of them to match XBPS_TARGET_MACHINE.
- XBPS_TARGET_ARCH var renamed to XBPS_TARGET_MACHINE (gets rid of an extra var).
- Renamed cross profiles to match XBPS_TARGET_MACHINE.
- Added symlinks to keep compatibility with old profiles.
2016-04-27 16:47:05 +02:00
Enno Boland b5e49c48e7 common: replace XBPS_COMMIT_TIMESTAMP by SOURCE_DATE_EPOCH
This way we are compatible to the Debians proposal. See [1].

[1] https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html
2016-03-01 18:27:49 +01:00
Enno Boland 3c04642877 environment/build: overwrite __DATE__, __TIME__, and __TIMESTAMP__ macros.
This commit overwrites timestamps that depend on timestamps with the
commit date of a package.
2016-03-01 15:33:09 +01:00
Juan RP c9dede4e23 xbps-src: force glibc locale generation on musl hosts.
localedef is only available with glibc, so that defer locale creation
once the chroot is ready.

This fixes installing bootstrap glibc pkgs on musl hosts.
2015-12-12 07:35:30 +01:00
Juan RP a9b66c178a xbps-src: set LC_COLLATE=C in environment as suggested by @chneukirchen.
This is enough to let ca-certificates build again.

Close #2513
2015-09-15 08:15:13 +02:00
Jürgen Buchmüller 7aa6261c63 chroot.sh: set LC_ALL=C in the chroot 2015-09-10 13:48:47 +02:00
Juan RP 22c9a81810 xbps-src: set $SHELL in the chroot target.
... otherwise it's set to /bin/xbps-shell and might give unexpected results
with packages that expect something else.

Suggested by @chris2.
2015-09-03 07:36:50 +02:00