Bug#2546: dpkg inappropriately marks packages as installed
Raul Miller writes ("dpkg inappropriately marks packages as installed"):
...
> dpkg apparently doesn't necessarily set all the execute bits before it
> marks a package as installed. I believe all of these were installed
> using version 1.1.0 -- I don't know how I'd verify that.
It sets the execute bits `on demand' when it tries to execute the
script, so I would expect that packages whose scripts aren't
executable would have at least the prerm and postrm with their
original permissions.
> Below is an automatically generated list of packages which appear to
> be installed, and which have associated with them unexecutable
> programs in either /var/lib/dpkg/info/ or /usr/bin
dpkg will not do anything to the permissions of files in /usr/bin - if
the package is broken there dpkg won't fix it.
I've checked my system and I can't find any unexectable scripts that
aren't prerm/postrm scripts of packages I've not removed yet. Are you
sure that these scripts weren't installed using a version of dpkg
prior to 0.93.50 ? (I believe that's the first version which would
set the permissions.)
I've modified dpkg-deb to refuse to build packages with not-executable
maintainer scripts; this will be in 1.1.3.
...
> As an aside: I'm almost (but not quite) certain that dpkg hit a file
> system full watermark during the installation run that probably
> installed these files. I don't have enough information on this event
> to make a real solid bug report, and I don't have the time to play
> around with dpkg behavior under partition full conditions. [Briefly,
> when a belated df reported I had a couple megs left, I started some
> recursive rm's on some junk in some non-critical areas of my system
> (e.g. sudo rm -rf /usr/src/ftap*&). It took some time to get
> these going ]
dpkg shouldn't make too much of a mess when this happens. Many
packages will be left in a half-configured state, but retrying the
installation when more disk space is available should fix everything.
Ian.
Reply to: