summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2003-11-25 07:18:15 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2003-11-25 07:18:15 +0000
commitf07cd1513859084da61430c04d8e1da03bf90be2 (patch)
tree488f75a6fd0fef3edb521b8759c06249e19d0d4d /dev-lisp/common-lisp-controller
parentfirst clc to not require a inetd/xinetd (diff)
downloadgentoo-2-f07cd1513859084da61430c04d8e1da03bf90be2.tar.gz
gentoo-2-f07cd1513859084da61430c04d8e1da03bf90be2.tar.bz2
gentoo-2-f07cd1513859084da61430c04d8e1da03bf90be2.zip
first clc to not require a inetd/xinetd
Diffstat (limited to 'dev-lisp/common-lisp-controller')
-rw-r--r--dev-lisp/common-lisp-controller/ChangeLog11
-rw-r--r--dev-lisp/common-lisp-controller/Manifest12
-rw-r--r--dev-lisp/common-lisp-controller/common-lisp-controller-3.76-r1.ebuild110
-rw-r--r--dev-lisp/common-lisp-controller/common-lisp-controller-3.76.ebuild74
-rw-r--r--dev-lisp/common-lisp-controller/files/README.Gentoo18
-rw-r--r--dev-lisp/common-lisp-controller/files/clc-build-daemon21
-rw-r--r--dev-lisp/common-lisp-controller/files/clc-gentoo-3.76.patch.gzbin0 -> 8398 bytes
-rw-r--r--dev-lisp/common-lisp-controller/files/clc-send-command146
-rw-r--r--dev-lisp/common-lisp-controller/files/digest-common-lisp-controller-3.76-r11
-rw-r--r--dev-lisp/common-lisp-controller/files/inetd.conf-snippet1
10 files changed, 340 insertions, 54 deletions
diff --git a/dev-lisp/common-lisp-controller/ChangeLog b/dev-lisp/common-lisp-controller/ChangeLog
index cbf48d400519..939ce9ffa27d 100644
--- a/dev-lisp/common-lisp-controller/ChangeLog
+++ b/dev-lisp/common-lisp-controller/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-lisp/common-lisp-controller
# Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/common-lisp-controller/ChangeLog,v 1.4 2003/10/13 07:03:52 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/common-lisp-controller/ChangeLog,v 1.5 2003/11/25 07:18:12 mkennedy Exp $
+
+*common-lisp-controller-3.76-r1 (20 Nov 2003)
+
+ 20 Nov 2003; <mkennedy@gentoo.org> common-lisp-controller-3.76-r1.ebuild,
+ common-lisp-controller-3.76.ebuild, files/README.Gentoo,
+ files/clc-build-daemon, files/clc-gentoo-3.76.patch.gz,
+ files/inetd.conf-snippet:
+ first use of a modified common lisp controller which no longer requires an
+ Internet super-server
*common-lisp-controller-3.76 (13 Oct 2003)
diff --git a/dev-lisp/common-lisp-controller/Manifest b/dev-lisp/common-lisp-controller/Manifest
index 9c497e4eaff1..cf0acf3b8fb7 100644
--- a/dev-lisp/common-lisp-controller/Manifest
+++ b/dev-lisp/common-lisp-controller/Manifest
@@ -1,13 +1,13 @@
-MD5 9ce932920902f2edd3c256f277f982ee ChangeLog 808
+MD5 85eb2a491787ad9f5c50189f08232860 ChangeLog 1178
MD5 cb62d3c8a7d70151afccaa57bc208877 common-lisp-controller-3.64.ebuild 3597
-MD5 4865ff3c01273e14f0d87f24692c2a7b common-lisp-controller-3.76.ebuild 3001
MD5 9b65b0341efc8f4b29498aad23315229 metadata.xml 164
-MD5 198ce9c248aa4714d156efeb38d40fed common-lisp-controller-3.76-r1.ebuild 3600
-MD5 4865ff3c01273e14f0d87f24692c2a7b common-lisp-controller-3.76-r1.ebuild~ 3001
+MD5 53e9a32ccc2b1641282be09d7aa094c1 common-lisp-controller-3.76-r1.ebuild 3178
+MD5 7f5ac148cc5356dc87dabe21c680283a common-lisp-controller-3.76.ebuild 2848
MD5 531ca5d802bb5b70c234532655bbfa91 files/digest-common-lisp-controller-3.64 80
MD5 e5d6d4f73e65082fae7961087dc7f681 files/digest-common-lisp-controller-3.76 80
MD5 68d7b210f93fc095db4ec27504b86784 files/clc-build-daemon 657
+MD5 921243e5d85f2160df66d30768b7fb6a files/clc-send-command 3932
MD5 7bd53a475f418012e5986df364fdd6f2 files/inetd.conf-snippet 75
-MD5 1a18b7100966b2dc12e6e807dd23ba4f files/README.Gentoo 983
-MD5 a6eee502d69fb1f1cf735ab21651455a files/clc-gentoo-3.76.patch.gz 8037
+MD5 ad8d66b4cc62aa6b09805068265e89d1 files/README.Gentoo 642
+MD5 fd599fefe360bfff34b78fb6dbf69344 files/clc-gentoo-3.76.patch.gz 8398
MD5 e5d6d4f73e65082fae7961087dc7f681 files/digest-common-lisp-controller-3.76-r1 80
diff --git a/dev-lisp/common-lisp-controller/common-lisp-controller-3.76-r1.ebuild b/dev-lisp/common-lisp-controller/common-lisp-controller-3.76-r1.ebuild
new file mode 100644
index 000000000000..a2327cfdcd5a
--- /dev/null
+++ b/dev-lisp/common-lisp-controller/common-lisp-controller-3.76-r1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/common-lisp-controller/common-lisp-controller-3.76-r1.ebuild,v 1.1 2003/11/25 07:18:12 mkennedy Exp $
+
+DESCRIPTION="Common Lisp Controller"
+HOMEPAGE="http://packages.debian.org/unstable/devel/common-lisp-controller.html"
+SRC_URI="http://ftp.debian.org/debian/pool/main/c/common-lisp-controller/${PN}_${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86 ~sparc"
+
+DEPEND="dev-lisp/cl-defsystem3
+ dev-lisp/cl-asdf
+ app-admin/realpath
+ virtual/logger"
+
+S=${WORKDIR}/${PN}
+
+# src_unpack() {
+# unpack ${A}
+# epatch ${FILESDIR}/clc-gentoo-${PV}.patch.gz || die
+# }
+
+# src_compile() {
+# make clc-build-daemon-standalone clc-send-command-standalone || die
+# }
+
+src_install() {
+ dobin clc-autobuild* \
+ clc-register-user-package \
+ clc-unregister-user-package
+
+ dobin ${FILESDIR}/clc-send-command
+# newsbin clc-build-daemon-standalone clc-build-daemon
+
+ dosbin clc-reregister-all-impl \
+ register-common-lisp-source \
+ register-common-lisp-implementation \
+ unregister-common-lisp-source \
+ unregister-common-lisp-implementation
+
+ exeinto /usr/lib/common-lisp-controller
+ doexe debug-daemon-problems.sh
+
+ dodir /usr/share/common-lisp/source/common-lisp-controller
+ insinto /usr/share/common-lisp/source/common-lisp-controller
+ doins common-lisp-controller.lisp \
+ post-sysdef-install.lisp \
+ pre-sysdef-install.lisp
+
+ dodir /usr/lib/common-lisp
+ dodir /usr/lib/common-lisp/bin
+
+ dodir /etc/common-lisp
+ touch ${D}/etc/common-lisp/autobuild # autobuild by default
+
+ dodoc *.txt README.*
+ doman man/*.1 man/*.8 man/old/*.1
+
+ einfo ">>> Creating /etc/lisp-config.lisp"
+ dodir /etc
+ cat >${D}/etc/lisp-config.lisp <<EOF
+(in-package :common-lisp-user)
+#+(or cmu scl) (setf system:*short-site-name* "Unknown" system:*long-site-name* "Unknown")
+#+sbcl (setf sb-sys:*short-site-name* "Unknown" sb-sys:*long-site-name* "Unknown")
+EOF
+
+ dodoc ${FILESDIR}/README.Gentoo
+ insinto /usr/share/doc/${PF}/inetd-examples
+ doins ${FILESDIR}/{inetd.conf-snippet,clc-build-daemon}
+
+ keepdir /usr/lib/common-lisp /usr/lib/common-lisp/bin
+}
+
+pkg_postinst() {
+ enewgroup cl-builder 407
+ enewuser cl-builder 407 /bin/sh /usr/lib/common-lisp cl-builder
+ chown root:root /usr/lib/common-lisp
+
+ for compiler in /usr/lib/common-lisp/bin/*.sh
+ do
+ if [ -f "${compiler}" -a -r "${compiler}" -a -x "${compiler}" ] ; then
+ i=${compiler##*/}
+ i=${i%.sh}
+ einfo ">>> Recompiling Common Lisp Controller for $i"
+ bash "$compiler" install-clc || true
+ einfo ">>> Done rebuilding"
+ chown -R cl-builder.cl-builder /usr/lib/common-lisp/${i} &>/dev/null || true
+ fi
+ done
+ echo
+ while read line; do einfo "${line}"; done <${FILESDIR}/README.Gentoo
+}
+
+# pkg_prerm() {
+# for compiler in /usr/lib/common-lisp/bin/*.sh
+# do
+# if [ -f "$compiler" -a -r "$compiler}" ] ; then
+# i=${compiler##*/}
+# i=${i%.sh}
+# echo Deinstalling for ${i##*/}
+# echo Removing Common Lisp Controller for $i
+# if [ -x "$compiler"] ; then
+# bash "$compiler" remove-clc || true
+# fi
+# echo Done rebuilding
+# fi
+# done
+# }
diff --git a/dev-lisp/common-lisp-controller/common-lisp-controller-3.76.ebuild b/dev-lisp/common-lisp-controller/common-lisp-controller-3.76.ebuild
index a8083e75c273..e7ab1ec2e920 100644
--- a/dev-lisp/common-lisp-controller/common-lisp-controller-3.76.ebuild
+++ b/dev-lisp/common-lisp-controller/common-lisp-controller-3.76.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/common-lisp-controller/common-lisp-controller-3.76.ebuild,v 1.1 2003/10/13 07:03:52 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/common-lisp-controller/common-lisp-controller-3.76.ebuild,v 1.2 2003/11/25 07:18:12 mkennedy Exp $
DESCRIPTION="Common Lisp Controller"
HOMEPAGE="http://packages.debian.org/unstable/devel/common-lisp-controller.html"
@@ -10,12 +10,12 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 ~sparc"
-DEPEND="netkit-base
- dev-lisp/cl-defsystem3
+DEPEND="dev-lisp/cl-defsystem3
dev-lisp/cl-asdf
net-mail/mailx
app-admin/realpath
- virtual/logger"
+ virtual/logger
+ virtual/inetd"
S=${WORKDIR}/${PN}
@@ -61,60 +61,40 @@ src_install() {
#+(or cmu scl) (setf system:*short-site-name* "Unknown" system:*long-site-name* "Unknown")
#+sbcl (setf sb-sys:*short-site-name* "Unknown" sb-sys:*long-site-name* "Unknown")
EOF
+ dodoc ${FILESDIR}/README.Gentoo
}
pkg_postinst() {
- einfo ">>> Creating cl-builder user and group if necessary"
- getent group cl-builder >/dev/null || \
- groupadd cl-builder
- getent passwd cl-builder >/dev/null || \
- useradd -g cl-builder -s /bin/false cl-builder
+ enewgroup cl-builder 407
+ enewuser cl-builder 407 /bin/sh /usr/lib/common-lisp cl-builder
for compiler in /usr/lib/common-lisp/bin/*.sh
do
- if [ -f "$compiler" -a -r "$compiler}" ] ; then
+ if [ -f "${compiler}" -a -r "${compiler}" -a -x "${compiler}" ] ; then
i=${compiler##*/}
i=${i%.sh}
- echo Reinstalling for $i
- echo Recompiling Common Lisp Controller for $i
- if [ -x "$compiler"] ; then
- bash "$compiler" install-clc || true
- fi
+ einfo ">>> Reinstalling for $i"
+ einfo ">>> Recompiling Common Lisp Controller for $i"
+ bash "$compiler" install-clc || true
echo Done rebuilding
- einfo ">>> Setting permissions for cl-builder"
+ einfo ">>> Setting permissions for cl-builder in /usr/lib/common-lisp/${i}"
chown -R cl-builder.cl-builder /usr/lib/common-lisp/${i} >/dev/null || true
fi
done
-
- einfo ">>> You must execute:"
- einfo ">>> ebuild /var/db/pkg/dev-lisp/${PF}/${PF}.ebuild config"
- einfo ">>> to add the common-lisp-controller builder to /etc/inetd.conf"
}
-pkg_prerm() {
- for compiler in /usr/lib/common-lisp/bin/*.sh
- do
- if [ -f "$compiler" -a -r "$compiler}" ] ; then
- i=${compiler##*/}
- i=${i%.sh}
- echo Deinstalling for ${i##*/}
- echo Removing Common Lisp Controller for $i
- if [ -x "$compiler"] ; then
- bash "$compiler" remove-clc || true
- fi
- echo Done rebuilding
- fi
- done
-}
-
-pkg_config() {
- local inetd_line=`echo -e "8990\tstream\ttcp\tnowait.400\troot\t/usr/sbin/clc-build-daemon\tclc-build-daemon"`
- einfo ">>> Checking for an existing inetd.conf entry"
- if [ -f /etc/inetd.conf ] && grep "$inetd_line" /etc/inetd.conf >/dev/null ; then
- einfo ">>> Found existing entry. Nothing to do."
- else
- einfo "Appending common-lisp-controller builder to /etc/inetd.conf"
- echo "$inetd_line" >>/etc/inetd.conf || die "Cannot append to inetd.conf"
- einfo "Restart /etc/init.d/inetd to apply changes."
- fi
-}
+# pkg_prerm() {
+# for compiler in /usr/lib/common-lisp/bin/*.sh
+# do
+# if [ -f "$compiler" -a -r "$compiler}" ] ; then
+# i=${compiler##*/}
+# i=${i%.sh}
+# echo Deinstalling for ${i##*/}
+# echo Removing Common Lisp Controller for $i
+# if [ -x "$compiler"] ; then
+# bash "$compiler" remove-clc || true
+# fi
+# echo Done rebuilding
+# fi
+# done
+# }
diff --git a/dev-lisp/common-lisp-controller/files/README.Gentoo b/dev-lisp/common-lisp-controller/files/README.Gentoo
new file mode 100644
index 000000000000..b9b62ec99415
--- /dev/null
+++ b/dev-lisp/common-lisp-controller/files/README.Gentoo
@@ -0,0 +1,18 @@
+-*- Mode: outline -*-
+
+* IMPORTANT
+
+The Common Lisp Controller (CLC) in Gentoo GNU/Linux is a modified
+version of the original CLC sources from the Debian Project. Do not
+send bug reports to the Debian Project -- always send bug reports to
+http://bugs.gentoo.org.
+
+* NOTES
+
+If you are used to the CLC in Debian, please note that the Gentoo CLC
+does not require an Internet super-server such as inetd or xinetd in
+order to function. The original CLC implementation's clc-send-command
+has been replaced with a shell script which implements the same
+interface, but bypasses clc-build-daemon entirely.
+
+-- Matthew Kennedy <mkennedy@gentoo.org>
diff --git a/dev-lisp/common-lisp-controller/files/clc-build-daemon b/dev-lisp/common-lisp-controller/files/clc-build-daemon
new file mode 100644
index 000000000000..568d39c21eb1
--- /dev/null
+++ b/dev-lisp/common-lisp-controller/files/clc-build-daemon
@@ -0,0 +1,21 @@
+# This is the configuration for the the common-lisp-controller build
+# daemon. You would normally copy this file to /etc/xinet.d, make
+# changes to taste and then restart or reload the xinetd daemon.
+
+service clc-build-daemon
+{
+ id = clc-build-daemon
+ type = UNLISTED
+ port = 8990
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = root
+ server = /usr/sbin/clc-build-daemon
+ server_args = clc-build-daemon
+ instances = 10
+ only_from = localhost
+ log_on_success = HOST PID
+ log_on_failure = HOST
+ disable = no
+}
diff --git a/dev-lisp/common-lisp-controller/files/clc-gentoo-3.76.patch.gz b/dev-lisp/common-lisp-controller/files/clc-gentoo-3.76.patch.gz
new file mode 100644
index 000000000000..024df16091d6
--- /dev/null
+++ b/dev-lisp/common-lisp-controller/files/clc-gentoo-3.76.patch.gz
Binary files differ
diff --git a/dev-lisp/common-lisp-controller/files/clc-send-command b/dev-lisp/common-lisp-controller/files/clc-send-command
new file mode 100644
index 000000000000..0b2c5818385c
--- /dev/null
+++ b/dev-lisp/common-lisp-controller/files/clc-send-command
@@ -0,0 +1,146 @@
+#!/bin/bash
+
+# {{{ Copyright
+
+# A shell version of the clc-send-command program.
+# Copyright (C) 2003 The Free Software Foundation
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA
+
+# Authors: Matthew Kennedy <mkennedy@gentoo.org>
+
+# }}}
+# {{{ Commentary...
+
+# Traditionally, the controller consisted of two programs:
+# clc-send-command and clc-build-daemon, The former invokes the later
+# via an Internet super-server such as inetd and xinetd.
+#
+# Why the contoller requires a Internet super-sever is beyond my
+# comprehension, hence this program.
+#
+# This program works exactly like the original clc-send-command
+# program, however it bypasses clc-build-daemon to call the controller
+# implementation scripts (/usr/lib/common-lisp/bin/*.sh) directly.
+
+# }}}
+# {{{ Utility functions
+
+function error {
+ echo "Error: $1"
+ exit 255
+}
+
+function warning {
+ echo "Warning: $1"
+ exit 0
+}
+
+function is_valid_impl {
+ local impl=$1
+ for i in /usr/lib/common-lisp/bin/*.sh; do
+ i=$(basename ${i} .sh)
+ if [ "x${i}" == "x${impl}" ]; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+function is_valid_package {
+ local impl=$1 package=$2
+ test -d /usr/lib/common-lisp/${impl}/${package}
+}
+
+function su-maybe {
+ if [ "x`whoami`" == "xroot" ]; then
+ su - cl-builder -c "$@"
+ else
+ $@
+ fi
+}
+
+function remove_package {
+ local impl=$1 package=$2
+# su - cl-builder -c "/usr/lib/common-lisp/bin/${impl}.sh remove ${package}"
+ su-maybe "/usr/lib/common-lisp/bin/${impl}.sh remove ${package}"
+}
+
+function recompile_package {
+ local impl=$1 package=$2
+ su - cl-builder -c "/usr/lib/common-lisp/bin/${impl}.sh rebuild ${package}"
+}
+
+# }}}
+
+declare -a ARGS
+
+i=0; while [ ! -z "$1" ]; do
+ # collect the arguments we're interested in, discard all else
+ case $1 in
+ -d | --debug | -q | --quiet | -v | --verbose)
+ # ignore these for now
+ ;;
+ -? | --help | --usage)
+ cat <<EOF
+clc-send-command [OPTION...] recompile <package> <implementation>
+clc-send-command [OPTION...] remove <package> <implementation>
+EOF
+ exit 1
+ ;;
+ --verbose | -V)
+ # mimic the original clc-send-command program's output
+ echo 'version 1.0 for clc v3'
+ exit 1
+ ;;
+ *)
+ ARGS[$i]=$1 i=$[$i + 1]
+ ;;
+ esac
+ shift
+done
+
+if [ ${#ARGS[*]} -ne 3 ]; then
+ error 'Invalid number of arguments.'
+fi
+
+command=${ARGS[0]} package=${ARGS[1]} impl=${ARGS[2]}
+
+is_valid_impl ${impl} \
+ || error "Invalid implementaion: ${impl}"
+
+case ${command} in
+ remove)
+ is_valid_package ${impl} ${package} \
+ || warning "Package ${package} for implementation ${impl} does not exist or has not been compiled yet."
+ remove_package ${impl} ${package} \
+ || error "Cannot remove package: ${package} for implementation: ${impl}"
+ ;;
+ recompile)
+ recompile_package ${impl} ${package} \
+ || error "Cannot recompile package: ${package} for implementation: ${impl}"
+ ;;
+ *)
+ error "Unrecognized command: ${command}"
+ ;;
+esac
+
+exit 0
+
+# Local Variables: ***
+# mode: shell-script ***
+# indent-tabs-mode: nil ***
+# End: ***
diff --git a/dev-lisp/common-lisp-controller/files/digest-common-lisp-controller-3.76-r1 b/dev-lisp/common-lisp-controller/files/digest-common-lisp-controller-3.76-r1
new file mode 100644
index 000000000000..b7f4bd60c969
--- /dev/null
+++ b/dev-lisp/common-lisp-controller/files/digest-common-lisp-controller-3.76-r1
@@ -0,0 +1 @@
+MD5 9e2498694527902f9c42364a7c27721c common-lisp-controller_3.76.tar.gz 1229601
diff --git a/dev-lisp/common-lisp-controller/files/inetd.conf-snippet b/dev-lisp/common-lisp-controller/files/inetd.conf-snippet
new file mode 100644
index 000000000000..ad2ee0ca581b
--- /dev/null
+++ b/dev-lisp/common-lisp-controller/files/inetd.conf-snippet
@@ -0,0 +1 @@
+8990 stream tcp nowait.400 root /usr/sbin/clc-build-daemon clc-build-daemon \ No newline at end of file