diff options
author | dinoex <dinoex@FreeBSD.org> | 2010-04-07 16:27:52 +0800 |
---|---|---|
committer | dinoex <dinoex@FreeBSD.org> | 2010-04-07 16:27:52 +0800 |
commit | 86b38d3bc0f8d40c6646092ae58259f653334b2b (patch) | |
tree | 3767c1a3a90227b3513d937ecf664515ac0063bc /ports-mgmt | |
parent | 11e40de80e344c7d850ece4202ee6e2713e26788 (diff) | |
download | freebsd-ports-gnome-86b38d3bc0f8d40c6646092ae58259f653334b2b.tar.gz freebsd-ports-gnome-86b38d3bc0f8d40c6646092ae58259f653334b2b.tar.zst freebsd-ports-gnome-86b38d3bc0f8d40c6646092ae58259f653334b2b.zip |
- update to revision 1.68
- add manpages
Diffstat (limited to 'ports-mgmt')
-rw-r--r-- | ports-mgmt/pkg_jail/Makefile | 7 | ||||
-rw-r--r-- | ports-mgmt/pkg_jail/files/pkg_jail.1 | 73 | ||||
-rw-r--r-- | ports-mgmt/pkg_jail/files/pkg_update | 15 | ||||
-rw-r--r-- | ports-mgmt/pkg_jail/files/pkg_update.1 | 166 |
4 files changed, 253 insertions, 8 deletions
diff --git a/ports-mgmt/pkg_jail/Makefile b/ports-mgmt/pkg_jail/Makefile index 164f1a0f1634..224cd99bd7ae 100644 --- a/ports-mgmt/pkg_jail/Makefile +++ b/ports-mgmt/pkg_jail/Makefile @@ -6,7 +6,7 @@ # PORTNAME= pkg_jail -PORTVERSION= 1.0 +PORTVERSION= 1.68 CATEGORIES= ports-mgmt MASTER_SITES= # empty DISTFILES= # empty @@ -18,10 +18,11 @@ NO_BUILD= yes PLIST_FILES= bin/pkg_jail bin/pkg_update PORTDOCS= README +MAN1= pkg_jail.1 pkg_update.1 do-install: - ${INSTALL_SCRIPT} ${FILESDIR}/pkg_jail ${PREFIX}/bin/ - ${INSTALL_SCRIPT} ${FILESDIR}/pkg_update ${PREFIX}/bin/ + ${INSTALL_SCRIPT} ${FILESDIR}/pkg_jail ${FILESDIR}/pkg_update ${PREFIX}/bin/ + ${INSTALL_MAN} ${FILESDIR}/pkg_jail.1 ${FILESDIR}/pkg_update.1 ${PREFIX}/man/man1/ .if !defined(NOPORTDOCS) ${MKDIR} ${DOCSDIR} ${INSTALL_DATA} ${FILESDIR}/README ${DOCSDIR}/ diff --git a/ports-mgmt/pkg_jail/files/pkg_jail.1 b/ports-mgmt/pkg_jail/files/pkg_jail.1 new file mode 100644 index 000000000000..92b6881be15d --- /dev/null +++ b/ports-mgmt/pkg_jail/files/pkg_jail.1 @@ -0,0 +1,73 @@ +.\" $Id$ +.TH PKG_JAIL 1 "April 2010" "FreeBSD" "User Manuals" +.SH NAME +pkg_jail \- Easy handling of a jail for package-builds. +.SH SYNOPSIS +.TP +.B pkg_jail [command] +.SH DESCRIPTION +.B pkg_jail +is a script to handle an clean jail for package-builds. +.SH ARGUMENTS +.TP +.B init +Creates or updates a clean jail with "installworld" and populate /etc inside the jail. +.TP +.B start +Start the jail as a guest server. +You should have setup sshd to login and maintain it with this option. +.TP +.B shell +Start the jail and give a shell back. +.TP +.B list +Show processes running in the jail. +You need to have /proc mounted (readonly) in the host. +.TP +.B stop +Kill processes running in the jail. +You need to have /proc mounted (readonly) in the host. +.TP +.B restart +Same as "stop" and "start" +.SH "IMPLEMENTATION NOTES" +.TP +.B /proc +/proc will be mounted readonly via procfs inside the jail. +.TP +.B /usr/src +if /usr/src/Makefile does not exists inside the jail, +/usr/src will be mounted readonly via nullfs from the the host into the jail. +.TP +.B jail_name +The hostname of the jail. +.TP +.B jail_short +A short id fopr the jail. +.TP +.B jail_ip +The ip-address for the jail. +.TP +.B jail_dir +The new root for the jail. +.TP +.B jail_short +A short id fopr the jail. +.TP +.B jail_rule +The rulset number the script uses for the devfs isnide the jail. +.SH RETURN VALUES +undefined. +.SH "FILES" +Configuration is inside the script. +.SH "EXAMPLES" +.B pkg_jail +shell +.SH "SEE ALSO" +.TP +.B pkg_update(1) +The tool to create packages inside the jail. +.SH "HISTORY" +http://www.dinoex.net/training/package.html +.SH "AUTHOR" +Dirk Meyer, dinoex@FreeBSD.org diff --git a/ports-mgmt/pkg_jail/files/pkg_update b/ports-mgmt/pkg_jail/files/pkg_update index 8b06f072b93c..a8b25d3d6ece 100644 --- a/ports-mgmt/pkg_jail/files/pkg_update +++ b/ports-mgmt/pkg_jail/files/pkg_update @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: pkg_update,v 1.67 2010/03/25 08:06:37 cvs Exp $ +# $Id: pkg_update,v 1.68 2010/04/05 04:39:43 cvs Exp $ # # Copyright (c) 2001-2006 # by Dirk Meyer, All rights reserved. @@ -1085,25 +1085,30 @@ merge_distfiles() { continue fi case "${dir}" in - *Old*) - if test -f "${mergedistdir}/${dir#Old}${xfile}" + /Old/*) + echo "${mergedistdir}${dir#/Old}${xfile}" + if test -f "${mergedistdir}${dir#/Old}${xfile}" then continue fi ;; *) - if test -f "${mergedistdir}/Old/${dir}${xfile}" + echo "${mergedistdir}/Old${dir}${xfile}" + if test -f "${mergedistdir}/Old${dir}${xfile}" then continue fi + ;; esac if test ! -d "${mergedistdir}${dir}" then echo \ mkdir -p "${mergedistdir}${dir}" + mkdir -p "${mergedistdir}${dir}" fi echo \ - cp -pi "${name}" "${mergedistdir}${dir}" + cp -pi "${name}" "${mergedistdir}${dir}/" + cp -pi "${name}" "${mergedistdir}${dir}/" done } # diff --git a/ports-mgmt/pkg_jail/files/pkg_update.1 b/ports-mgmt/pkg_jail/files/pkg_update.1 new file mode 100644 index 000000000000..9da5e4dd3c58 --- /dev/null +++ b/ports-mgmt/pkg_jail/files/pkg_update.1 @@ -0,0 +1,166 @@ +.\" $Id$ +.TH PKG_UPDATE 1 "April 2010" "FreeBSD" "User Manuals" +.SH NAME +pkg_update \- Easy handling of jailed packages builds. +.SH SYNOPSIS +.TP +.B pkg_update [command] ... +.SH DESCRIPTION +.B pkg_update +is a script to handle an clean jail for package-builds. +.SH ARGUMENTS +.TP +.B cvsup +Installs a copy of cvsup-without-gui package and start +"make update" for the ports tree. +.TP +.B make-packages +Builds a port and its dependencies in a clean /usr/local. +You should not run this on a server with configuration. +Existing packages are used. +Extra files in "${PREFIX}" are detected and reported. +The default list of ports is "data/make-packages.${hostname}" +.TP +.B clean-distfiles +Checks all distinfo files and moves the disfiles not found +to "/usr/ports/distfiles/Old/". +.TP +.B merge-distfiles +Copy all disfiles found that do not yet exist on the master +directory "/media/ports/distfiles/". +.TP +.B clean-packages +Find obsolete packages and move them out of the way. +.TP +.B pkg_update clean-openssl-packages +Find packages that use openssl and move them out of the way +.TP +.B full-update-jail +Do full update cycle: +1. "cvsup" to update the ports tree +2. "clean-packages" to keep only good packages +3. remove all old error logs +4. "make-packages" to rebuild missing packages +.TP +.B full-update-jail retry +Skip "cvsup" and procced as above. +.TP +.B fetch-distfiles +Fetch distfiles for list of ports. +.TP +.B fetch-recursive-distfiles +Fetch distfiles for list of ports and their dependecies. +.TP +.B show-extra-files +List files in portsdir that are not updated by cvsup +.TP +.B dependency-update +Try to fix as much dependecy problens in installed ports. +.TP +.B fix-moved-ports +Check installed packages for moved ports. +Then register the new dir in the old installed package. +.TP +.B add-packages +Build a missing port and its missing dpendencies +/usr/local is not deleted, on success the port is installed. +Existing packages will be used. +.TP +.B list-installed-ports +List all installed ports. +.TP +.B show-version-list +List installed packages that are not in correct version. +.TP +.B show-packages +List build packages or report missing for each port +recorded in "data/install-packages.${hostname}". +.TP +.B check-installed-ports +Compare the list of installed ports with the list +recorded in data/install-packages.${hostname}". +.TP +.B show-missing-packages +Warn if no package is found for each port +recorded in "data/install-packages.${hostname}" +.TP +.B show-missing-installed +List build packages or report missing for each port +installed on this host. +.TP +.B check-update +1. check-installed-ports +2. show-missing-packages +3. show-missing-installed +.TP +.B clean +Clean all cached information. +.TP +.B make-version-list +Make new list of packages that are not in correct version. +.TP +.B make-deinstall-list +Make new list of ports that are not in correct version +and create a script "deinstall.${hostname}" to deinstall +all the old ports and the dependend ports in order. +.TP +.B check-reinstall +For each package deleted by "make-deinstall-list" warn +if no new package is found. +.TP +.B reinstall +For each package deleted by "make-deinstall-list" try +to install the new package if it exists. +.TP +.B install-packages +For each port recorded in "data/install-packages.${hostname}" +try to to install the new package if it exists. +.TP +.B show-missing-reinstall +For each port recorded from "make-deinstall-list" warn +if no new package is found. +.TP +.B make-easy-update +Try to generate the ordered sequence of pkg_deinstall +and pkg_add commands to update your old packages. +.TP +.B replace-package +Overwrite the installed package with a new one and +register dependencies and dependant packages. +Warning: Don't do this when the ABI of the this +package or the ABI of its dependencies has changed. +.TP +.B clean-reinstall +For each port recorded from "make-deinstall-list", +keep only the ports that have no package installed. +.TP +.B deinstall-packages +For each port recorded in "data/install-packages.${hostname}" +try to to deinstall the installed port. +.SH "IMPLEMENTATION NOTES" +This script uses only /bin/sh and it does not need an INDEX file. +.SH RETURN VALUES +undefined. +.SH "FILES" +.TP +.B /usr/ports/local/update/data/ +Default location for configuration and varaible data. + +.TP +.B /usr/ports/local/update/log-${hostname} +Default location for logsfiles. +.TP +.B /media/ports/distfiles/ +Optional location lor a central hostng of distfiles. +.SH "EXAMPLES" +.B pkg_update full-update-jail clean-distfiles +.SH "SEE ALSO" +.TP +.B pkg_jail(1) +The tool to create and run the jail. +.SH "HISTORY" +http://www.dinoex.net/training/package.html +.TP +http://www.dinoex.net/training/package2.html +.SH "AUTHOR" +Dirk Meyer, dinoex@FreeBSD.org |