We've recently upgraded from 10.04 to 14.04.
We have some held packages, which we upgrade them from time to time. It appears that on 14.04, when you install or upgrade a package it removes the hold for the package.
$ dpkg --get-selections libmysqlclient18
libmysqlclient18:amd64 install
# Hold the package
$ echo 'libmysqlclient18:amd64 hold' | sudo dpkg --set-selections
# Check that worked
$ dpkg --get-selections libmysqlclient18
libmysqlclient18:amd64 hold
# Install a new version of the package
$ sudo apt-get install libmysqlclient18
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
mysql-common
The following held packages will be changed:
libmysqlclient18
The following packages will be upgraded:
libmysqlclient18 mysql-common
2 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.
Need to get 610 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main mysql-common all 5.5.44-0ubuntu0.14.04.1 [13.9 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libmysqlclient18 amd64 5.5.44-0ubuntu0.14.04.1 [596 kB]
Fetched 610 kB in 1s (339 kB/s)
Reading changelogs... Done
apt-listchanges: Mailing root: apt-listchanges: changelogs for <host>
(Reading database ... 490677 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.5.44-0ubuntu0.14.04.1_all.deb ...
Unpacking mysql-common (5.5.44-0ubuntu0.14.04.1) over (5.5.43-0ubuntu0.14.04.1) ...
Preparing to unpack .../libmysqlclient18_5.5.44-0ubuntu0.14.04.1_amd64.deb ...
Unpacking libmysqlclient18:amd64 (5.5.44-0ubuntu0.14.04.1) over (5.5.43-0ubuntu0.14.04.1) ...
Setting up mysql-common (5.5.44-0ubuntu0.14.04.1) ...
Setting up libmysqlclient18:amd64 (5.5.44-0ubuntu0.14.04.1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
The install removed the hold!
$ dpkg --get-selections libmysqlclient18
libmysqlclient18:amd64 install
This happens for packages without postinst/prerm scripts, so it seems the problem is with apt and not with the packages themselves. It didn't happen in 10.04.
Can anyone suggest a workaround that will prevent apt from doing this?