Bug#841051: Can't open /grub-mkconfig_lib on upgrade due to empty $pkgdatadir

Martin Steigerwald martin at lichtvoll.de
Mon Oct 17 14:39:37 UTC 2016


Am Montag, 17. Oktober 2016, 12:46:30 CEST schrieb Colin Watson:
> On Mon, Oct 17, 2016 at 12:30:37PM +0200, Martin Steigerwald wrote:
> > Am Montag, 17. Oktober 2016, 10:02:43 CEST schrieb Colin Watson:
> > > On Mon, Oct 17, 2016 at 10:28:56AM +0200, Martin Steigerwald wrote:
> > > > Generating grub configuration file ...
> > > > /etc/grub.d/00_header: 30: .: Can't open /grub-mkconfig_lib
> > > 
> > > pkgdatadir is supposed to be exported by grub-mkconfig.  Could you
> > > please change "set -e" at the top of /usr/sbin/grub-mkconfig to
> > > "set -ex", try this again, and send me the output?
> > 
> > It is set. But I do not see an export of the variable anywhere in the
> > script.
> > 
> > Anyway, here is output:
> > 
> > merkaba:~> LANG=C apt upgrade
> > Reading package lists... Done
> > Building dependency tree
> > Reading state information... Done
> > Calculating upgrade... Done
> > 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
> > 1 not fully installed or removed.
> > After this operation, 0 B of additional disk space will be used.
> > Do you want to continue? [Y/n]
> > Setting up grub-pc (2.02~beta3-1) ...
> > device node not found
> > device node not found
> > device node not found
> > device node not found
> > Installing for i386-pc platform.
> > Installation finished. No error reported.
> > Installing for i386-pc platform.
> > Installation finished. No error reported.
> > + prefix=/usr
> > + exec_prefix=/usr
> > + datarootdir=/usr/share
> > + prefix=/usr
> > + exec_prefix=/usr
> > + sbindir=/usr/sbin
> > + bindir=/usr/bin
> > + sysconfdir=/etc
> > + PACKAGE_NAME=GRUB
> > + PACKAGE_VERSION=2.02~beta2-17
> 
> For some reason you have a thoroughly obsolete version of grub-mkconfig.
> Your report said that you have grub-common 2.02~beta3-1, but the above
> is clearly from 2.02~beta2-17.  I suspect that you have a local
> diversion of /usr/sbin/grub-mkconfig.  Try "dpkg-divert --listpackage
> /usr/sbin/grub-mkconfig"?

Uhhm, that rings a bell.

I may have diverted this for adding BTRFS RAID 1 support at some time:

Bug#747653 grub2-common: update-grub adds both devices and a line feed for 
BTRFS RAID 1 setup
https://bugs.debian.org/747653 

Yes I did:

merkaba:~> dpkg-divert --listpackage /usr/sbin/grub-mkconfig
LOCAL

I removed the divert with:

merkaba:~> dpkg-divert --remove /usr/sbin/grub-mkconfig

merkaba:~> dpkg-divert --listpackage /usr/sbin/grub-mkconfig
merkaba:~>

But the old file is still there. I just apt-get downloaded grub-common and 
reinstalled it with dpkg -i. This appears to have restored the new file. 
update-grub works now and just uses the UUID, so my own patch is no longer 
necessary.

Sorry for the noise. Feel free to close.

Ciao,
-- 
Martin



More information about the Pkg-grub-devel mailing list