Re: libdvd-pkg’s postinst script is broken
Paul van der Vlis <paul@vandervlis.nl> writes:
>>> Nu je het zegt: dat was me helemaal niet opgevallen.
>>> Raar dat er nog niets aan gedaan is, want de oplossing lijkt relatief
>>> simpel.
>>>
>>> Matthew Vernon afgelopen februari:
>>> I went looking to try and see where the check was being carried
>>> out, and
>>> it's in:
>>>
>>> /usr/lib/libdvd-pkg/b-i_libdvdcss.sh
>>>
>>> apt-get check >/dev/null 2>&1
>>> if [ "$?" -ne 0 ]; then
>>> echo "${PKGI}: \`apt-get check\` failed, you may have broken
>>> packages. Aborting..."
>>> exit 0
>>> fi
>>>
>>> Which is why there's no useful information in the error message.
>>> So I
>>> edited that file on my system and ran apt autoremove so force a
>>> trigger
>>> run, and that gets:
>>>
>>> /usr/src/libdvd-pkg/libdvdcss_1.4.3.orig.tar.bz2: OK
>>> E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by
>>> process
>>> 29788 (apt)
>>> N: Be aware that removing the lock file is not a solution and
>>> may break
>>> your system.
>>> E: Unable to acquire the dpkg frontend lock
>>> (/var/lib/dpkg/lock-frontend), is another process using it?
>>> libdvd-pkg: `apt-get check` failed, you may have broken packages.
>>> Aborting...
>>>
>>> So I'm afraid the problem is that running this script from apt
>>> (as it is
>>> evidently intended to be run) can never work, because apt-get check
>>> tries to hold the dpkg lock, but it's help by apt.
>>>
>>> So I think this is RC, do you agree?
>>>
>>>
>>>> Wat is het effect van de "dry run" die
>>>> in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994081#37
>>>> voorgesteld word?
>>>
>>> Dat kan ik pas doen als er een upgrade klaar staat.
>>> En ik denk dat dit eigenlijk bedoeld is voor in het apt script om het
>>> probleem op te lossen.
>>>
>>> Heb in /usr/lib/libdvd-pkg/b-i_libdvdcss.sh deze aanpassing gemaakt:
>>> # @@@@ dry-run toegevoegd en /dev/null redirection verwijderd
>>> apt-get check --dry-run # >/dev/null 2>&1
>>>
>>> Nu wachten totdat er een upgrade nodig is. :-D
>> Ik denk dat het de bedoeling is dat je het in de source wijzigt, en
>> het versienummer verhoogt. Zoiets:
>
> Ik heb mijn eigen regels code uitgevoerd...
>
>> sudo apt install dpkg-dev debhelper-compat
>> mkdir libdvd-pkg; cd libdvd-pkg
>> apt-get source libdvd-pkg
>> cd `find ./ -maxdepth 1 -type d | tail -n1` # ga naar directory
>> nano debian/changelog # nieuw versienummer bovenaan toevoegen
>
> Dit kwam wel precies, vooral de laatste regel wie het gedaan had.
>
>> nano debian/b-i_libdvdcss.sh # --dry-run toevoegen
>
> Hier was ik het belangrijkste vergeten...:
> dpkg-buildpackage -uc -us
>
>> cd ..
>> sudo dpkg -i *.deb # nu moet het goed zijn.
>
> Ja, het is nu goed.
>
>> Maar hoe het dan verder gaat weet Geert denk ik beter...
>
> Nu heb ik de bug gefixed volgens mij. Maar wat te doen met het
> resultaat?
Hier posten lijkt me wel een aardige:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994081
En dan maar hopen dat er daadwerkelijk iets mee gedaan wordt.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Reply to: