Размещение ebuild

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Размещение ebuild

Alexander Tiurin
Начал изучать процесс написания ebuilds. Выбираю те программы, для
которых не нашел ebuild соответственно. Программы пока примитивные.
Встал вопрос, куда все это хозяйство деть? Может оно кому надо?
Очередной оверлей городить не буду т.к. 24х7 работы не обеспечу, и
смысла пока нет.  На rapidshare? ;)

Reply | Threaded
Open this post in threaded view
|

Re: Размещение ebuild

Alex Efros-4
Hi!

sunrise?

--
                        WBR, Alex.

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Размещение ebuild

Vladimir Rusinov-4
In reply to this post by Alexander Tiurin


2011/3/31 Alexander Tiurin <[hidden email]>
Начал изучать процесс написания ebuilds. Выбираю те программы, для
которых не нашел ebuild соответственно. Программы пока примитивные.
Встал вопрос, куда все это хозяйство деть? Может оно кому надо?
Очередной оверлей городить не буду т.к. 24х7 работы не обеспечу, и
смысла пока нет.  На rapidshare? ;)

Вариантов много:

1) добавлять в уже упомянутый sunrise
2) создать таки свой оверлей в виде репозитория на bitbucket или github
3) добавлять в bugs.gentoo.org

--
Vladimir Rusinov
http://greenmice.info/
Reply | Threaded
Open this post in threaded view
|

Re: Размещение ebuild

osa.cool.ru
In reply to this post by Alex Efros-4
On 31.03.2011 20:24, Alex Efros wrote:
> Hi!
>
> sunrise?
>

Почему-то казалось, что в санрайс сложно пропихнуть.
поэтому добавил в rion.

А ещё мне сильно помог [hidden email] - много недочетов
нашли в ебилде.

Reply | Threaded
Open this post in threaded view
|

Re: Re: [gentoo-user-ru] Размещение ebuild

wins mallow
In reply to this post by Vladimir Rusinov-4
Выкладывайте на паблик куда-нить :)
Позвольте поинтересоваться, что за программы?

On Thu, 2011-03-31 at 21:42 +0400, Vladimir Rusinov wrote:

>
>
> 2011/3/31 Alexander Tiurin <[hidden email]>
>         Начал изучать процесс написания ebuilds. Выбираю те программы,
>         для
>         которых не нашел ebuild соответственно. Программы пока
>         примитивные.
>         Встал вопрос, куда все это хозяйство деть? Может оно кому
>         надо?
>         Очередной оверлей городить не буду т.к. 24х7 работы не
>         обеспечу, и
>         смысла пока нет.  На rapidshare? ;)
>
> Вариантов много:
>
>
> 1) добавлять в уже упомянутый sunrise
> 2) создать таки свой оверлей в виде репозитория на bitbucket или
> github
> 3) добавлять в bugs.gentoo.org
>
> --
> Vladimir Rusinov
> http://greenmice.info/
>

--
Have a nice day
--
xmpp: [hidden email]
sip: [hidden email]
gsm: +79648999992



Reply | Threaded
Open this post in threaded view
|

Re: Размещение ebuild

Alexander Tiurin-2
On Sat, 16 Apr 2011 07:43:35 +0400
Wins Mallow <[hidden email]> wrote:

WM> Выкладывайте на паблик куда-нить :)
WM> Позвольте поинтересоваться, что за программы?
WM>

Выложить все не доходят руки, кину сюда в атач.
Из того, что есть рабочее

http://sourceforge.net/projects/ftpbackup/
http://sourceforge.net/projects/makedumpfile/
http://sourceforge.net/projects/smtprc/
http://sourceforge.net/projects/sysshot/
http://sourceforge.net/projects/tcl-snmptools/






