From e65d075c179c4e60b558da4ace50b7afe547ffcb Mon Sep 17 00:00:00 2001
From: David Schmitz <schmitz@lrz.de>
Date: Wed, 23 Oct 2024 14:45:57 +0000
Subject: [PATCH] install-debian.sh: added possibility to override and specifiy
 alternative requirements.txt for python dependencies

---
 install-centos.sh                             |  6 +-
 install-debian.sh                             | 16 ++--
 .../requirements-centos.txt                   |  0
 .../requirements.txt.freeze-py3.10.12         | 81 ++++++++++++++++++
 .../requirements.txt.freeze-py3.8.10          | 82 +++++++++++++++++++
 .../requirements.txt.python3.10.12            | 81 ++++++++++++++++++
 .../requirements.txt.python3.6.8              |  0
 .../requirements.txt.python3.7.3              |  0
 .../requirements.txt.python3.8.10             | 82 +++++++++++++++++++
 9 files changed, 338 insertions(+), 10 deletions(-)
 rename requirements-centos.txt => requirements.txt.d/requirements-centos.txt (100%)
 create mode 100644 requirements.txt.d/requirements.txt.freeze-py3.10.12
 create mode 100644 requirements.txt.d/requirements.txt.freeze-py3.8.10
 create mode 100644 requirements.txt.d/requirements.txt.python3.10.12
 rename requirements.txt.python3.6.8 => requirements.txt.d/requirements.txt.python3.6.8 (100%)
 rename requirements.txt.python3.7.3 => requirements.txt.d/requirements.txt.python3.7.3 (100%)
 create mode 100644 requirements.txt.d/requirements.txt.python3.8.10

diff --git a/install-centos.sh b/install-centos.sh
index 4167658b..fb03305b 100755
--- a/install-centos.sh
+++ b/install-centos.sh
@@ -502,10 +502,12 @@ fi
 python_version="$(python3 --version | cut -d ' ' -f 2,2)"
 if [ "$assume__sqlite_version__to_old" = 1 ]; then
   echo "$0: assume__sqlite_version__to_old=$assume__sqlite_version__to_old => using requirements-centos.txt" 1>&2
-  cp "$fod_dir/requirements-centos.txt" "$fod_dir/requirements.txt"
+  #cp "$fod_dir/requirements-centos.txt" "$fod_dir/requirements.txt"
+  cp "$fod_dir/requirements.txt.d/requirements-centos.txt" "$fod_dir/requirements.txt"
 elif [ -e "$fod_dir/requirements.txt.python$python_version" ]; then
   echo "$0: using python version specific $fod_dir/requirements.txt.python$python_version" 1>&2
-  cp "$fod_dir/requirements.txt.python$python_version" "$fod_dir/requirements.txt"
+  #cp "$fod_dir/requirements.txt.python$python_version" "$fod_dir/requirements.txt"
+  cp "$fod_dir/requirements.txt.d/requirements.txt.python$python_version" "$fod_dir/requirements.txt"
 else
   echo "$0: using $fod_dir/requirements.txt" 1>&2
 fi
diff --git a/install-debian.sh b/install-debian.sh
index c1c2a61e..eaea2fe3 100755
--- a/install-debian.sh
+++ b/install-debian.sh
@@ -140,8 +140,8 @@ findfix_file_permissions=1
 
 #
 
-requirements_txt__file__basename__default="requirements.txt"
-requirements_txt__file__basename="$requirements_txt__file__basename__default"
+requirements_txt__filename_relative__default="requirements.txt"
+requirements_txt__filename_relative="$requirements_txt__filename_relative__default"
 
 ##############################################################################
 ##############################################################################
