Commit graph

503 commits

Author SHA1 Message Date
Enno Boland
38c457e1aa add compatibility code for noarch/only_for_archs 2019-02-15 13:19:44 +01:00
Enno Boland
6eb37e35b2 common: merge only_for_archs and noarch=yes into one.
* noarch=yes is replaced with archs=noarch
* only_for_archs= is renamed to archs=
* archs= allows the use of wildcards and negations; first matching rule applies:
  * archs="*-musl" will build the pkg only for musl-libcs
  * archs="~*-musl" will build the pkg only on non-musl-libc
  * archs="x86_64-musl ~*-musl" will build for x86_64-musl and any non-musl
    arch.
* archs= defaults to "*"
2019-02-15 13:19:44 +01:00
Johannes
026ebc069e common: unset rust-cross specific variables for native builds 2019-02-08 19:16:39 +01:00
maxice8
5850b188b4 shutils/build_dependencies.sh: also show build_helper that are set. 2019-01-27 09:15:17 +01:00
Cameron Nemo
2b569f1ef8 xbps-src: add show host/makedepends subcommand 2019-01-26 21:41:10 -02:00
maxice8
24efa877cd
shutils/common.sh: Remove variables that are now in build-helper/rust.sh 2019-01-25 20:44:42 -02:00
maxice8
a4f786276a
shutils/show.sh: add support for showing build_helper 2019-01-25 20:44:41 -02:00
maxice8
e30a9c8908
shutils/common.sh: add support for source build-helper files 2019-01-25 20:44:41 -02:00
maxice8
027cdb5bb8 shutils/common.sh: export CARGO_BUILD_TARGET 2019-01-20 19:41:18 -02:00
maxice8
54040e4b1b shutils/common.sh: define CARGO_BUILD_JOBS and
CARGO_TARGE_${RUST_TAGRGET}_LINKER.
2019-01-20 15:33:10 -02:00
maxice8
1fcdcdd959
shutils/common.sh: fix typo 2019-01-19 08:03:10 -02:00
maxice8
57ce5bc8e5 consistency_check.sh: use return instead of continue when appropiate.
Those are not meant to be continue as they are not in a loop they are in
a subshell.
2019-01-18 20:00:54 -02:00
maxice8
9964ac65d3 common.sh: don't export XBPS_GCC_* 2019-01-18 05:42:18 -02:00
Piotr Wójcik
9c8ef3d6a9 update-check: handle python3-only modules from pypi 2019-01-07 18:28:36 -02:00
Piotr Wójcik
1bbbd55871 update-check: add gitlab.freedesktop.org 2018-12-08 19:54:15 +01:00
maxice8
56b6e7b240 shutils/update_check.sh: be more strict with rubygem update checks
try to match the whole line from

href="/gems/${pkgname#ruby-}/versions/[VERSION NUMBERS]"

matching until the quote avoids problems like the travis gem that has
special versions like

1.8.10.travis.921.11

