Nie jesteś zalogowany na forum.

#1 2018-04-23 17:56:51

nycko
Użytkownik
Data rejestracji: 2015-10-31
Liczba postów: 32
WWW

Aurutils: zarządzanie paczkami

Może się komuś przydadzą jako baza do dalszych modyfikacji.
Niezbyt ambitne, ale nic więcej nie potrzebuję do szczęścia, a ze mnie też programista, jak z koziej d...

Tylko dla tych, co używają już narzędzi z aurutils!!

Celem działania jest połączenie składni pacmana i narzędzi aurutils w jednoznaczne funkcje lub aliasy.

Użycie: update
Dodatkowo wyświetla paczki oflagowane w AUR jako nieaktualne lub osierocone używając jednej z dwóch metod (konieczny wybór jednej z nich):

  • używając 'cower' - domyślnie zakomentowana/nieaktywna

  • używając 'aursearch'

update () {
	local reponame="aur" #change to your local repository name!! 'man aurutils'
	sudo pacman -Syu
	aursync -u

	########## fetching orphaned or out-dated pkgs using aurutils ##########
	########		local repo is called aur		########
	### 1. cower method ###
		#cower -i --format "%n %m %t %v\n" $(pacman -Slq $reponame) | grep -E "orphan|yes" > /tmp/aur
	#######################
	
	### 2. aursearch method ###
		#  JSON parsing
		aursearch -Fr $(pacman -Slq $reponame) | jq -r '.[].results[] | {Name: .Name, Maintainer, OutOfDate, Version}' | jq -r '.Name, .Maintainer, .OutOfDate, .Version' > /tmp/aur
	
		# formating the output (pkgname maintainer date version, every pkg on separate line)
		grep -v "$(grep 'null' -B 2 -A 1 /tmp/aur)" /tmp/aur > /tmp/dummy
		printf '' > /tmp/aur

		n=1; while IFS= read -r line || [[ "$line" ]]; do
			local split=$(($n % 4))
			if [[ $split -eq 0 ]]; then
				printf "$line\n" >> /tmp/aur
			else
				printf "$line " >> /tmp/aur
			fi
			((n++))
		done < /tmp/dummy
		# done formating the output
		# JSON parsing END
	############################
	
	### print ###
	echo -e "\e[1m\033[38;5;75m::\e[97m Orphaned/OutOfDate\e[0m"
	n=1; while IFS= read -r line || [[ "$line" ]]; do
		local pkg=$(echo $line | awk '{print $1}')
		local format=$(echo $line | awk '{printf $1" ("$2") "$4}')
		echo -e "$format -\e[97m local:\e[1m\033[38;5;75m $(pacman -Q $pkg | awk '{printf $2}')\e[0m"
		((n++))
	done < /tmp/aur
	###############################################################################
}

Użycie: install-aur paczka1 paczka2...

install-aur () {
	aursync -c "$@"
	sudo pacman -Syu "$@"
}

Użycie: remove paczka1 paczka2...
'/var/cache/pacman/aur/aur.db.tar' to ścieżka wymagająca edytowania!! Ustalana jest podczas konfiguracji aurutils!!

remove () {
	sudo pacman -Rs "$@"
	repo-remove /var/cache/pacman/aur/aur.db.tar "$@"	 #man aurutils
}

Użycie: search paczka1 paczka2...

search () {
	pacman -Ss "$@"
	aursearch "$@"
}

Użycie: show-info paczka1 paczka2...

show-info () {
	pacman -Si "$@"
	aursearch -Fv "$@"
}

Offline

Stopka

Napędzają nas PacmanVPS i MegiTeam

Forum oparte na FluxBB