Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/poudriere.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/share
diff options
context:
space:
mode:
authorBryan Drewery <bryan@shatow.net>2014-04-23 03:22:18 +0400
committerBryan Drewery <bryan@shatow.net>2014-04-23 03:22:18 +0400
commitf21f559159fe08ebae08a4f4e25404aedac40198 (patch)
treed97728686c62de14d4158fd652b5e4ad9de2774a /src/share
parent21b999f91f797b1d4889e329d52abc6971a61824 (diff)
jail: Add back -i support (99% taken from combo command from dragonfly branch)
Diffstat (limited to 'src/share')
-rwxr-xr-xsrc/share/poudriere/common.sh3
-rwxr-xr-xsrc/share/poudriere/jail.sh83
2 files changed, 77 insertions, 9 deletions
diff --git a/src/share/poudriere/common.sh b/src/share/poudriere/common.sh
index e261c293..29e95e67 100755
--- a/src/share/poudriere/common.sh
+++ b/src/share/poudriere/common.sh
@@ -2097,6 +2097,8 @@ calculate_elapsed() {
[ $# -eq 2 ] || eargs calculate_elapsed now log
local now="$1"
local log="$2"
+
+ [ -f "${log}/.poudriere.status" ] || return 1
start_end_time=$(stat -f '%B %m' ${log}/.poudriere.status)
start_time=${start_end_time% *}
case "${status}" in
@@ -2106,6 +2108,7 @@ calculate_elapsed() {
_start_time=${start_time}
_end_time=${end_time}
_elapsed_time=$((${end_time} - ${start_time}))
+ return 0
}
# Build ports in parallel
diff --git a/src/share/poudriere/jail.sh b/src/share/poudriere/jail.sh
index c6df147e..3ba6fde3 100755
--- a/src/share/poudriere/jail.sh
+++ b/src/share/poudriere/jail.sh
@@ -32,6 +32,7 @@ poudriere jail [parameters] [options]
Parameters:
-c -- Create a jail
-d -- Delete a jail
+ -i -- Show information about a jail
-l -- List all available jails
-s -- Start a jail
-k -- Stop a jail
@@ -558,6 +559,61 @@ EOF
msg "Jail ${JAILNAME} ${VERSION} ${ARCH} is ready to be used"
}
+info_jail() {
+ local nbb nbf nbi nbq nbs tobuild
+ local building_started status log
+ local elapsed elapsed_days elapsed_hms elapsed_timestamp
+ local now start_time
+ jail_exists ${JAILNAME} || err 1 "No such jail: ${JAILNAME}"
+ porttree_exists ${PTNAME} || err 1 "No such tree: ${PTNAME}"
+
+ POUDRIERE_BUILD_TYPE=bulk
+ BUILDNAME=latest
+
+ log=$(log_path)
+ now=$(date +%s)
+
+ status=$(bget status 2>/dev/null || :)
+ nbq=$(bget stats_queued 2>/dev/null || :)
+ nbf=$(bget stats_failed 2>/dev/null || :)
+ nbi=$(bget stats_ignored 2>/dev/null || :)
+ nbs=$(bget stats_skipped 2>/dev/null || :)
+ nbb=$(bget stats_built 2>/dev/null || :)
+ tobuild=$((nbq - nbb - nbf - nbi - nbs))
+
+ echo "Jail name: ${JAILNAME}"
+ echo "Jail version: $(jget ${JAILNAME} version)"
+ echo "Jail arch: $(jget ${JAILNAME} arch)"
+ echo "Jail acquired: $(jget ${JAILNAME} method)"
+# echo "Jail built: $(jget ${JAILNAME} timestamp)"
+ echo "Tree name: ${PTNAME}"
+ echo "Tree acquired: $(pget ${PTNAME} method)"
+# echo "Tree updated: $(pget ${PTNAME} timestamp)"
+ echo "Status: ${status}"
+ if calculate_elapsed ${now} ${log}; then
+ start_time=${_start_time}
+ elapsed=${_elapsed_time}
+ building_started=$(date -j -r ${start_time} "+%Y-%m-%d %H:%M:%S")
+ elapsed_days=$((elapsed/86400))
+ elapsed_hms=$(date -j -u -r ${elapsed} "+%H:%M:%S")
+ case ${elapsed_days} in
+ 0) elapsed_timestamp="${elapsed_hms}" ;;
+ 1) elapsed_timestamp="1 day, ${elapsed_hms}" ;;
+ *) elapsed_timestamp="${elapsed_days} days, ${elapsed_hms}" ;;
+ esac
+ echo "Building started: ${building_started}"
+ echo "Elapsed time: ${elapsed_timestamp}"
+ echo "Packages built: ${nbb}"
+ echo "Packages failed: ${nbf}"
+ echo "Packages ignored: ${nbi}"
+ echo "Packages skipped: ${nbs}"
+ echo "Packages total: ${nbq}"
+ echo "Packages left: ${tobuild}"
+ fi
+
+ unset POUDRIERE_BUILD_TYPE
+}
+
ARCH=`uname -m`
REALARCH=${ARCH}
START=0
@@ -577,8 +633,11 @@ SCRIPTPATH=`realpath $0`
SCRIPTPREFIX=`dirname ${SCRIPTPATH}`
. ${SCRIPTPREFIX}/common.sh
-while getopts "J:j:v:a:z:m:nf:M:sdklqcip:r:ut:z:P:" FLAG; do
+while getopts "iJ:j:v:a:z:m:nf:M:sdklqcip:r:ut:z:P:" FLAG; do
case "${FLAG}" in
+ i)
+ INFO=1
+ ;;
j)
JAILNAME=${OPTARG}
;;
@@ -665,15 +724,21 @@ if [ -n "${JAILNAME}" -a ${CREATE} -eq 0 ]; then
JAILMNT=$(jget ${JAILNAME} mnt)
fi
-case "${CREATE}${LIST}${STOP}${START}${DELETE}${UPDATE}${RENAME}" in
- 1000000)
+case "${CREATE}${INFO}${LIST}${STOP}${START}${DELETE}${UPDATE}${RENAME}" in
+ 10000000)
test -z ${JAILNAME} && usage
create_jail
;;
- 0100000)
+ 01000000)
+ test -z ${JAILNAME} && usage
+ export MASTERNAME=${JAILNAME}-${PTNAME}${SETNAME:+-${SETNAME}}
+ export MASTERMNT=${POUDRIERE_DATA}/build/${MASTERNAME}/ref
+ info_jail
+ ;;
+ 00100000)
list_jail
;;
- 0010000)
+ 00010000)
test -z ${JAILNAME} && usage
porttree_exists ${PTNAME} || err 2 "No such ports tree ${PTNAME}"
export MASTERNAME=${JAILNAME}-${PTNAME}${SETNAME:+-${SETNAME}}
@@ -682,7 +747,7 @@ case "${CREATE}${LIST}${STOP}${START}${DELETE}${UPDATE}${RENAME}" in
msg "Jail ${MASTERNAME} not running, but cleaning up anyway"
jail_stop
;;
- 0001000)
+ 00001000)
export SET_STATUS_ON_START=0
test -z ${JAILNAME} && usage
porttree_exists ${PTNAME} || err 2 "No such ports tree ${PTNAME}"
@@ -693,15 +758,15 @@ case "${CREATE}${LIST}${STOP}${START}${DELETE}${UPDATE}${RENAME}" in
# Restart with network
jstart 1
;;
- 0000100)
+ 00000100)
test -z ${JAILNAME} && usage
delete_jail
;;
- 0000010)
+ 00000010)
test -z ${JAILNAME} && usage
update_jail
;;
- 0000011)
+ 00000011)
test -z ${JAILNAME} && usage
rename_jail
;;