Robie, sorry but you've understood this all wrong. I hope to clarify the status now.
The lines responsible for this downgrade prevention feature are these:
# Safe the user from stupidities.
show_downgrade_warning=0
for i in `ls $DATADIR/debian-*.flag 2>/dev/null`; do
found_version=`echo $i | sed 's/.*debian-\([0-9\.]\+\).flag/\1/'`
if dpkg --compare-versions "$this_version" '<<' "$found_version"; then show_downgrade_warning=1
break;
fi
done
if [ "$show_downgrade_warning" = 1 ]; then
db_fset mysql-server-$this_version/really_downgrade seen false || true
db_input medium mysql-server-$this_version/really_downgrade || true
db_go
db_get mysql-server-$this_version/really_downgrade || true
if [ "$RET" = "true" ]; then
rm -f $DATADIR/debian-*.flag
touch $DATADIR/debian-$this_version.flag
else
echo "Aborting downgrade from (at least) $found_version to $this_version." 1>&2
echo "If are sure you want to downgrade to $this_version, remove the file" 1>&2
echo "$DATADIR/debian-*.flag and try installing again." 1>&2
db_stop
exit 1
fi
fi
I am on purpose linking to the mysql-5.5 source to alleviate that this downgrade flag thing is old legacy that has been around for ages. This same code is in MySQL 5.6 packaging. It is completely unfair to blaim MariaDB for any of this.
When you wanted to implement the config file decoupling last year I multiple times asked you to "prove" your point by referencing to actual bug reports where any real users where suffering from something that config file decoupling would be the solution. I don't recall that you managed to do that. Even then all the examples you referenced to were really bugs regarding legacy packaging and for example this flag file thing.
I tried to prioritize fixing this flag time on mailing list and irc many times. For example:
I'd also like us to review the package install/remove/purge
pre/post-scripts, as they are the same across all new versions of all
variants and while doing MariaDB I stumbled across multiple issues,
which some of I've fixed (and you should copy those commits over to
the mysql-5.6 git tree), and some of them are still unresolved and we
need to fix them together. I think this is a high priority since many
of the install/upgrade/remove errors people report bugs about are due
the stupid legacy stuff in these scripts, and due to design issues
like the /var/lib/mysql/*.flag system.
Robie, sorry but you've understood this all wrong. I hope to clarify the status now.
The lines responsible for this downgrade prevention feature are these:
# Safe the user from stupidities. downgrade_ warning= 0 debian- *.flag 2>/dev/null`; do version= `echo $i | sed 's/.*debian- \([0-9\ .]\+\). flag/\1/ '`
show_downgrade _warning= 1 downgrade_ warning" = 1 ]; then $this_version/ really_ downgrade seen false || true $this_version/ really_ downgrade || true $this_version/ really_ downgrade || true debian- *.flag debian- $this_version. flag debian- *.flag and try installing again." 1>&2
show_
for i in `ls $DATADIR/
found_
if dpkg --compare-versions "$this_version" '<<' "$found_version"; then
break;
fi
done
if [ "$show_
db_fset mysql-server-
db_input medium mysql-server-
db_go
db_get mysql-server-
if [ "$RET" = "true" ]; then
rm -f $DATADIR/
touch $DATADIR/
else
echo "Aborting downgrade from (at least) $found_version to $this_version." 1>&2
echo "If are sure you want to downgrade to $this_version, remove the file" 1>&2
echo "$DATADIR/
db_stop
exit 1
fi
fi
See source at http:// anonscm. debian. org/cgit/ pkg-mysql/ mysql-5. 5.git/tree/ debian/ mysql-server- 5.5.preinst# n67
I am on purpose linking to the mysql-5.5 source to alleviate that this downgrade flag thing is old legacy that has been around for ages. This same code is in MySQL 5.6 packaging. It is completely unfair to blaim MariaDB for any of this.
When you wanted to implement the config file decoupling last year I multiple times asked you to "prove" your point by referencing to actual bug reports where any real users where suffering from something that config file decoupling would be the solution. I don't recall that you managed to do that. Even then all the examples you referenced to were really bugs regarding legacy packaging and for example this flag file thing.
I tried to prioritize fixing this flag time on mailing list and irc many times. For example:
I'd also like us to review the package install/ remove/ purge post-scripts, as they are the same across all new versions of all upgrade/ remove errors people report bugs about are due mysql/* .flag system.
pre/
variants and while doing MariaDB I stumbled across multiple issues,
which some of I've fixed (and you should copy those commits over to
the mysql-5.6 git tree), and some of them are still unresolved and we
need to fix them together. I think this is a high priority since many
of the install/
the stupid legacy stuff in these scripts, and due to design issues
like the /var/lib/
(from http:// lists.alioth. debian. org/pipermail/ pkg-mysql- maint/2014- November/ 007237. html)
Please change the title of the bug to something more appropriate and please participate in the discussion at pkg-mysql-maint mailing list about how to redesign this flag thing: http:// lists.alioth. debian. org/pipermail/ pkg-mysql- maint/2015- September/ 008128. html