summaryrefslogtreecommitdiffstats
path: root/src/usr/local/sbin/pfSense-upgrade
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-04-05 19:50:10 -0300
committerRenato Botelho <renato@netgate.com>2016-04-05 19:50:10 -0300
commita90f1c9b12c4d31ea845fa04188e599ba28dbaf1 (patch)
treec7332c7aef82031cac8a9ce8d7dea3d1e5bf9611 /src/usr/local/sbin/pfSense-upgrade
parenta35bf546b57558535e3fc1958cf3fb2b4d18ade7 (diff)
downloadpfsense-a90f1c9b12c4d31ea845fa04188e599ba28dbaf1.zip
pfsense-a90f1c9b12c4d31ea845fa04188e599ba28dbaf1.tar.gz
Rework the way repo packages work
- Distribute only a single pfSense-repo package containing all templates - Create a symlink pointing to selected repo - Do not limit it only to pfSense-repo and pfSense-repo-devel
Diffstat (limited to 'src/usr/local/sbin/pfSense-upgrade')
-rwxr-xr-xsrc/usr/local/sbin/pfSense-upgrade26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/usr/local/sbin/pfSense-upgrade b/src/usr/local/sbin/pfSense-upgrade
index e0a0139..de83de1 100755
--- a/src/usr/local/sbin/pfSense-upgrade
+++ b/src/usr/local/sbin/pfSense-upgrade
@@ -292,11 +292,7 @@ pkg_upgrade() {
pkg_update force
fi
- if is_pkg_installed ${product}-repo-devel; then
- local _repo_pkg="${product}-repo-devel"
- else
- local _repo_pkg="${product}-repo"
- fi
+ local _repo_pkg="${product}-repo"
if [ "$(compare_pkg_version ${_repo_pkg})" = "<" ]; then
cp /usr/local/etc/pkg/repos/${product}.conf \
@@ -722,6 +718,26 @@ else
export HTTP_USER_AGENT="${product}/${product_version}"
fi
+# Make sure to use default repo conf when it doesn't exist
+pkg_repo_conf="/usr/local/etc/pkg/repos/${product}.conf"
+default_pkg_repo_conf_path="/usr/local/share/${product}/pkg/repos/${product}-repo.conf"
+
+pkg_repo_conf_path=$(/usr/local/sbin/read_xml_tag.sh string system/pkg_repo_conf_path \
+ ${default_pkg_repo_conf_path})
+
+if [ -z "${pkg_repo_conf_path}" -o ! -f "${pkg_repo_conf_path}" ]; then
+ pkg_repo_conf_path=${default_pkg_repo_conf_path}
+fi
+
+if [ -e "${pkg_repo_conf}" -a ! -L "${pkg_repo_conf}" ]; then
+ rm -f ${pkg_repo_conf}
+ ln -sf ${pkg_repo_conf_path} ${pkg_repo_conf}
+fi
+
+if [ "$(readlink ${pkg_repo_conf})" != "${pkg_repo_conf_path}" ]; then
+ ln -sf ${pkg_repo_conf_path} ${pkg_repo_conf}
+fi
+
# Flags used in _exit
export delete_annotation=""
export unlock_additional_pkgs=""
OpenPOWER on IntegriCloud