before it would match until 1.8.10., now it doesn't match.
2018-11-19 02:29:28 -02:00
maxice8
9ead6eef92 update_check: add support for rubygems.org 2018-11-06 15:51:46 -02:00
Rasmus Thomsen
9141df9698 cross-profiles: set XBPS_CROSS_RUST_FLAGS&XBPS_CROSS_RUST_TARGET
only added to platforms which support rust
2018-10-15 08:20:10 +02:00
newbluemoon
de83d6fdb1 xbps-src/shutils/update-check.sh: accept RSS MIME type
This fixes update-check for sourceforge.net.
2018-10-02 11:34:16 +02:00
Enno Boland
77a4b3d163
common/xbps-src: fix: cut by colon 2018-09-07 15:54:26 +02:00
Enno Boland
50e86ef640 common/libexec/build.sh: register all packages at once to prevent inconistent staging 2018-09-07 11:19:55 +02:00
Piotr
205f75cefe gucharmap: update to 11.0.2, fix update (#2347)
* gucharmap: update to 11.0.2.

* xbps-src: update-check: versions >=10 at ftp.gnome.org
2018-09-05 20:18:07 +02:00
Michael Aldridge
a4dd50388a xbps-src: Always enable the gocache
[ci_skip]
2018-09-01 22:05:07 -07:00
John
68a11770aa common/update_check.sh: accpeted mime types 2018-08-16 21:18:27 -03:00
John
8687925d70 shutils/update_check.sh: add kde plasma update check 2018-07-13 11:46:07 -03:00
Enno Boland
08d510ab87
common/shutils: fix configuration loading during setup_pkgs 2018-06-29 11:26:37 +02:00
Jürgen Buchmüller
87779af6c8
purge-distfiles: grep instead of sourcing template
To catch all SHA256 hashes from a template, even the ones which
are used only under certain preconditions, use grep [0-9a-f]{64} to
find all hashes in a template.

The may be some false positives which does not hurt the intended
purpose to purge obsolete distfiles.

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2018-06-23 16:30:10 +02:00
John
36da56d20a update_check.sh: add update check for kde 2018-06-21 10:57:34 -03:00
Alessio Sergi
d9f67bcb36 Revert "common/xbps: make unset_package_funcs and run_pkg_hooks nonfatal"
This reverts commit f3d4dc20d7.
2018-06-05 16:17:23 +02:00
Enno Boland
f3d4dc20d7 common/xbps: make unset_package_funcs and run_pkg_hooks nonfatal 2018-06-05 09:22:30 +02:00
John
b996b25d67 common/update_check: add gnome.gitlab.org
Closes #14671.

Signed-off-by: Enno Boland <gottox@voidlinux.eu>
2018-05-26 14:54:39 +02:00
Piotr Wójcik
40af6e0fd5 xbps-src: update-check: update gitlab 2018-05-25 13:02:59 +02:00
Duncaen
94ed33657b Revert "common/: add support for changelog field."
This reverts commit 8599efd9fd.
2018-05-04 16:46:46 +02:00
maxice8
8599efd9fd common/: add support for changelog field.
This commits allows ./xbps-src show to show the changelog field and for
changelog to be included with the -c/--changelog option via xbps-create.

Closes: #14102 [via git-merge-pr]
2018-05-03 22:58:27 -04:00
maxice8
ac4a294ba4 common: show value of nocross when it is set.
Manual.md says:

"This should be set to a string describing why it fails, or a link to
 a travis buildlog demonstrating the failure."
2018-05-01 19:20:30 -04:00
Alessio Sergi
d58e50477e update_check.sh: pypi.io -> pypi.org 2018-04-20 19:34:04 +02:00
Piotr Wójcik
e2b63458be xbps-src: update-check: handle underscores in upstream version string 2018-04-18 11:08:56 +02:00
Enno Boland
7e55558944
common/xbps-src: add stacktraces on build errors 2018-03-28 22:06:51 +02:00
Piotr Wójcik
02049148bf xbps-src: update-check: allow any compression on bitbucket 2018-03-27 12:15:06 +02:00
Leah Neukirchen
699d070492 common/xbps-src/shutils/chroot.sh: configure locale also when using -t. 2018-02-20 15:35:35 +01:00
Juan RP
4cf05ab32b xbps-src: remove_pkg_autodeps: avoid interactivity. 2018-01-25 09:30:47 +01:00
Piotr Wójcik
a634456691 xbps-src: support gitlab in update-check
Closes: #10928 [via git-merge-pr]
2018-01-18 14:13:16 +01:00
Jürgen Buchmüller
63db848413 build_dependencies: print $build_style, if any
To make it more obvious what is going to happen next print the
build_style, if set, when emitting the "building ..." messages.
2018-01-16 05:31:32 +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
e40b057c09 common/xbps-src/shutils/show.sh: don't expand conf_files patterns
Fixes #9628
2017-11-30 10:46:41 +00:00
Enno Boland
f5239598d5
common/xbps-src: change directory before each phase.
fixes #9313.
2017-11-29 15:02:10 +01:00
Michael Gehring
75d5240c5b xbps-src: evaluate build_options before setting default flags
Fixes #9454
2017-11-24 07:48:24 +01:00
Enno Boland
3b1f35c07e common: do_build is optional 2017-11-20 21:56:09 +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
Enno Boland
2810b865cb common/xbps-src: use ch_wrksrc in doinstall. 2017-11-18 14:15:55 +01:00
Enno Boland
2059f871fd common/xbps-src: make docheck use run_step.
This allows a build_style to define a generic do_check function.
2017-11-18 13:29:34 +01:00
Enno Boland
ba84655a13 common/libexec: remove redundant pre/do/post preparation code
This pullrequest removes redundant codepaths in
xbps-src-do{build,configure,install}.sh and joins the code in the
run_step function. This causes slightly different behavior to
do_install:
Do install will chdir to wrksrc only _before_ the first step. The
current behavior is that pre_install will run without a chdir, do_ and
post_ is runned with a chdir. This is a subtle but breaking change and
may cause some templates to break at install phase.
2017-11-18 09:44:47 +01: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
Toyam Cox
debdd551f4 xbps-src: add quiet mode 2017-08-29 13:23:54 -04:00
Toyam Cox
04f489e839 xbps-src: expand usage of ignore-problems in reading pkgs 2017-08-29 13:23:54 -04:00
Toyam Cox
5a7e73b89a xbps-src: add informative run mode 2017-08-29 13:23:54 -04:00
Florian Wagner
f2c0f7885e Add and document R-cran build style; support CRAN in update-check. 2017-06-08 13:32:40 +02: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
Juan RP
36480319fe xbps-src: fix previous (prepare_cross_sysroot needs to be run early). 2017-04-03 21:16:51 +02:00
Juan RP
d7aaa3e3e9 xbps-src: speed up cross compilation by installing cross pkgs a bit later. 2017-04-03 21:12:34 +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
f7558c16aa common: lost the FCC to FC change somehow
Should now be conforming to GNU make.
2017-03-08 16:06:54 +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
6d0d142d15 xbps-src common.sh: add FCC for gfortran
Introduce an environment variable `FCC` for fortran, just as CC,
CXX etc. are defined for the other compilers.

It is set to `${XBPS_CROSS_TRIPLET}-gfortran` when cross compiling, or
to just `gfortran` when building for the native architecture.
Use just "$FCC" now when specifying the fortran compiler in a template.
2017-03-08 15:18:14 +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
Hadrian Węgrzynowski
86a03ae71a Fix handling of package options in packages with '+' character in name. (#5385)
Substitute '+' character with '_', because eval treats '+' character
as not a part of variable name.
2016-12-24 09:43:30 +01:00
Juergen Buchmueller
2bbaddd4bb common.sh: unset cross environment variables
Closes #5067
2016-10-28 14:47:07 +02:00
Juergen Buchmueller
958b460965 common/xbps-src/shutils/common.sh XBPS_GCC_VER...
Export the environment variables XBPS_GCC_VERSION*
2016-10-26 07:24:00 +02:00
Toyam Cox
7c9d1f61b0 xbps-src: allow show of broken pkgs 2016-10-20 19:49:57 -04:00
Jürgen Buchmüller
cb5e8ef57a common/xbps-src/shutils/common.sh: add cross env
It seems that some (many?) projects rely on the environment defining
compilers, tools and flags by specific XYZ_host and XYZ_target variables.

When cross compiling, define these environment variables.

This enables e.g. qt5/qtwebengine build to succeed. Specificially ninja
relies on these variables when cross compiling.
2016-08-08 21:56:54 +02:00
Alessio Sergi
da4d9b7f23 xbps-src: PYPI_SITE: use files.pythonhosted.org for less redirections 2016-05-13 17:35:35 +02:00
Juan RP
5d631d1415 libexec/build.sh: force base-files installation to not fail on EEXIST. 2016-04-30 17:57:10 +02:00
Juan RP
9a2487e19e libexec/build.sh: set XBPS_ARCH while installing base-files to the masterdir.
Fixes './xbps-src bootstrap' in musl hosts.
2016-04-30 17:52:33 +02:00
Christian Neukirchen
7a19e62e37 libexec/build.sh: add trailing newline to error. 2016-04-29 18:26:41 +02:00
Juan RP
326c989c7c xbps-src/show: resolve virtual dependencies correctly. 2016-04-27 20:56:55 +02:00
Juan RP
d2bac19750 xbps-src: re-introduce etc/virtual.
The `etc/virtual` file declares the default package to be built for
virtual dependencies declared as "virtual?foo" in $depends.

Before this change, the run-time dependency was added as is to the final
binary package but no pkg providing this virtual pkg was built.

With this file we declare the *default* pkg to be built.

NOTE: "virtual?foo" is only applicable to *run* time dependencies, i.e
only those declared in $depends.
2016-04-27 20:16:59 +02:00
Juan RP
5bfd84163b common/xbps-src/shutils/purge_distfiles.sh: does not need to executable. 2016-04-27 16:56:17 +02: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
Alessio Sergi
8fc7bfb7d2 xbps-src: update-check: update PyPI URL here as well 2016-04-25 17:52:51 +02:00
Juan RP
d3bc0de1e7 xbps-src: get rid of etc/{defaults.,}virtual.
It wasn't too useful after all and this slowed down the dependency
process marginally.

We don't need this, we can live without this.
2016-03-22 10:39:45 +01: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
Michael Gehring
a038eaba9a common/xbps-src: make show <pkg> exit 0 on success 2016-03-08 10:24:54 +01: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
Christian Neukirchen
ffdc05018a xbps-src/shutils/cross.sh: ensure lib -> usr/lib in sysroot. 2016-01-20 19:38:04 +01:00
Juan RP
faf97ef55a xbps-src: setup_pkg() do not overwrite env while re-reading conf. 2015-12-12 10:55:04 +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
6d90efebab purge-distfiles: fix rmdir parameter 2015-12-03 18:24:36 +01:00
Juan RP
c373ae50d4 xbps-src: get rid of 'broken_as_needed'; not used anymore. 2015-11-28 09:24:01 +01:00
Juan RP
dcdaa283b7 xbps-src: make LDFLAGS in templates override global defs. 2015-11-28 09:00:14 +01:00
Jürgen Buchmüller
6a25cf1cf2 common.sh: set BUILD_XXXFLAGS as autoconf defaults
Some autotool files (configure.ac) expect host build flags to be
defined as BUILD_CFLAGS, BUILD_CXXFLAGS, BUILD_CPPFLAGS and
BUILD_LDFLAGS. Especially these files tend to default to
LDFLAGS for BUILD_LDFLAGS, which makes host utilities built
with these flags fail with buildpie=yes because of differing
compiler and linker options.

One example is libatasmart where this patch fixes the build.
2015-11-20 20:57:23 +01:00
Juan RP
c2c225aa42 xbps-src: make 'show-build-deps' canonicalize 32bit pkgs. 2015-11-19 08:32:47 +01:00
Enno Boland
c7f2f9840f common/xbps-src: remove force_debug_pkgs variable 2015-11-17 15:36:51 +01:00
Juan RP
c759f096fa xbps-src: give more info for 'restricted' pkgs. 2015-11-14 11:55:04 +01:00
Juan RP
d407e18e19 xbps-src: xbps-install(1) can return EAGAIN (11) with pkg conflicts. 2015-10-29 08:48:38 +01:00
Juan RP
b479b9a7ba xbps-src: bulk: only abort if rval is 1, ignore broken/skipped pkgs.
Issue #2804
2015-10-22 18:20:09 +02:00
Juan RP
e4fdd38304 xbps-src/doinstall: touch install state file after running post-install too. 2015-09-27 18:51:58 +02:00
Juan RP
68701cf6ca xbps-src: repair -f <phase> again; close #2617
Also simplified configure/build/install phases to only touch a single
file once the phase has been run, rather than multiple of them
(pre/post, etc).
2015-09-27 18:49:38 +02:00
Juan RP
1f2147f240 xbps-src/doinstall.sh: update args check. 2015-09-27 11:28:11 +02:00
Juan RP
21b2f6c3e8 xbps-src: fix regressions introduced with -f <phase>. 2015-09-27 10:30:10 +02:00
Juan RP
1f4a588861 xbps-src: fix -f pkg when destdir is empty. 2015-09-27 10:09:08 +02:00
Juan RP
4449fbd0be xbps-src: make -f <phase> respect previous successful phases. 2015-09-24 16:12:10 +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
Jürgen Buchmüller
482acee672 purge_distfiles.sh: remove empty directories 2015-09-23 15:12:55 +02: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
Juan RP
bcdacb66a0 xbps-src: replace basename(1) with ${var##*/}.
Reduce number of fork+exec due to using a subshell to execute basename(1).
2015-09-11 07:55:40 +02:00
Jürgen Buchmüller
7aa6261c63 chroot.sh: set LC_ALL=C in the chroot 2015-09-10 13:48:47 +02:00
Jürgen Buchmüller
1c4a971d74 purge-distfile: improve template scan speed 2015-09-05 07:41:58 +02:00
Jürgen Buchmüller
f5c8a5581e Merge pull request #2438 from pullmoll/setup_pkg
setup_pkg(): fix check for pkgname-32bit + update gcc-multilib
2015-09-03 16:03:44 +02:00
Jürgen Buchmüller
0c7cfd6abe setup_pkg(): fix check for pkgname-32bit
+ Also update gcc-multilib to gcc-4.9.3

Trying to build `gcc-multilib` failed because `glibc-32bit`
has no separate `srcpkg/glibc-32bit/template`, but is a
result of building `glibc` for target arch `i686`.

For gcc-4.9.3 to build a patch is required that gets us rid
of strange errors when including /usr/include/bits/stdio2.h
2015-09-03 12:26:13 +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
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
beefcurtains
3c424a73f6 xbps-src: quote $wrksrc
Allows spaces in the directory name
2015-07-29 11:11:04 +00:00
Juan RP
5a40351feb xbps-src: only remove deps before building on travis builds.
This assumes -C is set without -t and XBPS_CHROOT_CMD set to proot.

A stupid workaround for now...
2015-07-29 10:52:10 +02:00
Juan RP
279ead0999 xbps-src: added XBPS_ALLOW_RESTRICTED conf option for restricted pkgs.
Such packages should set the `restricted' var to allow building a binary package.
Note that such packages do not allow redistribution of sources and binaries,
so that it's up to the user if (s)he wants to pkg it locally.
2015-07-26 10:22:35 +02:00
jbu
ac844019f4 purge_distfile.sh: Print info if percent changes 2015-07-20 15:25:21 +02:00
Juan RP
2284708d43 xbps-src: remove autodeps for target pkg if -t is not set.
When building with -C and without -t (xbps-uchroot(1) with overlayfs),
make sure to remove autodeps prior to start resolving dependencies.

This is necessary for cases where a previous built pkg contains the
same build dependency required for another pkg with -C, resulting
in dependencies being detected as installed and later removed.

Thanks to @dominikh and @Gottox for info and comments.
2015-07-16 09:38:02 +02:00
Juan RP
0ce38c4c74 xbps-src: make sure XBPS_WRAPPERDIR is only created in required cases.
- When building a bootstrap pkg and the chroot is not ready (bootstrap).
- When building a pkg within the chroot.
2015-07-12 10:13:43 +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
e6b34ca994 xbps-src: set XBPS_MAKEJOBS to 1 if unset or disable_parallel_build. 2015-07-10 10:07:02 +02:00
Juan RP
e3542fac95 xbps-src: remove_pkg_autodeps: print errval and debug output on error. 2015-07-09 11:40:52 +02:00
jbu
b28b004505 purge_distfiles.sh: ignore msg_error()
When sourcing templates to get $checksum there are templates
calling msg_error(). This is not relevant for this function,
thus define a local dummy msg_error() to ignore these cases.
2015-07-07 05:37:38 +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
d8030e5651 Revert "xbps-src: install dependencies with -U (--unpack-only)."
This reverts commit 8d2226deba.

This breaks all bins that need ca-certificates (curl, wget, git, etc).
2015-06-07 17:02:20 +02:00
Juan RP
8d2226deba xbps-src: install dependencies with -U (--unpack-only).
This should result in a considerable performance improvement, because the
expensive configuration phase of all dependencies is skipped.

Hopefully this does not introduce build issues :-)
2015-06-07 12:06:55 +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
28b44acac9 xbps-src/cross: reconfigure base-directories too. 2015-06-03 10:55:37 +02:00
Juan RP
428c34d1f0 xbps-src: reconfigure base-files not base-directories. 2015-06-03 10:44:58 +02:00
Juan RP
b1d2d425b4 xbps-src: remove stupid workaround to sleep for a second.
This was added to make sure pkg file metadata contains a different mtime
(in seconds precision), but building multiple pkgs in less than a second
will be really strange.
2015-05-23 09:52:19 +02:00
Juan RP
94f2e004b4 xbps-src: remove autodeps while building hostdeps too. 2015-05-23 09:52:19 +02:00
Juan RP
4f67c26652 xbps-src: force autodeps cleanup while building dependencies.
Before that change, "./xbps-src -C pkg foo" would not remove dependencies
installed by previous builds required by foo.
2015-05-02 03:40:52 +02:00
Juan RP
47f46229b8 xbps-src/cross: create sysroot/include symlink.
The cross compiler seems to need it to compile C++ code (wtf).
2015-05-01 12:34:17 +02:00
Juan RP
11836f56c1 xbps-src: a more meaningful msg when dep cannot be resolved. 2015-04-30 09:09:03 +02:00
Juan RP
c6999a235d xbps-src: if build dependency cannot be resolved, exit with error. 2015-04-30 08:26:12 +02:00
Juan RP
90771d92f5 xbps-src: only print real source pkgs in show-build-deps. 2015-04-26 08:32:46 +02:00
Juan RP
3caa64b981 xbps-src: create XBPS_WRAPPERDIR in the upperdir with overlayfs. 2015-04-24 11:02:37 +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
313cdf6ee6 xbps-src: force reconfiguration of base-directories in sysroot.
... otherwise some required symlinks in sysroot aren't created, and this
seems to be required when cross compiling for i686.
2015-04-15 12:23:07 +02:00
Juan RP
ba814ab5c7 xbps-src/build.sh: error out if installing cross pkgs fails for some reason. 2015-04-15 11:38:23 +02:00
Juan RP
0b2a7f39f3 xbps-src/cross: install cross-vpkg-dummy as manual, to not autoremove it. 2015-04-14 11:01:11 +02:00
Juan RP
14849336aa xbps-src/cross: force installation of cross pkgs just in case. 2015-04-14 10:47:25 +02:00
Juan RP
9a7350c3da xbps-src/cross: return early if cross pkgs are already installed. 2015-04-14 10:42:47 +02:00
Juan RP
ad71cffe79 xbps-src/bulk: silence output if there are no pkgs to build. 2015-04-11 08:40:46 +02:00
Juan RP
e2e7b10b0d xbps-src: repair bootstrap-update in the !chroot case. 2015-04-09 19:45:59 +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
8cd7f1a901 Revert "xbps-src: Set the MAKEFLAGS environment variable"
This reverts commit d803775b3d.

This breaks all pkgs that exec make directly without ${makejobs}
(which should be built as -j1) and makes installation also parallel,
which we do not want.

We'll probably resurrect this in a certain future.
2015-04-09 09:21:53 +02:00
Juan RP
3964b12de6 Merge pull request #1214 from nmeum/makeflags
xbps-src: Set the MAKEFLAGS environment variable
2015-04-09 07:51:46 +02:00
Sören Tempel
d803775b3d xbps-src: Set the MAKEFLAGS environment variable
This ensures that packages with custom build functions also use our
provided MAKEFLAGS. Without this commit it was necessary to always
append the "${makejobs}" variable manually to make. For compatibility
reasons that is still possible but should probably be removed in the
future by making "makejobs" a local variable.
2015-04-08 19:44:06 +02:00
Juan RP
6d465e0a43 xbps-src/bulk: simplify and make the toposort work again. 2015-04-07 12:34:23 +02:00
Juan RP
66f6780b31 xbps-src: show-build-deps: only return pkgnames.
We do not care about its version really.
2015-04-07 12:33:42 +02:00
Juan RP
efbb1f4a8a xbps-src: make -a target work with show-repo-updates/update-bulk. 2015-04-07 12:18:26 +02:00
Juan RP
48548f1983 xbps-src/build.sh: sleep 1 second while running do-pkg.sh.
This will ensure that binpkg files do not have recorded the same mtime,
which is required in xbps to detect obsolete files properly.
2015-04-02 09:09:12 +02:00
Juan RP
7a59746763 xbps-src/build.sh: pass $sourcepkg not subpkgname to the helpers.
Close #1243
2015-03-30 20:24:11 +02:00
Juan RP
f7cd626a1c xbps-src/build_dependencies: create XBPS_STATEDIR.
This fixes cross compilation of pkgs that depend on itself.
2015-03-28 04:49:18 +01:00
Juan RP
7cffdb2d28 xbps-src/build_dependencies: handle deps provided by vpkgs correctly.
... otherwise deps specified by the cross-vpkg-dummy pkg aren't
taken into account. Assume that version provided by the vpkg is
good enough for building.
2015-03-28 03:22:07 +01:00
Juan RP
1c5f4690e6 xbps-src: always require current srcpkgs version in build dependencies.
That means that version comparators are not supported anymore in
hostmakedepends and makedepends.

This will ensure that a pkg is always built with the same build dependencies
everywhere, if the srcpkgs tree is uptodate.
2015-03-27 10:59:58 +01:00
Juan RP
b43411d4d2 xbps-src: show-build-deps: sort -u the results. 2015-03-26 04:18:42 +01:00
Juan RP
439807df63 xbps-src: setup_pkg: re-read conf file to propagate vars to build.sh. 2015-03-23 18:02:45 +01:00
Juan RP
451411ad21 xbps-src: set_build_options: read conf file for XBPS_PKG_OPTIONS.
This makes XBPS_PKG_OPTIONS* settings work via build.sh. Thanks chris2.
2015-03-23 17:57:23 +01:00
Juan RP
a86b30ba05 xbps-src: fix remaining issues with -N and -a. 2015-03-23 16:05:43 +01:00
Juan RP
03ef5b6804 xbps-src: make -N -a <target> work.
If required cross pkgs are not available in xbps repos, those are now built
automagically.
2015-03-23 12:44:37 +01:00
Christian Neukirchen
ca81f8e7f1 xbps-src/shutils/common.sh: check $version, - and _ are now forbidden. 2015-03-20 19:06:18 +01:00
Juan RP
55ce6f836f xbps-src/bulk: do not use tac(1) in the tsort result, it's inverted otherwise. 2015-03-20 14:45:06 +01:00
Juan RP
ce859b4188 xbps-src: run_func on error must return 1 not 2. 2015-03-20 09:17:40 +01:00
Juan RP
95ca05e6e6 xbps-src: check_pkg_arch now exits with errcode 2. 2015-03-19 10:26:19 +01: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
Christian Neukirchen
be94bdd70a xbps-src/shutils/common.sh: actively unset disabled build options to override default values. 2015-03-18 16:14:51 +01:00
Juan RP
aab0fe7ed3 xbps-src/bulk: declare some more local vars. 2015-03-17 11:04:09 +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
01afe81aac xbps-src: fix -E to check for the target pkg being registered in repos.
rather than just checking if its binary package is available.
2015-03-15 09:54:52 +01:00
Juan RP
d8f69bde78 xbps-src: repair 'update-bulk' target (close #1121). 2015-03-14 09:47:56 +01:00
Juan RP
a8962ace18 xbps-src/build.sh: only skip building/installing deps for target pkg with -N. 2015-03-14 09:24:35 +01:00
Juan RP
f2883afc1b xbps-src/build.sh: fix xbps-src-doinstall() when pkg is a subpkg.
Close #1120
2015-03-14 09:06:44 +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
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
388c3143ac xbps-src: tweak the order of LDFLAGS set in templates.
Rather than appending to the final LDFLAGS, add it to the head,
this way packages that use LDFLAGS="-lfoo" will still work with --as-needed.

This fixes hsetroot build, at least.
2015-03-12 10:46:36 +01:00
Juan RP
31b544020f xbps-src/libexec: remove double slash from shebang. 2015-03-11 08:28:13 +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
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
d2f127d7ab xbps-src: create log files in $XBPS_STATEDIR while installing bdeps. 2015-03-03 10:45:34 +01:00
Juan RP
083d139f68 xbps-src: setup_pkg: rename a var for clarity. 2015-03-01 19:29:16 +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
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