From b3b9e593f85981245e2231954c8d211c4a504789 Mon Sep 17 00:00:00 2001
From: Ruben Rodriguez <ruben@trisquel.info>
Date: Fri, 3 Jul 2020 12:51:22 -0400
Subject: [PATCH] Improved external repo management

---
 helpers/config | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/helpers/config b/helpers/config
index 13bf89d3f..27aa21d46 100755
--- a/helpers/config
+++ b/helpers/config
@@ -124,7 +124,24 @@ deb-src $MIRROR $UPSTREAM-security main universe
 
 EOF
 
-[ "1$EXTERNAL" != "1" ] && eval echo "$EXTERNAL" >> ${LOCAL_APT}/etc/apt.sources.list
+# manage external repository sources. If origin is ubuntu or debian, add updates and security repositories too
+if [ "1$EXTERNAL" != "1" ]; then
+ if eval echo "$EXTERNAL" | grep "archive.ubuntu.com" | grep -qv -e updates -e security -e backports; then
+   RELNAME=$(eval echo "$EXTERNAL" | cut -d' ' -f 3)
+   COMPONENTS=$(eval echo "$EXTERNAL" | cut -d' ' -f 4-)
+   echo "deb-src http://archive.ubuntu.com/ubuntu/ $RELNAME $COMPONENTS" >> ${LOCAL_APT}/etc/apt.sources.list
+   echo "deb-src http://archive.ubuntu.com/ubuntu/ ${RELNAME}-updates $COMPONENTS" >> ${LOCAL_APT}/etc/apt.sources.list
+   echo "deb-src http://archive.ubuntu.com/ubuntu/ ${RELNAME}-security $COMPONENTS" >> ${LOCAL_APT}/etc/apt.sources.list
+ elif eval echo "$EXTERNAL" | grep "ftp.debian.org" |grep -qv -e updates -e security -e backports -e testing -e sid -e unstable -e experimental ; then
+   RELNAME=$(eval echo "$EXTERNAL" | cut -d' ' -f 3)
+   COMPONENTS=$(eval echo "$EXTERNAL" | cut -d' ' -f 4-)
+   echo "deb-src http://deb.debian.org/debian $RELNAME $COMPONENTS" >> ${LOCAL_APT}/etc/apt.sources.list
+   echo "deb-src http://deb.debian.org/debian ${RELNAME}-updates $COMPONENTS" >> ${LOCAL_APT}/etc/apt.sources.list
+   echo "deb-src http://deb.debian.org/debian ${RELNAME}-security $COMPONENTS" >> ${LOCAL_APT}/etc/apt.sources.list
+ else
+   eval echo "$EXTERNAL" >> ${LOCAL_APT}/etc/apt.sources.list
+ fi
+fi
 
 #Cleanup
 rm -rf PACKAGES/$PACKAGE
-- 
GitLab