Univention Bugzilla – Bug 39587
Non-docker apps need to be registered, too
Last modified: 2015-11-17 12:11:46 CET
The postinst of each "UCS components" apps' DefaultPackages needs to register itself so that univention-install univention-samba4 actually registers the app.
This is done by:
univention-app register samba4 --do-it
+++ This bug was initially created as a clone of Bug #39586 +++
See Bug#39463: Apps now have to be registered explicitely.
As the old Application class is still used to install non-docker apps, the old class needs to register apps so that the new class knows about the installation status.
(In reply to Dirk Wiesenthal from comment #0)
> The postinst of each "UCS components" apps' DefaultPackages needs to
> register itself so that univention-install univention-samba4 actually
> registers the app.
> This is done by:
> univention-app register samba4 --do-it
What happens during the installation? I guess the app center packages are not available at that point. At least, it is not guaranteed. Maybe the join script is a better place for the registration?
(In reply to Stefan Gohmann from comment #1)
> (In reply to Dirk Wiesenthal from comment #0)
> > The postinst of each "UCS components" apps' DefaultPackages needs to
> > register itself so that univention-install univention-samba4 actually
> > registers the app.
> > This is done by:
> > univention-app register samba4 --do-it
> What happens during the installation? I guess the app center packages are
> not available at that point. At least, it is not guaranteed. Maybe the join
> script is a better place for the registration?
As discussed, we should do the following steps:
- update index.json.gz in the appcenter package
- run "univention-app update" in the appcenter join script (it should also work without network)
- remove univention-register-apps
- iterate over all UCS components, check if the packages are installed and run "univention-app register APP_ID --do-it" for every APP ID
Non-docker apps are now recognized based on their package status, not the UCR variables. This may be a bit slower but it is more reliable.
THe UCR variables are still set when registering these apps but they are not really used at the moment.
Registration happens every time the App Center is opened. Or univention-app register is called. This fixes all re-registration (or unregistration) of non-docker apps. It also solves the problem of registering 4.0 apps when upgrading to 4.1
Basically it works. I guesse there one glitch: Apps installed from the commandline are only shown after opening the App Center module the second time (in the same UMC session).
E.g. login to UMC, open App Center, open shell and run "univention-install univention-fetchmail univention-fetchmail-schema", close App Center module, open it again: new App not shown. close App Center module again, open a second time: App is shown.
This is even more irritating in the case where an umc-reload is triggered by the newly installed package. E.g. I installed univention-cups via univention-install and the UMC shows a popup "UMC reload required
A reload of the Univention Management Console is required to use new modules.
Currently opened modules may not work properly.
Do you want to reload the page?", then I click Ok, the UMC reloads, but CUPS is not shown as an installed App.
Yes, I opened Bug#39679 for this.
I do not see a trivial fix without sacrificing startup speed. My guess is that an installation of these packages via command line (not via App Center or System setup) is uncommon enough to justify fixing it at a later point.
Ok, I agree. Changelog Ok.
UCS 4.1 has been released:
If this error occurs again, please use "Clone This Bug".