Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Move pkg_info(1) database directory information when packages are registered.
Glen Barber committed 13 years ago
commit d2f22874096d9a915a7226d6964360b586049c94
parent 5a32e8f
1 file changed +20 -1
modified ports/pkg2ng
@@ -10,16 +10,28 @@ fi

ARCH=$( uname -m )
failed_pkgs=""
+
MOVED=0

for PKG in $( pkg_info -Ea )
do
-
	DB="/var/db/pkg/${PKG}"
+
	DBDIR="/var/db"
+
	PKGDB="${DBDIR}/pkg"
+
	PKGBAK="${DBDIR}/pkg.bak"
+
	DB="${PKGDB}/${PKG}"
	DESC="${DB}/+DESC"
+
	if [ ! -e "${PKGBAK}" ]; then
+
		echo "Creating backup pkg_info(1) database directory in ${PKGBAK}."
+
		mkdir -p ${PKGBAK}
+
	fi

	ORIGIN=$(pkg_info -qo ${PKG})
	# register a package only if it's not registered already
	if pkg info -e ${ORIGIN}; then
        echo "${PKG} is already registered."
+
	if [ -e ${DB} ]; then
+
		mv ${DB} ${PKGBAK}/${PKG}
+
		MOVED=1
+
	fi
        continue
	fi
	PREFX=$(pkg_info -qp ${PKG})
@@ -72,11 +84,18 @@ do
		failed_pkgs="${failed_pkgs} ${PKG}"
	else
		rm -rf ${MANIFEST}
+
		if [ -e ${DB} ]; then
+
			mv ${DB} ${PKGBAK}/${PKG}
+
			MOVED=1
+
		fi
	fi

	rm -rf ${MDIR}
done

+
if [ ${MOVED} -eq 1 ]; then
+
	echo "Moved old package database to ${PKGBAK}."
+
fi

if [ -n "${failed_pkgs}" ]; then
	echo "" >&2