Commit graph

1112 commits

Author SHA1 Message Date
Toyam Cox 5a7e73b89a xbps-src: add informative run mode 2017-08-29 13:23:54 -04:00
Michael Gehring 133f31a5ef xbps-src: s/repoache/repocache/ 2017-07-27 13:56:25 +02:00
Michael Gehring 31db228f9b xbps-src: allow update-check for broken packages 2017-07-01 22:31:17 +00:00
Enno Boland 33c1040159 Merge branch 'master' into check 2017-06-05 14:58:57 +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 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
Jürgen Buchmüller cb7df7b544 xbps-src: update XBPS_GCC_VERSION* 2017-02-06 03:38:06 +01:00
ojab 2083d0ff8e Export XBPS_PKG_COMPTYPE so setting it in configuration actually works (#5459) 2017-01-04 19:29:56 +01:00
Enno Boland a0e3cb9a42 gcc: update to 6.2.1. 2016-11-27 18:37:02 +01:00
Juergen Buchmueller fd9ff4fedf xbps-src: Define XBPS_GCC_VERSION
To simplify testing for the currently used gcc version introduce
global environment variables to avoid running `gcc --version`.
2016-10-25 23:19:58 +02:00
Toyam Cox 7c9d1f61b0 xbps-src: allow show of broken pkgs 2016-10-20 19:49:57 -04:00
Juan RP a5e248c730 xbps-src: require automake, libtool and pkg-config in the host for bootstrap.
This fixes bootstrapping of libarchive. Close #4516.
2016-07-28 08:02:37 +02:00
Enno Boland 05ff430223 xbps-src: Preprocess arguments using getopt in order to allow options before and after XBPS_TARGET. 2016-07-04 16:38:22 +02:00
Juan RP af11e6c891 xbps-src: set XBPS_CHROOT_CMD=uchroot with -t; improve desc for -a. 2016-04-27 17:03:24 +02:00
Juan RP 561ab61608 xbps-src: make i686 masterdirs (glibc) work on x86_64/musl hosts. 2016-04-13 08:07:02 +02:00
Enno Boland 096aac3603 xbps-src: add consistency check
`xbps-src consistency-check` iterates over all templates and looks for
potentially broken dependencies.
2016-03-22 00:36:30 +01:00
Enno Boland 16050ad3f2 hooks/pre-pkg: fixed mtime support for packages.
overwrites the mtime of all files in a package with the commit-date
of the package.
2016-02-19 16:21:56 +01:00
Steve Prybylski f18def49cd xbps-src: export XBPS_ALLOW_RESTRICTED. 2015-12-27 02:19:02 -05:00
Juan RP e69b2491b7 xbps-src: fix -t by appending to XBPS_CHROOT_CMD_ARGS instead. 2015-12-12 10:13:22 +01:00
Juan RP 0a58fd0c01 Revert "xbps-src: fix uchroot chroot-style to not overwrite XBPS_CHROOT_CMD_ARGS."
This reverts commit ba4bba2031.
2015-12-12 10:12:33 +01:00
Juan RP ba4bba2031 xbps-src: fix uchroot chroot-style to not overwrite XBPS_CHROOT_CMD_ARGS. 2015-12-12 10:03:41 +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
Jürgen Buchmüller 7e72db86c6 xerces-c: set DISABLE_CCACHE=yes for i686
Re-enable the shared CCACHE_DIR which was not the root
cause of the problems.
2015-11-19 16:11:43 +01:00
Jürgen Buchmüller 9bd521e9bd xerces-c: no need to disable PIE for i686
It seems that sharing a common CCACHE_DIR for all compilers
is problematic between at least x86_64 and i686 in some cases.
Revert to using per architecture ccache directories.
2015-11-19 15:18:35 +01:00
Juan RP 60110c0c2f xbps-src: the 'show-var' target now sources native build-profile too. 2015-11-14 11:51:45 +01:00
Juan RP 2d9b01bce5 xbps-src: make 'show-var' source environment/setup.
This makes XXX_SITE vars work.
2015-11-14 10:25:39 +01:00
Juan RP cacdf5e724 xbps-src: use host git(1) to detect current branch.
This now guesses correctly the current git branch when the target
masterdir does not match the host architecture.
2015-11-13 10:54:14 +01:00
Juan RP eae488d3c4 xbps-src: typo fix for zap. 2015-11-02 20:32:12 +01:00
Juan RP 5f030fe2f1 xbps-src: force reconfiguration of bootstrap pkgs on chroot setup.
Right now ca-certificates internally requires the `openssl` utility
to generate /etc/ssl/certs. Certainly we need to perform this task
only once and iff we are within the chroot, because the host might
not have it in PATH.

This should fix the travis issue seen since xbps-0.48 was released.
2015-11-02 20:25:16 +01:00
Juan RP 8e7b21a472 xbps-src: force reconfiguration of ca-certificates. 2015-10-31 08:19:09 +01:00
Juan RP 0cd87b3cdd xbps-src: perform bootstrapping in two phases.
- binary-bootstrap unpacks all pkgs and configure base-files.
- after accessing the chroot for the first time all pkgs are configured.

This should fix the issue of ca-certificates not generating the certs.
2015-10-31 07:59:06 +01:00
Juan RP 3a64a0f770 xbps-src: remove ca-certificates workaround; will be fixed correctly. 2015-10-31 07:51:56 +01:00
Juan RP 7e92158bbd xbps-src: only reconfigure ca-certificates if /etc/ssl/certs does not exist. 2015-10-30 15:54:13 +01:00
Juan RP c7611a9292 xbps-src: document ca-certificates stupid kludge. 2015-10-30 15:36:43 +01:00
Juan RP 0d55d32ba0 xbps-src: force reconfiguration of ca-certificates only in the chroot. 2015-10-30 15:33:57 +01:00
Juan RP 64f6a3af72 xbps-src: force reconfiguration of ca-certificates also in "bootstrap-update". 2015-10-30 15:20:18 +01:00
Juan RP f9eec82888 xbps-src: force reconfiguration of ca-certificates if it's there. 2015-10-30 15:19:46 +01:00
Juan RP f45746714d xbps-src: bootstrap needs GNU make too. 2015-10-24 11:15:45 +02:00
Juan RP 08efa2cca1 xbps-src: -f <phase> now works for configure/build/install/pkg phases. 2015-09-24 15:45:47 +02:00
Juan RP 465e481b70 xbps-src: cleanup masterdir/tmp in the 'clean' target too. 2015-09-03 07:36:27 +02:00
Jürgen Buchmüller 793a156a0f Implement XBPS_DISTFILES_MIRROR (second try)
The idea is to remove some burden from the original download
locations for distfiles by specifying one or more mirror locations.

+ Works with http:// or ftp:// mirrors for all $XBPS_CHROOT_CMD variants
+ Works with file:// mirrors together with uchroot and proot
2015-08-31 15:48:22 +02:00
Juan RP cef388f07b xbps-src: introduce a new target: "sort-dependencies".
This expects a variable argument list with package names that will be
returned to stdout topologically sorted.

$ ./xbps-src sort-dependencies libarchive-devel liblzma-devel libxbps zlib-devel bzip2-devel
bzip2
xz
zlib
libarchive
xbps
2015-08-16 10:47:35 +02:00
Juan RP 45bc2bea04 xbps-src: use $XBPS_INSTALL_CMD in binary-bootstrap.
This way local repo is always preferred rather than remote repos declared
via XBPS_INSTALL_ARGS.
2015-08-05 11:59:58 +02:00
Juan RP 472bf5092a xbps-src: print supported cross targets by inspecting the cross-profiles dir. 2015-07-14 12:07:15 +02:00
Juan RP d24e75514f xbps-src: document xbps-0.46 signing and require 0.46. 2015-07-12 10:05:39 +02:00
Juan RP 95538529b4 xbps-src: XBPS_MAKEJOBS cannot be readonly, it's overwritten later. 2015-07-11 20:51:15 +02:00
jbu 919afe94fc xbps-src: Add purge-distfiles command
Closes #1970
2015-07-06 10:02:25 +02:00
jbu b30cbd9870 xbps-src: implement a by_sha256 hash cache 2015-07-04 11:18:46 +02:00
Juan RP 21e8243ce5 xbps-src: use XBPS_INSTALL_ARGS to repair bootstrap-update. 2015-06-09 09:23:06 +02:00
Juan RP 08fac2d108 xbps-src: detect musl hosts correctly in 'binary-bootstrap'. 2015-06-07 10:21:08 +02:00
Juan RP 3493f3c229 xbps-src: requires xbps>=0.45 now. 2015-06-03 11:32:47 +02:00
Juan RP 49bb3056a5 xbps-src: handle old base-files pkgs too. 2015-06-03 10:50:57 +02:00
Juan RP 428c34d1f0 xbps-src: reconfigure base-files not base-directories. 2015-06-03 10:44:58 +02:00
jbu b1af6a413e xbps-src: unified ccache directory
- I turns out that ccache is very well capable of recognizing different
  compilers and using only files stored to the cache by each compiler.
- To avoid large parts of a cache becoming useless just because a compiler
  was rebuilt during some (bootstrap) stage, rely on the contents of
  the compiler binary for identification instead of mtime + size.
2015-05-18 20:27:09 +02:00
Juan RP ef097888c0 xbps-src: get native arch via xbps-uhelper arch not uname -m.
This will detect void hosts running with musl.
2015-05-14 11:22:19 +02:00
Juan RP 92fd6e7fec xbps-src: unbreak binary-bootstrap arch. 2015-05-11 09:03:03 +02:00
Juan RP c7bf669b74 xbps-src: make binary-bootstrap skip remote repos with -N. 2015-05-11 08:34:29 +02:00
Juan RP 7494f7d07f xbps-src: binary-bootstrap now prefers XBPS_INSTALL_ARGS.
... and fallsback to the local repository otherwise.
2015-05-10 09:35:19 +02:00
Juan RP ee55b1081e xbps-src: fix regression: -I does not remove autodeps. 2015-05-06 11:21:59 +02:00
Juan RP 3de7c66fbf xbps-src: make 'bootstrap' target more reliable.
- Ignore additional arguments, i.e './xbps-src bootstrap -j2'.
- Do not sync remote repos.
2015-05-05 11:52:17 +02:00
Juan RP 39115d823d xbps-src: respect -C for the origin pkg. 2015-05-04 06:07:31 +02:00
jbu e4900a7e80 xbps-src: Use CCACHE_PREFIX for ccache+distcc
closes #1468
2015-05-02 17:09:37 +02:00
Juan RP dbf77e4dcd xbps-src: added support to cross compile for MIPS32 (r2, be, sf) with musl. 2015-05-02 05:56:12 +02:00
Juan RP 6e905b4a17 xbps-src: mention -a armv5te in usage. 2015-05-01 12:58:42 +02:00
Juan RP 8396a3d898 xbps-src: use xbps-query -i in the !chroot case; fixes -EN. 2015-04-16 11:53:43 +02:00
Juan RP e575f44389 xbps-src: fix previous test for -t. 2015-04-16 11:40:37 +02:00
Juan RP f09798e802 xbps-src: -t requires XBPS_CHROOT_CMD=uchroot and xbps>=0.45. 2015-04-16 11:35:58 +02:00
Juan RP d07d3a72c9 xbps-src: new target: show-avail and returns 0 if pkg can be built. 2015-04-16 08:38:32 +02:00
Juan RP 559dc396a9 xbps-src: clean up masterdir in bootstrap-update too. 2015-04-09 19:52:21 +02:00
Juan RP e2e7b10b0d xbps-src: repair bootstrap-update in the !chroot case. 2015-04-09 19:45:59 +02:00
Juan RP f56e44389c xbps-src: do not remove autodeps with -I to make chris2 happy. 2015-04-04 17:52:43 +02:00
Juan RP 1d1e4baf25 xbps-src: mention aarch64{-musl} in usage. 2015-03-31 19:18:44 +02:00
Juan RP 0337b86f43 xbps-src: return 0 on success, 1 on error and 2 on nocross/broken (ignore). 2015-03-19 10:08:02 +01:00
Juan RP 43258cc391 xbps-src: remove autodeps before running the phase unless -C is set.
This should avoid unexpected issues due to building pkgs with dependencies
installed by previous builds.
2015-03-15 10:34:13 +01:00
Juan RP d8f69bde78 xbps-src: repair 'update-bulk' target (close #1121). 2015-03-14 09:47:56 +01:00
Juan RP 1e6f6edd59 xbps-src: export XBPS_DISTDIR for setup_pkg_depends. 2015-03-14 08:45:53 +01:00
Juan RP 849d22e46d xbps-src: refactor build logic into its own script (build.sh).
The build.sh script is now responsible to handle all the logic to build
a source package and its subpackages, as well as all its required
build dependencies. Thanks to this and subshells, dependencies are now
built into its own child process, creating a process tree that can go
nested as long as your system allows forking and has enough memory :-)

This fixes some issues that have been while building pkgs that have lots
of nested dependencies.
2015-03-14 07:52:29 +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 d7b027308d xbps-src: remove stupid check for uid == 0.
This is required to make xbps-src work with user namespaces.
2015-03-05 20:27:28 +01:00
Juan RP 7610142c34 xbps-src: only run bootstrap-update with -t. 2015-03-05 10:15:20 +01:00
Juan RP 50a116d27a xbps-src: set default compiler/preprocessor/linker flags via etc/conf.
Rather than setting them in the build profile, just set them in
etc/defaults.conf (overridable via etc/conf) to simplify the code.

- Also enable _FORTIFY_SOURCE=2 in CPPFLAGS.
- Also enable -z,relro in LDFLAGS.

As suggested by @chneukirchen.
2015-03-04 15:18:46 +01:00
Juan RP fce81cd12e xbps-src: require gawk for bootstrap, glibc wants it. 2015-03-02 20:33:24 +01:00
Juan RP 9441debf00 xbps-src: run 'bootstrap-update' on the real masterdir with -t.
The real masterdir will be cleaned up and always up-to-date before
creating the temporary masterdir.
2015-03-02 15:51:51 +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 2f524cf66a xbps-src: cleanups for -E and -t.
-E also detect noarch binpkgs.
-t make sure to cleanup the temporary masterdirs.
2015-03-01 19:29:16 +01:00
Juan RP ce425a80c6 xbps-src: silence output with -t. 2015-02-28 10:34:04 +01:00
Juan RP 8ee4a7c257 xbps-src: added -E opt to exit immediately if a binpkg already exists.
With -E if there's a binary package in a local repository for the
target pkg, exit immediately. This will be used by the upcoming xbps-fbulk(8).
2015-02-28 10:29:27 +01:00
Juan RP da2cd34bdb xbps-src: do not hardlink with -t, it won't work (doh).
The reason is that pkgdb could be modified concurrently... not sure
what I was thinking when I added that.
2015-02-28 08:34:21 +01:00
Juan RP 9c8ff5c33a xbps-src: return error of the target if -t is set. 2015-02-27 23:31:02 +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 df4c861f97 xbps-src: common/{,environment}/build_style -> common/${,environment}/build-style. 2015-02-21 12:13:07 +01:00
Juan RP 9a21eb0385 xbps-src: set XBPS_TARGET_MACHINE if unset. 2015-02-10 10:38:13 +01:00
Juan RP f2dc12e29f xbps-src: require xbps>=0.43.1 for the bootstrap target to work. 2015-01-05 17:12:48 +01:00
Juan RP 6ffc94c857 xbps-src: remove unused vars. 2015-01-04 13:02:02 +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 b6fe202a27 xbps-src: repair the bootstrap target for real. 2014-12-26 09:40:41 +01:00
Juan RP 985125a868 xbps-src: do not set -C in the bootstrap target, default confdir is ok. 2014-12-23 09:33:07 +01:00