changeset 62:6c8ee1ef9ef2

First parts of checks of forked and/or renamed packages
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 21 Mar 2019 09:39:39 +0100
parents 26cf051f6c93
children 0ae7697702b3
files bin/check-ports
diffstat 1 files changed, 44 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/bin/check-ports	Thu Mar 21 01:11:12 2019 +0100
+++ b/bin/check-ports	Thu Mar 21 09:39:39 2019 +0100
@@ -9,11 +9,23 @@
 VERSION=@@VERSION@@
 
 #
+# Configuration directory
+#
+: ${CONFIGDIR:=/usr/local/etc/local-bsdtools}
+
+#
+# Mapping configuration: installed package name -> original package name
+# Note: This is independent of any repo
+#
+: ${PACKAGE_MAPPING:=${CONFIGDIR}/package-mapping.conf}
+
+#
 # Local repository with non-public packages and/or ports with changed
 # OPTIONS (i.e. not using the defaults) or forks of official packages with
 # other package names
 #
 : ${LOCAL_REPO:=LocalRepo}
+
 #
 # Local repository with ports with default OPTIONS (i.e. unchanged)
 # but newer than the packages in the "FreeBSD" repository.
@@ -103,6 +115,23 @@
     return 2
 }
 
+get_mapping() {
+    local _package _n _mapped
+
+    _package=$1
+
+    if [ -r "${PACKAGE_MAPPING}" ] ; then
+        while read _n _mapped ; do
+            if [ "${_n}" = "${_package}" ] ; then
+                mapped_package_name="${_mapped}"
+                return 0
+            fi
+        done < ${PACKAGE_MAPPING}
+    fi
+    mapped_package_name=""
+    return 1
+}
+
 print_title() {
     local _package _repo
 
@@ -170,6 +199,7 @@
     _installed_version=${lfqp##*-}
     title_printed=""
     get_repo_for_installed_package ${_installed_name}
+    get_mapping ${_installed_name}
     if [ -n "${verbose_flag}" ] ; then
         print_title "${lfqp}" "${repository}"
     fi
@@ -181,6 +211,9 @@
     get_remote_repo_data ${LOCALBSDPORTS_REPO} ${_installed_name}
     get_remote_repo_data ${FREEBSD_REPO} ${_installed_name}
     _print_detail=""
+    if [ -n "${mapped_package_name}" ] ; then
+        _print_detail=1
+    fi
     if [ \( -n "${alldata_flag}" \) ]; then
         _print_detail=1
     else
@@ -219,13 +252,21 @@
     fi
     if [ -n "${_print_detail}" ]; then
         print_title "${lfqp}" "${repository}"
-        echo "   INDEX: ${llabel} ${ldescr}"
-        echo "   FreeBSD: ${remote_label_FreeBSD} ${remote_descr_FreeBSD}"
+        echo "   INDEX        : ${llabel} ${ldescr}"
+        echo "   FreeBSD      : ${remote_label_FreeBSD} ${remote_descr_FreeBSD}"
         if [ \( -n "${alldata_flag_LocalBSDPorts}" \) -o \( "${remote_label_LocalBSDPorts}" != '?' \) ] ; then
             echo "   LocalBSDPorts: ${remote_label_LocalBSDPorts} ${remote_descr_LocalBSDPorts}"
         fi
         if [ \( -n "${alldata_flag_LocalRepo}" \) -o \( "${remote_label_LocalRepo}" != '?' \) ] ; then
-            echo "   LocalRepo: ${remote_label_LocalRepo} ${remote_descr_LocalRepo}"
+            echo "   LocalRepo    : ${remote_label_LocalRepo} ${remote_descr_LocalRepo}"
+        fi
+        if [ -n "${mapped_package_name}" ] ; then
+	    echo "   ---> ${mapped_package_name}"
+	    get_remote_repo_data ${LOCAL_REPO} ${mapped_package_name}
+            get_remote_repo_data ${LOCALBSDPORTS_REPO} ${mapped_package_name}
+            get_remote_repo_data ${FREEBSD_REPO} ${mapped_package_name}
+	    echo "      LocalBSDPorts: ${remote_label_LocalBSDPorts} ${remote_descr_LocalBSDPorts}"
+	    echo "      LocalRepo    : ${remote_label_LocalRepo} ${remote_descr_LocalRepo}"
         fi
     fi
 done <<EOF856661111299999