Commit graph

117 commits

Author SHA1 Message Date
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
Juan RP
4dfaf60651 xbps-src: do not remove masterdir/tmp before entering chroot.
There's no reason to remove this on each iteration.
This is to make @chris2 happy.
2015-09-02 10:08:22 +02:00
Juan RP
55863abdd2 xbps-src: do not sync xbps repos in chroot mode.
If XBPS_CHROOT_CMD == uchroot with overlayfs (-O), the temporary masterdir
will be removed completely after synchronizing remote repositories, and
later on, when the build starts the repos are unsynchronized.

So do the sync on the real masterdir before entering the chroot.
2015-07-12 08:24:04 +02:00
Juan RP
1ffba0ae71 xbps-src: fix regression with the proot chroot-style. 2015-06-03 20:12:49 +02:00
Juan RP
3493f3c229 xbps-src: requires xbps>=0.45 now. 2015-06-03 11:32:47 +02:00
Juan RP
c7f21fd595 xbps-src: introduce support for multiple chroot implementations.
Available implementations at common/chroot-style/*.sh. Each .sh
script there implements a chroot style to be able to chroot and bind
mount with multiple utilities. The current supported list:

 - uunshare (uses xbps-uunshare(8))
 - uchroot (uses xbps-uchroot(8))
 - proot (uses proot, see http://proot.me)

The XBPS_CHROOT_CMD can be set in etc/conf to use a specific implementation,
and XBPS_CHROOT_CMD_ARGS to pass in additional arguments to the cmd.
2015-04-09 18:57:41 +02:00
Juan RP
a86b30ba05 xbps-src: fix remaining issues with -N and -a. 2015-03-23 16:05:43 +01:00
Juan RP
891b7e661e xbps-src: move xbps repo conf files to etc/. 2015-03-13 09:53:30 +01:00
Juan RP
5c177c7b67 Require xbps>=0.44 for xbps-uunshare(8) to simplify code. 2015-03-12 18:56:14 +01:00
Juan RP
d694d022d1 xbps-src: use xbps-uunshare(8) to sync remote cross repos too. 2015-03-12 18:49:21 +01:00
Juan RP
87d91f0594 xbps-src: fix previous. 2015-03-09 09:52:35 +01:00
Juan RP
c74c204a6e xbps-src: do not sync repodata with -N. 2015-03-09 09:50:09 +01:00
Juan RP
b7063fa1bc xbps-src: fix previous. 2015-03-05 21:47:41 +01:00
Juan RP
3d21df48e7 xbps-src: use xbps-uunshare(8) if it's available. 2015-03-05 21:44:22 +01:00
Juan RP
bdb798fa64 xbps-src: more improvements for -E and -t options.
If both options are set, check first if the binpkg exists before
creating the temporary masterdir, and clean this up properly.
2015-03-01 19:29:16 +01:00
Juan RP
fcf24b660f xbps-src: added -t option to create a temporary masterdir.
This temporary masterdir contains hardlinks of files stored in a real
masterdir, and once the target has finished will be removed.

Could be useful to create fully up to date and immutable real masterdirs
that are used as base for the temporary masterdirs.
2015-02-27 23:00:55 +01:00
Juan RP
6100f83bcf Revert "xbps-src: simplify chroot_handler usage."
This reverts commit 0e0eb9001a.

Introduces new issues... revert until it's fixed properly.
2015-01-04 12:14:14 +01:00
Juan RP
0e0eb9001a xbps-src: simplify chroot_handler usage. 2015-01-04 11:41:22 +01:00
Juan RP
88d6f0a9f5 xbps-src: add all subrepos if an alternate repo is set. 2014-12-30 08:23:42 +01:00
Juan RP
57dc040df6 xbps-src: create required dir for xbps-src.conf. 2014-12-22 11:28:52 +01:00
Juan RP
2e78e7fdcf xbps-src: create xbps.d/xbps.conf with our settings. 2014-12-22 11:24:58 +01:00
Juan RP
b77c7a6836 xbps-src: update for xbps-0.42 and bump required version. 2014-12-22 11:15:44 +01:00
Juan RP
bf104ce0c4 xbps-src: no need to remove xbps main repo file; it's disabled already. 2014-12-13 10:01:33 +01:00
Juan RP
a5193023b9 xbps-src: quote PATH while entering the chroot.
... otherwise if PATH contains whitespaces you could be fucked up.
2014-12-08 18:27:19 +01:00
Juan RP
dc9144500c xbps-src: get rid of CHROOT_CMD and use xbps-uchroot directly. 2014-11-12 09:52:17 +01:00
Juan RP
67c854fc64 xbps-src: chroot: do nothing if we are already in the chroot. 2014-11-10 11:57:46 +01:00
Juan RP
26682d2b86 Revert "Revert "xbps-src: return early if masterdir is not ready for chroot ops.""
This reverts commit c6cec1010f.
2014-11-08 11:07:40 +01:00
Enno Boland
c6cec1010f Revert "xbps-src: return early if masterdir is not ready for chroot ops."
This reverts commit d9943a330d.
2014-11-08 11:02:38 +01:00
Juan RP
d9943a330d xbps-src: return early if masterdir is not ready for chroot ops. 2014-11-08 10:52:38 +01:00
Juan RP
58bbb98712 xbps-src: move ccache/distcc to hostdir, to make them shared by multiple masterdirs.
This way a single ccache or distcc directory can be shared by multiple
independent masterdirs.
2014-10-26 10:22:30 +01:00
Juan RP
033c4ed0f5 xbps-src: remove WIP repo delta support.
- it never worked correctly
- it's WIP and looks like it will be stalled forever
- won't be necessary anymore with xbps-0.42
2014-10-14 19:19:07 +02:00
Juan RP
6928b52a4e xbps-src: full switch to void-packages. 2014-10-11 11:15:02 +02:00
Juan RP
4b6129eeb7 xbps-src: chroot: use /void-packages. 2014-10-11 11:11:09 +02:00
Juan RP
77d1837155 xbps-src: misc tweaks for zap and use void-packages too in chroot ops. 2014-10-11 11:02:57 +02:00
Juan RP
774685aaa2 xbps-src: create the void-packages symlink unconditionally. 2014-09-28 08:19:32 +02:00
Juan RP
3efa28ecbf xbps-src: create a void-packages symlink for xbps>=0.41. 2014-09-28 07:25:09 +02:00
Juan RP
22e0c33b39 xbps-src: chroot: do not copy /etc/services; we use iana-etc now. 2014-08-25 15:30:57 +02:00
Juan RP
954e1aff05 xbps-src/chroot: disable xbps/repo.d/00-main.conf with a symlink; rather than removing the file. 2014-08-21 11:42:51 +02:00
Juan RP
b0aedbb03a xbps-src: added -D to generate repository binary deltas; disabled for now. 2014-08-14 12:28:27 +02:00
Juan RP
67358807ea xbps-src: chroot: remove xbps conf remote repos with -N. 2014-07-14 12:28:08 +02:00
Juan RP
758ea97981 xbps-src: fix -o in chroot (reported by al3hex). 2014-07-12 15:56:40 +02:00
Juan RP
4d55b696c3 xbps-src: chroot_init: do not propagate XBPS_MASTERDIR to the generated xbps-src.conf.
Fixes Ypnose issue where he has XBPS_MASTERDIR set in `etc/conf`.
2014-07-05 16:12:14 +02:00
Juan RP
71f0a912ef xbps-src: chroot.sh: XBPS_CONFIG_FILE could be unset, handle it. 2014-07-01 18:47:39 +02:00
Juan RP
ff00dc5448 xbps-src: destroy <masterdir>/tmp before entering the chroot. 2014-07-01 15:07:01 +02:00
Juan RP
e64f3d8a95 xbps-src: make sure XBPS_CONFIG_FILE is set. 2014-07-01 13:15:52 +02:00
Juan RP
c06d1e4d85 xbps-src: partial revert of 871d2fa87.
We can't pass XBPS_OPTIONS to xbps-uchroot(8) as is.
2014-07-01 11:04:34 +02:00
Juan RP
871d2fa873 xbps-src: added -G to enable XBPS_USE_GIT_REVS. 2014-07-01 10:33:54 +02:00
Juan RP
67947330cc xbps-src: set XBPS_HOSTDIR correctly for chroot ops. 2014-06-30 12:03:56 +02:00
Juan RP
a5e726c4ec xbps-src: copy XBPS_* settings from etc/conf only if the file exists. 2014-06-30 11:52:52 +02:00
Juan RP
9d34c36e0a Implemented support for permanent pkg build options (globally or per-pkg).
Permanent global pkg build options can be defined via 'XBPS_PKG_OPTIONS' in etc/conf.
Permament per-pkg build options can be defined via 'XBPS_PKG_OPTIONS_<pkgname>' in etc/conf.

Close GH #452.
2014-06-30 11:32:07 +02:00
Juan RP
e3246539e7 xbps-src: do not copy x86_64 specific repos to the cross target root. 2014-06-10 09:36:58 +02:00
Juan RP
b747269490 xbps-src: make local/remote multilib repos only available on x86_64. 2014-06-10 09:22:18 +02:00
Juan RP
fedcbc4423 xbps-src: remove local copy of xbps.conf; it's unnecessary with xbps-0.37. 2014-06-07 06:07:04 +02:00
Juan RP
bb2361c130 xbps-src: set correct xbps cachedir for chroot ops. 2014-06-07 05:52:42 +02:00
Juan RP
b308d7cfac xbps-src: fix previous correctly for local mode too. 2014-06-06 16:29:50 +02:00
Juan RP
f90fe6abb8 xbps-src: fixed repo handling with xbps-0.37 in cross builds. 2014-06-06 16:24:35 +02:00
Juan RP
cf76c65be9 xbps-src: use xbps-0.37 config repo dir feature (etc/repo.d). 2014-06-06 16:10:42 +02:00
Juan RP
4d9ed5639f xbps-src/shutils/chroot.sh: unconditionally copy repo conf files into masterdir. 2014-05-05 10:56:00 +02:00
Juan RP
ff700d0a40 xbps-src/shutils/chroot: use existing PATH when entering xbps-src cmds.
... otherwise xbps-uchroot might not be found when it's in an uncommon path.
2014-04-14 19:58:32 +02:00
Juan RP
1af40eb476 xbps-src: apply sane indentation to all shell code. 2014-04-09 16:40:27 +02:00
Juan RP
0d953db70b xbps-src: 'pkg' target replaces 'build-pkg' but the latter is kept for compat. 2014-03-23 11:27:09 +01:00
Juan RP
c343fbf42a xbps-src: make install/remove targets defaults now, but keep previous for compat. 2014-03-22 20:59:39 +01:00
Juan RP
85624c1a6a common/xbps-src/shutils/chroot.sh: prepend /xbps-packages to PATH for the chroot target. 2014-03-22 13:21:04 +01:00
Juan RP
0b95cb8f5d Merge xbps-src code to make it usable in a standalone mode.
The new xbps-src configuration file is `etc/conf` where you can
add your local overrides from defaults set via `etc/defaults.conf`.

To use this xbps-src, run these steps:

	$ make
	$ sudo make setup (to make chroot helper setgid)
	$ ./xbps-src ...
2014-03-22 12:31:42 +01:00