Univention Bugzilla – Bug 30904
Remove appcenter errata repositories from UCR settings
Last modified: 2013-11-19 06:43:40 CET
During update to UCS 3.1-2 all appcenter errata repositories should be removed from UCR settings automatically. See bug 30899 for further details. +++ This bug was initially created as a clone of Bug #30899 +++ 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.
We will not ship a UCS 3.1-2 release; the next UCS release will be UCS 3.2. As such, this bug is moved to the new target milestone.
A script has been added which will be executed once when updating from a version below 3.0.40-1. It will remove all repository/online/component/.* UCR variables except repository/online/component/3.2-0-errata/.* svn 45238: univention-management-console-module-appcenter (3.0.40-1)
(In reply to Lukas Walter from comment #2) > A script has been added which will be executed once when updating from a > version below 3.0.40-1. > > It will remove all repository/online/component/.* UCR variables except > repository/online/component/3.2-0-errata/.* > > > > svn 45238: univention-management-console-module-appcenter (3.0.40-1) Please remove only the keys generated by the app center module. Maybe a static list is the best solution.
(In reply to Stefan Gohmann from comment #3) > (In reply to Lukas Walter from comment #2) > > A script has been added which will be executed once when updating from a > > version below 3.0.40-1. > > > > It will remove all repository/online/component/.* UCR variables except > > repository/online/component/3.2-0-errata/.* > > > > > > > > svn 45238: univention-management-console-module-appcenter (3.0.40-1) > > Please remove only the keys generated by the app center module. Maybe a > static list is the best solution. Adapted as suggested, but using a dynamically generated list apps. svn 45276: univention-management-console-module-appcenter (3.0.41-1)
(In reply to Lukas Walter from comment #4) > (In reply to Stefan Gohmann from comment #3) > > (In reply to Lukas Walter from comment #2) > > > A script has been added which will be executed once when updating from a > > > version below 3.0.40-1. > > > > > > It will remove all repository/online/component/.* UCR variables except > > > repository/online/component/3.2-0-errata/.* > > > > > > > > > > > > svn 45238: univention-management-console-module-appcenter (3.0.40-1) > > > > Please remove only the keys generated by the app center module. Maybe a > > static list is the best solution. > > Adapted as suggested, but using a dynamically generated list apps. Then please create a new bug that the script has to be removed with a further release.
The script is buggy: * ucr.save() does not commit sources.list, you need to use the correct handlers * Not all ucr variables that were set are to be unset. See univention-management-console-module-appcenter/umc/python/appcenter/constants.py#COMP_PARAMS Furthermore it does not contain any copyright and has many blank lines... Important: Users having the -errata components registered will not be able to update to UCS 3.2 because of the missing repositories. Is it possible to delete the UCR variables _before_ updating to UCS 3.2 - even before checking if all components are present in the new release? Otherwise we need to ship the -errata components in UCS 3.2
(In reply to Dirk Wiesenthal from comment #6) > ... > Important: > Users having the -errata components registered will not be able to update to > UCS 3.2 because of the missing repositories. Is it possible to delete the > UCR variables _before_ updating to UCS 3.2 - even before checking if all > components are present in the new release? > > Otherwise we need to ship the -errata components in UCS 3.2 Theoretically this would be possible in the preup script.
(In reply to Alexander Kläser from comment #7) > (In reply to Dirk Wiesenthal from comment #6) > > ... > > Important: > > Users having the -errata components registered will not be able to update to > > UCS 3.2 because of the missing repositories. Is it possible to delete the > > UCR variables _before_ updating to UCS 3.2 - even before checking if all > > components are present in the new release? > > > > Otherwise we need to ship the -errata components in UCS 3.2 > > Theoretically this would be possible in the preup script. No, the updater blocks the upgrade and no preup script will be executed. But as discussed with Lukas yesterday: The customer needs to upgrade to the latest app version before upgrading to UCS 3.2. And the latest apps don't have errata components. My guess is that we can simple remove the static list in the appcenter postinst.
(In reply to Stefan Gohmann from comment #8) > (In reply to Alexander Kläser from comment #7) > > (In reply to Dirk Wiesenthal from comment #6) > > > ... > > > Important: > > > Users having the -errata components registered will not be able to update to > > > UCS 3.2 because of the missing repositories. Is it possible to delete the > > > UCR variables _before_ updating to UCS 3.2 - even before checking if all > > > components are present in the new release? > > > > > > Otherwise we need to ship the -errata components in UCS 3.2 > > > > Theoretically this would be possible in the preup script. > > No, the updater blocks the upgrade and no preup script will be executed. But > as discussed with Lukas yesterday: The customer needs to upgrade to the > latest app version before upgrading to UCS 3.2. And the latest apps don't > have errata components. My guess is that we can simple remove the static > list in the appcenter postinst. If all initial applications (those that have an -errata repository in 3.1) now have newer versions, this whole bug is WORKSFORME: The errata repositories are removed when updating in UCS 3.1. See https://billy.knut.univention.de/websvn/filedetails.php?repname=dev&path=%2Fbranches%2Fucs-3.1%2Fucs-3.1-1%2Fmanagement%2Funivention-management-console-module-appcenter%2Fumc%2Fpython%2Fappcenter%2Futil.py ComponentManager.remove_app
(In reply to Dirk Wiesenthal from comment #9) > If all initial applications (those that have an -errata repository in 3.1) > now have newer versions, this whole bug is WORKSFORME No, sorry. The user may have installed the application with 3.1-0errata0. In this case the errata components are registered (may only happen once: In errata0 all UCS-errata updates are installed, too). My guess is that this is no real problem, though.
(In reply to Alexander Kläser from comment #7) > (In reply to Dirk Wiesenthal from comment #6) > > ... > > Important: > > Users having the -errata components registered will not be able to update to > > UCS 3.2 because of the missing repositories. Is it possible to delete the > > UCR variables _before_ updating to UCS 3.2 - even before checking if all > > components are present in the new release? > > > > Otherwise we need to ship the -errata components in UCS 3.2 > > Theoretically this would be possible in the preup script. Nope, it is not possible. We need to ship the corresponding errata components. As discussed, all necessary errata components (i.e. for apps that are shipped with an errata component in there latest version for 3.1) will be added to 3.2, as well in the repository. The 3.2 appcenter posinst script will then remove these few UCR variables for the errata components manually.
I've created symbolic "component-errata" links to their related components in the test appcenter. The component-errata UCRVs (every one that could at least possibly be set) will be removed in univention-management-console-module-appcenter.postinst directly, not using an external script.
While updating: /var/lib/dpkg/info/univention-management-console-module-appcenter.postinst: Zeile 52: /usr/share/univention-management-console-module-appcenter/remove-app-errata-repositories-from-ucr: Datei oder Verzeichnis nicht gefunden
svn r45711: univention-management-console-module-appcenter (3.0.48-3) unstable; urgency=low * removed obsolete code (Bug #30904)
Please add the following -errata repositories: * ucsschool_20131007 Not all -errata components are removed after upgrade, notably fetchmail-errata. Some non-errata (aka real) components are removed, e.g. agorumcore-pro
(In reply to Dirk Wiesenthal from comment #15) > Please add the following -errata repositories: > * ucsschool_20131007 > > Not all -errata components are removed after upgrade, notably > fetchmail-errata. > > Some non-errata (aka real) components are removed, e.g. agorumcore-pro Instead of agorumcore-pro-errata and fetchmail-errata, agorumcore-pro and fetechmail were included in the list of component IDs to iterate over. This is corrected now.
(In reply to Lukas Walter from comment #16) > (In reply to Dirk Wiesenthal from comment #15) > > Please add the following -errata repositories: > > * ucsschool_20131007 > > > > Not all -errata components are removed after upgrade, notably > > fetchmail-errata. > > > > Some non-errata (aka real) components are removed, e.g. agorumcore-pro > > Instead of agorumcore-pro-errata and fetchmail-errata, agorumcore-pro and > fetechmail were included in the list of component IDs to iterate over. > > This is corrected now. But fetchmail has to be removed: Bug#32541
ucsschool_20131007-errata is still missing in 3.2 App Center
(In reply to Dirk Wiesenthal from comment #17) > But fetchmail has to be removed: Bug#32541 My fault. Is removed by fetchmail itself. ucsschool_20131007-errata remains. Do not forget to add it in the postinst list
(In reply to Dirk Wiesenthal from comment #19) > (In reply to Dirk Wiesenthal from comment #17) > > But fetchmail has to be removed: Bug#32541 > > My fault. Is removed by fetchmail itself. ucsschool_20131007-errata remains. > Do not forget to add it in the postinst list Added in SVN r45789
Works
UCS 3.2 has been released: http://docs.univention.de/release-notes-3.2-en.html http://docs.univention.de/release-notes-3.2-de.html If this error occurs again, please use "Clone This Bug".