From a90f1c9b12c4d31ea845fa04188e599ba28dbaf1 Mon Sep 17 00:00:00 2001 From: Renato Botelho Date: Tue, 5 Apr 2016 19:50:10 -0300 Subject: 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 --- src/usr/local/sbin/pfSense-upgrade | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'src/usr/local/sbin') 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="" -- cgit v1.1