Revert "Descriptions parsing improved" (c1150af9) + php tools fixes

This commit is contained in:
Anthony Axenov 2022-12-28 15:20:25 +08:00
parent f89b2d946d
commit 90dc1b4d8b
Signed by: anthony
GPG Key ID: EA9EC32FF7CCD4EC
13 changed files with 114 additions and 137 deletions

161
Makefile
View File

@ -1,199 +1,199 @@
# Autogenerated at 11.12.2022 14:30 using ./gen-makefile
# Autogenerated at 28.12.2022 14:46 using ./gen-makefile
.DEFAULT_GOAL := help
#===============================================
# Scripts listed in ./install
#===============================================
# Install apache2 (latest)
##apache: Install apache2 (latest)
apache:
@./install/apache
# Install bunch of software from apt
##apt: Install bunch of software from apt
apt:
@./install/apt
# Install Canon Pixma MG2500 + ppa
##canon-mg2500: Install Canon Pixma MG2500 + ppa
canon-mg2500:
@./install/canon-mg2500
# Install google chrome (latest)
##chrome: Install google chrome (latest)
chrome:
@./install/chrome
# Install composer (latest)
##composer: Install composer (latest)
composer:
@./install/composer
# Install docker (latest) + docker-compose (latest) + ppa
##docker: Install docker (latest) + docker-compose (latest) + ppa
docker:
@./install/docker
# Install dotfiles
##dots: Install dotfiles
dots:
@./install/dots
# Install droidcam v1.8.2
##droidcam: Install droidcam v1.8.2
droidcam:
@./install/droidcam
# Install droidcam-obs plugin v1.5.1
##droidcam-obs: Install droidcam-obs plugin v1.5.1
droidcam-obs:
@./install/droidcam-obs
# [TODO] Build flameshot from src (latest)
##flameshot-build: [TODO] Build flameshot from src (latest)
flameshot-build:
@./install/flameshot-build
# Install git (latest)
##git: Install git (latest)
git:
@./install/git
# Install golang v1.18.3
##golang: Install golang v1.18.3
golang:
@./install/golang
# Install grub-customizer (latest) + ppa
##grubc: Install grub-customizer (latest) + ppa
grubc:
@./install/grubc
# Install KDE Window AppMenu Applet
##kde-appmenu: Install KDE Window AppMenu Applet
kde-appmenu:
@./install/kde-appmenu
# Install KDE Backports + ppa
##kde-backports: Install KDE Backports + ppa
kde-backports:
@./install/kde-backports
# Install file templates (KDE)
##kde-file-templates: Install file templates (KDE)
kde-file-templates:
@./install/kde-file-templates
# Install KDE portal
##kde-portal: Install KDE portal
kde-portal:
@./install/kde-portal
# Install libreoffice
##libreoffice: Install libreoffice
libreoffice:
@./install/libreoffice
# Install lite-xl
##lite-xl: Install lite-xl
lite-xl:
@./install/lite-xl
# Install mariadb (latest) and php-mysql + phpMyAdmin (if php is installed)
##mariadb: Install mariadb (latest) and php-mysql + phpMyAdmin (if php is installed)
mariadb:
@./install/mariadb
# Install nodejs + npm via nvm
##nodejs: Install nodejs + npm via nvm
nodejs:
@./install/nodejs
# Install ntfy (latest) + ppa
##ntfy: Install ntfy (latest) + ppa
ntfy:
@./install/ntfy
# Install obs-studio (latest snap)
##obs-studio: Install obs-studio (latest snap)
obs-studio:
@./install/obs-studio
# Install omz (latest)
##omz-clean: Install omz (latest)
omz-clean:
@./install/omz-clean
# Install omz fancy (powerline10k + MesloLGS font)
##omz-fancy: Install omz fancy (powerline10k + MesloLGS font)
omz-fancy:
@./install/omz-fancy
# Install openvpn v2.5.8 (src)
##openvpn: Install openvpn v2.5.8 (src)
openvpn:
@./install/openvpn
# Install papirus-icon-theme (latest)
##papirus: Install papirus-icon-theme (latest)
papirus:
@./install/papirus
# Install postgresql (latest) and php-pgsql (if php is installed)
##pgsql: Install postgresql (latest) and php-pgsql (if php is installed)
pgsql:
@./install/pgsql
# Install php v8.1 + ppa
##php: Install php v8.1 + ppa
php:
@./install/php
# Install phpcs + php-cs-fixer
##phpcs: Install phpcs + php-cs-fixer
phpcs:
@./install/phpcs
# Install phpmd
##phpmd: Install phpmd
phpmd:
@./install/phpmd
# Install psalm
##php-psalm: Install psalm
php-psalm:
@./install/php-psalm
# Install php-spx
##php-spx: Install php-spx
php-spx:
@./install/php-spx
# Install phpstan
##phpstan: Install phpstan
phpstan:
@./install/phpstan
# Install phpunit
##phpunit: Install phpunit
phpunit:
@./install/phpunit
# Install postman (latest)
##postman: Install postman (latest)
postman:
@./install/postman
# Install qt5
##qt5: Install qt5
qt5:
@./install/qt5
# Install rustdesk client v1.1.9 (deb)
##rustdesk: Install rustdesk client v1.1.9 (deb)
rustdesk:
@./install/rustdesk
# Install bunch of software from snap
##snap: Install bunch of software from snap
snap:
@./install/snap
# Install syncthing (latest) + ppa
##syncthing: Install syncthing (latest) + ppa
syncthing:
@./install/syncthing
# Install telebit (latest)
##telebit: Install telebit (latest)
telebit:
@./install/telebit
# Install ulauncher (latest) + ppa
##ulauncher: Install ulauncher (latest) + ppa
ulauncher:
@./install/ulauncher
# Install Vivaldi + ppa
##vivaldi: Install Vivaldi + ppa
vivaldi:
@./install/vivaldi
# Install wine (latest) + ppa (focal)
##wine: Install wine (latest) + ppa (focal)
wine:
@./install/wine
# Install youtube-dl
##youtube-dl: Install youtube-dl
youtube-dl:
@./install/youtube-dl
# Install ytdlcue
##ytdlcue: Install ytdlcue
ytdlcue:
@./install/ytdlcue
# Install zint (latest)
##zint: Install zint (latest)
zint:
@./install/zint
# Install vanilla zsh
##zsh: Install vanilla zsh
zsh:
@./install/zsh
@ -202,44 +202,25 @@ zsh:
# Scripts listed in ./packs
#===============================================
# [TODO] [PACK] Install qt5 + flameshot from source
flameshot:
qt5
flameshot-build
##flameshot: [TODO] qt5 + flameshot from source
flameshot: qt5 flameshot-build
# [PACK] Install apache + php + mariadb
lamp:
apache
php-stack
mariadb
##lamp: [PACK] Apache + php + mariadb
lamp: apache phpstack mariadb
# [PACK] Install OBS Studio + droidcam-obs
obs:
obs-studio
droidcam-obs
##obs: [PACK] Install OBS Studio + droidcam-obs
obs: obs-studio droidcam-obs
# [PACK] Install zsh + omz + powerline10k + MesloLGS font
omz:
zsh
omz-clean
omz-fancy
##omz: [PACK] zsh + omz + powerline10k + MesloLGS font
omz: zsh omz-clean omz-fancy
chsh -s /usr/bin/zsh
@exec zsh
# [PACK] Install full php stack with tooling
phptools:
php
php-tools
##phptools: [PACK] Install only php tooling (composer, phpunit, psalm, phpcs, php-cs-fixer, php-spx, phpmd)
phptools: composer php-psalm php-spx phpcs phpmd phpstan phpunit
# [PACK] Install only php tooling (composer, phpunit, psalm, phpcs, php-cs-fixer, php-spx, phpmd)
php-stack:
composer
php-psalm
php-spx
phpcs
phpmd
phpstan
phpunit
##phpstack: [PACK] Install full php stack with tooling
phpstack: php phptools
#===============================================
# Scripts listed in ./upgrade
@ -271,13 +252,23 @@ php-stack:
self:
@./gen-makefile
help: Makefile
@echo "Ubuntu software installator"
@echo
@echo "Usage:\n make help|- show this help\n make self|- regenerate Makefile (alias of ./gen-makefile)\n make GOAL|- install software\n make ^GOAL|- upgrade software\n make /GOAL|- uninstall software" | column -ts '|'
@echo "Usage:"
@echo "\tmake help\t - show this help"
@echo "\tmake self\t - regenerate Makefile (alias of ./gen-makefile)"
@echo "\tmake GOAL\t - install software"
@echo "\tmake ^GOAL\t - upgrade software"
@echo "\tmake /GOAL\t - uninstall software"
@echo "\nYou can combine GOALs, here are some examples:"
@echo "\tmake @docker docker"
@echo "\tmake php @docker ^omz"
@echo "\tmake /docker docker"
@echo "\tmake php /docker ^omz"
@echo "\nAvailable GOALs:"
@sed -n '/^#/{N;s/# *\(.*\)\n\([^# .].*:\)/\t\2\1/p}' $< | column -ts ':'
@sed -n 's/^##//p' $< | column -ts ':' | sed -e "s/^/\t/"
+%:
@
^%:
@./upgrade/
@%:
@./uninstall/

