Univention Bugzilla – Bug 53782
Configure repository + apt pinning for UCS@school 5.0 upgrade
Last modified: 2022-05-13 17:27:46 CEST
We need several fixes in UCS packages for the upgrade of UCS@school 5.0 to complete the upgrade successfully. (because this is the first UCS@school release which is done after the UCS release). As the upgrade from UCS 4.4 to UCS 5.5 upgrades all packages from UCS 5.0 first and then the packages of all (app-center) components we need to add a `Releases` file to the component containing a label which can be pinned with a priority higher than the UCS 5.0 release. (In reply to Felix Botner from Bug #53711 comment #14) > for the 5.0-0 update we set > > [ -f /etc/apt/preferences.d/99ucs500.pref ] || > cat >/etc/apt/preferences.d/99ucs500.pref <<__PREF__ > Package: * > Pin: release l=Univention Corporate Server, v=5.0.0 > Pin-Priority: 1001 > __PREF__ > [ -f /etc/apt/apt.conf.d/99ucs500 ] || > echo 'APT::Get::Allow-Downgrades "true";' >/etc/apt/apt.conf.d/99ucs500 > > what this means (as far as i understand) is, for all packages use the 5.0-0 > release even if that is a downgrade or there are higher versions from other > sources > > that is why the univention package from the app's repo are not installed > during the update to 5.0-0 > > just for testing i added > > Package: * > Pin: origin appcenter-test.software-univention.de > Pin-Priority: 1002
We need to ship the following UCS source packages / bugs within the UCS@school 5.0 release: Bug #53553: broken search filters in UDM causes that no UCS@school computers are found anymore. univention-directory-manager-modules → dependency on univention-python Bug #53459: The self service still runs with Python 2, but Python 2 compatibility was broken. univention-self-service Bug #53071: during the upgrade no tracebacks are logged into the listener.log univention-directory-listener Bug #53712: radius service has no config and is not running after upgrade to UCS 5.0 univention-freeradius Bug #53458 - samba-shares.py listener: TypeError: cannot use a string pattern on a bytes-like object. Error in the postup.sh during listener-ctrl resync of the module with a ACL feature only used in UCS@school. univention-samba4 Bug #53779 - UMCP doesn't support mimetypes containing "+" (e.g. image/svg+xml)) which is now required by the Coputerroom module univention-management-console Bug #53742: UCR variables cannot contain Umlauts anymore, which is required by the UCS@school internetrules univention-config-registry Bug #53705: re-add CLI argument --binddn and --bindpwdfile to msgpo.py tool, which is used in UCS@school univention-s4-connector Bug #50593: Prevent removal of exam mode users in the S4-Connector univention-s4-connector Bug #53665: fix various issues regarding the new UMC Design, and the light theme, required for the UCS@school UMC modules design univention-admin-diary univention-appcenter univention-management-console-module-services univention-management-console-module-top univention-management-console-module-ucr univention-management-console-module-udm univention-management-console univention-pkgdb univention-printserver univention-quota univention-system-setup univention-updater univention-web
added * Release Files * preup (to pin the school repo with 1002) * postup (to remove the pin config) to ucsschool/release-postup-preup There are several manual steps involved, added a helper update-release-pup.sh for the creation and signing of the Release/post/preup files. Please check if the update still works and the readme is understandable. !! Every time we change the package files in the school repo, we have to (re) create the Release Files!! TODO: copy the ucs packages into the school repo and update the Release files.
Binary packages: grep -h ^Package: */{univention-directory-manager-modules,univention-python,univention-self-service,univention-directory-listener,univention-radius,univention-samba4,univention-management-console,univention-config-registry,univention-s4-connector,univention-admin-diary,univention-appcenter,univention-management-console-module-services,univention-management-console-module-top,univention-management-console-module-ucr,univention-management-console-module-udm,univention-management-console,univention-pkgdb,univention-printserver,univention-quota,univention-system-setup,univention-updater,univention-web}/debian/control | sed 's#Package: ##g' | tr '\n' ',' → python-univention-directory-manager,python-univention-directory-manager-cli,python3-univention-directory-manager,python3-univention-directory-manager-cli,univention-directory-manager-tools,python-univention-namespace,python-univention,python3-univention,univention-self-service,univention-self-service-master,univention-self-service-passwordreset-umc,univention-self-service-invitation,univention-directory-listener,univention-radius,python-univention-radius,python3-univention-radius,univention-samba4,univention-samba4-sysvol-sync,univention-management-console,univention-management-console-server,python-univention-management-console,python3-univention-management-console,univention-management-console-dev,univention-management-console-frontend,univention-management-console-web-server,univention-management-console-login,univention-config-registry,univention-config,univention-config-dev,libunivention-config0,libunivention-config-dev,python-univention-config-registry,python3-univention-config-registry,python-univention-connector-s4,python3-univention-connector-s4,univention-s4-connector,univention-admin-diary-backend,python-univention-admin-diary-backend,python3-univention-admin-diary-backend,univention-management-console-module-admindiary,univention-admin-diary-client,python-univention-admin-diary,python3-univention-admin-diary,univention-management-console-module-appcenter,univention-appcenter,python-univention-appcenter,python3-univention-appcenter,univention-appcenter-dev,python-univention-appcenter-dev,python3-univention-appcenter-dev,univention-appcenter-docker,python-univention-appcenter-docker,python3-univention-appcenter-docker,univention-management-console-module-apps,univention-management-console-module-services,univention-management-console-module-top,univention-management-console-module-ucr,univention-management-console-module-udm,univention-management-console,univention-management-console-server,python-univention-management-console,python3-univention-management-console,univention-management-console-dev,univention-management-console-frontend,univention-management-console-web-server,univention-management-console-login,univention-pkgdb,python-univention-pkgdb,python3-univention-pkgdb,univention-pkgdb-tools,univention-management-console-module-pkgdb,univention-printserver,univention-printserver-pdf,univention-management-console-module-printers,univention-quota,univention-management-console-module-quota,univention-system-setup,univention-system-setup-boot,di-univention-system-setup,univention-management-console-module-setup,univention-updater,python-univention-updater,python3-univention-updater,univention-management-console-module-updater,univention-web-js,univention-web-style,univention-web-src Copy command: curl https://provider-portal.software-univention.de/appcenter-selfservice/univention-appcenter-control | python - upload 5.0/ucsschool --username "$USER" /var/univention/buildsystem2/apt/ucs_5.0-0-errata5.0-0/{all,amd64}/{$INSERT_PACKAGES_HERE}_*.deb
Together with all UCS@school packages: time curl https://provider-portal.software-univention.de/appcenter-selfservice/univention-appcenter-control | python - upload 5.0/ucsschool --username fbest /var/univention/buildsystem2/apt/ucs_5.0-0-ucs-school-5.0/{all,amd64}/*.deb /var/univention/buildsystem2/apt/ucs_5.0-0-errata5.0-0/{all,amd64}/{python-univention-directory-manager,python-univention-directory-manager-cli,python3-univention-directory-manager,python3-univention-directory-manager-cli,univention-directory-manager-tools,python-univention-namespace,python-univention,python3-univention,univention-self-service,univention-self-service-master,univention-self-service-passwordreset-umc,univention-self-service-invitation,univention-directory-listener,univention-radius,python-univention-radius,python3-univention-radius,univention-samba4,univention-samba4-sysvol-sync,univention-management-console,univention-management-console-server,python-univention-management-console,python3-univention-management-console,univention-management-console-dev,univention-management-console-frontend,univention-management-console-web-server,univention-management-console-login,univention-config-registry,univention-config,univention-config-dev,libunivention-config0,libunivention-config-dev,python-univention-config-registry,python3-univention-config-registry,python-univention-connector-s4,python3-univention-connector-s4,univention-s4-connector,univention-admin-diary-backend,python-univention-admin-diary-backend,python3-univention-admin-diary-backend,univention-management-console-module-admindiary,univention-admin-diary-client,python-univention-admin-diary,python3-univention-admin-diary,univention-management-console-module-appcenter,univention-appcenter,python-univention-appcenter,python3-univention-appcenter,univention-appcenter-dev,python-univention-appcenter-dev,python3-univention-appcenter-dev,univention-appcenter-docker,python-univention-appcenter-docker,python3-univention-appcenter-docker,univention-management-console-module-apps,univention-management-console-module-services,univention-management-console-module-top,univention-management-console-module-ucr,univention-management-console-module-udm,univention-management-console,univention-management-console-server,python-univention-management-console,python3-univention-management-console,univention-management-console-dev,univention-management-console-frontend,univention-management-console-web-server,univention-management-console-login,univention-pkgdb,python-univention-pkgdb,python3-univention-pkgdb,univention-pkgdb-tools,univention-management-console-module-pkgdb,univention-printserver,univention-printserver-pdf,univention-management-console-module-printers,univention-quota,univention-management-console-module-quota,univention-system-setup,univention-system-setup-boot,di-univention-system-setup,univention-management-console-module-setup,univention-updater,python-univention-updater,python3-univention-updater,univention-management-console-module-updater,univention-web-js,univention-web-style,univention-web-src}_*.deb
Updated the release files. during the update is see -> apt policy Package files: 100 /var/lib/dpkg/status release a=now 500 http://updates-test.knut.univention.de/5.0/maintained/component ucsschool_DEVEL/amd64/ Packages release v=ucsschool_DEVEL,o=Univention,n=ucsschool_DEVEL/amd64,l=Univention,c= origin updates-test.knut.univention.de 500 http://updates-test.knut.univention.de/5.0/maintained/component ucsschool_DEVEL/all/ Packages release v=ucsschool_DEVEL,o=Univention,n=ucsschool_DEVEL/all,l=Univention,c= origin updates-test.knut.univention.de 1002 https://appcenter-test.software-univention.de/univention-repository/5.0/maintained/component ucsschool_20201208103021/amd64/ Packages release v=ucsschool_20201208103021,o=Univention,a=apt,n=ucsschool_20201208103021/amd64,l=ucs@school,c= origin appcenter-test.software-univention.de 1002 https://appcenter-test.software-univention.de/univention-repository/5.0/maintained/component ucsschool_20201208103021/all/ Packages release v=ucsschool_20201208103021,o=Univention,a=apt,n=ucsschool_20201208103021/all,l=ucs@school,c= origin appcenter-test.software-univention.de 1001 http://updates-test.knut.univention.de ucs500/main amd64 Packages release v=5.0.0,o=Univention,a=ucs500,n=ucs500,l=Univention Corporate Server,c=main,b=amd64 origin updates-test.knut.univention.de updater.log: Holen:20 https://appcenter-test.software-univention.de/univention-repository/5.0/maintained/component ucsschool_20201208103021/amd64/ univention-directory-listener 14.0.5-3A~5.0.0.202108021751 [97,7 kB] -> cat /etc/apt/preferences.d/99ucsschool500.pref Package: * Pin: release ucs@school, o=Univention, l=ucs@school, v=ucsschool_20201208103021 Pin-Priority: 1002 after update: -> cat /etc/apt/preferences.d/99ucsschool500.pref cat: /etc/apt/preferences.d/99ucsschool500.pref: Datei oder Verzeichnis nicht gefunden -> apt policy Paketdateien: 100 /var/lib/dpkg/status release a=now 500 https://appcenter-test.software-univention.de/univention-repository/5.0/maintained/component ucsschool_20201208103021/amd64/ Packages release v=ucsschool_20201208103021,o=Univention,a=apt,n=ucsschool_20201208103021/amd64,l=ucs@school,c= origin appcenter-test.software-univention.de 500 https://appcenter-test.software-univention.de/univention-repository/5.0/maintained/component ucsschool_20201208103021/all/ Packages release v=ucsschool_20201208103021,o=Univention,a=apt,n=ucsschool_20201208103021/all,l=ucs@school,c= origin appcenter-test.software-univention.de 500 http://updates-test.knut.univention.de ucs500/main amd64 Packages release v=5.0.0,o=Univention,a=ucs500,n=ucs500,l=Univention Corporate Server,c=main,b=amd64 origin updates-test.knut.univention.de Mit Pinning verwaltete Pakete: preup -> creates /etc/apt/preferences.d/99ucsschool500.pref postup -> rm /etc/apt/preferences.d/99ucsschool500.pref !!! Once again, we have to update the release files every time we add/remove a package form the school app.
OK
https://forge.univention.org/bugzilla/show_bug.cgi?id=53927 - displayName of computer objects can only contain ASCII, not UTF-8 anymore.
UCS@school 5.0 v1 has been released. https://docs.software-univention.de/release-notes-ucsschool-5.0v1-de.html If this error occurs again, please clone this bug.
IMPORTANT NOTE: this did not work (in the first attempt) because the Release file did not match the APT pinning! → bug 54756