ebuilds.tar.bz2 (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Размещение ebuild

Dmitry Dzhus-3
Alexander Tiurin wrote:

> Выложить все не доходят руки, кину сюда в атач.

Линчуем!

Смотрю в ебилд sysshot:

> SRC_URI="http://citylan.dl.sourceforge.net/project/${PN}/${PN}/${P}/${P}.tar.gz"

Вместо http://citylan.dl.sourceforge.net/ в SRC_URI стоит использовать
mirror://sourceforge. Список возможных значений после mirror можно
посмотреть в файле /usr/portage/profiles/thirdpartymirrors.
В остальных ебилдах то же самое.

> LICENSE="GPLv2"

В поле LICENSE пишется один из файлов, лежащих в /usr/portage/licenses.

> src_compile() {
> cd ${WORKDIR}/${P} || die
> econf || die
> emake || die
> }

Чем это отличается от реализации src_compile по умолчанию? (справиться
можете в документации из app-doc/pms)

Здесь и в ебилде tcl-snmptools src_install, видимо, взят как в EAPI=4.
Почему именно так? Зачем дублировали обобщённый код из реализации по
умолчанию вместо `dodoc ChangeLog README и т.д.` либо указания EAPI=4?

ftpbackup:

Зачем EAPI=3?

src_compile опять дефолтный. Хватит переопределения ${S}.

makedumpfile:

Нет лицензии? Дефолтный src_compile.

--
Happy Hacking.

http://dzhus.org


Reply | Threaded
Open this post in threaded view
|

Re: Re: Размещение ebuild

pva0xd
В Чтв, 21/04/2011 в 20:49 +0400, Dmitry Dzhus пишет:
> Зачем EAPI=3?

Точно, лучше сразу везде использовать EAPI=4, как наиболее продвинутый и
компактный синтаксис.

--
Peter.


Reply | Threaded
Open this post in threaded view
|

Re: Re: Размещение ebuild

Alexander Tiurin-2
On Fri, 22 Apr 2011 13:56:50 +0400
Peter Volkov <[hidden email]> wrote:

PV> В Чтв, 21/04/2011 в 20:49 +0400, Dmitry Dzhus пишет:
PV> > Зачем EAPI=3?
PV>
PV> Точно, лучше сразу везде использовать EAPI=4, как наиболее
PV> продвинутый и компактный синтаксис.
PV>


Не пойму немного с EAPI.
Судя по pms 17,01,2011

source_compile синтаксис

src_compile() {  
    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]];
then  
        emake || die "emake failed"  
    fi  
}

для eapi 2,3,4.

Тогда делаю

EAPI=4
DESCRIPTION="Create system snapshots(i.e. backups) and use them later
to restore data."
HOMEPAGE="http://sourceforge.net/projects/sysshot/"
SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="sys-libs/ncurses"
RDEPEND="${DEPEND}"
src_compile() {
    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]];
then emake || die "emake failed"  
    fi  
}
src_install() {
        cd ${WORKDIR}/${P} || die
        dobin sysshot || die
        dodoc README NEWS AUTHORS COPYING || die
}


С одной стороны все работает. С другой стороны я прогрепал портаж на
предмет этого синтаксиса , и ничего похожего как-то не нагрепал. Во
вторых подсветка vim этот синтаксис не воспринимает.
Например, тот же vim намекает на что, что нельзя делать именно
S=${WORKDIR}/${P}
ровно так, как написано, и действительно, в портаже я не нашел ничего
подобного.

Возникает вопрос, правильно ли применять eapi 4 в gentoo
arch?


 Далее, эта часть к eapi 4  я так понимаю не относится?

src_install() {
        cd ${WORKDIR}/${P} || die
        dobin sysshot || die
        dodoc README NEWS AUTHORS COPYING || die
}



и ее в моем простом случае можно заменить на


src_install() {  
    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]];
        then emake DESTDIR="${D}" install  
    fi  
 
    if ! declare -p DOCS >/dev/null 2>&1 ; then  
        local d  
        for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \  
                THANKS BUGS FAQ CREDITS CHANGELOG ; do  
            [[ -s "${d}" ]] && dodoc "${d}"  
        done  
    elif declare -p DOCS | grep -q ’^declare -a ’ ; then  
        dodoc "${DOCS[@]}"  
    else  
        dodoc ${DOCS}  
    fi  
}



Так? Вот тут спрашиваю потому, что здесь уже возникают проблемы при
установке

