install_packages and 'hold' in the PACKAGES

michael log mmlogin at gmail.com
Sun Oct 10 22:14:01 CEST 2010


Hello Michael.
The erroneous extra "hold" at the end of the string piped as a command
to "dpkg --set-selections" results in the rejection to perform the
whole command by the "dpkg".

E.g. we have the following "perl" packages "installed" and "selected
for installation":

debian:~# dpkg -l | grep "^....perl"
ii  perl                              5.10.1-14
Larry Wall's Practical Extraction and Report Language
ii  perl-base                         5.10.1-14
minimal Perl system
ii  perl-modules                      5.10.1-14                   Core
Perl modules
debian:~#

And then we would like to mark those packages to be "on hold" (e.g.
not to be upgraded by the "dpkg", "aptitude", ...):

debian:~# echo -en "perl hold\nperl-base hold\nperl-modules hold\n" |
dpkg --set-selections

Everything is correct:

debian:~# dpkg -l | grep "^....perl"
hi  perl                              5.10.1-14
Larry Wall's Practical Extraction and Report Language
hi  perl-base                         5.10.1-14
minimal Perl system
hi  perl-modules                      5.10.1-14                   Core
Perl modules
debian:~#

Let's revert to the initial state:

debian:~# echo -en "perl install\nperl-base install\nperl-modules
install\n" | dpkg --set-selections
debian:~# dpkg -l | grep "^....perl"
ii  perl                              5.10.1-14
Larry Wall's Practical Extraction and Report Language
ii  perl-base                         5.10.1-14
minimal Perl system
ii  perl-modules                      5.10.1-14                   Core
Perl modules
debian:~#

Now if we added the erroneous extra "hold" at the end of the command,
the "dpkg" refuses the whole command:

debian:~# echo -en "perl hold\nperl-base hold\nperl-modules hold\n
hold\n" | dpkg --set-selections
dpkg: unexpected end of line in package name at line 4
debian:~# dpkg -l | grep "^....perl"
ii  perl                              5.10.1-14
Larry Wall's Practical Extraction and Report Language
ii  perl-base                         5.10.1-14
minimal Perl system
ii  perl-modules                      5.10.1-14                   Core
Perl modules
debian:~#

It means that packages configured as "PACKAGES hold" in package_config
files are not processed correctly.
In general it breaks the following statement from "man install_packages":
"install_packages is a Perl script written for FAI to selectively
install, hold, remove, or purge packages or tasks."

Thanks,
Michael.

On Sun, Oct 10, 2010 at 12:08 PM, Michael Tautschnig <mt at debian.org> wrote:
> Hi Michael,
>
>> Hello,
>> Is it possible that the following is valid:
>>
>> Index: bin/install_packages
>> ...
>
> Thanks a lot for providing this patch and the additional info in further
> responses in this thread. Could you also describe which problems this is
> causing?
>
> Anyway, I have added your patch to the experimental series; it's included in
> 4.0~beta2+experimental26. But I guess receiving further information on the
> problems caused by this bug will increase the likelihood of the patch making it
> into trunk.
>
> Thanks again,
> Michael


More information about the linux-fai-devel mailing list