[devel] bad paths in rpm packages
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Мар 25 06:08:51 MSK 2008
On Tue, Mar 25, 2008 at 05:50:03AM +0300, Alexey Tourbin wrote:
> Но тут всплыла другая проблема: путь может быть каноничен,
> но не кошерен. rpm позволяет запаковать некошерный путь:
>
> %install
> install -pD /dev/null %buildroot/etc/rc.d/init.d/functions
> ln -s rc.d/init.d %buildroot/etc/init.d
> %files
> /etc/init.d/functions
>
> $ rpm -bb test.spec
> ...
> warning: Installed (but unpackaged) file(s) found:
> /etc/init.d
> /etc/rc.d/init.d/functions
> Wrote: /home/at/RPM/RPMS/athlon/test-1.0-alt1.athlon.rpm
> $ rpm -qlvp /home/at/RPM/RPMS/athlon/test-1.0-alt1.athlon.rpm
> -rwxr-xr-x 1 root root 0 Mar 20 18:50 /etc/init.d/functions
> $
Хужее того, rpm охотно формирует пакет, который заведомо нельзя
установить:
%install
install -pD /dev/null %buildroot/foo/rc.d/init.d/functions
ln -s rc.d/init.d %buildroot/foo/init.d
%files
/foo/init.d/functions
/foo/init.d
lrwxrwxrwx 1 root root 11 Mar 25 06:05 /foo/init.d -> rc.d/init.d
-rwxr-xr-x 1 root root 0 Mar 20 18:50 /foo/init.d/functions
$ sudo rpm -iv /home/at/RPM/RPMS/athlon/test-1.0-alt1.athlon.rpm
Preparing packages for installation...
test-1.0-alt1
error: unpacking of archive failed on file /foo/init.d: cpio: rename failed - Is a directory
$
$ find /foo -ls
261633 4 drwxr-xr-x 3 root root 4096 Mar 25 06:05 /foo
261655 4 drwxr-xr-x 2 root root 4096 Mar 25 06:05 /foo/init.d
261675 0 lrwxrwxrwx 1 root root 11 Mar 25 06:05 /foo/init.d;47e86bfb -> rc.d/init.d
$
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080325/26c83aeb/attachment-0002.bin>
Подробная информация о списке рассылки Devel