Junho 8, 2008 at 3:29 pm

Gnome List – garnome_list

Uma das grandes dificuldades em se compilar projetos grandes como o GNOME é justamente conhecer a lista de pacotes utilizadas, além da ordem de compilação dos pacotes. A diversidade de combinações de versões em projetos como estes é imensa. E por isto, se puder pegar uma carona para facilitar o trabalho, não tem porque não o fazer.

Fiz o script garnome_mklist justamente para extrair a lista de pacotes e patchs empregados na compilação do GNOME pelo construtor GARNOME.

O garnome_mklist verifica a última versão do GARNOME, baixa ela e checa os pacotes e patchs utilizados, gerando uma lista com os seus nomes e respectivas versões. Não há a necessidade de entrar nenhum parâmetro.

Segue o script abaixo:

#!/bin/bash
# This script build a list of packages of Gnome GARNOME build sistem.
# by Rudson Alves
# 08/06/2008
#
BASEVERSION=${BASEVERSION:='2.22'}

GARNOME_URL="http://ftp.gnome.org/pub/GNOME/sources/garnome/$BASEVERSION"

GARNOME_NAME="garnome"

echo -e "\nGet $GARNOME_NAME version..."
VERSION=`eval "lynx --dump $GARNOME_URL/ |
                    sed -e '/LATEST\-IS\-$BASEVERSION.[0-9]$/! d'
                    -e '/1/! d' -e 's/.*\($BASEVERSION.[0-9]\)/\1/'"`

PKG_LIST=/tmp/${GARNOME_NAME}_list

GARNOME_NAME="${GARNOME_NAME}-${VERSION}"

echo -e "\nCheck $GARNOME_NAME..."
if [ ! -e $GARNOME_NAME.tar.bz2 ]; then
	echo "Get $GARNOME_NAME..."
	wget ${GARNOME_URL}/$GARNOME_NAME.tar.bz2
fi

echo -e "\nUntar ${GARNAME_NAME}.tar.bz2"
tar xvf $GARNOME_NAME.tar.bz2

cd $GARNOME_NAME

echo -e "\nCheck packages..."
for i in `find . -name checksums`; do
	cat $i | sed 's/download\///' | awk '{print $2}';
done | sort > $PKG_LIST

echo -e "\nBuild list..."
cat $PKG_LIST | while read file; do
	pkg_name=`echo $file | sed 's/\(.*\)\-\(.*\)\.tar\..*$/\1/'`;
	pkg_version=`echo $file | sed 's/\(.*\)\-\(.*\)\.tar\..*$/\2/'`
	if [ "$pkg_name" == "$pkg_version" ]; then
		echo -e "patch\t${file}\t "
	else
		echo -e "packge\t${pkg_name}\t${pkg_version}"
	fi
done | tee ../$GARNOME_NAME.list

cd ..
rm $PKG_LIST

echo -e "\nSee the complete list in $GARNOME_NAME.list"

Esta versão ainda gera uma tabela em html. Somente não a coloquei aqui por erro no html gerado. Existem ainda muitos outros scripts que utilizo na construção do GDL64. Veja todos em http://www.rra.etc.br/linux/GDL64_scripts/

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

No comments yet, be the first!

Leave a reply

Spam Protection by WP-SpamFree

Back to top