Commit graph

986 commits

Author SHA1 Message Date
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
Juan RP
2fc4905025 xbps-src: use xbps.d in the bootstrap target. 2014-12-22 11:38:34 +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
5929c2458a xbps-src: remove pkg statedir unless -C is set. 2014-12-13 09:42:11 +01:00
Juan RP
47030ba22c xbps-src: clean removes {build,dest}dir completely. 2014-12-11 11:11:58 +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
6a20a99cbb xbps-src: improve clean description. 2014-12-10 18:58:39 +01:00
Juan RP
fc8ec0a799 xbps-src: clean <pkgname> also removes pkg files in destdir. 2014-12-10 18:57:49 +01:00
Juan RP
d1cfb341c2 xbps-src: properly set XBPS_MACHINE after linux32 reexec for x86 builds. 2014-11-22 07:00:50 +01:00
Juan RP
48423eb8fe xbps-src: remove dead code. 2014-11-18 06:23:27 +01:00
Juan RP
5b9d2f889b xbps-src: print correct var for invalid targets. 2014-11-18 06:12:52 +01:00
Juan RP
6fdd540de5 xbps-src: fix 'clean' target to remove autodeps if IN_CHROOT is set. 2014-11-17 17:32:30 +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
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
Christian Neukirchen
60ac25fd1f xbps-src: add update-check. 2014-10-31 20:43:35 +01:00
Juan RP
5da744da85 xbps-src: create a ccache dir per arch. 2014-10-26 10:52:11 +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
3fcb1c1382 xbps-src: declare bootstrap vpkg with .conf extension. 2014-10-18 12:40:23 +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
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
732b483f1c xbps-src: require xbps>=0.41. 2014-09-30 06:05:27 +02:00
Juan RP
fb83aa9025 xbps-src: a path to the sourcepkg directory can now be used.
For example:

	$ ./xbps-src install srcpkgs/foo
	$ ./xbps-src install /path/to/void-packages/srcpkgs/foo
	$ ./xbps-src install foo
	$ cd srcpkgs/foo && xbps-src (if void-packages is in PATH)

The basename of the pkgname argument is now used.
2014-09-27 06:53:27 +02:00
Juan RP
1a4dfe87e1 xbps-src: do not check for fakeroot; it's not necessary anymore. 2014-09-25 08:34:37 +02:00
Juan RP
d75238b0d8 xbps-src: remove fakeroot stuff completely. 2014-09-24 20:32:21 +02:00
Juan RP
b96e0ffe0a xbps-src: cleanup signal handler catching SIGINT and SIGTERM.
- catching SIGHUP is meaningless.
- there's no point in clearning wkrsrc or removing autodeps, this is left
  intact right now; this could be useful to have.
2014-09-24 20:03:20 +02:00
Juan RP
55f8a4b962 xbps-src: require xbps>=0.38. 2014-09-15 19:17:43 +02:00