diff options
-rw-r--r-- | dev-lisp/common-lisp-controller/ChangeLog | 11 | ||||
-rw-r--r-- | dev-lisp/common-lisp-controller/Manifest | 12 | ||||
-rw-r--r-- | dev-lisp/common-lisp-controller/common-lisp-controller-3.76-r1.ebuild | 110 | ||||
-rw-r--r-- | dev-lisp/common-lisp-controller/common-lisp-controller-3.76.ebuild | 74 | ||||
-rw-r--r-- | dev-lisp/common-lisp-controller/files/README.Gentoo | 18 | ||||
-rw-r--r-- | dev-lisp/common-lisp-controller/files/clc-build-daemon | 21 | ||||
-rw-r--r-- | dev-lisp/common-lisp-controller/files/clc-gentoo-3.76.patch.gz | bin | 0 -> 8398 bytes | |||
-rw-r--r-- | dev-lisp/common-lisp-controller/files/clc-send-command | 146 | ||||
-rw-r--r-- | dev-lisp/common-lisp-controller/files/digest-common-lisp-controller-3.76-r1 | 1 | ||||
-rw-r--r-- | dev-lisp/common-lisp-controller/files/inetd.conf-snippet | 1 |
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 Binary files differnew file mode 100644 index 000000000000..024df16091d6 --- /dev/null +++ b/dev-lisp/common-lisp-controller/files/clc-gentoo-3.76.patch.gz 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 |