Hi! I've been doing some tests on this and I think I may have come to a way to work around this.
The first thing is that we must keep the user settings, but /etc/squid/squid.conf is not marked as a conffile, anyway keeping the user settings in mind I did the following: At preinst move /etc/squid/squid.conf to /etc/squid/squid.conf.pre_3.4_upgrade Then at postinst we have the new dpkg squid.conf file installed without any warning so I did: move /etc/squid/squid.conf to /etc/squid/squid.conf.dpkg-new sed /etc/squid/squid.conf.pre_3.4_upgrade >/etc/squid/squid.conf We should take care of other things like permissions of the file, ... but that's just the idea and it seems to work on my tests. This is the output with squid/oldstable installed: # dpkg -i squid-common_3.5.10-2_all.deb squid_3.5.10-2_amd64.deb (A ler a base de datos ... 255231 files and directories currently installed.) Preparing to unpack squid-common_3.5.10-2_all.deb ... Unpacking squid-common (3.5.10-2) over (2.7.STABLE9-4.1+deb7u1) ... Preparing to unpack squid_3.5.10-2_amd64.deb ... Unpacking squid (3.5.10-2) over (2.7.STABLE9-4.1+deb7u1) ... A configurar squid-common (3.5.10-2) ... A configurar squid (3.5.10-2) ... A instalar a nova versión do ficheiro de configuración /etc/init.d/squid ... A instalar a nova versión do ficheiro de configuración /etc/logrotate.d/squid ... A instalar a nova versión do ficheiro de configuración /etc/resolvconf/update-libc.d/squid ... Filtering squid.conf manager ACL. [....] Restarting Squid HTTP Proxy: squid2015/10/28 01:04:23| WARNING: (B) '::/0' is a subnetwork of (A) '::/0' 2015/10/28 01:04:23| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable 2015/10/28 01:04:23| WARNING: You should probably remove '::/0' from the ACL named 'all' 2015/10/28 01:04:23| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1' 2015/10/28 01:04:23| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable 2015/10/28 01:04:23| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost' 2015/10/28 01:04:23| WARNING: (B) '127.0.0.1' is a subnetwork of (A) '127.0.0.1' 2015/10/28 01:04:23| WARNING: because of this '127.0.0.1' is ignored to keep splay tree searching predictable 2015/10/28 01:04:23| WARNING: You should probably remove '127.0.0.1' from the ACL named 'localhost' 2015/10/28 01:04:23| WARNING: (B) '127.0.0.0/8' is a subnetwork of (A) '127.0.0.0/8' 2015/10/28 01:04:23| WARNING: because of this '127.0.0.0/8' is ignored to keep splay tree searching predictable 2015/10/28 01:04:23| WARNING: You should probably remove '127.0.0.0/8' from the ACL named 'to_localhost' 2015/10/28 01:04:23| WARNING: (B) '0.0.0.0' is a subnetwork of (A) '0.0.0.0' 2015/10/28 01:04:23| WARNING: because of this '0.0.0.0' is ignored to keep splay tree searching predictable 2015/10/28 01:04:23| WARNING: You should probably remove '0.0.0.0' from the ACL named 'to_localhost' 2015/10/28 01:04:23| WARNING: (B) '0.0.0.0' is a subnetwork of (A) '0.0.0.0' 2015/10/28 01:04:23| WARNING: because of this '0.0.0.0' is ignored to keep splay tree searching predictable 2015/10/28 01:04:23| WARNING: You should probably remove '0.0.0.0' from the ACL named 'to_localhost' 2015/10/28 01:04:23| ERROR: Directive 'hierarchy_stoplist' is obsolete. 2015/10/28 01:04:23| ERROR: Directive 'upgrade_http0.9' is obsolete. 2015/10/28 01:04:23| ERROR: Directive 'broken_vary_encoding' is obsolete. 2015/10/28 01:04:23| ERROR: Directive 'extension_methods' is obsolete. . ok Processing triggers for man-db (2.7.0.2-5) ... And this is what my /etc/squid looks like after the install: -rw------- 1 root root 169404 Out 28 00:58 squid.conf.pre_3.4_upgrade -rw-r--r-- 1 root root 1817 Out 28 01:01 errorpage.css -rw-r--r-- 1 root root 285765 Out 28 01:04 squid.conf.dpkg-new -rw-r--r-- 1 root root 169440 Out 28 01:04 squid.conf Of course the squid.conf is based on the old 2.7 version and we have the .dpkg-new file like if we had told dpkg to keep the old config. Hope that helps. Regards. -- Manty/BestiaTester -> http://manty.net