#!/bin/sh # Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Copyright 2013 Chess Griffin Raleigh, NC # Copyright 2013-2018 Willy Sudiarto Raharjo # Copyright 2021-2022 Nathaniel Russell # All rights reserved. # # Based on the xfce-build-all.sh script by Patrick J. Volkerding # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # INST=1 TMP=${TMP:-/tmp/gfs} OUTPUT=${OUTPUT:-/tmp} ROOT=$(pwd) # Check for duplicate sources (default: OFF) CHECKDUPLICATE=0 src=( libnma-gtk4 mozjs91 gjs upower amtk rest totem-pl-parser yelp-xsl geocode-glib gnome-autoar bash-completion bubblewrap gnome-desktop gnome-menus gnome-video-effects libwpe wpebackend-fdo libdaemon avahi geoclue2 xdg-dbus-proxy webkit2gtk webkit2gtk4.1 gnome-online-accounts grilo cogl clutter clutter-gtk libchamplain libgdata libgweather4 libpeas evolution-data-server telepathy-glib gfbgraph tracker exempi libgrss libgxps tracker-miners gsound gnome-backgrounds libhandy libportal nautilus zenity libadwaita gnome-bluetooth libgusb colord gnome-settings-daemon colord-gtk clutter-gtk clutter-gst cheese gnome-control-center mutter gnome-shell gnome-shell-extensions gnome-session gdm blocaled gnome-user-docs yelp baobab brasero eog gspell seahorse evolution file-roller gtksourceview5 gnome-calculator gnome-color-manager gnome-disk-utility libxmlb appstream-glib folks gnome-maps lxml yelp-tools gnome-nettool gnome-power-manager gnome-system-monitor gnome-tweaks gnome-weather jq chrome-gnome-shell python-toml typogrify gi-docgen gtksourceview4 libgit2 libgit2-glib libdazzle gitg libwnck4 jsonrpc-glib template-glib gnome-panel gnome-applets gnome-calendar gnome-characters gnome-flashback xdg-desktop-portal-gtk xdg-desktop-portal-gnome libostree flatpak malcontent gnome-initial-setup liblouis orca vte-gtk4 gnome-terminal gnome-console gnome-text-editor gnome-contacts gnome-dictionary gnome-commander gnome-color-manager gnome-photos gnome-music nautilus-code ) for dir in ${src[@]}; do # get package name package=$(echo $dir) # Change to package directory cd $ROOT/$dir || exit 1 # Get the version version=$(cat ${package}.SlackBuild | grep "VERSION:" | head -n1 | cut -d "-" -f2 | rev | cut -c 2- | rev) # Get the build build=$(cat ${package}.SlackBuild | grep "BUILD:" | cut -d "-" -f2 | rev | cut -c 2- | rev) if [ $CHECKDUPLICATE -eq 1 ]; then # Check for duplicate sources sourcefile="$(ls -l $ROOT/$dir/${package}-*.tar.?z* 2>/dev/null | wc -l)" if [ $sourcefile -gt 1 ]; then echo "You have following duplicate sources:" ls $ROOT/$dir/${package}-*.tar.?z* | cut -d " " -f1 echo "Please delete sources other than ${package}-$version to avoid problems" exit 1 fi fi # The real build starts here TMP=$TMP OUTPUT=$OUTPUT sh ${package}.SlackBuild || exit 1 if [ "$INST" = "1" ]; then PACKAGE=$(ls $OUTPUT/${package}-${version}-*-${build}*gfs.txz 2>/dev/null) if [ -f "$PACKAGE" ]; then upgradepkg --install-new --reinstall "$PACKAGE" else echo "Error: package to upgrade "$PACKAGE" not found in $OUTPUT" exit 1 fi fi # back to original directory cd $ROOT done