* [devel] gear - сборка пакетов
@ 2006-05-04 17:46 Anton Farygin
2006-05-04 20:21 ` Dmitry V. Levin
2006-05-04 20:49 ` Alexey I. Froloff
0 siblings, 2 replies; 11+ messages in thread
From: Anton Farygin @ 2006-05-04 17:46 UTC (permalink / raw)
To: ALT Devel discussion list
Привет.
Есть пожелание к gear - сделать возможным локальную сборку.
Т.е. - хочется стандартного поведения rpm'а:
rpm -bp
rpm -ba
и т.д.
С созданием всех каталогов в текущем каталоге git'а (ну или настраиваемо).
А то сейчас:
1) что бы проверить каждое изменение - надо делать commit
2) сделать патч - приходится искать место, где идёт сборка.
Ну и т.д.
В общем хочется что бы всё изменялось в текущем каталоге. Может быть в
каком-то специальном режиме работы gear.
Rgds,
Rider
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-04 17:46 [devel] gear - сборка пакетов Anton Farygin
@ 2006-05-04 20:21 ` Dmitry V. Levin
2006-05-04 21:10 ` Alexey I. Froloff
` (2 more replies)
2006-05-04 20:49 ` Alexey I. Froloff
1 sibling, 3 replies; 11+ messages in thread
From: Dmitry V. Levin @ 2006-05-04 20:21 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 799 bytes --]
On Thu, May 04, 2006 at 09:46:25PM +0400, Anton Farygin wrote:
> Есть пожелание к gear - сделать возможным локальную сборку.
>
> Т.е. - хочется стандартного поведения rpm'а:
>
> rpm -bp
> rpm -ba
> и т.д.
>
> С созданием всех каталогов в текущем каталоге git'а (ну или настраиваемо).
Это не сложно сделать, предлагайте синтаксис.
> А то сейчас:
> 1) что бы проверить каждое изменение - надо делать commit
Я бы не хотел этого менять. С другой стороны, есть типовой приём:
git-commit -a -m wip && (gear .git --rpm -- rpmbuild -bi; git-reset --soft HEAD^)
Его можно "спрятать" внутри gear, предлагайте синтаксис.
> В общем хочется что бы всё изменялось в текущем каталоге. Может быть в
> каком-то специальном режиме работы gear.
Я ничего не имею против.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-04 17:46 [devel] gear - сборка пакетов Anton Farygin
2006-05-04 20:21 ` Dmitry V. Levin
@ 2006-05-04 20:49 ` Alexey I. Froloff
2006-05-05 4:39 ` Anton Farygin
1 sibling, 1 reply; 11+ messages in thread
From: Alexey I. Froloff @ 2006-05-04 20:49 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1.1: Type: text/plain, Size: 1122 bytes --]
* Anton Farygin <rider@> [060504 21:49]:
> С созданием всех каталогов в текущем каталоге git'а (ну или
> настраиваемо).
Я написал чудной кривизны "враппер" для rpm - подставляет нужный
.rpmmacros в зависимости от текущего каталога.
$ cat ~/.rpmwraprc
RPM_PREFIX="/usr/bin"
RPM="$RPM_PREFIX/rpm"
macrofile=".rpmwrapmacros"
allow_prefix="$HOME/src/BTE:$HOME/src/gitsnaps/packages"
$ cat ~/src/gitsnaps/packages/.rpmwrapmacros
%_topdir %homedir/src/gitsnaps/packages
%_topsrcdir %{_topdir}/%{name}
%_builddir %{_topdir}/%{name}/work
%_sourcedir %{_topsrcdir}/files
%_specdir %{_topsrcdir}
$ cat ~/src/BTE/.rpmwrapmacros
%_topdir %homedir/src/BTE/RPM
%_topsrcdir %{_topdir}/%{name}
%_builddir %{_topdir}/%{name}/work
%_sourcedir %{_topsrcdir}/files
%_specdir %{_topsrcdir}
$ ls -Alog ~/bin/rpm*
lrwxrwxrwx 1 10 May 1 14:47 ~/bin/rpm -> rpmwrapper
lrwxrwxrwx 1 10 May 1 14:47 ~/bin/rpmbuild -> rpmwrapper
-rwxr-xr-x 1 1038 May 5 00:42 ~/bin/rpmwrapper
Думаю, принцип понятен? Критика приветствуется.
--
Regards,
Sir Raorn.
[-- Attachment #1.2: rpmwrapper --]
[-- Type: text/plain, Size: 1038 bytes --]
#!/bin/sh -efu
PROG="${0##*/}"
etc="/etc/rpm"
[ "$0" = "./$PROG" ] && etc="." ||:
[ -f $etc/rpmwraprc ] && . $etc/rpmwraprc ||:
[ -f ~/.rpmwraprc ] && . ~/.rpmwraprc ||:
: ${RPM_PREFIX:="/usr/bin"}
: ${RPM:="$RPM_PREFIX/rpm"}
: ${macrofile:=".rpmwrapmacros"}
cwd="$(pwd)"
prefix=""
args=""
sIFS="$IFS"
IFS=":"
for i in $allow_prefix; do
case "$cwd" in
$i/*|$i)
[ -f "$i/$macrofile" ] && prefix="$i" ||:
;;
*)
continue
;;
esac
done
IFS="$sIFS"
rpmrc=
exit_handler()
{
local rc=$?
trap - EXIT
[ -z "$rpmrc" ] || rm -r -- "$rpmrc"
exit $rc
}
if [ -n "$prefix" ]; then
rpmrc="$(mktemp -t "$PROG-rpmrc.XXXXXXXX")"
trap exit_handler HUP PIPE INT QUIT TERM EXIT
macrofiles="$($RPM --showrc| grep macrofiles)"
macrofiles="${macrofiles#macrofiles}"
macrofiles="${macrofiles#*:}"
args="--rcfile=$rpmrc"
cat <<EOF > "$rpmrc"
include: /usr/lib/rpm/rpmrc
macrofiles: ${macrofiles+$macrofiles:}$prefix/$macrofile
EOF
fi
[ -x "$RPM_PREFIX/$PROG" ] && "$RPM_PREFIX/$PROG" $args "$@"
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-04 20:21 ` Dmitry V. Levin
@ 2006-05-04 21:10 ` Alexey I. Froloff
2006-05-04 21:43 ` Dmitry V. Levin
2006-05-05 4:35 ` Anton Farygin
2006-05-11 10:07 ` Kirill A. Shutemov
2 siblings, 1 reply; 11+ messages in thread
From: Alexey I. Froloff @ 2006-05-04 21:10 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 636 bytes --]
* Dmitry V. Levin <ldv@> [060505 00:30]:
> Я бы не хотел этого менять.
Я тоже...
> С другой стороны, есть типовой приём:
> git-commit -a -m wip && (gear .git --rpm -- rpmbuild -bi; git-reset --soft HEAD^)
> Его можно "спрятать" внутри gear, предлагайте синтаксис.
Одна проблема - gear сам по себе работает Довольно Значительное
Время, особенно на больших архивах. Но можно сделать что-то
типа:
Source: ...%name-%version.tar%{!?_without_bz2:.bz2}
rpmbuild -bi --without bz2 name.spec
Уверен что можно придумать решение изящнее. Но это только для
случая, когда в git кладутся архивы...
--
Regards,
Sir Raorn.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-04 21:10 ` Alexey I. Froloff
@ 2006-05-04 21:43 ` Dmitry V. Levin
0 siblings, 0 replies; 11+ messages in thread
From: Dmitry V. Levin @ 2006-05-04 21:43 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 798 bytes --]
On Fri, May 05, 2006 at 01:10:20AM +0400, Alexey I. Froloff wrote:
[...]
> Одна проблема - gear сам по себе работает Довольно Значительное
> Время, особенно на больших архивах.
Большую часть этого времени занимает bzip2.
Если тарболлы жать gzip'ом или просто копировать, то скорость работы
заметно вырастет. В будущем жать тарболлы станет совсем ненужно.
Не стоит забывать, что rpmbuild тоже жмёт весь payload.
> Но можно сделать что-то
> типа:
>
> Source: ...%name-%version.tar%{!?_without_bz2:.bz2}
>
> rpmbuild -bi --without bz2 name.spec
>
> Уверен что можно придумать решение изящнее.
Мне тоже так кажется.
> Но это только для случая, когда в git кладутся архивы...
Какая разница. Если там живут деревья, узкое место будет то же самое -
bzip2.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-04 20:21 ` Dmitry V. Levin
2006-05-04 21:10 ` Alexey I. Froloff
@ 2006-05-05 4:35 ` Anton Farygin
2006-05-11 10:07 ` Kirill A. Shutemov
2 siblings, 0 replies; 11+ messages in thread
From: Anton Farygin @ 2006-05-05 4:35 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Thu, May 04, 2006 at 09:46:25PM +0400, Anton Farygin wrote:
>> Есть пожелание к gear - сделать возможным локальную сборку.
>>
>> Т.е. - хочется стандартного поведения rpm'а:
>>
>> rpm -bp
>> rpm -ba
>> и т.д.
gear-build <опции rpm> <спек>
>>
>> С созданием всех каталогов в текущем каталоге git'а (ну или настраиваемо).
>
> Это не сложно сделать, предлагайте синтаксис.
>
>> А то сейчас:
>> 1) что бы проверить каждое изменение - надо делать commit
>
> Я бы не хотел этого менять. С другой стороны, есть типовой приём:
> git-commit -a -m wip && (gear .git --rpm -- rpmbuild -bi; git-reset --soft HEAD^)
> Его можно "спрятать" внутри gear, предлагайте синтаксис.
Синтаксис такой же (gear-build <опции rpm> <спек>)
>
>> В общем хочется что бы всё изменялось в текущем каталоге. Может быть в
>> каком-то специальном режиме работы gear.
>
> Я ничего не имею против.
Thnx. Это, кстати, можно сделать настраиваемым.
в целом мне понравилось. Осталось только понять как с минимальными
затратами конвертнуть мой subversion.
Rgds,
Rider
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-04 20:49 ` Alexey I. Froloff
@ 2006-05-05 4:39 ` Anton Farygin
2006-05-05 5:25 ` Alexey I. Froloff
0 siblings, 1 reply; 11+ messages in thread
From: Anton Farygin @ 2006-05-05 4:39 UTC (permalink / raw)
To: ALT Devel discussion list
Alexey I. Froloff wrote:
> * Anton Farygin <rider@> [060504 21:49]:
>> С созданием всех каталогов в текущем каталоге git'а (ну или
>> настраиваемо).
> Я написал чудной кривизны "враппер" для rpm - подставляет нужный
> .rpmmacros в зависимости от текущего каталога.
>
> $ cat ~/.rpmwraprc
> RPM_PREFIX="/usr/bin"
> RPM="$RPM_PREFIX/rpm"
> macrofile=".rpmwrapmacros"
> allow_prefix="$HOME/src/BTE:$HOME/src/gitsnaps/packages"
>
> $ cat ~/src/gitsnaps/packages/.rpmwrapmacros
> %_topdir %homedir/src/gitsnaps/packages
> %_topsrcdir %{_topdir}/%{name}
> %_builddir %{_topdir}/%{name}/work
> %_sourcedir %{_topsrcdir}/files
> %_specdir %{_topsrcdir}
>
> $ cat ~/src/BTE/.rpmwrapmacros
> %_topdir %homedir/src/BTE/RPM
> %_topsrcdir %{_topdir}/%{name}
> %_builddir %{_topdir}/%{name}/work
> %_sourcedir %{_topsrcdir}/files
> %_specdir %{_topsrcdir}
>
> $ ls -Alog ~/bin/rpm*
> lrwxrwxrwx 1 10 May 1 14:47 ~/bin/rpm -> rpmwrapper
> lrwxrwxrwx 1 10 May 1 14:47 ~/bin/rpmbuild -> rpmwrapper
> -rwxr-xr-x 1 1038 May 5 00:42 ~/bin/rpmwrapper
>
> Думаю, принцип понятен? Критика приветствуется.
Да, идея понятно. Только здесь есть несколько нюансов:
- при всём этом хотелось бы оставить старое поведение rpm'а в силе.
- некоторые пакеты отрицательно относятся к такого рода фокусам с
макросами. За этим были замечены модули python.
Я и сам использую некий rpm макрос, который изменяет корневые каталоги
согласно name.
Но в идеале хотелось бы получить всё-таки подобное поведение из gear.
Rgds,
Rider
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-05 4:39 ` Anton Farygin
@ 2006-05-05 5:25 ` Alexey I. Froloff
2006-05-05 9:52 ` Anton Farygin
0 siblings, 1 reply; 11+ messages in thread
From: Alexey I. Froloff @ 2006-05-05 5:25 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 759 bytes --]
* Anton Farygin <rider@> [060505 08:40]:
> > Думаю, принцип понятен? Критика приветствуется.
> Да, идея понятно. Только здесь есть несколько нюансов:
> - при всём этом хотелось бы оставить старое поведение rpm'а в силе.
Вне каталогов, перечисленных в $allow_prefix сохраняется старое
поведение.
> - некоторые пакеты отрицательно относятся к такого рода фокусам с
> макросами. За этим были замечены модули python.
Быть такого не может. Значит это пакет кривой.
> Но в идеале хотелось бы получить всё-таки подобное поведение из gear.
Тем же самым способом ;-)
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-05 5:25 ` Alexey I. Froloff
@ 2006-05-05 9:52 ` Anton Farygin
2006-05-05 10:54 ` Alexey I. Froloff
0 siblings, 1 reply; 11+ messages in thread
From: Anton Farygin @ 2006-05-05 9:52 UTC (permalink / raw)
To: ALT Devel discussion list
Alexey I. Froloff wrote:
> * Anton Farygin <rider@> [060505 08:40]:
>>> Думаю, принцип понятен? Критика приветствуется.
>> Да, идея понятно. Только здесь есть несколько нюансов:
>
>> - при всём этом хотелось бы оставить старое поведение rpm'а в силе.
> Вне каталогов, перечисленных в $allow_prefix сохраняется старое
> поведение.
Ага.. слона то я и не заметил ;)
А buildreq ты так же гоняешь ?
>
>> - некоторые пакеты отрицательно относятся к такого рода фокусам с
>> макросами. За этим были замечены модули python.
> Быть такого не может. Значит это пакет кривой.
там не пакет, а макрос из build-python. Но впрочем я уже не помню что
там было.
>
>> Но в идеале хотелось бы получить всё-таки подобное поведение из gear.
> Тем же самым способом ;-)
Сейчас попробуем ;)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-05 9:52 ` Anton Farygin
@ 2006-05-05 10:54 ` Alexey I. Froloff
0 siblings, 0 replies; 11+ messages in thread
From: Alexey I. Froloff @ 2006-05-05 10:54 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 640 bytes --]
* Anton Farygin <rider@> [060505 13:52]:
> А buildreq ты так же гоняешь ?
buildreq --rpm=~/bin/rpm name.spec
> >> - некоторые пакеты отрицательно относятся к такого рода фокусам с
> >> макросами. За этим были замечены модули python.
> > Быть такого не может. Значит это пакет кривой.
> там не пакет, а макрос из build-python. Но впрочем я уже не помню что
> там было.
Видимо он криво (пере)определял %name. GeoIP у меня например
пересобрался.
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [devel] gear - сборка пакетов
2006-05-04 20:21 ` Dmitry V. Levin
2006-05-04 21:10 ` Alexey I. Froloff
2006-05-05 4:35 ` Anton Farygin
@ 2006-05-11 10:07 ` Kirill A. Shutemov
2 siblings, 0 replies; 11+ messages in thread
From: Kirill A. Shutemov @ 2006-05-11 10:07 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1102 bytes --]
On 00:21 Fri 05 May, Dmitry V. Levin wrote:
> On Thu, May 04, 2006 at 09:46:25PM +0400, Anton Farygin wrote:
> > Есть пожелание к gear - сделать возможным локальную сборку.
> >
> > Т.е. - хочется стандартного поведения rpm'а:
> >
> > rpm -bp
> > rpm -ba
> > и т.д.
> >
> > С созданием всех каталогов в текущем каталоге git'а (ну или настраиваемо).
>
> Это не сложно сделать, предлагайте синтаксис.
>
> > А то сейчас:
> > 1) что бы проверить каждое изменение - надо делать commit
>
> Я бы не хотел этого менять. С другой стороны, есть типовой приём:
> git-commit -a -m wip && (gear .git --rpm -- rpmbuild -bi; git-reset --soft HEAD^)
> Его можно "спрятать" внутри gear, предлагайте синтаксис.
Может [--local|-l] ?
--
Kirill A. Shutemov Belarus, Minsk
E-mail: k.shutemov (AT) sam-solutions.net
JID: kas (AT) altlinux.org
ICQ: 152302675
Все биллинговые системы, которые я видел, либо сделаны самостоятельно,
либо куплены и доработаны до неузнаваемости. Это из того же комплекта
поставки, что и кнопка "чтобы всё работало", к сожалению.
-- pilot in sisyphus@
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2006-05-11 10:07 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-04 17:46 [devel] gear - сборка пакетов Anton Farygin
2006-05-04 20:21 ` Dmitry V. Levin
2006-05-04 21:10 ` Alexey I. Froloff
2006-05-04 21:43 ` Dmitry V. Levin
2006-05-05 4:35 ` Anton Farygin
2006-05-11 10:07 ` Kirill A. Shutemov
2006-05-04 20:49 ` Alexey I. Froloff
2006-05-05 4:39 ` Anton Farygin
2006-05-05 5:25 ` Alexey I. Froloff
2006-05-05 9:52 ` Anton Farygin
2006-05-05 10:54 ` Alexey I. Froloff
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git