Commit Graph

30 Commits

Author SHA1 Message Date
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
maxice8 a5bc81adf7 meta: remove supporting code for noarch 2019-03-14 19:22:06 -03:00
maxice8 415e6cd701 meta: remove support code for only_for_archs= 2019-03-14 19:20:07 -03:00
John 5313faabfd common: add compatibility code for noarch also for prepkg and doinstall 2019-02-21 23:25:54 +01:00
Enno Boland 2810b865cb common/xbps-src: use ch_wrksrc in doinstall. 2017-11-18 14:15:55 +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
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
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
beefcurtains 3c424a73f6 xbps-src: quote $wrksrc
Allows spaces in the directory name
2015-07-29 11:11:04 +00:00
Juan RP 31b544020f xbps-src/libexec: remove double slash from shebang. 2015-03-11 08:28:13 +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 3adb1c5c6b xbps-src: add environment/build_style to set env vars for build_styles. 2015-02-21 12:03:48 +01:00
Juan RP aed0f3ee0e xbps-src: fix hooks that are expected to be used in subpkgs. 2015-01-14 14:23:10 +01:00
Juan RP 5f63a3cf4f xbps-src: run pre-install hooks for subpkgs too.
The pre-install hooks are run before pkg_install().
2015-01-14 11:31:52 +01:00
Juan RP 6e13dcbaff xbps-src: introduce XBPS_STATEDIR to store state files, logs and others.
XBPS_STATEDIR is created in XBPS_BUILDDIR/.xbps-${sourcepkg}-${version}
and contains logs and state files for all phases, as well as wrappers.

We can now inspect the output from all hooks.
2014-12-11 11:02:22 +01:00
Juan RP 782f331b10 xbps-src: repair running post-install hooks. 2014-12-06 18:10:08 +01:00
Juan RP 2a7a3209b8 xbps-src: make the 'pkg' target work after 'install'.
- Create state files in $wrksrc for $sourcepkg and $subpackages
to see if the phase needs to be re-run.
2014-12-06 13:45:49 +01:00
Juan RP f7543fb5b6 xbps-src: libexec: simplify chdir to wrksrc/build_wrksrc. 2014-11-06 17:23:58 +01:00
Juan RP 13c2ca3bd2 xbps-src: reorganize code in more sections. 2014-09-05 11:10:07 +02:00
Juan RP 790202ddbd xbps-src: move helpers to environment; there's no need to have them.
Those helpers were just setting up some extra functions that can be used
on templates, and this can be done already via environment, so let's remove
the helpers completely.
2014-08-30 09:01:29 +02:00
Juan RP 1651a5fe6e xbps-src/doinstall: there's no need to remove pkg metafiles on destdir. 2014-08-26 09:55:40 +02:00
Juan RP 3fdd0e180e xbps-src: run pre-pkg hooks in the install to destdir target.
The prepare-32bit hook has been moved to the pre-pkg stage and now
those hooks are executed as part of the install phase. That means that
pre-pkg hooks are now independently run for the subpkgs and the sourcepkg
after the install-destdir phase and pre/do/install hooks.

As bonus, finally correct rdeps can now be collected for the 32bit pkgs
and works for all them, without the need to sort the order of subpkgs!
2014-08-25 22:34:13 +02:00
Juan RP 1af40eb476 xbps-src: apply sane indentation to all shell code. 2014-04-09 16:40:27 +02: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