summaryrefslogtreecommitdiff
path: root/sysutils/freesbie/files/patch-scripts_pkginstall.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/freesbie/files/patch-scripts_pkginstall.sh')
-rw-r--r--sysutils/freesbie/files/patch-scripts_pkginstall.sh61
1 files changed, 61 insertions, 0 deletions
diff --git a/sysutils/freesbie/files/patch-scripts_pkginstall.sh b/sysutils/freesbie/files/patch-scripts_pkginstall.sh
new file mode 100644
index 000000000000..d6a0420a8142
--- /dev/null
+++ b/sysutils/freesbie/files/patch-scripts_pkginstall.sh
@@ -0,0 +1,61 @@
+--- scripts/pkginstall.sh.orig 2007-01-16 10:14:46 UTC
++++ scripts/pkginstall.sh
+@@ -52,7 +52,7 @@ find_origins() {
+
+ # pkg_info might fail if the listed package isn't present
+ set +e
+- origins=$(pkg_info -EX "^$(escape_pkg ${pkg})($|-[^-]+$)")
++ origins=$(pkg query -x "%n-%v" "^$(escape_pkg ${pkg})($|-[^-]+$)")
+ retval=$?
+ set -e
+ if [ ${retval} -eq 0 ]; then
+@@ -84,7 +84,7 @@ find_deps() {
+ touch deps
+ echo -n "Finding dependencies... "
+ while read pkg; do
+- deps=$(pkg_info -qr ${pkg} | cut -d ' ' -f 2)
++ deps=$(pkg query "%dn-%dv" ${pkg})
+ for dep in ${deps}; do
+ echo ${dep} >> tmp_deps
+ done
+@@ -142,7 +142,7 @@ copy_packages() {
+ export PACKAGE_BUILDING=yo
+ chrootpkgpath=${CHROOTWD#$BASEDIR}
+ pkgfile=${WORKDIR}/sortpkg
+- pkgaddcmd="chroot ${BASEDIR} pkg_add -v"
++ pkgaddcmd="/usr/local/sbin/pkg -c ${BASEDIR} add -f "
+ totpkg=$(wc -l $pkgfile | awk '{print $1}')
+ echo "Copying ${totpkg} packages"
+ cd ${CHROOTWD}
+@@ -159,7 +159,11 @@ copy_packages() {
+ count=$((${count} + 1))
+
+ echo "Running pkg_create -b ${pkg} ${CHROOTWD}/${pkg}.tar" >> ${LOGFILE}
+- pkg_create -b ${pkg} ${CHROOTWD}/${pkg}.tar >> ${LOGFILE} 2>&1
++ rpkg=`pkg query %dn-%dv ${pkg}`
++ for spkg in ${rpkg}; do
++ pkg create -o ${CHROOTWD} -n -f tar ${spkg} >> ${LOGFILE} 2>&1
++ done
++ pkg create -o ${CHROOTWD} -n -f tar ${pkg} >> ${LOGFILE} 2>&1
+
+ echo "Running $pkgaddcmd ${chrootpkgpath}/${pkg}.tar" >> ${LOGFILE}
+ $pkgaddcmd ${chrootpkgpath}/${pkg}.tar >> ${LOGFILE} 2>&1
+@@ -168,12 +172,17 @@ copy_packages() {
+
+ done < $pkgfile
+ echo "]"
++ if [ -f ${WORKDIR}/extra/customroot/var/db ]; then
++ chroot ${BASEDIR} pkg backup -d test.db
++ env PKG_DBDIR=${WORKDIR}extra/customroot/var/db/pkg pkg backup -r ${BASEDIR}/test.db
++ rm ${BASEDIR}/test.db
++ fi
+ set -e
+ }
+
+ delete_old_packages() {
+ echo "Deleting previously installed packages"
+- chroot ${BASEDIR} pkg_delete -a >> ${LOGFILE} 2>&1
++ pkg -c ${BASEDIR} delete -afy >> ${LOGFILE} 2>&1
+ }
+
+ # Deletes workdirs