View File

@ -5,7 +5,7 @@
## Requirements
* Ubuntu >= 20.04 (not tested with version < 20)
* `bash`, `zsh` or other POSIX-compatible shell
* `bash`, `zsh` or other `sh`-compatible shell
* `make` (optional but recommended)
* `wget` (necessary for some scripts)
* `git` (necessary for some scripts)
@ -66,11 +66,11 @@ Syntax is same as classic makefile.
It is important to add a comment with short description:
```makefile
# Pack description
##mypack1: Pack description
mypack1: goal1 goal2 goalX ...
...
# Pack description
##mypackX: Pack description
mypackX: goalA goalB
@cp file1 file2
...

View File

@ -18,7 +18,7 @@ for file in ./install/*; do
name=${name%.sh}
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
[ -z "$desc" ] && desc='<no description>'
echo -e "# ${desc}\n${name}:\n\t@${file}\n" >> Makefile
echo -e "##${name}: ${desc}\n${name}:\n\t@${file}\n" >> Makefile
done;
cat << EOF >> Makefile
@ -72,21 +72,26 @@ cat << EOF >> Makefile
self:
@./gen-makefile
help: Makefile
@echo "Ubuntu software installator"
@echo
@echo "Usage:\n \
make help|- show this help\n \
make self|- regenerate Makefile (alias of ./gen-makefile)\n \
make GOAL|- install software\n \
make ${CHR_UPGRADE}GOAL|- upgrade software\n \
make ${CHR_UNINSTALL}GOAL|- uninstall software" | column -ts '|'
@echo "Usage:"
@echo "\tmake help\t - show this help"
@echo "\tmake self\t - regenerate Makefile (alias of ./gen-makefile)"
@echo "\tmake GOAL\t - install software"
@echo "\tmake ${CHR_UPGRADE}GOAL\t - upgrade software"
@echo "\tmake ${CHR_UNINSTALL}GOAL\t - uninstall software"
@echo "\nYou can combine GOALs, here are some examples:"
@echo "\tmake @docker docker"
@echo "\tmake php @docker ^omz"
@echo "\tmake ${CHR_UNINSTALL}docker docker"
@echo "\tmake php ${CHR_UNINSTALL}docker ${CHR_UPGRADE}omz"
@echo "\nAvailable GOALs:"
@sed -n '/^#/{N;s/# *\(.*\)\n\([^# .].*:\)/\t\2\1/p}' $< | column -ts ':'
@sed -n 's/^##//p' $< | column -ts ':' | sed -e "s/^/\t/"
+%:
@$(MAKE) $*
^%:
@./upgrade/$*
@%:
@./uninstall/$*
EOF
echo "New ./Makefile has been generated!"

View File

@ -17,10 +17,11 @@ installed() {
if installed "composer"; then
echo "WARNING: Removing current composer to install its actual version"
sudo apt remove -y --autoremove composer
sudo rm /bin/composer
sudo rm /usr/bin/composer
sudo rm /usr/local/bin/composer
sudo rm /usr/src/composer
sudo rm -f $HOME/.local/bin/composer
sudo rm -f /bin/composer
sudo rm -f /usr/bin/composer
sudo rm -f /usr/local/bin/composer
sudo rm -f /usr/src/composer
rm $HOME/.local/bin/composer
fi
@ -37,7 +38,7 @@ if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]; then
exit 1
fi
php composer-setup.php --quiet
cp $HOME/install/composer.phar $HOME/.local/bin/composer
mv -f $HOME/install/composer.phar $HOME/.local/bin/composer
cd - >/dev/null
COMPOSER_GLOBAL_HOME="$(composer config -g home)"

View File

@ -27,5 +27,4 @@ echo
echo "Finish!"
echo
phpcs --version # phpcbf --version
php-cs-fixer --version
psalm --version

View File

@ -1,4 +1,2 @@
# [TODO] [PACK] Install qt5 + flameshot from source
flameshot:
qt5
flameshot-build
##flameshot: [TODO] [PACK] qt5 + flameshot from source
flameshot: qt5 flameshot-build

View File

@ -1,5 +1,2 @@
# [PACK] Install apache + php + mariadb
lamp:
apache
php-stack
mariadb
##lamp: [PACK] Apache + php + mariadb
lamp: apache phpstack mariadb

View File

@ -1,4 +1,2 @@
# [PACK] Install OBS Studio + droidcam-obs
obs:
obs-studio
droidcam-obs
##obs: [PACK] Install OBS Studio + droidcam-obs
obs: obs-studio droidcam-obs

View File

@ -1,7 +1,4 @@
# [PACK] Install zsh + omz + powerline10k + MesloLGS font
omz:
zsh
omz-clean
omz-fancy
##omz: [PACK] zsh + omz + powerline10k + MesloLGS font
omz: zsh omz-clean omz-fancy
chsh -s /usr/bin/zsh
@exec zsh

View File

@ -1,4 +0,0 @@
# [PACK] Install full php stack with tooling
phptools:
php
php-tools

View File

@ -1,9 +0,0 @@
# [PACK] Install only php tooling (composer, phpunit, psalm, phpcs, php-cs-fixer, php-spx, phpmd)
php-stack:
composer
php-psalm
php-spx
phpcs
phpmd
phpstan
phpunit

2
packs/phpstack Normal file
View File

@ -0,0 +1,2 @@
##phptools: [PACK] Install only php tooling (composer, phpunit, psalm, phpcs, php-cs-fixer, php-spx, phpmd)
phptools: composer php-psalm php-spx phpcs phpmd phpstan phpunit

2
packs/phptools Normal file
View File

@ -0,0 +1,2 @@
##phpstack: [PACK] Install full php stack with tooling
phpstack: php phptools