FS#20533 - Errors in dovecot.install

Attached to Project: Arch Linux
Opened by Sebastian Köhler (kart0ffelsack) - Friday, 20 August 2010, 00:04 GMT
Last edited by Andreas Radke (AndyRTR) - Thursday, 09 September 2010, 17:05 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Andreas Radke (AndyRTR)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

There are two errors in the dovecot.install

1. Although a dovenull group is created the dovenull user is created with "-g dovecot"
2. The -m option during user creation is not set therefore no home dir for the dove{cot,null}, /etc/cron.daily/shadow complains about this.
Actually, I think the dovecot users don't need a homedir so it would probably good to remove the -d option.


Additional info:
* package version: 2.0.0-1
This task depends upon

Closed by  Andreas Radke (AndyRTR)
Thursday, 09 September 2010, 17:05 GMT
Reason for closing:  Fixed
Additional comments about closing:  fixed in 2.0.2-1
Comment by Andreas Radke (AndyRTR) - Tuesday, 24 August 2010, 21:40 GMT
Please check dovecot 2.0.1 in testing. User- and groupmanagement should be fixed. It's now working like mailman taken over from Fedora. I don't have any cron log failure entries.

Please also check if namcap is right here:
==> Finished making: dovecot 2.0.1-1 (Tue Aug 24 21:34:55 UTC 2010)
****Starting namcap log****
dovecot E: Dependency detected and not included (heimdal) from files ['usr/bin/doveadm', 'usr/lib/dovecot/auth']
dovecot E: Dependency detected and not included (curl) from files ['usr/lib/dovecot/modules/lib21_fts_solr_plugin.so']

Thanks for testing.
Comment by Sebastian Köhler (kart0ffelsack) - Wednesday, 25 August 2010, 01:35 GMT
You fixed my first point but the second is still unresolved :)

you should use -m instead of -M because without -m the dovecot homedir is not created resulting in:

sudo /etc/cron.daily/shadow
user 'dovecot': directory '/var/run/dovecot/login' does not exist
user 'dovenull': directory '/var/run/dovecot/login' does not exist


I'm not sure about the namcap output because I don't use the kerberos auth mechanisms in dovecot
Comment by Andreas Radke (AndyRTR) - Wednesday, 25 August 2010, 08:40 GMT
I don't get your cron output. Make sure you restart the dovecot deamon. This will apply a fix for the login dir!
Comment by Sebastian Köhler (kart0ffelsack) - Wednesday, 25 August 2010, 14:42 GMT
Yes that's true but shouldn't the system be clean after the installation of a package and not after the content of the package was started?
Comment by Andreas Radke (AndyRTR) - Wednesday, 25 August 2010, 16:09 GMT
-M -> -m in -2 pkgver and moved to extra.
Comment by Matthias Dienstbier (fs4000) - Wednesday, 08 September 2010, 10:22 GMT
  • Field changed: Percent Complete (100% → 0%)
creation of the users now fails completely
useradd seems to refuse to create directories recursively
Comment by Matthias Dienstbier (fs4000) - Wednesday, 08 September 2010, 15:07 GMT
In my opinion the best solution would be to change -m back to -M and add the following install command to package():
install -d ${pkgdir}/var/run/dovecot/empty
install -g dovenull -m 750 -d ${pkgdir}/var/run/dovecot/login

This creates exactly the same directories as dovecot would do and if these are empty, pacman will delete them on removal of the package.
Perhaps we need to ensure the login directory has the correct permissions in the filesystem, so we could add to post_install():
chmod 750 var/run/dovecot/login
chown root:dovenull var/run/dovecot/login

Loading...