[devel] Re: buildreq
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_binec=2Eru?=
Сб Май 24 02:48:06 MSD 2003
On Thu, May 22, 2003 at 05:32:38PM +0400, Dmitry V. Levin wrote:
> > > > Почему именно так? Не лучше ли:
> > > Кажется, лучше.
> > > Никто не против?
> > Надо бы какой-нибудь Package Naming Policy под это дело
> > подвести... На docs.altlinux.ru пусто ;-)
> Я принимаю пожелания в виде патчей к Sisyphus/doc/alt-packaging/.
Посмотрел-посмотрел в conventions.tex и что-то не получилось у
меня описать свою идею в соответствии с coding style. Может кто
здесь поможет? Хотя это даже наверно не идея, а описание того,
что сейчас есть в Sisyphus.
Библиотеки:
а) начинаются с lib (libpng)
б) содержат в своём имени lib (glibc, jamlib)
в) имеют суффикс -libs (XFree86-libs)
1.
Stand-alone библиотеки могут быть только а) и б), все как обычно,
%name, %name-devel и %name-devel-static.
Примеры - jamlib, libffcall
Зависимости:
%name-devel: %name = %version-%release
%name-devel-static: %name-devel = %version-%release
2.
Пакеты (программы), содержащие в себе одну-две разделяемые
библиотеки разбиваются на %name, lib%name, %name-devel и
%name-devel-static (_НЕ_ lib%name-devel и lib%name-devel-static)
Примеры - ffmpeg, directfb.
( С другой стороны, xmms использует lib%name-devel )
Зависимости:
%name: lib%name = %version-%release
%name-devel: %name = %version-%release
%name-devel-static: %name-devel = %version-%release
3.
Библиотеки, содержащие некий набор утилит, разбиваются на %name
(в данном случае %name уже содержит "lib" - jamlib, libpng),
%name-devel, %name-devel-static и %name-utils.
Примеры - libjpeg, libdv.
Зависимости:
%name-devel: %name = %version-%release
%name-devel-static: %name-devel = %version-%release
%name-utils: %name = %version-%release
4.
Программы, содержащие большое количество разделяемых библиотек
разбиваются на %name, %name-libs, %name-devel и %name-static-libs.
Примеры - XFree86, quakeforge
Зависимости:
%name: %name-libs = %version-%release
%name-devel: %name = %version-%release
%name-static-libs: %name-devel = %version-%release
Учитывая всё это процесс "очистки" зависимостей должен выглядеть
следующим образом:
CLEAN_REQS=
for r in $REQS; do
# Варианты 1. и 3.
echo "$REQS" |grep -qs "^$r-devel" && continue ||:
# Вариант 2.
rs="${r#lib}"
if [ "$rs" != "$r" ];then
echo "$REQS" |grep -qs "^$rs-devel" && continue ||:
fi
# Вариант 4.
rs="${r%-libs}"
if ["$rs" != "$r" -a -n "${r#*-static-libs}" ];then
echo "$REQS" |grep -qs "^$rs-devel" && continue ||:
fi
CLEAN_REQS="$CLEAN_REQS $r"
done
P.S. Спать надо если не больше, то регулярней... :-/ Это я про
себя.
--
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20030524/2fed8b85/attachment-0001.bin>
Подробная информация о списке рассылки Devel