[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dpkg behavior when following symlinks


I am the current maintainer of opkg, dpkg's little brother used mainly 
for embedded systems. Opkg uses dpkg control file syntax, and follows 
debian policy (for the most part). Recently, a bug [1] was opened 
against opkg regarding symlinks. Basically, debian policy states that 
symlinks should be followed, when installing files. But, empirically, I 
don't see that:

(bb) adelcast@delcastillo2 ~/dpkg $ tree a_1.0
│   └── control
├── myfile
└── tmp
     ├── lib
     └── lib64 -> lib/

4 directories, 2 files
(bb) adelcast@delcastillo2 ~/dpkg $ tree b_1.0
│   └── control
├── myfile2
└── tmp
     └── lib64
         └── otherfile

(bb) adelcast@delcastillo2 ~/dpkg $ sudo dpkg -i a_1.0.deb
Selecting previously unselected package a.
(Reading database ... 620831 files and directories currently installed.)
Preparing to unpack a_1.0.deb ...
Unpacking a (1.0) ...
Setting up a (1.0) ...
(bb) adelcast@delcastillo2 ~/dpkg $ sudo dpkg -i b_1.0.deb
Selecting previously unselected package b.
(Reading database ... 620834 files and directories currently installed.)
Preparing to unpack b_1.0.deb ...
Unpacking b (1.0) ...
dpkg: error processing archive b_1.0.deb (--install):
  trying to overwrite '/tmp/lib64', which is also in package a 1.0
Errors were encountered while processing:

Can someone clarify why dpkg is behaving this way? Or am I 
misinterpreting Debian standards?


[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=13574#c4


Reply to: