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 $