И снова здравствуй gentoo world

Совсем недавно мне удалось найти волшебную строку для решения проблем со сборкой мира:

% emerge -1av $(equery depends  | sed 's/-[0-9]\{1,\}.*$//')

Но при всём волшебстве данного решения у него есть минус — оно пересобирает все зависимосити от данного пакета, даже если они они уже были собраны и не требуют обновления. Что иногда ОЧЕНЬ РАЗДРАЖАЕТ. Например , когда нужно пересобрать хромиум и либреофис пару лишних раз.

Но есть элегантное решение!

#!/bin/bash

PACKAGE="$1"
if [ "$PACKAGE" == "" ]; then
	echo 'Pass package name as param'
	exit
fi

emerge -1av $(emerge -pv --color n $(equery depends $1 | sed 's/-[0-9]\{1,\}.*$//') | grep --color=none '\[ebuild' | awk '!/\[ebuild.*?R.*?\]/' | sed 's/\[[^/]*\]//g' | sed 's/-[0-9]\{1,\}.*$//') 

Я не могу только понять почему чего-то подобного (и нормально сделанного) нет в базовой поставке — это же самое важное из того что нужно при обновлении этого проклятого мира.

(И давайте обойдёмся без оскорблений в комментариях в этот раз — я сам всё прекрасно про себя понимаю)

#gentoo

2021.02.16 12:55