make -j5 -s install
ACCESS DENIED  open_wr:      /usr/bin/sysshot
cp: cannot create regular file `/usr/bin/sysshot': Permission denied
make: *** [install] Error 1
 * ERROR: app-backup/sysshot-0.1 failed (install phase):
 *   emake failed
 *
 * If you need support, post the output of 'emerge --info
=app-backup/sysshot-0.1',
 * the complete build log and the output of 'emerge -pqv
=app-backup/sysshot-0.1'.
 * This ebuild is from an overlay named 'over': '/usr/local/portage1/'
 * The complete build log is located at
'/var/log/portage/app-backup:sysshot-0.1:20110507-224914.log'.
 * The ebuild environment file is located at
'/var/memdisk/portage/app-backup/sysshot-0.1/temp/environment'.
 * S: '/var/memdisk/portage/app-backup/sysshot-0.1/work/sysshot-0.1'
--------------------------- ACCESS VIOLATION SUMMARY
--------------------------- LOG FILE
"/var/log/sandbox/sandbox-19349.log"

VERSION 1.0
FORMAT: F - Function called
FORMAT: S - Access Status
FORMAT: P - Path as passed to function
FORMAT: A - Absolute Path (not canonical)
FORMAT: R - Canonical Path
FORMAT: C - Command Line

F: open_wr
S: deny
P: /usr/bin/sysshot
A: /usr/bin/sysshot
R: /usr/bin/sysshot
C: cp sysshot /usr/bin


Опять же возникает вопрос, а правильно ли в arch юзать eapi 4?






Reply | Threaded
Open this post in threaded view
|

Re: Размещение ebuild

Dmitry Dzhus-3
Alexander Tiurin wrote:

> Тогда делаю
> src_compile() {
>     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]];
> then emake || die "emake failed"  
>     fi  
> }

То, что написано в Package Manager Specification — это реализация
функции src_compile *по умолчанию*. Если для вашего пакета её
достаточно, то в ебилде писать вообще ничего не надо.

> С одной стороны все работает. С другой стороны я прогрепал портаж на
> предмет этого синтаксиса , и ничего похожего как-то не нагрепал.

Разумеется, потому что никто не копирует в ебилд реализацию по
умолчанию.

> вторых подсветка vim этот синтаксис не воспринимает.
> Например, тот же vim намекает на что, что нельзя делать именно
> S=${WORKDIR}/${P}
> ровно так, как написано, и действительно, в портаже я не нашел ничего
> подобного.
>
> Возникает вопрос, правильно ли применять eapi 4 в gentoo
> arch?
>
>
>  Далее, эта часть к eapi 4  я так понимаю не относится?
>
> src_install() {
> cd ${WORKDIR}/${P} || die
> dobin sysshot || die
> dodoc README NEWS AUTHORS COPYING || die
> }

Вопрос не очень понятен. В вашем ебилде есть `dobin sysshot`, который в
реализации src_install по умолчанию отсутствует. Поэтому вам нужна своя
функция src_install. Если, конечно, у этой программы нету нормальной
установки по `make install` — тогда можно будет оставить реализацию по
умолчанию.

> Так? Вот тут спрашиваю потому, что здесь уже возникают проблемы при
> установке
>
> make -j5 -s install
> ACCESS DENIED  open_wr:      /usr/bin/sysshot
> cp: cannot create regular file `/usr/bin/sysshot': Permission denied
> make: *** [install] Error 1

На стадии src_install ебилд устанавливается не сразу в систему, а в
подкаталог образа во временной папке Portage (обозначается переменной
${D}). Только потом установленный образ пакета подвергается «слиянию» с
живой системой. Это сделано для того, чтобы плохой ебилд не мог
накосячить в системе у юзера — затереть важные файлы или повредить
информацию на диске. В вашем src_install ебилд пытается сразу установить
бинарный файл в настоящий каталог, выйдя за пределы песочницы, о чём и
говорится в ошибке. Нужно делать dobin ${D}/usr/bin/sysshot.

Подробнее здесь: http://devmanual.gentoo.org/general-concepts/install-destinations/index.html
--
Happy Hacking.

http://dzhus.org


Reply | Threaded
Open this post in threaded view
|

Re: Размещение ebuild

Dmitry Dzhus-3
Dmitry Dzhus wrote:

> Подробнее здесь: http://devmanual.gentoo.org/general-concepts/install-destinations/index.html

Хм, посмотрел внимательнее, dobin вроде бы уже добавляет ${D}/${ED} к
пути устанавливаемого файла, так что должно работать. А какая версия
Portage?

