Hi Carl!

We are stuck for release because GUB is not working properly.

GUB definitely is NOT broken.

On a lot of distributions GUB works without problems.

If there is a problem with a specific distribution (I think Archlinux is such a 
case) it is always easy to run GUB inside of an ubuntu chroot environment.

If you want to try it: The attached script instminubugub installs such a 
minimal ubuntu system inside of /home/`whoami`/minubugub, chroots to that 
environment, installs a few additional ubuntu packages (git, libs, TeX, etc.), 
installs gub and uses gub to build current lilypond master.

The instminubugub script takes no arguments, execute it as an ordinary user.

The assumptions about the system are minimal: 'whoami', 'wget', 'sudo', 
'chroot' and 'xz' must be installed, it neeeds a standard /etc/fstab, the 
system must be connected to the internet. And, of course, gub needs a lot of 
disk space ...

On my i7-4790K system instminubugub took a bit less than three hours to install 
the ubuntu-chroot environment and gub and to successfully build git master 
today.

Knut

#!/bin/bash
USER=`whoami`
UBUIMG="ubuntu-18.04-minimal-cloudimg-amd64-root.tar.xz"
UBUIMGURL="http://cloud-images.ubuntu.com/minimal/releases/bionic/release/$UBUIMG";
UBUROOT="/home/$USER/minubugub"
if [ -f "$UBUROOT" ]; then echo "$UBUROOT is a file, aborting"; exit 1; fi
if [ -d "$UBUROOT" ]; then echo "$UBUROOT already exists, aborting"; exit 1; fi
echo "=====> INSTall MINimal UBUntu and GUB, bootstrap GUB by building lilypond 
master"
echo "We need to use sudo for some commands ..."
sudo echo "Thanks!"
echo "=====> cd to new installation directory $UBUROOT"
mkdir -p $UBUROOT
cd $UBUROOT
echo "=====> download ubunutu 18.04 minimal cloudimage"
wget $UBUIMGURL
if [ ! -f "$UBUROOT/$UBUIMG" ]; then echo "Failed do download $UBUIMG, 
aborting"; exit 1; fi
echo "=====> decompress and untar"
xz -cd ubuntu-18.04-minimal-cloudimg-amd64-root.tar.xz | sudo tar -xf -
# You might remove the archive to save some disk space.
# rm ubuntu-18.04-minimal-cloudimg-amd64-root.tar.xz
echo "=====> set nameserver in $UBUROOT/etc/resolv.conf"
sudo rm etc/resolv.conf
echo "nameserver 8.8.8.8" | sudo tee etc/resolv.conf
echo "=====> we need /proc in the chroot system, add it also to /etc/fstab if 
not already present"
if [ -z "`sudo grep -o $UBUROOT/proc /etc/fstab`" ]; then
  echo "/proc $UBUROOT/proc none defaults,bind  0 0" | sudo tee -a /etc/fstab
fi
sudo mount $UBUROOT/proc
echo "adapt $UBUROOT/root/.bashrc"
echo 'if [ -z "`id -u gub`" ]; then' | sudo tee -a $UBUROOT/root/.bashrc
echo '  adduser --disabled-password --gecos "" gub' | sudo tee -a 
$UBUROOT/root/.bashrc
echo '  apt-get --yes update' | sudo tee -a $UBUROOT/root/.bashrc
echo '  apt-get --yes upgrade' | sudo tee -a $UBUROOT/root/.bashrc
echo '  apt-get --yes --no-install-recommends install file git gcc g++ ' \
               'libc6-dev-i386 make texlive-plain-generic 
texlive-fonts-recommended ' \
               'texlive-metapost texlive-xetex unzip zip' \
               | sudo tee -a $UBUROOT/root/.bashrc
echo '  cp /root/initgub /home/gub' | sudo tee -a $UBUROOT/root/.bashrc
echo '  chmod 700 /home/gub/initgub' | sudo tee -a $UBUROOT/root/.bashrc
echo '  chown gub:users /home/gub/initgub' | sudo tee -a $UBUROOT/root/.bashrc
echo '  su gub -c /home/gub/initgub' | sudo tee -a $UBUROOT/root/.bashrc
echo '  rm /home/gub/initgub' | sudo tee -a $UBUROOT/root/.bashrc
echo '  exit 0' | sudo tee -a $UBUROOT/root/.bashrc
echo 'else' | sudo tee -a $UBUROOT/root/.bashrc
echo '  cd /home/gub/gub' | sudo tee -a $UBUROOT/root/.bashrc
echo '  su gub' | sudo tee -a $UBUROOT/root/.bashrc
echo 'fi' | sudo tee -a $UBUROOT/root/.bashrc
echo "=====> create gub init script"
echo '#!/bin/bash' | sudo tee $UBUROOT/root/initgub
echo 'cd /home/gub' | sudo tee -a $UBUROOT/root/initgub
echo 'git clone https://github.com/gperciva/gub.git' | sudo tee -a 
$UBUROOT/root/initgub
echo 'cd /home/gub/gub' | sudo tee -a $UBUROOT/root/initgub
echo 'echo "=====> download source archives"' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only linux-x86::lilypond-installer' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only linux-64::lilypond-installer' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only linux-ppc::lilypond-installer' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only freebsd-x86::lilypond-installer' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only freebsd-64::lilypond-installer' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only darwin-ppc::lilypond-installer' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only darwin-x86::lilypond-installer' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only mingw::lilypond-installer' | sudo tee -a 
$UBUROOT/root/initgub
echo 'bin/gub --download-only linux-64::lilypond-doc' | sudo tee -a 
$UBUROOT/root/initgub
echo 'echo -e "\n\n=====> start make lilypond ... this will take some 
hours!\n\n"' | sudo tee -a $UBUROOT/root/initgub
echo 'mkdir regtests' | sudo tee -a $UBUROOT/root/initgub
echo 'touch regtests/ignore' | sudo tee -a $UBUROOT/root/initgub
echo 'make lilypond' | sudo tee -a $UBUROOT/root/initgub
echo 'exit 0' | sudo tee -a $UBUROOT/root/initgub
sudo chroot $UBUROOT
echo "Installers etc. in $UBUROOT/home/gub/gub/uploads:"
ls -l $UBUROOT/home/gub/gub/uploads
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to