Commit graph

114 commits

Author SHA1 Message Date
Đoàn Trần Công Danh
2af30cdd78 setup: compute gitrev from outside of chroot
Together with previous commit, `xbps-src` is able to support
git-worktree and shared repository by now.
2020-05-23 06:59:24 +00:00
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