ПО для быстрого создания ebuild'ов
Render 2 ноября, 2008 - 00:13
Есть ли средство (с 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 это несложно реализуется.
.
Он имел в виду не выкачивать, а самому писать:
"следить за обновлениями и оперативно обновлять ебилд",
где "обновлять" означает своими руками поправить и выложить
для скачивания публикой.
Ведь если ты СОЗДАЛ 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:)