Commit graph

125 commits

Author SHA1 Message Date
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
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