Ещё sysshot в этом ебилде не учитывает при сборке пользовательские
LDFLAGS, а по-хорошему должен.
--
Happy Hacking.

http://dzhus.org


Reply | Threaded
Open this post in threaded view
|

Re: Re: Размещение ebuild

Alexander Tiurin-2
On Sun, 08 May 2011 13:06:06 +0400
Dmitry Dzhus <[hidden email]> wrote:

DD> Dmitry Dzhus wrote:
DD>
DD> > Подробнее здесь:
DD> > http://devmanual.gentoo.org/general-concepts/install-destinations/index.html
DD>
DD> Хм, посмотрел внимательнее, dobin вроде бы уже добавляет ${D}/${ED}
DD> к пути устанавливаемого файла, так что должно работать. А какая
DD> версия Portage?

Portage 2.1.9.42
Если я правильно понимаю,то по идее должно, потому, что переделанный
ебилд для tcl-snmptools работает и выглядит так

EAPI=4

DESCRIPTION="A Tcl package that provides SNMP tools for managing remote
Agents" HOMEPAGE="http://sourceforge.net/projects/tcl-snmptools/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"

LICENSE="GPL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="threads"

DEPEND=""
RDEPEND="${DEPEND} dev-lang/tcl"

src_compile() {
                if [[ ACRH -eq "x86_64" ]] ; then
                        econf $(use_enable threads) --enable-64bit
                else
                        econf $(use_enable threads)
                fi
}
 


DD> Ещё sysshot в этом ебилде не учитывает при сборке пользовательские
DD> LDFLAGS, а по-хорошему должен.

ок


Reply | Threaded
Open this post in threaded view
|

Re: Re: Размещение ebuild

A.Vinogradov
В сообщении от 8 мая 2011 12:45:30 автор Alexander Tiurin написал:

