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
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
Juan RP
dbde6e849e
Revert "Revert "xbps-src: when all deps have been processed exit directly.""
...
This reverts commit ad79b8e7e2
.
2014-09-21 11:25:38 +02:00
Juan RP
75b6468fa0
Introduce a way to override dependencies for all pkgs thru a file.
...
The `etc/defaults.virtual` file contains the default replacement
for our use cases; at this moment we only use it to use `eudev`
rather than `systemd` for udev.
If `etc/virtual` exists it overrides the settings of `etc/defaults.virtual`.
2014-09-06 12:43:24 +02:00
Juan RP
ad79b8e7e2
Revert "xbps-src: when all deps have been processed exit directly."
...
This reverts commit 9bf1ba5f88
.
I still think the behaviour I observed was related to something else.
2014-09-05 12:57:15 +02:00
Juan RP
13c2ca3bd2
xbps-src: reorganize code in more sections.
2014-09-05 11:10:07 +02:00
Juan RP
9bf1ba5f88
xbps-src: when all deps have been processed exit directly.
2014-08-30 20:45:57 +02:00
Juan RP
6d20b9a05a
xbps-src: move vopt_* helpers to environment/setup/options.sh.
2014-08-30 09:10:11 +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
Dominik Honnef
cdd2ce0da4
add helpers for working with options
...
Add the helpers vopt_if, vopt_with and vopt_enable that simplify common
option-based operations.
Instead of a bunch of
if [ "$build_option_foo" ]; then
configure_args+=" --with-foo"
makedepends+=" foo-devel"
else
configure_args+=" --without-foo"
fi
one can use
configure_args="... $(vopt_with foo)
makedepends="... $(vopt_if foo foo-devel)"
instead.
We're adding these functions to common/xbps-src/shutils/common.sh but
that might not be the ideal place. I would've preferred
common/helpers/options.sh, but helpers are only available in the
individual phases, not when the template itself gets parsed.
2014-08-30 00:39:46 +02:00
Juan RP
e582f328b3
xbps-src: repair and improve the bootstrap target (from scratch).
...
- There's no need to install rdeps into the masterdir, just base-files.
- There's no need to exit if XBPS_TARGET_PKG == sourcepkg, just return.
- After building base-chroot, install bootstrap binary packages.
2014-08-26 10:33:15 +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
5290c2a839
xbps-src: change order of how subpackages are processed.
...
10 Non development packages are processed first lexically.
20 Development packages are processed after 10.
This resolves the issue of 32bit pkg creation with development pkgs
that depend on other non-development subpkgs, and result in wrong
dependencies being propagated to the 32bit development pkgs.
2014-08-25 17:43:08 +02:00
Juan RP
22e0c33b39
xbps-src: chroot: do not copy /etc/services; we use iana-etc now.
2014-08-25 15:30:57 +02:00
Juan RP
12a3b16e42
Introduce "broken" var to skip building broken packages; make "nocross" not error out.
...
- broken var simply exits (without error) and skips building a pkg.
- nocross var now simply exits without an error, to make buildbot continue building pkgs.
2014-08-22 16:49:23 +02:00
Juan RP
7e9f329643
xbps-src: remove_pkg: exit early if destdir does not exist.
2014-08-21 12:16:53 +02:00
Juan RP
108a6d3fac
xbps-src: introduce "nocross" to not allow cross compilation.
2014-08-21 12:07:44 +02:00
Juan RP
954e1aff05
xbps-src/chroot: disable xbps/repo.d/00-main.conf with a symlink; rather than removing the file.
2014-08-21 11:42:51 +02:00
Juan RP
9d50c2fb05
xbps-src: use "virtual?" keyword to declare virtual runtime dependencies.
...
The syntax "pkg?vpkg" can be used in hostmakedepends, makedepends and depends;
but the "virtual" keyword can be declared specifically for runtime dependencies
(depends).
2014-08-17 19:21:25 +02:00
Juan RP
b0aedbb03a
xbps-src: added -D to generate repository binary deltas; disabled for now.
2014-08-14 12:28:27 +02:00
Juan RP
0ac14b23ad
xbps-src: remove a local var introduced in previous.
2014-08-05 11:52:12 +02:00
Juan RP
1e1136cfac
xbps-src: do not skip build deps that are also runtime deps.
2014-08-05 11:51:25 +02:00
Juan RP
933513adaa
Improve how run-time deps (aka "depends") are handled in packages.
...
Run-time dependencies declared via "${depends}" are now also part of the
build process, but those are not installed to the master directory; rather
those dependencies are only checked if a binary package exists in a
local repository to satisfy the required version.
Thanks to @dominikh for idea and suggestions.
2014-07-30 17:58:17 +02:00
Juan RP
8cefd7e1cc
xbps-src: make sure to re-read template for build options.
...
The issue was that when building dependencies of target pkg, the
template wasn't re-read with defined build options and those were
completely ignored.
2014-07-24 18:40:52 +02:00
Juan RP
c49e01fc15
xbps-src: make it possible to override the subpackages list via ${subpackages}.
...
This overrides the automatic list generated by xbps-src and it's overridable
to change the processing order of subpackages.
2014-07-23 15:44:36 +02:00
Juan RP
e372fcc6e0
xbps-src: fix pkg options parsing in package names containing dashes.
...
When using per-pkg options via etc/conf, all dashes should be replaced by
underscores, i.e:
XBPS_PKG_OPTIONS_xorg_server=opt,~opt2
2014-07-19 10:39:22 +02:00
Juan RP
9067c2e4f7
xbps-src: xbps-src-doextract: change cwd to wrksrc for post_extract().
2014-07-17 15:54:37 +02:00
Juan RP
67358807ea
xbps-src: chroot: remove xbps conf remote repos with -N.
2014-07-14 12:28:08 +02:00
Juan RP
407a882b1a
xbps-src/xbps-src-doextract: if build_style declares do_extract(), use it rather than hooks.
2014-07-12 17:44:54 +02:00
Juan RP
758ea97981
xbps-src: fix -o in chroot (reported by al3hex).
2014-07-12 15:56:40 +02:00
Juan RP
719de35774
xbps-src: print some more details if installation of cross pkgs fails.
2014-07-08 15:09:21 +02:00
Juan RP
4d55b696c3
xbps-src: chroot_init: do not propagate XBPS_MASTERDIR to the generated xbps-src.conf.
...
Fixes Ypnose issue where he has XBPS_MASTERDIR set in `etc/conf`.
2014-07-05 16:12:14 +02:00
Juan RP
aee9d60bec
xbps-src: document xbps-install(8) ENXIO rval.
2014-07-02 11:09:41 +02:00
Juan RP
71f0a912ef
xbps-src: chroot.sh: XBPS_CONFIG_FILE could be unset, handle it.
2014-07-01 18:47:39 +02:00
Juan RP
ff00dc5448
xbps-src: destroy <masterdir>/tmp before entering the chroot.
2014-07-01 15:07:01 +02:00
Juan RP
e64f3d8a95
xbps-src: make sure XBPS_CONFIG_FILE is set.
2014-07-01 13:15:52 +02:00
Juan RP
c06d1e4d85
xbps-src: partial revert of 871d2fa87
.
...
We can't pass XBPS_OPTIONS to xbps-uchroot(8) as is.
2014-07-01 11:04:34 +02:00
Juan RP
871d2fa873
xbps-src: added -G to enable XBPS_USE_GIT_REVS.
2014-07-01 10:33:54 +02:00