1255818Sdteske#!/bin/sh
2255818Sdteske# $FreeBSD: releng/11.0/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