[devel] gear - сборка пакетов
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_immo=2Eru?=
Пт Май 5 00:49:10 MSD 2006
* 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.
----------- следующая часть -----------
#!/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 "$@"
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060505/7b47e3ca/attachment-0001.bin>
Подробная информация о списке рассылки Devel