@@ -350,7 +350,7 @@ while [ $# -gt 0 ]; do
     install_fodproper=1
   elif [ $# -ge 1 -a \( "$1" = "--pyrequirements" \) ]; then
     shift 1
-    requirements_txt__file__basename="$1"
+    requirements_txt__filename_relative="$1"
     shift 1
   elif [ "$1" = "--show-env" ]; then 
     shift 1
@@ -674,15 +674,15 @@ python_version="$(python3 --version | cut -d ' ' -f 2,2)"
 #if [ "$assume__sqlite_version__to_old" = 1 ]; then
 #  echo "$0: assume__sqlite_version__to_old=$assume__sqlite_version__to_old => using requirements-centos.txt" 1>&2
 #  cp "$fod_dir/requirements-centos.txt" "$fod_dir/requirements.txt"
-if [ "$requirements_txt__file__basename" != "$requirements_txt__file__basename__default" ]; then
-  echo "python reqs: using $fod_dir/$requirements_txt__file__basename" 1>&2
-  cp -f "$fod_dir/$requirements_txt__file__basename" "$fod_dir/requirements.txt"
+if [ "$requirements_txt__filename_relative" != "$requirements_txt__filename_relative__default" ]; then
+  echo "python reqs: using $fod_dir/$requirements_txt__filename_relative" 1>&2
+  cp -f "$fod_dir/$requirements_txt__filename_relative" "$fod_dir/requirements.txt"
 else
   if [ -e "$fod_dir/requirements.txt.python$python_version" ]; then
     echo "python reqs: using python version specific $fod_dir/requirements.txt.python$python_version" 1>&2
-    cp -f "$fod_dir/requirements.txt.python$python_version" "$fod_dir/requirements.txt"
+    cp -f "$fod_dir/requirements.txt.d/requirements.txt.python$python_version" "$fod_dir/requirements.txt"
   else
-    echo "python reqs: using default $fod_dir/$requirements_txt__file__basename__default" 1>&2
+    echo "python reqs: using default $fod_dir/$requirements_txt__filename_relative__default" 1>&2
   fi
 fi
 
diff --git a/requirements-centos.txt b/requirements.txt.d/requirements-centos.txt
similarity index 100%
rename from requirements-centos.txt
rename to requirements.txt.d/requirements-centos.txt
diff --git a/requirements.txt.d/requirements.txt.freeze-py3.10.12 b/requirements.txt.d/requirements.txt.freeze-py3.10.12
new file mode 100644
index 00000000..14ee7cc7
--- /dev/null
+++ b/requirements.txt.d/requirements.txt.freeze-py3.10.12
@@ -0,0 +1,81 @@
+amqp==5.2.0
+anyjson==0.3.3
+appdirs==1.4.4
+asgiref==3.8.1
+async-timeout==4.0.3
+attrs==24.2.0
+bcrypt==4.2.0
+billiard==3.6.4.0
+celery==5.2.3
+certifi==2024.8.30
+cffi==1.17.1
+charset-normalizer==3.4.0
+cl==0.0.3
+click==8.1.7
+click-didyoumean==0.3.1
+click-plugins==1.1.1
+click-repl==0.3.0
+confusable-homoglyphs==3.3.1
+cryptography==43.0.1
+Django==3.2.16
+django-admin==2.0.2
+django-excel-response2==3.0.6
+django-form-utils==1.0.3
+django-picklefield==2.0
+django-registration==3.1.2
+django-settings-export==1.2.1
+django-six==1.0.5
+django-tinymce==4.1.0
+djangorestframework==3.12.0
+excel-base==1.0.4
+gevent==24.10.2
+greenlet==3.1.1
+gunicorn==23.0.0
+idna==3.10
+iniconfig==2.0.0
+intervaltree==3.1.0
+ipaddress==1.0.23
+isoweek==1.3.3
+kombu==5.2.3
+longerusername==0.4
+lxml==5.3.0
+mailer==0.8.1
+mysqlclient==2.2.4
+ncclient==0.6.16
+packaging==24.1
+paramiko==3.5.0
+pluggy==1.5.0
+ply==3.11
+prompt_toolkit==3.0.48
+psutil==6.1.0
+py==1.11.0
+pyasn1==0.4.8
+pycparser==2.22
+pycrypto==2.6.1
+PyNaCl==1.5.0
+pyparsing==3.2.0
+pysmi==1.2.1
+pysnmp==5.1.0
+pysnmpcrypto==0.0.4
+pytest==6.2.5
+pytest-django==4.4.0
+python-dateutil==2.9.0.post0
+python-memcached==1.62
+pytz==2024.2
+PyYAML==6.0.2
+redis==5.1.1
+requests==2.32.3
+screen==1.0.1
+six==1.16.0
+sortedcontainers==2.4.0
+sqlparse==0.5.1
+TimeConvert==3.0.13
+toml==0.10.2
+typing_extensions==4.12.2
+tzlocal==5.2
+urllib3==2.2.3
+vine==5.1.0
+wcwidth==0.2.13
+xlwt==1.3.0
+zope.event==5.0
+zope.interface==7.1.0
diff --git a/requirements.txt.d/requirements.txt.freeze-py3.8.10 b/requirements.txt.d/requirements.txt.freeze-py3.8.10
new file mode 100644
index 00000000..5a174ae9
--- /dev/null
+++ b/requirements.txt.d/requirements.txt.freeze-py3.8.10
@@ -0,0 +1,82 @@
+amqp==5.2.0
+anyjson==0.3.3
+appdirs==1.4.4
+asgiref==3.8.1
+async-timeout==4.0.3
+attrs==24.2.0
+backports.zoneinfo==0.2.1
+bcrypt==4.2.0
+billiard==3.6.4.0
+celery==5.2.3
+certifi==2024.8.30
+cffi==1.17.1
+charset-normalizer==3.4.0
+cl==0.0.3
+click==8.1.7
+click-didyoumean==0.3.1
+click-plugins==1.1.1
+click-repl==0.3.0
+confusable-homoglyphs==3.3.1
+cryptography==43.0.3
+Django==3.2.16
+django-admin==2.0.2
+django-excel-response2==3.0.6
+django-form-utils==1.0.3
+django-picklefield==2.0
+django-registration==3.1.2
+django-settings-export==1.2.1
+django-six==1.0.5
+django-tinymce==4.1.0
+djangorestframework==3.12.0
+excel-base==1.0.4
+gevent==24.2.1
+greenlet==3.1.1
+gunicorn==23.0.0
+idna==3.10
+iniconfig==2.0.0
+intervaltree==3.1.0
+ipaddress==1.0.23
+isoweek==1.3.3
+kombu==5.2.3
+longerusername==0.4
+lxml==5.3.0
+mailer==0.8.1
+mysqlclient==2.2.5
+ncclient==0.6.16
+packaging==24.1
+paramiko==3.5.0
+pluggy==1.5.0
+ply==3.11
+prompt-toolkit==3.0.48
+psutil==6.1.0
+py==1.11.0
+pyasn1==0.4.8
+pycparser==2.22
+pycrypto==2.6.1
+PyNaCl==1.5.0
+pyparsing==3.1.4
+pysmi==1.2.1
+pysnmp==5.1.0
+pysnmpcrypto==0.0.4
+pytest==6.2.5
+pytest-django==4.4.0
+python-dateutil==2.9.0.post0
+python-memcached==1.62
+pytz==2024.2
+PyYAML==6.0.2
+redis==5.1.1
+requests==2.32.3
+screen==1.0.1
+six==1.16.0
+sortedcontainers==2.4.0
+sqlparse==0.5.1
+TimeConvert==3.0.13
+toml==0.10.2
+typing-extensions==4.12.2
+tzlocal==5.2
+urllib3==2.2.3
+vine==5.1.0
+wcwidth==0.2.13
+xlwt==1.3.0
+zope.event==5.0
+zope.interface==7.1.0
diff --git a/requirements.txt.d/requirements.txt.python3.10.12 b/requirements.txt.d/requirements.txt.python3.10.12
new file mode 100644
index 00000000..14ee7cc7
--- /dev/null
+++ b/requirements.txt.d/requirements.txt.python3.10.12
@@ -0,0 +1,81 @@
+amqp==5.2.0
+anyjson==0.3.3
+appdirs==1.4.4
+asgiref==3.8.1
+async-timeout==4.0.3
+attrs==24.2.0
+bcrypt==4.2.0
+billiard==3.6.4.0
+celery==5.2.3
+certifi==2024.8.30
+cffi==1.17.1
+charset-normalizer==3.4.0
+cl==0.0.3
+click==8.1.7
+click-didyoumean==0.3.1
+click-plugins==1.1.1
+click-repl==0.3.0
+confusable-homoglyphs==3.3.1
+cryptography==43.0.1
+Django==3.2.16
+django-admin==2.0.2
+django-excel-response2==3.0.6
+django-form-utils==1.0.3
+django-picklefield==2.0
+django-registration==3.1.2
+django-settings-export==1.2.1
+django-six==1.0.5
+django-tinymce==4.1.0
+djangorestframework==3.12.0
+excel-base==1.0.4
+gevent==24.10.2
+greenlet==3.1.1
+gunicorn==23.0.0
+idna==3.10
+iniconfig==2.0.0
+intervaltree==3.1.0
+ipaddress==1.0.23
+isoweek==1.3.3
+kombu==5.2.3
+longerusername==0.4
+lxml==5.3.0
+mailer==0.8.1
+mysqlclient==2.2.4
+ncclient==0.6.16
+packaging==24.1
+paramiko==3.5.0
+pluggy==1.5.0
+ply==3.11
+prompt_toolkit==3.0.48
+psutil==6.1.0
+py==1.11.0
+pyasn1==0.4.8
+pycparser==2.22
+pycrypto==2.6.1
+PyNaCl==1.5.0
+pyparsing==3.2.0
+pysmi==1.2.1
+pysnmp==5.1.0
+pysnmpcrypto==0.0.4
+pytest==6.2.5
+pytest-django==4.4.0
+python-dateutil==2.9.0.post0
+python-memcached==1.62
+pytz==2024.2
+PyYAML==6.0.2
+redis==5.1.1
+requests==2.32.3
+screen==1.0.1
+six==1.16.0
+sortedcontainers==2.4.0
+sqlparse==0.5.1
+TimeConvert==3.0.13
+toml==0.10.2
+typing_extensions==4.12.2
+tzlocal==5.2
+urllib3==2.2.3
+vine==5.1.0
+wcwidth==0.2.13
+xlwt==1.3.0
+zope.event==5.0
+zope.interface==7.1.0
diff --git a/requirements.txt.python3.6.8 b/requirements.txt.d/requirements.txt.python3.6.8
similarity index 100%
rename from requirements.txt.python3.6.8
rename to requirements.txt.d/requirements.txt.python3.6.8
diff --git a/requirements.txt.python3.7.3 b/requirements.txt.d/requirements.txt.python3.7.3
similarity index 100%
rename from requirements.txt.python3.7.3
rename to requirements.txt.d/requirements.txt.python3.7.3
diff --git a/requirements.txt.d/requirements.txt.python3.8.10 b/requirements.txt.d/requirements.txt.python3.8.10
new file mode 100644
index 00000000..5a174ae9
--- /dev/null
+++ b/requirements.txt.d/requirements.txt.python3.8.10
@@ -0,0 +1,82 @@
+amqp==5.2.0
+anyjson==0.3.3
+appdirs==1.4.4
+asgiref==3.8.1
+async-timeout==4.0.3
+attrs==24.2.0
+backports.zoneinfo==0.2.1
+bcrypt==4.2.0
+billiard==3.6.4.0
+celery==5.2.3
+certifi==2024.8.30
+cffi==1.17.1
+charset-normalizer==3.4.0
+cl==0.0.3
+click==8.1.7
+click-didyoumean==0.3.1
+click-plugins==1.1.1
+click-repl==0.3.0
+confusable-homoglyphs==3.3.1
+cryptography==43.0.3
+Django==3.2.16
+django-admin==2.0.2
+django-excel-response2==3.0.6
+django-form-utils==1.0.3
+django-picklefield==2.0
+django-registration==3.1.2
+django-settings-export==1.2.1
+django-six==1.0.5
+django-tinymce==4.1.0
+djangorestframework==3.12.0
+excel-base==1.0.4
+gevent==24.2.1
+greenlet==3.1.1
+gunicorn==23.0.0
+idna==3.10
+iniconfig==2.0.0
+intervaltree==3.1.0
+ipaddress==1.0.23
+isoweek==1.3.3
+kombu==5.2.3
+longerusername==0.4
+lxml==5.3.0
+mailer==0.8.1
+mysqlclient==2.2.5
+ncclient==0.6.16
+packaging==24.1
+paramiko==3.5.0
+pluggy==1.5.0
+ply==3.11
+prompt-toolkit==3.0.48
+psutil==6.1.0
+py==1.11.0
+pyasn1==0.4.8
+pycparser==2.22
+pycrypto==2.6.1
+PyNaCl==1.5.0
+pyparsing==3.1.4
+pysmi==1.2.1
+pysnmp==5.1.0
+pysnmpcrypto==0.0.4
+pytest==6.2.5
+pytest-django==4.4.0
+python-dateutil==2.9.0.post0
+python-memcached==1.62
+pytz==2024.2
+PyYAML==6.0.2
+redis==5.1.1
+requests==2.32.3
+screen==1.0.1
+six==1.16.0
+sortedcontainers==2.4.0
+sqlparse==0.5.1
+TimeConvert==3.0.13
+toml==0.10.2
+typing-extensions==4.12.2
+tzlocal==5.2
+urllib3==2.2.3
+vine==5.1.0
+wcwidth==0.2.13
+xlwt==1.3.0
+zope.event==5.0
+zope.interface==7.1.0
-- 
GitLab