[debian-mysql] Bug#676539: Bug#676539: mysql-server-5.5: migration from /var/run/mysqld to /run/mysqld incomplete
Nicholas Bamber
nicholas at periapt.co.uk
Thu Jun 7 22:27:56 UTC 2012
Greg,
As it happens someone else raised the same bug at about the same time.
I happened to come across yours first.
The issue is fairly obvious if one thinks about it and it should not
really have been missed.
On 07/06/12 23:22, Greg Alexander wrote:
> Hi -
>
> Thanks for looking into this.
>
> The mysql script caused the creation of a new /run from scratch without
> consideration for the old /var/run, which does not honor the contract
> specified in:
> http://wiki.debian.org/ReleaseGoals/RunDirectory
> There it is specified that /var/run is an alias for /run, but the mysql
> upgrade process did not cause that result.
>
> Sorry, I'm a little snippy. Upgrade compatibility is a minor obsession
> of mine, and the reason that I use Debian (and look down on most other
> OSes). I'll delete the sarcastic paragraph and jump straight to the
> punchline.
>
> I am running initscripts-2.87dsf-6 (2009 - quite modern, in fact). The
> modern mysql packages appear to have an undeclared dependency upon
> initscripts-2.88dsf-13.3.
>
> Or in other words, quoting from that ReleaseGoals/RunDirectory document:
>
> Before wheezy, a versioned depends upon initscripts (>= 2.88dsf-13.3)
> will be required to ensure the presence of a functional /run.
>
> Since wheezy is not even released yet, and since 17 other packages do
> still have declared dependencies on initscripts>= 2.88dsf-13.3, I assume
> that is still in effect...
>
> Probably you guys just weren't aware that the /run transition is newer
> than any LSB document, so the lsb-base dependency doesn't do anything for
> us here.
>
> Cheers,
> - Greg
>
>
>> evidence that this is causing a problem. On a standard recent Debian
>> system /var/run will be a symlink to /run. In fact I could not even see
>
> Debian
>
> On Thu, Jun 07, 2012 at 10:25:10PM +0100, Nicholas Bamber wrote:
>> severity 676539 minor
>> tag 676539 +moreinfo
>> thanks
>>
>> Greg,
>>
>> Thanks for pointing out the incompletenesses in our migration. They
>> will be acted on if substantiated.
>>
>> I am downgrading the severity because I could not see any actual
>> evidence that this is causing a problem. On a standard recent Debian
>> system /var/run will be a symlink to /run. In fact I could not even see
>> any evidence that this is true. What I think happened is that since
>> /etc/mysql/debian.cnf already existed, the mysql-server-5.5 postinst
>> script had no reason to create it afresh.
>>
>> As for the change it may well (or not) be a pointless change but it is
>> recommended by section 9.1.4 of the latest version of the Debian policy.
>> The lintian tool attempts to find and report on violations.
>>
>> As for libdbd-mysql-perl that is a separate package. If it was an issue
>> it would require a separate bug report. I had a look through both the
>> upstream and packaging code and I could not see anywhere where the MySQL
>> socket file location is defaulted or hardcoded. I think it should be
>> picked up from the libmysqlclient18 package (which is part the mysql-5.5
>> package). However libdbd-mysql-perl has not yet been binNMU'ed so that
>> would be why that is picking up the old location.
>>
>> If you have any more information please let me know. Otherwise can I
>> close the ticket?
>>
>> On 07/06/12 18:10, Greg Alexander wrote:
>>> Package: mysql-server-5.5
>>> Version: 5.5.24+dfsg-2
>>> Severity: important
>>>
>>> Dear Maintainer,
>>>
>>> Upon upgrading to mysql-server-5.5, I find that /var/run/mysqld has been
>>> needlessly renamed to /run/mysqld.
>>>
>>> Pointless renaming is considered harmful!
>>>
>>> You forgot to update a few things when you performed this pointless
>>> operation. /etc/mysql/debian.cnf continues to reference /var/run/mysqld.
>>> The perl DBI package continues to reference /var/run/mysqld.
>>>
>>> The need to enumerate the innumerable potential dependencies on the
>>> mysqld socket location can be ameliorated through the use of symlinks.
>>> Add this to the postrm file:
>>> ln -s /run/mysqld /var/run/mysqld
>>>
>>> But in fact, you could have avoided this whole problem in the first
>>> place by not pointlessly renaming /var/run to /run.
>>>
>>> In the future, try not to break things for no reason. We have symlinks
>>> for a reason. Any unix admin who needs /var/run to live in a special
>>> location can achieve this effect using mount or ln already. There is
>>> no need to render every mysql-dependent configuration file suspect to
>>> achieve this end.
>>>
>>> If the person who decided to rename /var/run/mysqld to /run/mysqld
>>> should happen to read this thread, I beg you to please consider swearing
>>> off future contribution to open source projects. You are simply not cool
>>> enough for my club.
>>>
>>> - Greg
>>>
>>>
>>> -- System Information:
>>> Debian Release: squeeze/sid
>>> APT prefers unstable
>>> APT policy: (500, 'unstable')
>>> Architecture: i386 (i686)
>>>
>>> Kernel: Linux 2.6.32.22 (SMP w/2 CPU cores; PREEMPT)
>>> Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
>>> Shell: /bin/sh linked to /bin/bash
>>>
>>> Versions of packages mysql-server-5.5 depends on:
>>> ii adduser 3.102
>>> ii debconf [debconf-2.0] 1.5.40
>>> ii libc6 2.13-10
>>> ii libdbi-perl 1.621-1
>>> ii libgcc1 1:4.6.1-4
>>> ii libstdc++6 4.6.1-4
>>> ii lsb-base 3.2-23
>>> ii mysql-client-5.5 5.5.24+dfsg-2
>>> ii mysql-common 5.5.24+dfsg-2
>>> ii mysql-server-core-5.5 5.5.24+dfsg-2
>>> ii passwd 1:4.0.18.1-7
>>> ii perl 5.14.2-11
>>> ii psmisc 20.2-2.1
>>> ii zlib1g 1:1.2.3.4.dfsg-3
>>>
>>> Versions of packages mysql-server-5.5 recommends:
>>> ii libhtml-template-perl 2.9-1
>>> ii mailx 1:8.1.2-0.20020411cvs-1
>>>
>>> Versions of packages mysql-server-5.5 suggests:
>>> pn tinyca<none>
>>>
>>> -- debconf information:
>>> mysql-server/root_password_again: (password omitted)
>>> * mysql-server/root_password: (password omitted)
>>> mysql-server-5.5/postrm_remove_databases: false
>>> mysql-server/error_setting_password:
>>> mysql-server-5.5/nis_warning:
>>> mysql-server-5.5/really_downgrade: false
>>> mysql-server-5.5/start_on_boot: true
>>> mysql-server/password_mismatch:
>>> mysql-server/no_upgrade_when_using_ndb:
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> pkg-mysql-maint mailing list
>>> pkg-mysql-maint at lists.alioth.debian.org
>>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-mysql-maint
>>>
More information about the pkg-mysql-maint
mailing list