browse_packages_http.sh revision 268999
1255818Sdteske#!/bin/sh 2255818Sdteske# $FreeBSD: head/usr.sbin/bsdconfig/examples/browse_packages_http.sh 268999 2014-07-22 23:10:12Z dteske $ 3255818Sdteske# 4268999Sdteske# This sample downloads the package digests.txz and packagesite.txz files from 5268999Sdteske# HTTP to /tmp (if they don't already exist) and then displays the package 6268999Sdteske# configuration/management screen using the local files (resulting in faster 7268999Sdteske# browsing of packages from-start since digests.txz/packagesite.txz can be 8268999Sdteske# loaded from local media). 9255818Sdteske# 10268999Sdteske# NOTE: Packages cannot be installed unless staged to 11268999Sdteske# /tmp/packages/$PKG_ABI/All 12255818Sdteske# 13268999Sdteske[ "$_SCRIPT_SUBR" ] || . /usr/share/bsdconfig/script.subr || exit 1 14255818SdteskenonInteractive=1 15268999Sdteskef_musthavepkg_init # Make sure we have a usable pkg(8) with $PKG_ABI 16255818SdteskeTMPDIR=/tmp 17268999SdteskePKGDIR=$TMPDIR/packages/$PKG_ABI 18268999Sdteske[ -d "$PKGDIR" ] || mkdir -p "$PKGDIR" || exit 1 19268999Sdteskefor file in digests.txz packagesite.txz; do 20268999Sdteske [ -s "$PKGDIR/$file" ] && continue 21268999Sdteske if [ ! "$HTTP_INITIALIZED" ]; then 22268999Sdteske _httpPath=http://pkg.freebsd.org 23268999Sdteske mediaSetHTTP 24268999Sdteske mediaOpen 25268999Sdteske fi 26268999Sdteske f_show_info "Downloading %s from\n %s" "$file" "$_httpPath" 27268999Sdteske f_device_get device_media "/$PKG_ABI/latest/$file" > $PKGDIR/$file || 28268999Sdteske exit 1 29268999Sdteskedone 30255818Sdteske_directoryPath=$TMPDIR 31255818SdteskemediaSetDirectory 32255818SdteskeconfigPackages 33