295fd574bb3ae393013bbf15f1df8db79b3acb27
max
  Mon Jun 30 06:52:04 2025 -0700
updating mirror instructions in scripts for all linux repos to add libcurl, refs #35988

diff --git src/product/installer/browserSetup.sh src/product/installer/browserSetup.sh
index faf077e0b04..3ed3c805fa5 100755
--- src/product/installer/browserSetup.sh
+++ src/product/installer/browserSetup.sh
@@ -1041,54 +1041,32 @@
     fi
 
 }
 
 # function for Debian-specific installation of mysql and apache
 function installDebian ()
 {
     debianInitApt
 
     echo2 Installing ghostscript and imagemagick
     waitKey
     # ghostscript for PDF export
     # imagemagick for the session gallery
     # r-base-core for the gtex tracks
     # python-mysqldb for hgGeneGraph
+    # libcurl for the new captcha
     apt-get $APTERR --no-install-recommends --assume-yes install ghostscript imagemagick wget rsync r-base-core curl gsfonts curl
-    # python-mysqldb has been removed in almost all distros as of 2021
-    # There is no need to install Python2 anymore. Remove the following?
-    if apt-cache policy python-mysqldb | grep "Candidate: .none." > /dev/null; then 
-	    echo2 The package python-mysqldb is not available anymore. Working around it
-	    echo2 by installing python2 and MySQL-python with pip2
-	    if apt-cache policy python2 | grep "Candidate: .none." > /dev/null; then 
-               # Ubuntu >= 21 does not have python2 anymore - hgGeneGraph has been ported, so not an issue anymore
-   	       echo2 Python2 package is not available either for this distro, so not installing Python2 at all.
-	    else
-               # workaround for Ubuntu 16-20 - keeping this section for a few years, just in case
-               apt-get install $APTERR --assume-yes python2 libmariadb-dev python2-dev wget gcc
-    	       curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /tmp/get-pip.py
-    	       python2 /tmp/get-pip.py
-               if [ -f /usr/include/mysql/my_config.h ]; then
-                   echo my_config.h found
-               else
-                   wget https://raw.githubusercontent.com/paulfitz/mysql-connector-c/master/include/my_config.h -P /usr/include/mysql/
-               fi
-               pip2 install MySQL-python
-	    fi
-    else
-	    apt-get --assume-yes install python-mysqldb
-    fi
 
     if [ ! -f $APACHECONF ]; then
         echo2
         echo2 Now installing Apache2.
         echo2 "Apache's default config /etc/apache2/sites-enable/000-default will be"
         echo2 "deactivated. A new configuration $APACHECONF will be added and activated."
         echo2 The apache modules include, cgid and authz_core will be activated.
         waitKey
 
         # apache and mysql are absolutely required
         # ghostscript is required for PDF output
         apt-get $APTERR --assume-yes install apache2 ghostscript
     
         # gmt is not required. install fails if /etc/apt/sources.list does not contain
         # a 'universe' repository mirror. Can be safely commented out. Only used
@@ -1497,33 +1475,33 @@
      sudo sed -Ei '' '/Options FollowSymLinks Includes Multiviews/ a\
 XBitHack on\
 SSILegacyExprParser on
 ' /etc/apache2/httpd.conf
    fi
    sudo /usr/sbin/apachectl restart
 }
 
 # install gcc, make etc so we can build the tree on linux
 function setupBuildLinux ()
 {
    echo2 Installing required linux packages from repositories: Git, GCC, G++, MariaDB-client-libs, uuid, etc
    waitKey
    if [[ "$DIST" == "debian" ]]; then
       debianInitApt
-      apt-get --assume-yes $APTERR install make git gcc g++ libpng-dev libmariadb-dev uuid-dev libfreetype-dev libbz2-dev pkg-config
+      apt-get --assume-yes $APTERR install make git gcc g++ libpng-dev libmariadb-dev uuid-dev libfreetype-dev libbz2-dev pkg-config libcurl4-openssl-dev
    elif [[ "$DIST" == "redhat" ]]; then
-      yum install -y git vim gcc gcc-c++ make libpng-devel libuuid-devel freetype-devel
+      yum install -y git vim gcc gcc-c++ make libpng-devel libuuid-devel freetype-devel libcurl-devel
    else 
       echo Error: Cannot identify linux distribution
       exit 100
    fi
    # the build target cgi-bin requires that these directories exist
    mkdir -p $HTDOCDIR $CGIBINDIR
    # leave a flag file so the script knows later that this directory did not exist and we made it
    # and it is safe to write into it
    touch "$APACHEDIR"/.madeByBrowserBuild
 }
 
 # set this machine for browser development: install required tools, clone the tree, build it
 function buildTree () 
 {
    if [[ "$DIST" == "OSX" ]]; then