diff options
author | jasone <jasone@FreeBSD.org> | 2000-05-09 04:08:18 +0000 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2000-05-09 04:08:18 +0000 |
commit | 0a0ab3621386e29e260612510617e24f7577635d (patch) | |
tree | 36758602a6705577105bb4d0235dc62ccd2d4685 /net/cvsupit | |
parent | 81fc1efb19b930c1e9311d8a40cf4356417794ae (diff) | |
download | FreeBSD-ports-0a0ab3621386e29e260612510617e24f7577635d.zip FreeBSD-ports-0a0ab3621386e29e260612510617e24f7577635d.tar.gz |
Make cvsupit a real port, rather than a hand-rolled package.
Begged for by: jkh
Diffstat (limited to 'net/cvsupit')
-rw-r--r-- | net/cvsupit/Makefile | 32 | ||||
-rw-r--r-- | net/cvsupit/pkg-comment | 1 | ||||
-rw-r--r-- | net/cvsupit/pkg-descr | 3 | ||||
-rw-r--r-- | net/cvsupit/pkg-install | 359 | ||||
-rw-r--r-- | net/cvsupit/pkg-plist | 0 | ||||
-rw-r--r-- | net/cvsupit/pkg-req | 7 |
6 files changed, 402 insertions, 0 deletions
diff --git a/net/cvsupit/Makefile b/net/cvsupit/Makefile new file mode 100644 index 0000000..5b89cf4 --- /dev/null +++ b/net/cvsupit/Makefile @@ -0,0 +1,32 @@ +# New ports collection Makefile for: cvsupit +# Date created: 8 May 2000 +# Whom: jasone +# +# $FreeBSD$ +# + +PORTNAME= cvsupit +PORTVERSION= 3.0 +CATEGORIES= net +DISTFILES= #empty + +MAINTAINER= jkh@freebsd.org + +BUILD_DEPENDS= cvsup:${PORTSDIR}/net/cvsup-bin + +.if (BATCH) +NO_INSTALL= yes +.endif +NO_BUILD= yes +NO_WRKSUBDIR= yes + +post-extract: + cd ${FILESDIR} ; \ + ${CP} -p Makefile ${WRKDIR} + +post-install: +.if !make(package) + @${PKGDIR}/INSTALL ${PKGNAME} POST-INSTALL +.endif + +.include <bsd.port.mk> diff --git a/net/cvsupit/pkg-comment b/net/cvsupit/pkg-comment new file mode 100644 index 0000000..74e5c89 --- /dev/null +++ b/net/cvsupit/pkg-comment @@ -0,0 +1 @@ +CVSup installation and setup front-end package (16.1 / GUI V3) diff --git a/net/cvsupit/pkg-descr b/net/cvsupit/pkg-descr new file mode 100644 index 0000000..24c3bfc --- /dev/null +++ b/net/cvsupit/pkg-descr @@ -0,0 +1,3 @@ +This package installs the cvsup utility on your system and assists you in +configuring it to track one or more of the FreeBSD source collections on +your machine. diff --git a/net/cvsupit/pkg-install b/net/cvsupit/pkg-install new file mode 100644 index 0000000..c0d227e --- /dev/null +++ b/net/cvsupit/pkg-install @@ -0,0 +1,359 @@ +#!/bin/sh +# +# Optionally install a supfile and start cvsup on it. +# +# Written Jan 8th, 1998. Jordan Hubbard <jkh@FreeBSD.org> +# Last modification date: April 5th, 2000. + +# Failsafe - if the environment is spammed somehow, pick a reasonable +# prefix. +if [ -z "${PREFIX}" ]; then + PREFIX=/usr/local +fi + +# We get run multiple times, so only run once for the post-install pass. +if [ "x$2" != "xPOST-INSTALL" ]; then + exit 0; +fi + +CVSUP_CMD=${PREFIX}/bin/cvsup +CVSUP_ARGS="-g -L 2" + +SUPFILE=/etc/cvsupfile +C_HOST=cvsup.FreeBSD.org +C_BASE=/usr +C_PREFIX=/usr +C_RELEASE=cvs +C_RELEASETAG="." +C_SRC_TARGETS=src-all +C_OPTS="delete use-rel-suffix" + +######################### misc utility functions ####################### + +# Usage: yesno message text ... +yesno() { + dialog --yesno "$*" -1 -1 +} + +# Usage: getval varname message text ... +getval() { + var=$1; shift + if dialog --inputbox "$*" -1 -1 `eval echo \\${$var}` 2> /tmp/input.$$; then + eval ${var}=\"`cat /tmp/input.$$`\" + rm -f /tmp/input.$$ + return 0 + else + rm -f /tmp/input.$$ + return 1 + fi +} + +# Usage: message message text ... +message() { + dialog --infobox "$*" -1 -1 +} + +# Usage: infomsg message text ... +infomsg() { + dialog --msgbox "$*" -1 -1 +} + +# Usage runprog command args ... +runprog() { + dialog --prgbox "$*" 20 72 +} + +############################## end of general functions ####################### + +getsrcs() { + if dialog --title "Source selection menu" --checklist \ +" +Please specify which components of /usr/src you are interested in, +or simply press return for src-all. If you would like to build +just the kernel, for example, then select src-sys. +" -1 -1 10 \ + "src-base" "Misc files directly under /usr/src" No \ + "src-bin" "Sources for things in /bin" No \ + "src-contrib" "Sources for contributed packages" No \ + "src-crypto" "Non-U.S. export portions of ssh/Kerberos" No \ + "src-etc" "Sources for things in /etc" No \ + "src-games" "Sources for things in /usr/games" No \ + "src-gnu" "Sources for GNU utils (requires src-contrib)" No \ + "src-include" "Sources for things in /usr/include" No \ + "src-kerberosIV" "Sources for KerberosIV (exportable)" No \ + "src-kerberos5" "Sources for Kerberos5 (exportable)" No \ + "src-lib" "Sources for things in /usr/lib" No \ + "src-libexec" "Sources for things in /usr/libexec" No \ + "src-release" "Sources for release building tools" No \ + "src-sbin" "Sources for things in /sbin" No \ + "src-secure" "Non-U.S. export DES software" No \ + "src-share" "Sources for things in /usr/share" No \ + "src-sys" "Sources for the kernel (/usr/src/sys)" No \ + "src-tools" "Sources for miscellaneous tools" No \ + "src-usrbin" "Sources for things in /usr/bin" No \ + "src-usrsbin" "Sources for things in /usr/sbin" No \ + 2>/tmp/menu.src.$$; then + C_SRC_TARGETS=`cat /tmp/menu.src.$$` + rm -f /tmp/menu.src.$$ + _VAL=0 + else + rm -f /tmp/menu.src.$$ + C_SRC_TARGETS=src-all + _VAL=1 + fi + if [ -z "${C_SRC_TARGETS}" ]; then + C_SRC_TARGETS=src-all + fi + return ${_VAL}; +} + +getsrctag() { + if dialog --title "Branch selection menu" --menu \ +" +Please specify which branch of FreeBSD (as designated by branch tag) +you would like to update your sources to. If you want 2.2.x then +this would typically be the RELENG_2_2 tag. If you're running a 4.0 +system then RELENG_4 is the tag you want. To follow -current, that +being 5.0 right now, you want the HEAD (or .) tag. If you want to be +able to check out or compare sources from arbitrary branches at will, +select the CVS repository tag (note: you will still need to use CVS +in manually checking out and maintaining a /usr/src tree if you +choose to go this route). +" -1 -1 5 \ + "." "The 5.0-current branch (. = HEAD)" \ + "RELENG_4" "The 4.0-stable branch" \ + "RELENG_3" "The 3.0-stable branch" \ + "RELENG_2_2" "The 2.2-stable branch" \ + "cvs" "The CVS repository (all branches)" \ + "none" "Skip the updating of /usr/src" 2>/tmp/menu.src.$$; then + C_RELEASETAG=`cat /tmp/menu.src.$$` + rm -f /tmp/menu.src.$$ + _VAL=0 + else + rm -f /tmp/menu.src.$$ + _VAL=1 + fi + if [ "${C_RELEASETAG}" = "none" ]; then + C_SRC_TARGETS="" + return ${_VAL} + fi + + if [ "${_VAL}" = "0" ]; then + if yesno "Are you within the United States or Canada?"; then + EXPORT=YES + fi + fi + return ${_VAL} +} + +gethost() { + if dialog --title "Host selection menu" --menu \ +" +These are the currently known CVSup servers at the time that +this package was created (in alphabetical order by domain name). +" -1 -1 11 \ + "other" "Specify your own cvsup server." \ + "cvsup.FreeBSD.org" "U.S. server." \ + "cvsup2.FreeBSD.org" "U.S. server." \ + "cvsup3.FreeBSD.org" "U.S. server." \ + "cvsup4.FreeBSD.org" "U.S. server." \ + "cvsup5.FreeBSD.org" "U.S. server." \ + "cvsup6.FreeBSD.org" "U.S. server." \ + "cvsup7.FreeBSD.org" "U.S. server." \ + "cvsup8.FreeBSD.org" "U.S. server." \ + "cvsup.ar.FreeBSD.org" "Argentina server." \ + "cvsup.au.FreeBSD.org" "Australia server." \ + "cvsup.br.FreeBSD.org" "Brazil server." \ + "cvsup.cz.FreeBSD.org" "Czech server." \ + "cvsup.de.FreeBSD.org" "Germany server." \ + "cvsup.dk.FreeBSD.org" "Denmark server." \ + "cvsup.ee.FreeBSD.org" "Estonia server." \ + "cvsup.fi.FreeBSD.org" "Finland server." \ + "cvsup.fr.FreeBSD.org" "France server." \ + "cvsup.jp.FreeBSD.org" "Japan server." \ + "cvsup2.jp.FreeBSD.org" "Japan server." \ + "cvsup.kr.FreeBSD.org" "Korea server." \ + "cvsup.nl.FreeBSD.org" "Holland server." \ + "cvsup.pl.FreeBSD.org" "Poland server." \ + "cvsup.ru.FreeBSD.org" "Russia server." \ + "cvsup.se.FreeBSD.org" "Sweden server." \ + "cvsup.sk.FreeBSD.org" "Slovak Republic server." \ + "cvsup.si.FreeBSD.org" "Slovenia server." \ + "cvsup.tw.FreeBSD.org" "Taiwan server." \ + "cvsup2.tw.FreeBSD.org" "Taiwan server." \ + "cvsup.uk.FreeBSD.org" "UK server." \ + "cvsup.za.FreeBSD.org" "South Africa server." 2>/tmp/menu.src.$$; then + C_HOST=`cat /tmp/menu.src.$$`; + rm -f /tmp/menu.src.$$; + if [ "${C_HOST}" = "other" ]; then + C_HOST="" + if ! getval C_HOST "Enter the name of the cvsup server you wish to use."; then + C_HOST=cvsup.freebsd.org + fi + fi + return 0 + else + rm -f /tmp/menu.src.$$ + return 1 + fi +} + +getbase() { + getval C_BASE "Base directory for src, ports and docs subdirs?" +} + +getopts() { + getval C_OPTS "These are the options currently set for cvsup. + +If you are on a slow link, you may wish to add the \"compress\" option, +otherwise you probably just want to leave these values the way they are." +} + +getports() { + if yesno "Would you like to track the FreeBSD ports collection?"; then + PORTS=yes + return 0 + else + return 1 + fi +} + +getdocs() { + if yesno "Would you like to track the FreeBSD doc sources?"; then + DOCS=yes + return 0 + else + return 1 + fi +} + +writefile() { + echo '*default ' "host=${C_HOST}" > ${SUPFILE} + echo '*default ' "base=${C_BASE}" >> ${SUPFILE} + echo '*default ' "prefix=${C_BASE}" >> ${SUPFILE} + echo '*default ' "release=${C_RELEASE}" >> ${SUPFILE} + if [ "${C_RELEASETAG}" != "cvs" ]; then + echo '*default ' "tag=${C_RELEASETAG}" >> ${SUPFILE} + fi + echo '*default ' "${C_OPTS}" >> ${SUPFILE} + + # Serious kludge to do this here, but best place for it. + mkdir -p ${C_BASE} + + echo >> ${SUPFILE} + if [ "${C_SRC_TARGETS}" ]; then + if [ -z "${EXPORT}" ]; then + echo '*default ' "host=cvsup.internat.freebsd.org" > ${SUPFILE}.intl + echo '*default ' "base=${C_BASE}" >> ${SUPFILE}.intl + echo '*default ' "prefix=${C_BASE}" >> ${SUPFILE}.intl + echo '*default ' "release=${C_RELEASE}" >> ${SUPFILE}.intl + if [ "${C_RELEASETAG}" != "cvs" ]; then + echo '*default ' "tag=${C_RELEASETAG}" >> ${SUPFILE}.intl + fi + echo '*default ' "${C_OPTS}" >> ${SUPFILE}.intl + echo >> ${SUPFILE}.intl + fi + if [ "${C_SRC_TARGETS}" != "src-all" ]; then + for i in ${C_SRC_TARGETS}; do + if [ "$i" = "\"src-crypto\"" -o "$i" = "\"src-secure\"" ]; then + if [ "${EXPORT}" ]; then + eval echo $i >> ${SUPFILE} + else + eval echo $i >> ${SUPFILE}.intl + fi + else + eval echo $i >> ${SUPFILE} + fi + done + else + echo src-all >> ${SUPFILE} + if [ "${EXPORT}" ]; then + echo src-crypto >> ${SUPFILE} + echo src-secure >> ${SUPFILE} + else + echo src-crypto >> ${SUPFILE}.intl + echo src-secure >> ${SUPFILE}.intl + fi + fi + fi + if [ "${C_RELEASETAG}" != "cvs" ]; then + echo '*default tag=.' >> ${SUPFILE} + fi + if [ "${PORTS}" ]; then + echo ports-all >> ${SUPFILE} + fi + if [ "${DOCS}" ]; then + echo doc-all >> ${SUPFILE} + fi + return 0 +} + +######################################################################## +# OK, here's where we start in on trying to actually do useful things. # +######################################################################## + +# Use an existing supfile? +if [ -r "${SUPFILE}" ]; then + if ! yesno "You already have a cvsup file (${SUPFILE}). \ +Would you like to use it?"; then + mv ${SUPFILE} ${SUPFILE}.backup + fi +fi + +# They have no supfile or are ignoring it, create one from scratch. +if [ ! -f "${SUPFILE}" ]; then + if ! getsrctag; then + message "Aborting cvsup setup per user request." + exit 1 + fi + if [ "${C_RELEASETAG}" != "none" ]; then + getsrcs + fi + getports + getdocs + if ! getbase; then + message "Aborting cvsup setup per user request." + exit 1 + fi + if ! gethost; then + message "Aborting cvsup setup per user request." + exit 1 + fi + getopts + if ! writefile; then + message "Write failure on ${SUPFILE}, aborting." + exit 1 + fi +fi + +if [ -r "${SUPFILE}" -a -x "${CVSUP_CMD}" ]; then + if ! yesno "Do you wish to run the CVSup update now?"; then + infomsg "OK, to update your system later simply type: + \"${CVSUP_CMD} ${CVSUP_ARGS} ${SUPFILE}\" +or put the command in your /etc/daily.local file for automatic updates." + if [ -z "${EXPORT}" ]; then + infomsg "Since you are outside the U.S/Canada, you should also +run this same command for ${SUPFILE}.intl" + fi + else + if yesno "Are you behind a firewall?"; then + CVSUP_ARGS="${CVSUP_ARGS} -P -" + fi + if yesno "Do you want to use compression (56K or slower, yes)?"; then + CVSUP_ARGS="${CVSUP_ARGS} -z" + fi + message "Now running ${CVSUP_CMD} ${CVSUP_ARGS} ${SUPFILE}." + runprog "${CVSUP_CMD} ${CVSUP_ARGS} ${SUPFILE}" + if [ -z "${EXPORT}" -a -r ${SUPFILE}.intl ]; then + message "Now running ${CVSUP_CMD} ${CVSUP_ARGS} ${SUPFILE}.intl." + runprog "${CVSUP_CMD} ${CVSUP_ARGS} ${SUPFILE}.intl" + fi + infomsg "All finished! To update your system again, simply type + \"${CVSUP_CMD} ${CVSUP_ARGS} ${SUPFILE}\" +or put the command in your /etc/daily.local file for automatic updates." + if [ -z "${EXPORT}" ]; then + infomsg "Since you are outside the U.S/Canada, you should also +run this same command for ${SUPFILE}.intl" + fi + fi +fi diff --git a/net/cvsupit/pkg-plist b/net/cvsupit/pkg-plist new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/net/cvsupit/pkg-plist diff --git a/net/cvsupit/pkg-req b/net/cvsupit/pkg-req new file mode 100644 index 0000000..872bf79 --- /dev/null +++ b/net/cvsupit/pkg-req @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ "`id -u`" != "0" ]; then + echo "This package must be added as root."; + exit 1; +fi +exit 0 |