From 07d1d0832d1f45cdc570e5619ff2edf8a84e4999 Mon Sep 17 00:00:00 2001 From: Cole Poirier Date: Fri, 24 Jul 2020 14:42:23 -0700 Subject: [PATCH] Remove use of uid=1000 in favour of $SUDO_USER globally --- coriolis2-chroot | 72 +++++++++++++++++++++++------------------------- hdl-dev-repos | 13 ++++----- hdl-tools-yosys | 8 +++--- pia-install | 16 ++--------- 4 files changed, 46 insertions(+), 63 deletions(-) diff --git a/coriolis2-chroot b/coriolis2-chroot index 7684633..752a515 100755 --- a/coriolis2-chroot +++ b/coriolis2-chroot @@ -24,8 +24,6 @@ mount /opt/chroot/coriolis/proc mount /opt/chroot/coriolis/sys mount /opt/chroot/coriolis/tmp echo "coriolis2" > /opt/chroot/coriolis/etc/debian_chroot -export MYNAME=`id 1000 | awk '{print $1}' | sed 's/.*(\(.*\))/\1/'` -export CHU_HOME=/home/$MYNAME # Install apt dependencies in the chroot chroot /opt/chroot/coriolis /bin/bash << EOF echo Installing necessary apt dependencies in the chroot @@ -44,20 +42,20 @@ texlive-latex-extra texlive-pictures xfig yosys zlib1g-dev # Create user with same UID in the chroot -useradd -m -p `python -c 'import crypt; print crypt.crypt("1234","Fx")'` -s /bin/bash $MYNAME -k /etc/skel +useradd -m -p `python -c 'import crypt; print crypt.crypt("1234","Fx")'` -s /bin/bash $SUDO_USER -k /etc/skel echo -e " -Added user ${MYNAME} with \e[1;91mpassword: 1234\e[0m" +Added user ${SUDO_USER} with \e[1;91mpassword: 1234\e[0m" echo -e " -\e[1;91mPlease use command 'passwd ${MYNAME}' to change this immediately after this script is run for security purposes.\e[0m +\e[1;91mPlease use command 'passwd ${SUDO_USER}' to change this immediately after this script is run for security purposes.\e[0m " # Add convenience variable to chroot user .bash_profile -echo -e 'export PATH=/usr/lib/ccache:"\044PATH"\nexport DISPLAY=:0.0\nexport ALLIANCE_TOP=$CHU_HOME/alliance/install\nexport YOSYS_TOP=$CHU_HOME/yosys\nexport LD_LIBRARY_PATH=\044{ALLIANCE_TOP}/lib:\044{LD_LIBRARY_PATH}\nexport LD_LIBRARY_PATH=\044{ALLIANCE_TOP}/lib64:\044{LD_LIBRARY_PATH}' > $CHU_HOME/.bash_profile -chown $MYNAME $CHU_HOME/.bash_profile -chgrp $MYNAME $CHU_HOME/.bash_profile +echo -e 'export PATH=/usr/lib/ccache:"\044PATH"\nexport DISPLAY=:0.0\nexport ALLIANCE_TOP=/home/$SUDO_USER/alliance/install\nexport YOSYS_TOP=/home/$SUDO_USER/yosys\nexport LD_LIBRARY_PATH=\044{ALLIANCE_TOP}/lib:\044{LD_LIBRARY_PATH}\nexport LD_LIBRARY_PATH=\044{ALLIANCE_TOP}/lib64:\044{LD_LIBRARY_PATH}' > /home/$SUDO_USER/.bash_profile +chown $SUDO_USER /home/$SUDO_USER/.bash_profile +chgrp $SUDO_USER /home/$SUDO_USER/.bash_profile -echo -e "Added 'export PATH=/usr/lib/ccache:\"\044PATH\"\nexport DISPLAY=:0.0' to $CHU_HOME/.bash_profile to speed up rebuilds" +echo -e "Added 'export PATH=/usr/lib/ccache:\"\044PATH\"\nexport DISPLAY=:0.0' to /home/$SUDO_USER/.bash_profile to speed up rebuilds" EOF # Add coriolis config to schroot.conf @@ -65,7 +63,7 @@ cat <>/etc/schroot/schroot.conf [coriolis] description=Debian Buster for Coriolis directory=/opt/chroot/coriolis -groups=sbuild-security,$MYNAME,users +groups=sbuild-security,$SUDO_USER,users EOF echo "Adding the following coriolis section to /etc/schroot/schroot.conf: @@ -73,7 +71,7 @@ echo "Adding the following coriolis section to /etc/schroot/schroot.conf: [coriolis] description=Debian Buster for Coriolis directory=/opt/chroot/coriolis -groups=sbuild-security,$MYNAME,users +groups=sbuild-security,$SUDO_USER,users This enables you to chroot into coriolis as an unprivileged user by running 'schroot -c coriolis /bin/bash' @@ -85,8 +83,8 @@ apt-get update -y apt-get build-dep yosys -y apt-get remove yosys -y EOF -runuser $MYNAME --preserve-environment -c 'schroot -c coriolis /bin/bash << EOF -cd $CHU_HOME +runuser $SUDO_USER --preserve-environment -c 'schroot -c coriolis /bin/bash << EOF +cd /home/$SUDO_USER git clone https://github.com/cliffordwolf/yosys.git cd yosys make config-clang @@ -94,60 +92,60 @@ make -j$(nproc) EOF' chroot /opt/chroot/coriolis /bin/bash << EOF -cd $CHU_HOME/yosys +cd /home/$SUDO_USER/yosys make install EOF # Install coriolis2 from source -runuser $MYNAME --preserve-environment -c 'schroot -c coriolis /bin/bash << EOF -cd $CHU_HOME +runuser $SUDO_USER --preserve-environment -c 'schroot -c coriolis /bin/bash << EOF +cd /home/$SUDO_USER source .bash_profile -mkdir -p $CHU_HOME/coriolis-2.x/src -cd $CHU_HOME/coriolis-2.x/src +mkdir -p /home/$SUDO_USER/coriolis-2.x/src +cd /home/$SUDO_USER/coriolis-2.x/src git clone https://gitlab.lip6.fr/vlsi-eda/coriolis.git cd coriolis git checkout devel ./bootstrap/ccb.py --project=coriolis --make="-j$(nproc) install" # Setup and test coriolisenv -$CHU_HOME/coriolis-2.x/src/coriolis/bootstrap/coriolisEnv.py > $CHU_HOME/coriolisenv -source $CHU_HOME/.bash_profile -source $CHU_HOME/coriolisenv +/home/$SUDO_USER/coriolis-2.x/src/coriolis/bootstrap/coriolisEnv.py > /home/$SUDO_USER/coriolisenv +source /home/$SUDO_USER/.bash_profile +source /home/$SUDO_USER/coriolisenv EOF' # Install alliance from source -runuser $MYNAME --preserve-environment -c 'schroot -c coriolis /bin/bash << EOF -cd $CHU_HOME +runuser $SUDO_USER --preserve-environment -c 'schroot -c coriolis /bin/bash << EOF +cd /home/$SUDO_USER source coriolisenv git clone https://gitlab.lip6.fr/vlsi-eda/alliance.git -mkdir -p $CHU_HOME/alliance/build $CHU_HOME/alliance/install +mkdir -p /home/$SUDO_USER/alliance/build /home/$SUDO_USER/alliance/install mv alliance/alliance/src alliance rm -rf alliance/alliance cd alliance/src ./autostuff -cd $CHU_HOME/alliance/build -../src/configure --prefix=$CHU_HOME/alliance/install --enable-alc-shared +cd /home/$SUDO_USER/alliance/build +../src/configure --prefix=/home/$SUDO_USER/alliance/install --enable-alc-shared EOF' chroot /opt/chroot/coriolis /bin/bash << EOF -cd $CHU_HOME/alliance/build -source $CHU_HOME/coriolisenv +cd /home/$SUDO_USER/alliance/build +source /home/$SUDO_USER/coriolisenv make -j1 install EOF # Install and configure alliance-check-toolkit -runuser $MYNAME --preserve-environment -c 'schroot -c coriolis /bin/bash << EOF -cd $CHU_HOME +runuser $SUDO_USER --preserve-environment -c 'schroot -c coriolis /bin/bash << EOF +cd /home/$SUDO_USER git clone https://gitlab.lip6.fr/vlsi-eda/alliance-check-toolkit.git source coriolisenv -touch alliance-check-toolkit/etc/mk/users.d/user-$MYNAME.mk -cat <>alliance-check-toolkit/etc/mk/users.d/user-$MYNAME.mk -export CORIOLIS_TOP=/home/$MYNAME/coriolis-2.x/Linux.x86_64/Release.Shared/install -export ALLIANCE_TOP=/home/$MYNAME/alliance/install -export CHECK_TOOLKIT=/home/$MYNAME/alliance-check-toolkit -export YOSYS_TOP=/home/$MYNAME/yosys +touch alliance-check-toolkit/etc/mk/users.d/user-$SUDO_USER.mk +cat <>alliance-check-toolkit/etc/mk/users.d/user-$SUDO_USER.mk +export CORIOLIS_TOP=/home/$SUDO_USER/coriolis-2.x/Linux.x86_64/Release.Shared/install +export ALLIANCE_TOP=/home/$SUDO_USER/alliance/install +export CHECK_TOOLKIT=/home/$SUDO_USER/alliance-check-toolkit +export YOSYS_TOP=/home/$SUDO_USER/yosys EOG -source $CHU_HOME/.bash_profile +source /home/$SUDO_USER/.bash_profile cd alliance-check-toolkit/benchs/ARM/cmos make lvx echo -e " diff --git a/hdl-dev-repos b/hdl-dev-repos index 474a6df..255692b 100755 --- a/hdl-dev-repos +++ b/hdl-dev-repos @@ -4,11 +4,8 @@ if [ "$EUID" -ne 0 ] exit fi -export MYNAME=`id 1000 | awk '{print $1}' | sed 's/.*(\(.*\))/\1/'` -export MYHOME=/home/$MYNAME - -runuser $MYNAME --preserve-environment -c ' -cd /home/$MYNAME +runuser $SUDO_USER --preserve-environment -c ' +cd /home/$SUDO_USER mkdir src cd src git clone https://github.com/nmigen/nmigen.git @@ -17,7 +14,7 @@ git clone https://git.libre-soc.org/git/ieee754fpu.git git clone https://git.libre-soc.org/git/nmigen-soc.git git clone https://git.libre-soc.org/git/soc.git ' -cd /home/$MYNAME/src/nmigen +cd /home/$SUDO_USER/src/nmigen python3 setup.py develop cd ../nmutil python3 setup.py develop @@ -30,8 +27,8 @@ cd ../soc git submodule update --init --recursive python3 setup.py develop cd ../ -chown -R $MYNAME . -chgrp -R $MYNAME . +chown -R $SUDO_USER . +chgrp -R $SUDO_USER . echo -e " \e[1;91mAll Libre-SOC dev dependenices should now be installed.\e[0m " diff --git a/hdl-tools-yosys b/hdl-tools-yosys index 7a13bb7..23cbd93 100755 --- a/hdl-tools-yosys +++ b/hdl-tools-yosys @@ -8,7 +8,7 @@ apt-get update -y apt-get build-dep yosys -y apt-get remove yosys -y -cd $CHU_HOME +cd $SUDO_USER/home mkdir hdl_tools cd hdl_tools @@ -37,6 +37,6 @@ cd build make -j$(nproc) make install -cd $CHU_HOME/hdl_tools -chown -R $MYNAME hdl_tools -chgrp -R $MYNAME hdl_tools +cd $SUDO_USER/home/hdl_tools +chown -R $SUDO_USER hdl_tools +chgrp -R $SUDO_USER hdl_tools diff --git a/pia-install b/pia-install index 04cb826..7ed6147 100755 --- a/pia-install +++ b/pia-install @@ -1,26 +1,14 @@ #!/bin/bash -if [ "$EUID" -ne 0 ] - then echo "Please run as root" - exit -fi - -export MYNAME=`id 1000 | awk '{print $1}' | sed 's/.*(\(.*\))/\1/'` - -runuser $MYNAME --preserve-environment -c '/bin/bash << EOF -export PATH=/home/$MYNAME/.cargo/bin:$PATH -export HOME=/home/$MYNAME if ! command -v rustup &> /dev/null then echo -e "Rustup could not be found, it can be installed by running the following command: curl --proto \047=https\047 --tlsv1.2 -sSf https://sh.rustup.rs | sh" exit fi -cd /home/$MYNAME/src +cd /home/$USER/src rustup default stable rustup update cargo install maturin git clone https://salsa.debian.org/Kazan-team/power-instruction-analyzer.git pia cd pia maturin build --cargo-extra-args=--features=python-extension -EOF' -cd /home/$MYNAME/src/pia -python3 -m pip install target/wheels/*.whl +python3 -m pip install --user target/wheels/*.whl -- 2.30.2