> On Sun, 08 May 2011 13:06:06 +0400
> Dmitry Dzhus <[hidden email]> wrote:
>
> DD> Dmitry Dzhus wrote:
> DD>
> DD> > Подробнее здесь:
> DD> >
> http://devmanual.gentoo.org/general-concepts/install-destinations/index.ht
> ml DD>
> DD> Хм, посмотрел внимательнее, dobin вроде бы уже добавляет ${D}/${ED}
> DD> к пути устанавливаемого файла, так что должно работать. А какая
> DD> версия Portage?
>
> Portage 2.1.9.42
> Если я правильно понимаю,то по идее должно, потому, что переделанный
> ебилд для tcl-snmptools работает и выглядит так
>
> EAPI=4
>
> DESCRIPTION="A Tcl package that provides SNMP tools for managing remote
> Agents" HOMEPAGE="http://sourceforge.net/projects/tcl-snmptools/"
> SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
>
> LICENSE="GPL"
> SLOT="0"
> KEYWORDS="~amd64 ~x86"
> IUSE="threads"
>
> DEPEND=""
> RDEPEND="${DEPEND} dev-lang/tcl"
>
> src_compile() {
> if [[ ACRH -eq "x86_64" ]] ; then
> econf $(use_enable threads) --enable-64bit
> else
> econf $(use_enable threads)
> fi
> }
>
>
>
> DD> Ещё sysshot в этом ебилде не учитывает при сборке пользовательские
> DD> LDFLAGS, а по-хорошему должен.
>
> ок
совсем не так :(
еконф в src_compile вместо  src_configure
Reply | Threaded
Open this post in threaded view
|

Re: Re: Размещение ebuild

Alexander Tiurin-2
On Sun, 8 May 2011 13:07:46 +0300
Андрей <[hidden email]> wrote:

> В сообщении от 8 мая 2011 12:45:30 автор Alexander Tiurin написал:
> > On Sun, 08 May 2011 13:06:06 +0400
> > Dmitry Dzhus <[hidden email]> wrote:
> >
> > DD> Dmitry Dzhus wrote:
> > DD>
> > DD> > Подробнее здесь:
> > DD> >
> > http://devmanual.gentoo.org/general-concepts/install-destinations/index.ht
> > ml DD>
> > DD> Хм, посмотрел внимательнее, dobin вроде бы уже добавляет
> > DD> ${D}/${ED} к пути устанавливаемого файла, так что должно
> > DD> работать. А какая версия Portage?
> >
> > Portage 2.1.9.42
> > Если я правильно понимаю,то по идее должно, потому, что переделанный
> > ебилд для tcl-snmptools работает и выглядит так
> >
> > EAPI=4
> >
> > DESCRIPTION="A Tcl package that provides SNMP tools for managing
> > remote Agents"
> > HOMEPAGE="http://sourceforge.net/projects/tcl-snmptools/"
> > SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
> >
> > LICENSE="GPL"
> > SLOT="0"
> > KEYWORDS="~amd64 ~x86"
> > IUSE="threads"
> >
> > DEPEND=""
> > RDEPEND="${DEPEND} dev-lang/tcl"
> >
> > src_compile() {
> > if [[ ACRH -eq "x86_64" ]] ; then
> > econf $(use_enable threads) --enable-64bit
> > else
> > econf $(use_enable threads)
> > fi
> > }
> >
> >
> >
> > DD> Ещё sysshot в этом ебилде не учитывает при сборке
> > DD> пользовательские LDFLAGS, а по-хорошему должен.
> >
> > ок
> совсем не так :(
> еконф в src_compile вместо  src_configure

Да, точно, QA notice не заметил.


Reply | Threaded
Open this post in threaded view
|

Re: Re: Размещение ebuild

pva0xd
In reply to this post by Alexander Tiurin-2
В Вск, 08/05/2011 в 03:14 +0400, Alexander Tiurin пишет:
> EAPI=4
[...]
> src_install() {
> cd ${WORKDIR}/${P} || die

cd не нужен... S=${WORKDIR}/${P} задан по умолчанию.

> dobin sysshot || die
> dodoc README NEWS AUTHORS COPYING || die

|| die не нужен, так как в EAPI=4 dobin, dodoc и подобные умирают и без
него.

> Возникает вопрос, правильно ли применять eapi 4 в gentoo
> arch?

Да. Последний стабильный portage поддерживает EAPI=4 и значит проблем
быть не должно.

В Вск, 08/05/2011 в 13:45 +0400, Alexander Tiurin пишет:
> src_compile() {
> if [[ ACRH -eq "x86_64" ]] ; then

Подозревают здесь должно быть ${ARCH} иначе результат теста заранее
определён ;)

--
Peter.


Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: Размещение ebuild

alex3163
Подскажите, пожалуйста в каком направлении "копать", при установке минимального дистрибутива gentoo для ia64 на сервер Hewlett Packard blade bl860c установка зависает на Starting local    [ok], а затем putty разрывает сессию с mp-консолью сервера по тайм-ауту. Я перепробовал множество параметров, передаваемых ядру при установке (nosata, slowusb, scandelay, nofirewire, nosound, nox, docache, dolvm) - результат тот же...

Reply | Threaded
Open this post in threaded view
|

Re: Re: [gentoo-user-ru] Re: Размещение ebuild

Andrew A. Sabitov
Quoting alex3163 <[hidden email]>:

> Подскажите, пожалуйста в каком направлении "копать", при установке  
> минимального дистрибутива gentoo для ia64 на сервер Hewlett Packard  
> blade bl860c установка зависает на Starting local    [ok], а затем  
> putty разрывает сессию с mp-консолью сервера по тайм-ауту. Я  
> перепробовал множество параметров, передаваемых ядру при установке  
> (nosata, slowusb, scandelay, nofirewire, nosound, nox, docache,  
> dolvm) - результат тот же...
>

Дык, а какие сервисы стартуют? rc-config list в студию, плс



Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: Размещение ebuild

Андрей Буров
In reply to this post by alex3163

16 мая 2011 г. 19:32 пользователь alex3163 <[hidden email]> написал:
Подскажите, пожалуйста в каком направлении "копать", при установке минимального дистрибутива gentoo для ia64 на сервер Hewlett Packard blade bl860c установка зависает на Starting local    [ok], а затем putty разрывает сессию с mp-консолью сервера по тайм-ауту. Я перепробовал множество параметров, передаваемых ядру при установке (nosata, slowusb, scandelay, nofirewire, nosound, nox, docache, dolvm) - результат тот же...


Он на самом деле не зависает, просто консоль отваливается.. попробуйте другой LiveCD


--
Andrey Burov aka burik666
ICQ: 262631594
Jabber: [hidden email]