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
Juan RP
cda175e0d6
xbps-src: make show-build-deps return err when arch is not supported.
2015-02-28 02:38:00 +01:00
Juan RP
429df59e2a
xbps-src: show-build-deps: fix an issue with subpkgs.
2015-02-28 01:52:23 +01:00
Juan RP
4130cd3e8f
xbps-src: show-build-deps: ignore virtual rdeps completely.
2015-02-28 01:46:38 +01:00
Juan RP
3107408b9e
xbps-src: show-build-deps: convert virtual rdeps.
2015-02-28 01:36:22 +01:00
Juan RP
98ae47f3eb
xbps-src: show-build-deps: also print rdeps and drop subpkgs.
2015-02-28 00:13:42 +01:00
Juan RP
ad74cbe1b4
xbps-src: show-build-deps: sanitize deps and use etc/virtual.
2015-02-27 23:48:14 +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
d3811ca891
xbps-src: show-build-deps: take only_for_archs into account.
...
Silently error out if arch is not supported... my new bulk build code
expects ERROR if pkg cannot be built for the target arch.
2015-02-27 19:32:54 +01:00
Juan RP
a4ff74aeb6
xbps-src: make sure to not propagate <subpkg>_package() funcs.
...
Unset all them before processing a new template. Close #1023
2015-02-25 18:54:00 +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
f38c8ba711
xbps-src: fix per pkg options declared in etc/conf ( close #973 ).
2015-02-16 10:48:21 +01:00
Alessio Sergi
f417430e41
xbps-src: update_check: set default url to PYPI for Python packages
2015-02-10 12:15:10 +01:00
Eivind Uggedal
cc8762d3fb
update_check.sh: escape gnome package names.
2015-01-21 18:32:25 +00:00
Eivind Uggedal
3b7a76512d
update_check.sh: use external update file for overrides
2015-01-15 11:16:30 +00: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
5a2536f135
xbps-src: really disable --as-needed if broken_as_needed is set.
...
Also remove some unnecessary stuff from gnu-configure build_style,
because it's done elsewhere.
2015-01-08 11:54:28 +01:00
Juan RP
29b171a284
xbps-src: return early in the bootstrap target when all deps are built.
...
This fixes the last issue for the 'bootstrap' target... this requires
xbps>=0.43.1 to work properly.
2015-01-05 17:11:23 +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
897b504d6b
xbps-src: use bootstrap build-profile for the bootstrap target.
...
... otherwise the proper compiler flags are being used in the chroot case.
2014-12-24 09:55:29 +01:00
Juan RP
8252c1a719
xbps-src: set defaults to XBPS_C{,XX}FLAGS for the bootstrap target.
2014-12-23 09:24:17 +01:00
Juan RP
4a91db3b95
xbps-src: do not use ${version} to compose XBPS_STATEDIR.
...
GNU autoconf configure scripts will separate PATH components with `:'
and some pkgs could use this char in its version component.
2014-12-22 12:15:34 +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
5929c2458a
xbps-src: remove pkg statedir unless -C is set.
2014-12-13 09:42:11 +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
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
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
efc17d8c22
xbps-src: accept subpkgname as target pkg for the install target.
...
Close #686
2014-12-06 12:33:30 +01:00
Eivind Uggedal
1a3b512069
update_check.sh: support for kernels
2014-11-30 19:29:46 +00:00
Enno Boland
b7c7cc67fa
xbps-src: update-check reports all newer versions one gnome sites.
2014-11-29 17:59:18 +01:00
Eivind Uggedal
154c5cd605
update_check.sh: support for update_version (upstream version).
2014-11-24 14:57:41 +00:00
Eivind Uggedal
8525392a11
update_check.sh: bitbucket.org support
2014-11-24 14:44:09 +00:00
Juan RP
8ade12549f
xbps-src: rename disable_debug to nodebug, to follow our naming convention.
2014-11-16 11:52:36 +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
cd9f85c1a5
xbps-src: print $broken if set: it should contain the url to the build log.
2014-11-11 22:10:30 +01:00
Juan RP
d189235b2b
xbps-src: prefer LDFLAGS from template if set.
2014-11-11 16:39:57 +01:00
Juan RP
8d9f0ed815
xbps-src: bulk: setup srcpkg vars before reading target template.
2014-11-11 10:41:20 +01:00
Juan RP
d982c558f2
xbps-src: correct test behaviour for build-profiles.
2014-11-10 12:30:07 +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
88c76fb588
xbps-src: also use build-profiles for bootstrap pkgs.
2014-11-10 11:25:36 +01:00
Juan RP
c2bd01c8d3
xbps-src: introduce build profiles and use it by default.
...
common/build-profiles contains the compilation flags used in native
builds, and are defined per architecture:
- x86_64 (glibc)
- x86_64-musl (musl)
If XBPS_CFLAGS or XBPS_CXXFLAGS are set in `etc/conf`, the settings
from the build profile will be overrided.
2014-11-10 11:17:34 +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
f7543fb5b6
xbps-src: libexec: simplify chdir to wrksrc/build_wrksrc.
2014-11-06 17:23:58 +01:00
Juan RP
457fd7aefb
xbps-src: respect XBPS_DEBUG_PKGS for bootstrap pkgs too.
2014-11-05 17:29:58 +01:00
Enno Boland
1a75818e7b
common: fix "$repository" = "nonfree" comparision.
2014-11-05 14:55:47 +01:00