ПО для быстрого создания ebuild'ов

Есть ли средство (с gui желательно), для быстрой генерации ebuild файлов. В связи с ростом ПО для linux, я думаю такая программа будет очень полезна для развития gentoo.
Если есть желающие, может давайте напишем такую программу. В общем пишите свои мысли.

Оно и так пишется быстро,

Оно и так пишется быстро, просто нужно всё время этим заниматься чтобы не забывать переменные.
Ведь проблема не написать, а следить за обновлениями и оперативно обновлять ебилд

Имхо она скорее вредна чем

Имхо она скорее вредна чем полезна =)
Народ наваяет кривых ебилдов которые в состоянии порушить систему =(
ЗЫ вообще юзаем vim + gentoo-syntax + repoman + /dev/brain
ЗЗЫ а также читаем pms <= полная спецификация по написанию еблдов

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

Quote: Народ наваяет кривых

Цитата:
Народ наваяет кривых ебилдов которые в состоянии порушить систему =(

Почему вы так решили. я и говорю не о простом скрипте а большой программе, в которой возможно предусмотреть многое..

Цитата:
Ведь проблема не написать, а следить за обновлениями и оперативно обновлять ебилд

Можно сделать например так, что проверяется база уже готовых ebuild файлов и с офф сайта выкачивает новую версию/проверяет md5 и прочее. На Perl это несложно реализуется.

.

Render написал(а):
Можно сделать например так, что проверяется база уже готовых ebuild файлов и с офф сайта выкачивает новую версию

Он имел в виду не выкачивать, а самому писать:
"следить за обновлениями и оперативно обновлять ебилд",
где "обновлять" означает своими руками поправить и выложить
для скачивания публикой.
Ведь если ты СОЗДАЛ ebuild (см топик), то, видимо, тебе же его и ОБНОВЛЯТЬ.
Если я правильно понял.

А "проверяется база уже готовых ebuild файлов и ... выкачивает новую версию"
не надо делать, это уже сделано, называется "layman -S" + "eix-sync -W"

Написать такое ПО самому для

Написать такое ПО самому для генерации однотипных и рутинных пакетов не составляет труда. Для гуи можно использовать утилиты создания gui в скриптах (kdialog, gtkdialog, kommander, etc)

Вот, например, установщик шрифтов:

#! /bin/bash
# ttfin4gen.sh TTF fonts installer for Gentoo.
#
# Idea by Mellon

print_help() {
echo "Usage:"
echo "       $(basename "$0") [-fo <fonts overlay> ] [-dd <distdir>] [-ev <ebuild version>] [-g] [-d <\"description\">] <path to fonts for install>"
echo "       $(basename "$0") [-h]"
echo
echo "  -fo     Path to local overlay that should contain fonts ebuilds."
echo "  -dd     Path to distfiles directory."
echo "  -pv     Package version. Default: 0.0.1."
echo "  -g      Do not install package, just generate it."
echo "  -d      Description for ebuild."
echo "  -h      Print this."
}

generate_distfile() {
	tar -C "${FONTSPARENTPATH}" -cjhf "${DISTDIR}/${FONTSDIR}${MY_PV}.tar.bz2" "${FONTSDIR}"
	chown root:portage "${DISTDIR}/${FONTSDIR}${MY_PV}.tar.bz2"
	chmod 664 "${DISTDIR}/${FONTSDIR}${MY_PV}.tar.bz2"
}

generate_ebuild() {

PN="${FONTSDIR}"
EBUILD="${FONTSOVERLAY}/media-fonts/${PN}/${PN}${MY_PV}.ebuild"

[[ -d "${FONTSOVERLAY}/media-fonts" ]] || mkdir "${FONTSOVERLAY}/media-fonts"
[[ -d "${FONTSOVERLAY}/media-fonts/${PN}" ]] || mkdir "${FONTSOVERLAY}/media-fonts/${PN}"

echo \
'# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

inherit font
' > ${EBUILD}

: ${DESCRIPTION:="ttf fonts collection"}
echo "DESCRIPTION=\"${DESCRIPTION}\"" >> ${EBUILD}

echo \
'HOMEPAGE=""
SRC_URI="${P}.tar.bz2"

RESTRICT="fetch"

LICENSE="as-is"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86 x86-fbsd"
IUSE="X"

DEPEND=""
RDEPEND=""

S="${WORKDIR}/${PN}"
FONT_S="${WORKDIR}/${PN}"
FONT_SUFFIX="ttf"' >> ${EBUILD}
}

create_digests() {
	ebuild "$EBUILD" digest
}

emerging() {
	emerge media-fonts/${PN}
}

#==============================================================================

if [[ -f /etc/make.globals ]]; then 
	source /etc/make.globals || ( echo "Can not source /etc/make.globals"; exit 1)
else
	echo "Can not find /etc/make.globals"
	exit 1
fi

if
[[ -f /etc/make.conf ]]; then
	source /etc/make.conf || ( echo "Can not source /etc/make.conf"; exit 1)
else
	echo "Can not find /etc/make.conf"
	exit 1
fi

[[ -f /etc/ttfin4gen.conf ]] && source /etc/ttfin4gen.conf

ARGS="$*"
until [ -z "$1" ] ; do
        case "$1" in
                "-fo" )
                        [[ "x$3" != "x" ]] && [[ -d "$2" ]] && FONTSOVERLAY="$2"
                        shift
        ;;
                "-dd" )
                        [[ "x$3" != "x" ]] && [[ -d "$2" ]] && DISTDIR="$2"
                        shift
        ;;
                "-pv" )
                        [[ "x$3" != "x" ]] && MY_PV="-$2"
                        shift
        ;;
                "-g" )
                        [[ "x$2" != "x" ]] && GENERATEONLY="1"
        ;;
                "-d" )
                        [[ "x$3" != "x" ]] && DESCRIPTION="$2"
                        shift
        ;;
                "-h" )
                        print_help
                        exit 0
        ;;
                * )
                        [[ -d "$1" ]] && FONTSPATH="$1"
        ;;
        esac
        shift
done

if [[ "x${FONTSOVERLAY}" == "x" ]]; then 
	echo "Can not find fonts overlay"
	exit 1
fi

if [[ "x${FONTSPATH}" == "x" ]]; then 
	echo "Can not find path to fonts for install"
	exit 1
fi

FONTSPARENTPATH="$(dirname "${FONTSPATH}")"
FONTSDIR="$(basename "${FONTSPATH}")"
: ${MY_PV:="-0.0.1"}

generate_distfile
generate_ebuild
create_digests
echo "Package generated succesfully and ready to instlall"
[[ "x$GENERATEONLY" == "x1" ]] || emerging

:)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".