From owner-svn-src-head@FreeBSD.ORG Sun Nov 17 17:53:56 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 09624BAC; Sun, 17 Nov 2013 17:53:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id ECDA72A5F; Sun, 17 Nov 2013 17:53:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAHHrt3m098682; Sun, 17 Nov 2013 17:53:55 GMT (envelope-from dteske@svn.freebsd.org) Received: (from dteske@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAHHrtQC098679; Sun, 17 Nov 2013 17:53:55 GMT (envelope-from dteske@svn.freebsd.org) Message-Id: <201311171753.rAHHrtQC098679@svn.freebsd.org> From: Devin Teske Date: Sun, 17 Nov 2013 17:53:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r258267 - in head/usr.sbin/bsdconfig/share: media packages X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Nov 2013 17:53:56 -0000 Author: dteske Date: Sun Nov 17 17:53:55 2013 New Revision: 258267 URL: http://svnweb.freebsd.org/changeset/base/258267 Log: Fix package installation from physical media such as DVD. Discussed with: re (gjb) MFC after: 3 days Modified: head/usr.sbin/bsdconfig/share/media/http.subr head/usr.sbin/bsdconfig/share/packages/index.subr head/usr.sbin/bsdconfig/share/packages/packages.subr Modified: head/usr.sbin/bsdconfig/share/media/http.subr ============================================================================== --- head/usr.sbin/bsdconfig/share/media/http.subr Sun Nov 17 17:48:55 2013 (r258266) +++ head/usr.sbin/bsdconfig/share/media/http.subr Sun Nov 17 17:53:55 2013 (r258267) @@ -502,6 +502,7 @@ f_media_init_http() setvar $VAR_HTTP_PATH "$hp/$PKG_ABI/latest" if [ "$PKG_ABI" ] && f_http_check_access; then http_found=$SUCCESS + setvar $VAR_HTTP_PATH "$hp" else for fdir in $HTTP_DIRS; do setvar $VAR_HTTP_PATH "$hp/$fdir/$rel" Modified: head/usr.sbin/bsdconfig/share/packages/index.subr ============================================================================== --- head/usr.sbin/bsdconfig/share/packages/index.subr Sun Nov 17 17:48:55 2013 (r258266) +++ head/usr.sbin/bsdconfig/share/packages/index.subr Sun Nov 17 17:53:55 2013 (r258267) @@ -106,16 +106,21 @@ f_index_initialize() device_media get type __type device_media get private __data case "$__type" in - $DEVICE_TYPE_UFS|$DEVICE_TYPE_DISK) __site="file://$MOUNTPOINT" ;; - $DEVICE_TYPE_DIRECTORY) __site="file://$__data" ;; - $DEVICE_TYPE_FLOPPY) __site="file://${__data:-$MOUNTPOINT}" ;; - $DEVICE_TYPE_FTP) f_getvar $VAR_FTP_PATH __site ;; - $DEVICE_TYPE_HTTP_PROXY) f_getvar $VAR_HTTP_PROXY_PATH __site ;; - $DEVICE_TYPE_HTTP) f_getvar $VAR_HTTP_PATH __site ;; - $DEVICE_TYPE_CDROM) __site="file://$MOUNTPOINT" ;; - $DEVICE_TYPE_USB) __site="file://$MOUNTPOINT" ;; - $DEVICE_TYPE_DOS) __site="file://$MOUNTPOINT" ;; - $DEVICE_TYPE_NFS) __site="file://$MOUNTPOINT" ;; + $DEVICE_TYPE_DIRECTORY) + __site="file://$__data/packages/$PKG_ABI" ;; + $DEVICE_TYPE_FLOPPY) + __site="file://${__data:-$MOUNTPOINT}/packages/$PKG_ABI" ;; + $DEVICE_TYPE_FTP) + f_getvar $VAR_FTP_PATH __site + __site="$__site/packages/$PKG_ABI" ;; + $DEVICE_TYPE_HTTP) + f_getvar $VAR_HTTP_PATH __site + __site="$__site/$PKG_ABI/latest" ;; + $DEVICE_TYPE_HTTP_PROXY) + f_getvar $VAR_HTTP_PROXY_PATH __site + __site="$__site/packages/$PKG_ABI" ;; + *) # UFS, DISK, CDROM, USB, DOS, NFS, etc. + __site="file://$MOUNTPOINT/packages/$PKG_ABI" esac export PACKAGESITE="$__site" Modified: head/usr.sbin/bsdconfig/share/packages/packages.subr ============================================================================== --- head/usr.sbin/bsdconfig/share/packages/packages.subr Sun Nov 17 17:48:55 2013 (r258266) +++ head/usr.sbin/bsdconfig/share/packages/packages.subr Sun Nov 17 17:53:55 2013 (r258267) @@ -971,10 +971,16 @@ f_package_extract() f_getvar $VAR_PKG_TMPDIR:-/var/tmp tmpdir f_quietly mkdir -p -m 1777 "$tmpdir" - local path + local path device_type + device_$device get type device_type case "$name" in */*) path="$name" ;; - *) path="All/$name" ;; + *) + if [ "$device_type" = "$DEVICE_TYPE_HTTP" ]; then + path="$PKG_ABI/latest/All/$name" + else + path="packages/$PKG_ABI/All/$name" + fi esac # We have a path, call the device strategy routine to check the file @@ -982,12 +988,20 @@ f_package_extract() for pkg_ext in "" $PACKAGE_EXTENSIONS; do if f_device_get $device "$path$pkg_ext" $PROBE_EXIST; then path="$path$pkg_ext" - f_dprintf "$funcname: found path=[%s] dev=[%s]" \ - "$path" "$device" + found=1 + break + elif [ "$device_type" = "$DEVICE_TYPE_HTTP" ] && + f_device_get $device \ + "packages/$PKG_ABI/All/$name$pkg_ext" $PROBE_EXIST + then + # Mirroring physical media over HTTP + path="packages/$PKG_ABI/All/$name$pkg_ext" found=1 break fi done + [ "$found" ] && f_dprintf "$funcname: found path=[%s] dev=[%s]" \ + "$path" "$device" local alert=f_show_msg no_confirm= f_getvar $VAR_NO_CONFIRM no_confirm