FS#45552 - [mariadb] multiple issues on user management (makepkg issue as well?)

Attached to Project: Arch Linux
Opened by Tom Yan (tom.ty89) - Saturday, 04 July 2015, 18:30 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Monday, 23 November 2015, 22:32 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Bartłomiej Piotrowski (Barthalion)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

First of all mariadb creates /var/lib/mysql in PKGBUILD now. But despite the array "options=('emptydirs')" in package_mariadb(), /var/lib/mysql ,for some reason, will not exists in the package:

https://www.archlinux.org/packages/extra/x86_64/mariadb/files/

[tom@localhost ~]$ ls -A packages/mariadb/trunk/pkg/mariadb
etc .INSTALL .MTREE .PKGINFO usr

I am not sure if it's a makepkg bug or we are missing something.

The second thing is, I see no reason /var/lib/mysql should be managed by the PKGBUILD anyway. If the directory is empty when the package is being removed, it get removed as well, while the "mysql" user stays:

[tom@localhost ~]$ journalctl -b -1 -u shadow
-- Logs begin at Sat 2015-06-20 06:47:52 HKT, end at Sun 2015-07-05 02:13:56 HKT. --
Jul 05 01:34:13 localhost systemd[1]: Starting Verify integrity of password and group files...
Jul 05 01:34:13 localhost pwck[251]: user 'mysql': directory '/var/lib/mysql' does not exist
Jul 05 01:34:13 localhost pwck[251]: pwck: no changes
Jul 05 01:34:13 localhost systemd[1]: shadow.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jul 05 01:34:13 localhost systemd[1]: Failed to start Verify integrity of password and group files.
Jul 05 01:34:13 localhost systemd[1]: shadow.service: Unit entered failed state.
Jul 05 01:34:13 localhost systemd[1]: shadow.service: Failed with result 'exit-code'.

You may argue something like: mostly the directory will not be empty, or, the user can delete the user manually, but why does it need to be managed by the PKGBUILD anyway while it's data directory? So I think it's better to revert to the .install way (just for the directory, not the user management thing).

Speaking of user management, you changed -g mysql to -g 89 in post_install() but you forgot to do that in post_upgrade().
This task depends upon

Closed by  Bartłomiej Piotrowski (Barthalion)
Monday, 23 November 2015, 22:32 GMT
Reason for closing:  Fixed
Additional comments about closing:  mariadb 10.1.9-2
Comment by Doug Newgard (Scimmia) - Monday, 06 July 2015, 03:54 GMT
It's not included in the package because lines 140/141 in the PKGBUILD are being run in $srcdir, not $pkgdir.
Comment by Albert Chalegua (tck42) - Thursday, 10 September 2015, 07:03 GMT
@Doug thanks for the explanation. I guess this small patch against trunk will fix this? I dont really use the package (it installed as a dependency to a package I rarely use) so I'm not sure if it causes other issues, just sick of seeing the error in my logs. Any chance the attached can be applied and pushed to testing?
Comment by Bartłomiej Piotrowski (Barthalion) - Thursday, 10 September 2015, 10:19 GMT
Woop. I'll fix it till Sunday.

Loading...