Univention Bugzilla – Bug 30899
Create empty appcenter errata repositories
Last modified: 2013-04-09 12:03:41 CEST
There are Currently no Errata Updates for UCS@School 3.1. However the errata Archive is required to install the Update to UCS 3.1-1. Putting even an empty errata Archive is therefore necessary.
Errata repositories for components do not exist any more in UCS 3.1. This is handled by the App Center. Errata updates are currently "new versions" of an app.
We should provide an update guide if you want to upgrade your UCS@school environment to UCS 3.1 with the App Center.
As far as I can see this is more or less "just some repository settings" via UCR (resp. univention-add-app).
The problem occurs in the following scenario:
Customer uses UCS@school with UCS 3.0-2 and starts the update to UCS 3.1-0.
The UCS@school-postup.sh (which is called automatically directly after the update to UCS 3.1-0 and before any UCS 3.1-0-errata has been installed) adds the app center repository by calling univention-add-app.
univention-add-app in UCS 3.1-0 errata 0 always adds an additional errata repository for appcenter apps. This errata repository is set to version=current.
On our app center servers these errata repos for apps do not exist which prevents any following update (e.g. to UCS 3.1-1).
The installation of the UCS 3.1-0 errata packages only fixes the UMC app center and univention-add-app. The UCR repository setting remain untouched until an update is done via the app center.
univention-add-app has been fixed in errata in february 2013. So all customers with UCS 3.1-0 that used the app center/univention-add-app in december/january/february may be affected (and those who haven't installed any errata yet).
I think the easiest solution is to create empty errata repositories on our app center repository server for every app repository.
(In reply to comment #2)
> I think the easiest solution is to create empty errata repositories on our app
> center repository server for every app repository.
Error reproduced, solution is not so easy: Even if we add the repository now, the servers are already misconfigured:
root@master90:~# cat /etc/apt/sources.list.d/20_ucs-online-component.list | grep ucsschool-errata
# Configuration error: component not found: ucsschool-errata
This means that all servers that have already run univention-add-app will have to do a ucr commit /etc/apt/sources.list.d/20_ucs-online-component.list
But that's not all: The major problem is that an empty repository is not recognized by the updater. So ucr commit will still write "component not found". The reason seems to be this check in UniventionUpdater._iterate_versions (line 1050):
if size >= MIN_GZIP:
Shall I really add a dummy package? An empty Packages.gz has 29 < 100 bytes.
Added symbolic "-errata" links for each repository in the test app center. While using univention-upgrade, the new repositories are found automatically so now everything should work.
I have tested it with
apt-get install univention-updater=8.0.58-1.1130.201212090211 univention-management-console-module-updater=8.0.58-1.1130.201212090211 univention-management-console-module-appcenter=2.0.91-1.37.201212112330
and then adding the repository:
but the real QA test would be a 2.4 UCS@school environment updating stepwise to 3.1-1.
QA: Dont forget to
ucr set repository/app_center/server="appcenter.test.software-univention.de"
before updating from UCS 2.4 to UCS 3.0, otherwise the wrong repositories get installed
Set importance to normal since it does not break anything.
OK, my tests were successful.
*** Bug 30951 has been marked as a duplicate of this bug. ***
Symbolic repositories are announced.