From bf694f7c57f89c14e122e22183888d2106571726 Mon Sep 17 00:00:00 2001 From: levasseur Date: Wed, 16 Jun 2021 18:36:24 +0200 Subject: [PATCH] add initial LEGOS package list, initial code for install_{desktop,pkg} --- conf/includes/legos.conf.sh | 8 ---- conf/includes/pkgsel.conf.sh | 80 ++++++++++++++++++++++++++++++++++++ conf/init.conf.sh | 6 +++ init.sh | 6 --- modules/install_desktop.sh | 24 +++++++++++ modules/install_pkg.sh | 18 ++++++++ 6 files changed, 128 insertions(+), 14 deletions(-) create mode 100644 conf/includes/pkgsel.conf.sh create mode 100644 modules/install_desktop.sh create mode 100644 modules/install_pkg.sh diff --git a/conf/includes/legos.conf.sh b/conf/includes/legos.conf.sh index 92bc054..16885c7 100644 --- a/conf/includes/legos.conf.sh +++ b/conf/includes/legos.conf.sh @@ -15,14 +15,6 @@ export APTBLACKLIST="apparmor chafa resolvconf" export LOCALESET="en_US.UTF-8 fr_FR.UTF-8" export SYSLOCALE="fr_FR.UTF-8" -# Liste des paquets de base, utiles dans tous les cas -export INSTLIST_BASE="bc curl dc debconf-utils deborphan dos2unix dump \ - emacs-nox ethtool figlet gawk gpm htop ntp ifstat iftop iotop \ - libpam-krb5 libnss-ldap libpam-ldap ltrace mailutils mc mtr-tiny \ - multitail neofetch nmap nscd openssh-server oping p7zip-full p7zip-rar \ - pbzip2 perl-doc pigz plzip postfix pv qemu-guest-agent rsync screen \ - snmpd strace tcpdump tmux traceroute unrar unzip whois zip" - # Configuration du disque de calcul : zfs, ext4 et xfs accepté export CALCTYPE="zfs" diff --git a/conf/includes/pkgsel.conf.sh b/conf/includes/pkgsel.conf.sh new file mode 100644 index 0000000..48aa502 --- /dev/null +++ b/conf/includes/pkgsel.conf.sh @@ -0,0 +1,80 @@ +# Liste de paquets pour installation + +# Base +export PKGS_BASE="debconf-utils debhelper deborphan ethtool hardinfo \ + cpufrequtils hwinfo lm-sensors libatasmart-bin lsscsi pciutils \ + environment-modules vim emacs mailutils htop lsof ltrace strace \ + sysbench sysstat ifstat iftop iotop mtr-tiny tcpdump mc pbzip2 pigz \ + xz-utils zip unzip p7zip-full p7zip-rar unrar plzip lzip ftp lftp bc dc \ + dos2unix psmisc udunits-bin whois tmux screen debconf-doc dump figlet \ + gawk gpm multitail neofetch nmap nscd oping pv whois traceroute rsync \ + perl-doc" + +# Bureautique +export PKGS_BUR="gv ps2eps pstoedit html2ps xpdf pdfshuffler pdftk libreoffice \ + freeplane zim xpad firefox-esr okular thunderbird owncloud-client \ + owncloud-client-l10n" + +# Polices +export PKGS_FONTS="ttf-mscorefonts-installer fonts-sil-gentium \ + ttf-bitstream-vera lmodern" + +# Logiciels graphiques +export PKGS_GRAF="imagemagick xfig transfig netpbm gifsicle graphviz gimp \ + ufraw gimp-ufraw dcraw gnuplot-x11 gnuplot-doc python-imaging \ + libtiff-opengl xfig-libs geeqie dvipng inkscape" + +# Logiciels multimédia +export PKGS_MULTI="alsa-utils alsa-tools pulseaudio-utils pulseaudio \ + pavucontrol rhythmbox rhythmbox-plugins totem totem-plugins vlc \ + vlc-plugin-pulse vlc-plugin-notify mplayer2 gstreamer1.0-plugins-ugly \ + ffmpeg ffmpeg-doc" + +# Logiciels scientifiques +export PKGS_SCI="python-scipy python-numpy python-matplotlib \ + python-matplotlib-data python-matplotlib-doc python-matplotlib-dbg \ + python-mpltoolkits.basemap python-mpltoolkits.basemap-data \ + python-mpltoolkits.basemap-doc netcdf-bin netcdf-doc python-netcdf nco \ + cdo hdfview gdal-bin python-gdal ncview gsl-bin pgplot5 libatlas3-base \ + fftw2 libshp2 liblog4c3 scilab scilab-doc grass grass-doc qgis \ + qgis-plugin-grass python-qgis grads grace proj-bin proj-data gmt-gshhg \ + gmt gmt-doc gmt-doc-pdf gmt-examples gmt-tutorial ncview r-base rkward \ + rstudio maxima maxima-share" + +# Programmation +export PKGS_PRGM="libnetcdf-dev libfftw3-dev libgsl0-dev libblas-dev \ + liblapack-dev libgeos-dev libhdf4-dev libarpack2-dev libgrib-api-dev \ + libatlas-dev libatlas-base-dev libshp-dev liblog4c-dev \ + libsuitesparse-dev libscalapack-mpi-dev libscotch-dev liboctave-dev \ + libproj-dev automake autoconf cmake cmake-qt-gui swig swig-doc \ + swig-examples tcsh ocaml ocaml-mode guile-2.0 guile-2.0-doc tcl expect \ + dejagnu bison flex gdb g++ libtool gfortran gfortran-doc python \ + python-doc ddd valgrind electric-fence kdevelop kdevelop-dev mercurial \ + kdesvn git gitk git-doc git-svn subversion tortoisehg libgmp-dev \ + libx11-dev libxt-dev libxaw7-dev libcurl4-openssl-dev libxml2-dev \ + libgtk2.0-dev libdbd-sqlite3-perl libclass-std-perl libdbi-perl \ + libqt-dev libantlr-dev libudunits2-dev libqwt5-qt5-dev libmpich-dev \ + manpages-dev libjs-jquery libmotif-dev libbz2-dev libreadline-dev \ + libreadline6-dev libhdf5-dev libwxgtk3.0-dev wx3.0-headers unixodbc-dev \ + libqt5-dev python-dev python-tk ipython python-egenix-mxdatetime \ + python-tz python-pyparsing python-dateutil python-wxgtk3.0 \ + python-qwt5-qt5 python-opencv opencv-doc python-subvertpy xclip patch \ + parallel xmlindent mpich mpich-doc libpng12-dev libjasper-dev \ + libtiff5-dev libboost-dev libboost-graph-dev" + +# Tetex/Latex +export PKGS_TEX="auctex texinfo texlive-base texlive-extra-utils \ + texlive-fonts-extra texlive-fonts-extra-doc texlive-fonts-recommended \ + texlive-fonts-recommended-doc texlive-font-utils texlive-generic-extra \ + texlive-humanities texlive-humanities-doc texlive-latex-base-doc \ + texlive-latex-extra-doc texlive-latex-recommended-doc \ + texlive-pictures-doc texlive-pstricks-doc texlive-publishers-doc \ + latex-beamer latex-xcolor texmaker tex4ht texworks writer2latex \ + writer2latex-manual texlive-latex-extra latex2rtf-doc latex2rtf \ + texlive-bibtex-extra texlive-xetex lacheck kile kile-doc pgf tipa \ + prosper jabref fonts-lyx texlive-lang-english texlive-lang-french \ + texlive-lang-german texlive-lang-spanish texlive-science" + +# Outils divers +export PKGS_TOOLS="asciidoc docbook-utils doxygen help2man python-sphinx \ + python3-sphinx tidy ncftp filezilla openjdk-8-jre" diff --git a/conf/init.conf.sh b/conf/init.conf.sh index 74f6905..2d5fcf3 100644 --- a/conf/init.conf.sh +++ b/conf/init.conf.sh @@ -6,6 +6,9 @@ # Importe les paramètres pour Debian et Ubuntu . $MYPATH/conf/includes/debian.conf.sh +# Importe la sélection de paquets par défaut +. $MYPATH/conf/includes/pkgsel.conf.sh + # -------------- Section générale --------------- # Utilisateur de la machine (celui qui a été renseigné dans l'installeur Ubuntu) export MAINUSER="levasseur" @@ -16,6 +19,9 @@ export MAINIF="eth0" # Booléen indiquant une ou plusieurs futures VM export WITH_VM="true" +# Pilotes X11 non libre à installer ? +export X11_DRV="nvidia-drivers" + # Indique la déclinaison d'Ubuntu à installer # * xubuntu : bureau XFCE léger (par défaut) # * ubuntu : bureau Gnome lourd, très peu configurable diff --git a/init.sh b/init.sh index c564381..9eaa1e6 100755 --- a/init.sh +++ b/init.sh @@ -52,12 +52,6 @@ else prnt E "Aucune configuration trouvée, impossible de continuer." fi -# Additionnal packages (some are necessary to that script to end successfully) -install_pkg() -{ - apt install -y $INSTLIST -} - # Profile install_profile() { diff --git a/modules/install_desktop.sh b/modules/install_desktop.sh new file mode 100644 index 0000000..670e171 --- /dev/null +++ b/modules/install_desktop.sh @@ -0,0 +1,24 @@ +# Install desktop environment -- Ubuntu only +# Debian version might ask for task-$FLAVOR + +export VER_install_desktop="0.0.1" + +install_desktop() +{ + [[ $X11_DRV ]] && + prnt I "Installation de pilotes supplémentaires X11..." && + pkginst $X11_DRV + [[ $UBUNTU_FLAVOR ]] && + prnt I "Installation de l'environnement $UBUNTU_FLAVOR..." && + pkginst ${UBUNTU_FLAVOR}-desktop +} + +precheck_install_desktop() +{ + [[ ! $UBUNTU_FLAVOR ]] && prnt W "Pas de saveur Ubuntu choisi, \ + aucun environnement de bureau ne sera installé !" + [[ $X11_DRV ]] && prnt W "Des pilotes non libres seront installé." +} + +export -f install_desktop +export -f precheck_install_desktop diff --git a/modules/install_pkg.sh b/modules/install_pkg.sh new file mode 100644 index 0000000..cbd79a5 --- /dev/null +++ b/modules/install_pkg.sh @@ -0,0 +1,18 @@ +# Install des paquets -- Debian et Ubuntu + +export VER_install_pkg="0.0.1" + +install_pkg() +{ + [[ $PKGLIST ]] && + prnt I "Installation des la sélection de paquets..." && + pkginst $PKGSEL +} + +precheck_install_pkg() +{ + [[ ! $PKGLIST ]] && prnt W "Pas de paquet additionel à installer !" +} + +export -f install_pkg +export -f precheck_install_pkg