| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
A hardened host profile forces the pie and ssp USE flags which is
overriding GUSE="-pie -ssp". Use package.use.mask and package.use.force
to control the flags.
Closes: https://bugs.gentoo.org/831165
Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is necessary since
* for glibc, the "fallback" libdir for 64bit is lib64
* for gcc, the "fallback" libdir for 64bit is lib
By providing the full multilib libdirs and a compatibility
symlink as in baselayout, the pieces fit together again.
riscv32 is kinda not affected since both gcc and glibc
use lib (NOT lib32, as in the multilib libdirs).
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
|
|
|
|
|
|
|
|
| |
We don't want to e.g. pick a GCC from an overlay if it doesn't
have KEYWORDS for our target, which then leads to an early
crossdev failure as it obviously can't then emerge GCC.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Tools sometimes probe pkg-config to see if it itself works. Allow
those basic options through. We specifically don't parse the full
command line to keep the code simple, faster, and to avoid dealing
with ugly edge cases (like `pkg-config -- --help`).
Closes: https://bugs.gentoo.org/830840
Reported-by: Alexandra Parker <alex.iris.parker@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
| |
pkg-config-0.24 was released over a decade ago. We can stop checking
for it now.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/519636
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This should be working now -- we've imported fixed GCC to ::gentoo
from the musl overlay and we've unmasked + re-enabled SSP everywhere
other than crossdev anyway.
Bug: https://bugs.gentoo.org/706210
This reverts commit 3756849289a449ff09e329aaa7e26fbd5739805e.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
The "prefixify build system and scripts" commit changed the banner
code for some reason, and the logic change was completely wrong.
So revert that.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/676490
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
For some unusual targets, it may be desirable to use a different package
name than the default. For example, a target might use picolibc instead
of newlib for its libc package, or it might use a different copy of the
gcc package than the usual sys-devel/gcc.
Closes: https://bugs.gentoo.org/820176
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
This is a bit obsolete. Few packages every used this setting, and
toolchain-funcs.eclass provides a suite of BUILD_xxx helpers that
ebuilds can leverage directly.
Closes: https://bugs.gentoo.org/727900
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
| |
This reverts commit d4773156d1fb82e26aceefec99355b2546febe23.
We maintain a complete list here at all times to keep it simple.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
| |
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
| |
Reported-by: tt_1
Bug: https://bugs.gentoo.org/799707
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Today ::gentoo dropped support for EAPI=0 from multilib.eclass
and toolchain-funcs.eclass. Due to lack of error handling on
crossdev side srossdev derived wrong environment for $CTARGET
(and mostly fell back to CHOST).
This caused at best failing early on gcc-stage1 build. At worst
crossdev installed libraries into a wrong $(get_libdir), installed
symlinks from wrong host and other disasters.
Previous crossdev commits make crossdev crash earlier instead of
generating wrong environment. This commit allows dropping EAI=0
support for eclasses eventually.
Reported-by: Marco Scardovi (scardracs)
Bug: https://bugs.gentoo.org/797367
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sourcing fails
Before the change toolchain-funcs.eclass import failure did not fail hard
and generated suboptimal default ARCH. It's not as bad as crossdev's
equivalent 'multilib.eclass' source failure, but still not perfect.
The change exposes die() calls to be visible in crossdev run:
```
$ rm -rf '@GENTOO_PORTAGE_EPREFIX@/usr/foo/etc'; ./emerge-wrapper --target foo --init
emerge-wrapper: ERROR: toolchain-funcs.eclass: EAPI 0 not supported
emerge-wrapper: ERROR: Failed calling 'tc-arch' from toolchain-funcs.eclass.
```
Reported-by: Marco Scardovi (scardracs)
Bug: https://bugs.gentoo.org/797367
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the change failure to source 'multilib.eclass' resuled in
a fallback mode to be used instead of hard failure.
It was caused by two expansion layers of 'eval $(...)'.
After the change falure to source 'mmultilib.eclass' hard fails early:
```
$ PORTAGE_CONFIGROOT=$(pwd)/foo EPREFIX=$(pwd)/foo PORT_LOGDIR=$(pwd)/foo ./crossdev -t mmix -P -p
* error: : EAPI 0 not supported
*
* If you file a bug, please attach the following logfiles:
* /home/slyfox/dev/git/crossdev/foo/cross--info.log
*
* error: could not load multilib settings for 'HCHOST'
*
* If you file a bug, please attach the following logfiles:
* /home/slyfox/dev/git/crossdev/foo/cross-mmix-info.log
```
Reported-by: Marco Scardovi (scardracs)
Bug: https://bugs.gentoo.org/797367
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using --variable, pkgconf prepends PKG_CONFIG_SYSROOT_DIR to the
value when it starts with /, even though the original pkg-config
didn't do this. Upstream have confirmed that this is intentional
[1]. The original pkg-config is no longer maintained and will probably
be dropped from Gentoo.
$ PKG_CONFIG_SYSROOT_DIR=/foo pkgconf --variable=udevdir udev
/foo/lib/udev
$ PKG_CONFIG_SYSROOT_DIR=/foo pkg-config --variable=udevdir udev
/lib/udev
In some contexts, we do not want the SYSROOT to be prepended
here. This would normally just be a case of not setting
PKG_CONFIG_SYSROOT_DIR but our wrapper uses SYSROOT to set both
PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR. It will not set one
without the other but we need the latter to find the right .pc file in
the first place.
One example where this issue arises is Gentoo's udev eclass. Packages
installing udev rules call get_udevdir() to find out where to put
them. With ROOT=/foo SYSROOT=/foo, this will return something like
/foo/lib/udev but since ROOT is already handled by Portage when
merging, the rules will actually end up in /foo/foo/lib/udev.
This can be resolved by respecting PKG_CONFIG_SYSROOT_DIR, even when
it is set but blank. It is unlikely to be set more widely when using
cross-pkg-config so this should be safe.
[1] https://github.com/pkgconf/pkgconf/issues/69#issuecomment-48434876
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
portage uses profiles/categories from all overlays and we don't need to
define them in /etc/portage/categories
Closes: https://bugs.gentoo.org/762772
Signed-off-by: Sven Wegener <swegener@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Gentoo's USE=hardened unconditionally enables stack check code
generation not compatible with external libssp. This leads to
gcc ICEs like:
libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc
Disable USE=hardened until it works on gcc side.
Reported-by: redsh
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
::gentoo does not have stable keywords for newlib for a while.
Let's default to 'latest' to make standard use case to just work.
Reported-by: Thymo van Beers
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
Reported-by: Paul Bordukov
Bug: https://bugs.gentoo.org/751295
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
::gentoo does not have stable keywords for mingw64-runtime for a while.
Let's default to 'latest' to make standard use case to just work..
Reported-by: i.Dark_Templar
Bug: https://bugs.gentoo.org/733346
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the output overlay is completely removed during uninstall, it is
incorrect to leave behind the repos.conf file since the location
specified in the conf file points to a non-existing directory.
We scan all the conf files under ${CONFIGROOT}/repos.conf, looking for
the file that defines the output overlay and remove it if it is
managed by crossdev.
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the output overlay is created solely for one specific CTARGET, and
not modified by the user in any way, it makes no sense to leave it
behind.
Remove the output overlay if the following conditions are met:
- The profiles/categories is empty
- metadata/layout.conf is managed by crossdev
- The only files in the overlay are profiles/categories and metadata/layout.conf
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
If we remove the category cross-${CTARGET} in the output overlay,
remove the category itself from profiles/categories.
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If --ov-output is specified on the command line but there is no
corresponding repos.conf entry for the output overlay, it is of no use
since the package manager will not take it into consideration.
Determine and create a repos.conf entry when necessary for the output
overlay. Derive it's name from the basename of the overlay path and
also take into account possible file path collisions.
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When '--ov-output' is not provided, crossdev searches the list of
overlays for a repo matching the name "crossdev" or
"cross-${CTARGET}". When there is a match for "cross-${CTARGET}" but
the location does not exist, crossdev attempts to populate the overlay
structure. However, it incorrectly names the repo "crossdev" in
metadata/layout.conf under repo-name, as opposed to
"cross-${CTARGET}". This creates further problems when the list of
overlays is restricted using the '--overlays' option, given that the
name of the repo under repos.conf will not match what is in
layout.conf.
Use the correct repo-name when creating layout.conf. This preserves
the default behavior of using the repo-name "crossdev" when
'--ov-output' is provided.
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
Reported-by: Doppler
Bug: https://bugs.gentoo.org/706212
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Set USE=-ssp by default. User can still manually override
via environment variable to see how it breaks:
USE=ssp crossdev -t i686-gentoo-linux-musl
Reported-by: Andrew Aladjev
Bug: https://bugs.gentoo.org/706210
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
In bug #500338 attempt to install toolchain for secondary ABY (x86 on amd64
system) clobbered native tools with tools that target --systroot=/usr/${CTARGET}.
That is never an intended state. Block all CHOSTs and suggest using
sys-devel/multilib-gcc-wrapper for distcc-like workloads.
Bug: https://bugs.gentoo.org/500338
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
These require toolchain version not present in ::gentoo
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
From now on to get a 32-bit toolchain users would need to specify
full tuple like:
i686-w64-mingw32
That will use 'dev-util/mingw64-runtime'.
Bug: https://bugs.gentoo.org/584858
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
gcc can't build libgcc2.c on --without-headers setup.
Needs more investigation.
Reported-by: Kyle Elbert
Bug: https://bugs.gentoo.org/693770
Bug: https://bugs.gentoo.org/693730
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|