Mailing List Archive

[PATCH] Add cross-ebuild
This avoids having to type:
CROSS_CMD=ebuild CHOST-emerge

Signed-off-by: Joakim Tjernlund <joakim.tjernlund@transmode.se>
---
crossdev | 2 +-
wrappers/Makefile | 2 +-
wrappers/cross-ebuild | 12 ++++++++++++
wrappers/emerge-wrapper | 2 +-
4 files changed, 15 insertions(+), 3 deletions(-)
create mode 100755 wrappers/cross-ebuild

diff --git a/crossdev b/crossdev
index b501ad8..09598db 100755
--- a/crossdev
+++ b/crossdev
@@ -434,7 +434,7 @@ uninstall() {

# clean out files from crossdev itself
[[ -e /var/db/pkg/cross-${CTARGET} ]] && rmdir /var/db/pkg/cross-${CTARGET}
- rm -f /usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} /usr/bin/emerge-${CTARGET}
+ rm -f /usr/bin/${CTARGET}-{ebuild,emerge,fix-root,pkg-config} /usr/bin/emerge-${CTARGET}

for f in make.{conf,globals,profile} ; do
f="/usr/${CTARGET}/etc/${f}"
diff --git a/wrappers/Makefile b/wrappers/Makefile
index 144ecc1..97de34e 100644
--- a/wrappers/Makefile
+++ b/wrappers/Makefile
@@ -4,7 +4,7 @@
include ../settings.mk

PORTDIR ?= $(shell portageq envvar PORTDIR)
-FNAMES = cross-emerge cross-fix-root cross-pkg-config emerge-wrapper
+FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config emerge-wrapper
SITE = $(PREFIX)/share/crossdev/include/site
TOPDIR =

diff --git a/wrappers/cross-ebuild b/wrappers/cross-ebuild
new file mode 100755
index 0000000..c14dc91
--- /dev/null
+++ b/wrappers/cross-ebuild
@@ -0,0 +1,12 @@
+#!/bin/sh
+# Copyright 2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+if [ -z "${CHOST}" ] ; then
+ CHOST=${0##*/}
+ CHOST=${CHOST%-ebuild}
+ CHOST=${CHOST#ebuild-}
+fi
+export CHOST
+
+CROSS_CMD=ebuild cross-emerge "$@"
diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper
index e375025..8db0ac4 100755
--- a/wrappers/emerge-wrapper
+++ b/wrappers/emerge-wrapper
@@ -81,7 +81,7 @@ cross_wrap_bin()

pushd "${0%/*}" >/dev/null
local wrapper
- for wrapper in emerge fix-root pkg-config ; do
+ for wrapper in ebuild emerge fix-root pkg-config ; do
ln -sf cross-${wrapper} ${CHOST}-${wrapper}
done
# some people like their tab completion
--
2.3.6