summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Crête <tester@gentoo.org>2009-05-06 19:33:30 +0000
committerOlivier Crête <tester@gentoo.org>2009-05-06 19:33:30 +0000
commit8a7469de5b41b01a420bd6a60822c6c27d81afc0 (patch)
treecbba44123528c0816c15a2469efca8d9f64933d6 /dev-embedded
parentStable for HPPA (bug #268265). (diff)
downloadgentoo-2-8a7469de5b41b01a420bd6a60822c6c27d81afc0.tar.gz
gentoo-2-8a7469de5b41b01a420bd6a60822c6c27d81afc0.tar.bz2
gentoo-2-8a7469de5b41b01a420bd6a60822c6c27d81afc0.zip
Adding scratchbox, from sunrise and bug #94225
(Portage version: 2.1.6.11/cvs/Linux i686)
Diffstat (limited to 'dev-embedded')
-rw-r--r--dev-embedded/scratchbox/ChangeLog10
-rw-r--r--dev-embedded/scratchbox/files/scratchbox.rc23
-rw-r--r--dev-embedded/scratchbox/metadata.xml8
-rw-r--r--dev-embedded/scratchbox/scratchbox-1.0.11.ebuild111
4 files changed, 152 insertions, 0 deletions
diff --git a/dev-embedded/scratchbox/ChangeLog b/dev-embedded/scratchbox/ChangeLog
new file mode 100644
index 000000000000..e2dec4ec3df2
--- /dev/null
+++ b/dev-embedded/scratchbox/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for dev-embedded/scratchbox
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-embedded/scratchbox/ChangeLog,v 1.1 2009/05/06 19:33:30 tester Exp $
+
+*scratchbox-1.0.11 (06 May 2009)
+
+ 06 May 2009; Olivier Crête <tester@gentoo.org> +files/scratchbox.rc,
+ +metadata.xml, +scratchbox-1.0.11.ebuild:
+ Initial version, from sunrise and bug #94225
+
diff --git a/dev-embedded/scratchbox/files/scratchbox.rc b/dev-embedded/scratchbox/files/scratchbox.rc
new file mode 100644
index 000000000000..36501b324606
--- /dev/null
+++ b/dev-embedded/scratchbox/files/scratchbox.rc
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+
+depend() {
+ need localmount
+ use logger net
+}
+
+start() {
+ test -x /opt/scratchbox/sbin/sbox_ctl || \
+ eend 1 "scratchbox init script not found. Aborting" || return 1
+
+ /opt/scratchbox/sbin/sbox_ctl start
+ return $?
+}
+
+stop() {
+ test -x /opt/scratchbox/sbin/sbox_ctl || \
+ eend 1 "scratchbox init script not found. Aborting" || return 1
+
+ /opt/scratchbox/sbin/sbox_ctl stop
+ return $?
+}
+
diff --git a/dev-embedded/scratchbox/metadata.xml b/dev-embedded/scratchbox/metadata.xml
new file mode 100644
index 000000000000..4fda9497e023
--- /dev/null
+++ b/dev-embedded/scratchbox/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>dev-embedded</herd>
+<maintainer>
+ <email>tester@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-embedded/scratchbox/scratchbox-1.0.11.ebuild b/dev-embedded/scratchbox/scratchbox-1.0.11.ebuild
new file mode 100644
index 000000000000..cf859858cb4a
--- /dev/null
+++ b/dev-embedded/scratchbox/scratchbox-1.0.11.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-embedded/scratchbox/scratchbox-1.0.11.ebuild,v 1.1 2009/05/06 19:33:30 tester Exp $
+
+inherit eutils
+
+SBOX_GROUP="sbox"
+RESTRICT="strip binchecks"
+
+DESCRIPTION="A cross-compilation toolkit designed to make embedded Linux application development easier."
+HOMEPAGE="http://www.scratchbox.org/"
+SRC_URI="http://scratchbox.org/download/files/sbox-releases/stable/tarball/scratchbox-core-${PV}-i386.tar.gz
+ http://scratchbox.org/download/files/sbox-releases/stable/tarball/scratchbox-libs-${PV}-i386.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+TARGET_DIR="/opt/scratchbox"
+
+S=${WORKDIR}/${PN}
+
+src_install() {
+ dodir ${TARGET_DIR}
+ # doins doesn't work with symlinks, getting "file not found" with doins
+ cp -pRP ./* "${D}/${TARGET_DIR}"
+ ln -s opt/scratchbox "${D}/scratchbox"
+
+ # scratchbox service loader
+ newinitd "${FILESDIR}/scratchbox.rc" scratchbox || die "newinitd failed"
+
+ # group already created
+ echo ${SBOX_GROUP} > "${D}/${TARGET_DIR}/.run_me_first_done"
+}
+
+pkg_preinst() {
+ einfo "Creating group sbox"
+ enewgroup "${SBOX_GROUP}"
+}
+
+pkg_postinst() {
+ elog
+ elog "You need to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "to set permissions right and setup scratchbox and users"
+ elog
+ elog "For further documentation about how to setup"
+ elog "scratchbox for your development needs have a look at"
+ elog "http://scratchbox.org/documentation/user/scratchbox-1.0/"
+ elog
+ elog "Also note that when you reboot you should run:"
+ elog "/etc/init.d/scratchbox start"
+ elog "before trying to run scratchbox."
+ elog "You can also add it to the default runlevel:"
+ elog "rc-update add scratchbox default"
+ elog
+ elog "Type /opt/scratchbox/login to start scratchbox."
+ elog
+}
+
+pkg_postrm() {
+ elog
+ elog "To remove all traces of scratchbox you will need to remove the file"
+ elog "/etc/init.d/scratchbox. Don't forget to delete the sbox group."
+ elog
+}
+
+pkg_config() {
+ if [ `id -u` != "0" ]; then
+ ewarn "Must be root to run this"
+ die "not root"
+ fi
+
+ einfo "Do you want to configure scratchbox? [Yes/No]"
+ einfo "Note: This will set permissions and copy files from the system into the scratchbox"
+ read choice
+ echo
+ case "$choice" in
+ y*|Y*|"")
+ "${TARGET_DIR}/sbin/sbox_configure" "no" ${SBOX_GROUP} || die "sbox_configure failed"
+ ;;
+ *)
+ ;;
+ esac
+
+ mkdir -p "${TARGET_DIR}/scratchbox/users"
+
+ while true; do
+ einfo "Existing users:"
+ einfo $(ls "${TARGET_DIR}/users")
+ echo
+
+ einfo "Create new user (leaf empty to skip): "
+ read newuser
+ case "$newuser" in
+ "")
+ break;
+ ;;
+ *)
+ einfo "Note: users have to be in the '${SBOX_GROUP}' to be able to login into the scratchbox"
+ "${TARGET_DIR}/sbin/sbox_adduser" ${newuser} || die "sbox_adduser failed"
+ ;;
+ esac
+ done
+
+ einfo "Configuration finished. Make sure you run '/etc/init.d/scratchbox start' before logging in."
+}