Bug#924666: invoke-rc.d: syntax error: unknown option "--skip-systemd-native"

2019-03-16 Thread Andrej Shadura
On Sat, 16 Mar 2019 at 12:33, Jean-Marc LACROIX
 wrote:
> Hi,
>
> According to previous tests, due to a serious bug in the
> post-installation scripts, it is no longer possible to reinstall or
> remove any type of package. The system is then definitely unusable.

hostapd from buster Pre-Depends on init-system-helpers >= 1.54 which
supports the required option.

> Many thanks To William Bonnet for his support on Debian systems

I don’t know who William Bonnet is.

-- 
Cheers,
  Andrej



Bug#924666: invoke-rc.d: syntax error: unknown option "--skip-systemd-native"

2019-03-16 Thread Jean-Marc LACROIX

Hi,

According to previous tests, due to a serious bug in the 
post-installation scripts, it is no longer possible to reinstall or 
remove any type of package. The system is then definitely unusable.


Thanks in advance to apply following patch 

To reproduce :

step 1: no hostapd on the system

ansible@srv-authenticator-100:~$ dpkg -l |grep hostapd
ansible@srv-authenticator-100:~$

step 2: install buster release

ansible@srv-authenticator-100:~$ sudo apt -t buster install hostapd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  hostapd
0 upgraded, 1 newly installed, 0 to remove and 303 not upgraded.
Need to get 0 B/777 kB of archives.
After this operation, 2081 kB of additional disk space will be used.
Selecting previously unselected package hostapd.
(Reading database ... 23028 files and directories currently installed.)
Preparing to unpack .../hostapd_2%3a2.7+git20190128+0c1e29f-2_amd64.deb ...
Unpacking hostapd (2:2.7+git20190128+0c1e29f-2) ...
Setting up hostapd (2:2.7+git20190128+0c1e29f-2) ...
invoke-rc.d: syntax error: unknown option "--skip-systemd-native"
dpkg: error processing package hostapd (--configure):
 subprocess installed post-installation script returned error exit status 1
Processing triggers for man-db (2.7.6.1-2) ...
Errors were encountered while processing:
 hostapd
E: Sub-process /usr/bin/dpkg returned an error code (1)
ansible@srv-authenticator-100:~$

step 3: As system is broken, be sure to verify that system is unusable

ansible@srv-authenticator-100:~$ sudo dpkg --purge --force-all hostapd
(Reading database ... 23054 files and directories currently installed.)
Removing hostapd (2:2.7+git20190128+0c1e29f-2) ...
invoke-rc.d: syntax error: unknown option "--skip-systemd-native"
dpkg: error processing package hostapd (--purge):
 subprocess installed pre-removal script returned error exit status 1
invoke-rc.d: syntax error: unknown option "--skip-systemd-native"
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 hostapd
ansible@srv-authenticator-100:~$


step 4: search invalid parameter 

ansible@srv-authenticator-100:~$ egrep -e '-skip-systemd-native' 
/var/lib/dpkg/info/hostapd.*
/var/lib/dpkg/info/hostapd.postinst:invoke-rc.d 
--skip-systemd-native hostapd $_dh_action || exit 1
/var/lib/dpkg/info/hostapd.prerm:   invoke-rc.d 
--skip-systemd-native hostapd stop || exit 1



step 5 : patch Debian scripts .

 sudo sed -i -e 's/--skip-systemd-native//g' 
/var/lib/dpkg/info/hostapd.*


step 6 : As system is broken, be sure to verify that system is usable now
ansible@srv-authenticator-100:~$ sudo  apt remove --purge hostapd -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  hostapd*
0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
1 not fully installed or removed.
After this operation, 2081 kB disk space will be freed.
(Reading database ... 23054 files and directories currently installed.)
Removing hostapd (2:2.7+git20190128+0c1e29f-2) ...
/etc/init.d/hostapd: 30: /etc/init.d/hostapd: log_action_msg: not found
Processing triggers for man-db (2.7.6.1-2) ...
(Reading database ... 23032 files and directories currently installed.)
Purging configuration files for hostapd (2:2.7+git20190128+0c1e29f-2) ...
dpkg: warning: while removing hostapd, directory '/etc/hostapd' not 
empty so not removed

ansible@srv-authenticator-100:~$



Many thanks To William Bonnet for his support on Debian systems

Best regards