aboutsummaryrefslogtreecommitdiffstats
path: root/ports-mgmt
diff options
context:
space:
mode:
authordinoex <dinoex@FreeBSD.org>2010-04-07 16:27:52 +0800
committerdinoex <dinoex@FreeBSD.org>2010-04-07 16:27:52 +0800
commit86b38d3bc0f8d40c6646092ae58259f653334b2b (patch)
tree3767c1a3a90227b3513d937ecf664515ac0063bc /ports-mgmt
parent11e40de80e344c7d850ece4202ee6e2713e26788 (diff)
downloadfreebsd-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/Makefile7
-rw-r--r--ports-mgmt/pkg_jail/files/pkg_jail.173
-rw-r--r--ports-mgmt/pkg_jail/files/pkg_update15
-rw-r--r--ports-mgmt/pkg_jail/files/pkg_update.1166
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