Commit Graph

220 Commits

Author SHA1 Message Date
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
Enno Boland 59cc3e0d45 replace nonfree=yes with repository=nonfree.
This way it is possible to set up package specific repositories for
i.e. specific devices.
2014-11-05 14:15:25 +01:00
Eivind Uggedal aeb7baef31 Revert "update_check.sh: do not check packages without distfiles"
This reverts commit e67c2718f2.
2014-11-03 12:18:28 +00:00
Eivind Uggedal e67c2718f2 update_check.sh: do not check packages without distfiles 2014-11-03 11:45:03 +00:00
Eivind Uggedal 451b5d3bcc update_check.sh: reset regex before each site
Fixes a bug where python projects from PYPI which have a github
homepage gets the github regex when checking PYPI.
2014-11-03 11:37:08 +00:00
Eivind Uggedal b7219e9407 update_check.sh: fix globals 2014-11-03 11:37:08 +00:00
Christian Neukirchen 637dcf9472 update_check.sh: scan tags page instead of using the API. 2014-11-02 16:31:17 +01:00
Christian Neukirchen 01646ec643 update_check.sh: escape pkgname in default regexp. 2014-11-02 15:54:08 +01:00
Christian Neukirchen ebbb33b519 update_check.sh: ignore SSL errors. 2014-11-02 15:45:57 +01:00
Christian Neukirchen 85ea2492c3 update_check.sh: regard dashes as dots for version comparison. 2014-11-01 20:37:17 +01:00
Christian Neukirchen bcaeae6d24 update_check.sh: extract launchpad project name from URL instead of guessing it. 2014-11-01 19:43:55 +01:00
Christian Neukirchen c36f464f4d update_check.sh: extract sourceforge project name from URL instead of guessing it. 2014-11-01 19:04:21 +01:00
Juan RP 07dd4ad339 xbps-src: update-check: avoid bashism, requested by @chneukirchen. 2014-11-01 15:23:51 +01:00
Juan RP 1e445fe096 xbps-src: update-check: return if curl not available; simplify output for match. 2014-10-31 21:24:07 +01:00
Christian Neukirchen 60ac25fd1f xbps-src: add update-check. 2014-10-31 20:43:35 +01:00
Juan RP cc45da3f6d xbps-src: indent enabled build options correctly too. 2014-10-30 07:09:33 +01:00
Juan RP 3f31573ed5 xbps-src: align show options correctly. 2014-10-28 10:15:58 +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 4545aca5e3 xbps-src: repair bootstrap installation. 2014-10-18 16:45:16 +02: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 62e0fb53be xbps-src: export XBPS_WRAPPERDIR for cross builds (could be used for native too). 2014-09-28 08:02:12 +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 5202f22f48 xbps-src: define some xxx_FOR_BUILD vars for cross builds. 2014-09-25 16:37:14 +02:00
Juan RP 952848ebc3 xbps-src: make sure a target is always passed in to xbps-uhelper. 2014-09-25 12:44:36 +02:00
Juan RP 1ce278f035 xbps-src: drop fakeroot; xbps-create(8) is our friend.
- This should work for almost 90% current packages, as reported by OpenBSD/ports.
- Packages that use install -o <user> -g <group>  will get fixed progressively.
- xbps-create(8) by default sets pkg files as 0:0, if any pkg needs special
  permissions those can be set via INSTALL scripts (for now).
2014-09-24 19:51:17 +02:00
Juan RP 8063adde71 xbps-src: for runtime deps (depends) do not resolve vpkgs.
...otherwise the following would happen:

	- foo depends on musl
	- musl is provided by cross-vpkg-dummy
	- musl is then detected as resolved and it's not built.
2014-09-21 11:44:45 +02:00