[devel] Minimal system: graph

Alexander Bokovoy =?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Вт Ноя 27 14:46:54 MSK 2001


Доброго времени суток!

Для интересующихся прилагаются скрипт rpmdot для генерации исходного файла
с описанием графа зависимостей пакетов, установленных в системе и пример
такого графа для минимальной системы ALT Linux, состоящей из 89 пакетов
(117Мб).



-- 
/ Alexander Bokovoy
$ cat /proc/identity >~/.signature
  `Senior software developer and analyst for SaM-Solutions Ltd.`
---
Nov 21 20:58:58 alconost kernel: VFS: Busy inodes after unmount. 
		    Self-destruct in 5 seconds.  Have a nice day...
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : rpmdep.dot.bz2
Тип     : application/x-bzip2
Размер  : 1834 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20011127/71d2747a/attachment-0002.bin>
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : rpmdep.ps.bz2
Тип     : application/x-bzip2
Размер  : 23649 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20011127/71d2747a/attachment-0003.bin>
----------- следующая часть -----------
#!/bin/sh
echo "digraph RPM {
size=\"40,22\"
page=\"8,12\"
ratio=fill
"
rpmlist=$(rpm -qa --qf='[%{name}\n]')
for i in $rpmlist ; do 
rpmdeplist=`(rpm -q --qf='[%{requirename}\n]' "$i"|
grep -ve 'rpmlib\(.*\)'|
xargs rpm -q --whatprovides |sort -u |
xargs rpm -q --qf='%{name}\n'|
while read package ; do
	if test "$i" != "$package" ; then
		rpm -q --qf='%{name}\n' "$package"
	fi
done| sed -e 's/, $//') 2>/dev/null`
    iescape=$(echo "$i"|tr '/-' '__')
    echo "$iescape [fontsize=12, label=\"$i\"]"
	for j in $rpmdeplist ; do
	jescape=$(echo "$j"|tr '/-' '__')
	echo "$iescape -> $jescape;"
    done
done
echo "}"


Подробная информация о списке рассылки Devel