Docker-based script for installing software using Ubuntu Make into ALT Linux.
Under the hood this script uses Docker to obtain Ubuntu file-system, add Ubuntu Make PPA here, and then install ubuntu-make into the container. The created Docker images will be named with um- prefix, you can remove them manually later.
For ordinary home user this script expects that sudo is installed and enabled using su -l -c "usermod -a -G wheel $USER; control sudo wheelonly; control sudoers relaxed; control sudoreplay wheelonly; control sudowheel enabled;" (as in SimplyLinux).
The umake4alt.sh takes the same arguments as umake. For example one can use ./umake4alt.sh electronics arduino to install modern Arduino IDE 2.x.
Note: if you have configured proxy in your network, then you can supply its address as the argument to the application - http_proxy=http://192.168.12.34:8000 ./umake4alt.sh electronics arduino .
How to start using this script:
-
Install Docker and dependencies to the host ALT Linux system
sudo apt-get update sudo apt-get install docker-io git -
Add current user to the
dockergroupsudo usermod -a -G docker $USER sudo systemctl enable docker.{service,socket}then reboot machine.
-
Clone this repository
cd ~/Downloads git clone https://github.com/N0rbert/umake4alt.git -
Install some application from Ubuntu Make database
cd umake4alt chmod +x umake4alt.sh ./umake4alt.sh electronics arduino -
Reboot after installing the last package, then enjoy the software from Ubuntu Make on your ALT Linux system.
Note: most of the applications install their stuff into ~/.local/share/umake with desktop icons in ~/.local/share/applications and ~/.local/share/umake/bin location is added to $PATH variable via ~/.bashrc; the umake config is located at ~/.config/umake file.
To keep user's system stable the following frameworks are not automatically added to environment varibles - android android-ndk, android android-platform-tools, dart dart-sdk, dart flutter-sdk, go go-lang, java adoptopenjdk, java openjfx, kotlin kotlin-lang, maven maven-lang, nodejs nodejs-lang, rust rust-lang, web chromedriver, web geckodriver, web phantomjs; user can find their paths at subdirectories of ~/.local/share/umake/ and then add to $PATH manually.
Warning: author of this script can't provide any warranty on data safety in parts of your home-folder. Be careful!
Some packages need manual actions.
Android NDK requires installation of Clang - install it with:
sudo apt-get install /usr/bin/clang
Android Platform Tools requires installation of one package - install it with:
sudo apt-get install android-tools
User should be a member of uucp and dialout groups - run
sudo usermod -a -G uucp,dialout $USER
to do so.
Modern Arduino IDE 2.x has some problems with sandbox, which may be temporarily fixed by supplying --no-sandbox command-line parameter.
To fix on desktop-file level use the following one-liner:
sed -i "s/^Exec=arduino-ide$/Exec=arduino-ide --no-sandbox/g" ~/.local/share/applications/arduino-ide.desktop
and then launch Arduino IDE 2.x from menu as usual.
Eclipse needs Java to operate - install it with:
sudo apt-get install java-17-openjdk-headless java-17-openjdk-devel
JetBrains products need compilers and interpreters depending on user demands.
Minimal set of packages are the following:
# CLion (C/C++, Qt)
sudo apt-get install etersoft-build-utils gcc-c++
sudo apt-get install qt5-base-devel qt6-base-devel
# Rider (Mono)
sudo apt-get install mono-devel-full
# RubyMine (Ruby)
sudo apt-get install /usr/bin/erb /usr/bin/irb /usr/bin/rdoc /usr/bin/ri /usr/bin/ruby
# GoLand (Go)
sudo apt-get install golang
For other products it may be varied.
LiteIDE needs one package to be installed - install it with
sudo apt-get install libqt5-core
if it is not already installed.
LightTable needs libgconf package to be installed by
sudo apt-get install libGConf
then it may be operational.
NetBeans needs Java to operate, install it with
sudo apt-get install java-17-openjdk-headless java-17-openjdk-devel
and then run NetBeans as usual.
Superpowers has some problems with sandbox, which may be temporarily fixed by supplying --no-sandbox commandline parameter. To fix on desktop-file level use the following one-liner:
sed -i "s/^Exec=superpowers$/Exec=superpowers --no-sandbox/g" ~/.local/share/applications/superpowers.desktop
and then launch Superpowers from menu as usual.
Visual Studio Code needs two packages to operate, install them by
sudo apt-get install libgtk+2 libGConf
if they are not already installed.
Visual Studio Code has some problems with sandbox, which may be temporarily fixed by supplying --no-sandbox commandline parameter. To fix on desktop-file level use the following one-liner:
sed -i "s/^Exec=visual-studio-code$/Exec=visual-studio-code --no-sandbox/g" ~/.local/share/applications/visual-studio-code.desktop
and then launch Visual Studio Code from menu as usual.