Univention Bugzilla – Bug 36526
Upgrade fails: univention-grub depends on python2.7, univention-debug, ucr
Last modified: 2014-11-26 06:55:44 CET
1. univention-grub-generate-menu-lst uses python2.7 but does not depends on it, so it fails on updates when python2.7 is not yet fully operational 2. Uses univention.debug, but doesn't depend on it, ... /usr/sbin/update-grub: 6: /usr/sbin/univention-grub-generate-menu-lst: not found dpkg: error processing gub-pc (--configure): subprocess installed post-installation script returned error exit status 127 Traceback File "/usr/sbin/univention-grub-generate-menu-lst", line 38, in <module> import univention.debug as udbg ImportError: No module named univention.debug dpkg: error processing gub-pc (--configure): subprocess installed post-installation script returned error exit status 1
r55532 | Bug #36526 GRUB: Fix Python dependencies Package: univention-grub Version: 8.0.4-1.123.201411071818 Branch: ucs_4.0-0 There are probably a lot more cases of hidden update problems caused by missing Python dependencies: $ for d in */*/debian; do ( grep -q python_support "$d/rules" && grep -q -Fq '${python:Depends}' "$d/control" ) || ( grep -Fq python2.7 "$d/control" ) || ( find "${d%/debian}" -type f -exec grep '^#! */usr/bin/python' {} + ) ; done base/univention-base-files/univention-directory-policy/univention-policy-update-config-registry.py:#!/usr/bin/python2.7 base/univention-base-files/univention-directory-policy/nfsmounts.py:#!/usr/bin/python2.7 base/univention-firewall/umc/python/firewall/backend.py:#!/usr/bin/python2.7 base/univention-firewall/umc/python/firewall/__init__.py:#!/usr/bin/python2.7 base/univention-heimdal/conffiles/usr/share/univention-heimdal/check_cracklib.py:#!/usr/bin/python2.7 base/univention-heimdal/salt_krb5Keys:#!/usr/bin/python2.7 base/univention-heimdal/univention-create-keytab:#!/usr/bin/python2.7 base/univention-heimdal/kerberos_now:#!/usr/bin/python2.7 base/univention-home-mounter/univention-mount-homedir:#!/usr/bin/python2.7 base/univention-network-manager/univention-register-network-address:#!/usr/bin/python2.7 base/univention-network-manager/etc/network/if-up.d/12_univention_config_registry:#!/usr/bin/python2.7 base/univention-pam/well-known-sid-name-mapping.py:#!/usr/bin/python2.7 base/univention-pam/ldap-group-to-file.py:#!/usr/bin/python2.7 base/univention-pam/nscd.py:#!/usr/bin/python2.7 base/univention-pam/faillog.py:#!/usr/bin/python2.7 base/univention-pam/nss.py:#!/usr/bin/python2.7 base/univention-printclient/univention-directory-policy/univention-policy-set-print-server:#!/usr/bin/python2.7 base/univention-server/univention-directory-policy/univention-set-ldap-server:#!/usr/bin/python2.7 base/univention-skel/univention-skel:#!/usr/bin/python2.7 base/univention-ssl/univention-certificate-check-validity:#!/usr/bin/python2.7 mail/univention-mail-cyrus/univention-mail-valid-mboxname.py:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-mailbox-delete:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-rename-shared:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-set-quota:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-mkdir:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-set-acl:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-dump-acl:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-set-quota-shared:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-mailbox-rename:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-mkdir-shared:#!/usr/bin/python2.7 mail/univention-mail-cyrus/usr/sbin/univention-cyrus-delete-folder:#!/usr/bin/python2.7 mail/univention-mail-cyrus-murder/usr/lib/univention-mail-cyrus-murder/coherence-check.py:#!/usr/bin/python2.7 mail/univention-mail-cyrus-murder/usr/sbin/univention-cyrus-murder-movemailbox:#!/usr/bin/python2.7 mail/univention-mail-postfix/share/listfilter.py:#!/usr/bin/python2.7 -u management/univention-admingrp-user-passwordreset/ldap-group-to-file-hooks.d/admingrp-user-passwordreset:#!/usr/bin/python2.7 management/univention-directory-replication/schema-openldap2.1.py:#!/usr/bin/python2.7 management/univention-ldap/scripts/convert_univentionMailSharedFolderDeliveryAddress.py:#!/usr/bin/python2.7 management/univention-ldap/scripts/convert_to_sharesSambaWriteable.py:#!/usr/bin/python2.7 management/univention-ldap/scripts/convert_shadowMax.py:#!/usr/bin/python2.7 management/univention-ldap-overlay-memberof/univention-update-memberof:#!/usr/bin/python2.7 management/univention-management-console-frontend/univention-management-console-web-server:#!/usr/bin/python2.7 management/univention-management-console-module-appcenter/apps/python/apps/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-appcenter/umc/python/appcenter/app_center.py:#!/usr/bin/python2.7 management/univention-management-console-module-appcenter/umc/python/appcenter/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-appcenter/umc/python/appcenter/util.py:#!/usr/bin/python2.7 management/univention-management-console-module-appcenter/scripts/univention-register-apps:#!/usr/bin/python2.7 management/univention-management-console-module-appcenter/scripts/univention-rename-app:#!/usr/bin/python2.7 management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/proxy.py:#!/usr/bin/python2.7 management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/nameserver.py:#!/usr/bin/python2.7 management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/gateway.py:#!/usr/bin/python2.7 management/univention-management-console-module-diagnostic/umc/python/diagnostic/plugins/security_limits.py:#!/usr/bin/python2.7 management/univention-management-console-module-diagnostic/umc/python/diagnostic/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-ipchange/umc/python/ipchange/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-lib/umc/python/lib/server.py:#!/usr/bin/python2.7 management/univention-management-console-module-lib/umc/python/lib/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-mrtg/umc/python/mrtg/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-passwordchange/umc/python/passwordchange/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-reboot/umc/python/reboot/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-services/umc/python/services/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-top/umc/python/top/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-ucr/umc/python/ucr/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-udm/univention-directory-reports-cleanup:#!/usr/bin/python2.7 management/univention-management-console-module-udm/umc/python/udm/tools.py:#!/usr/bin/python2.7 management/univention-management-console-module-udm/umc/python/udm/syntax.py:#!/usr/bin/python2.7 management/univention-management-console-module-udm/umc/python/udm/__init__.py:#!/usr/bin/python2.7 management/univention-management-console-module-udm/umc/python/udm/udm_ldap.py:#!/usr/bin/python2.7 management/univention-system-info/umc/python/sysinfo/__init__.py:#!/usr/bin/python2.7 management/univention-system-info/umc/python/sysinfo/upload.py:#!/usr/bin/python2.7 services/univention-bind/import-zone:#!/usr/bin/python2.7 services/univention-bind/bind.py:#!/usr/bin/python2.7 services/univention-dansguardian/conffiles/dansguardian-filtergroups.py:#!/usr/bin/python2.7 services/univention-dhcp/import-dhcpd.conf:#!/usr/bin/python2.7 services/univention-log-collector/python/log-collector-client.py:#!/usr/bin/python2.7 services/univention-log-collector/python/log-collector-server.py:#!/usr/bin/python2.7 services/univention-net-installer/univention-net-installer-daemon:#!/usr/bin/python2.6 services/univention-printquota/univention-printquota-setuser:#!/usr/bin/python2.7 services/univention-radius/usr/share/pyshared/univention/pyMsChapV2.py:#!/usr/bin/python2.7 services/univention-radius/usr/bin/univention-radius-ntlm-auth:#!/usr/bin/python2.7 services/univention-radius/usr/bin/univention-radius-check-access:#!/usr/bin/python2.7 services/univention-samba4/samba4-idmap.py:#!/usr/bin/python2.7 services/univention-samba4/sysvol-sync-scripts/sysvol-cleanup.py:#!/usr/bin/python2.7 services/univention-samba4/s4search-decode:#!/usr/bin/python2.7 services/univention-samba4/scripts/purge_s4_computer.py:#!/usr/bin/python2.7 services/univention-samba4/scripts/mount_extfs_with_user_xattr.py:#!/usr/bin/python2.7 services/univention-samba4/scripts/univention-samba4-site-tool.py:#!/usr/bin/python2.7 services/univention-samba4/scripts/migrate-sid.py:#!/usr/bin/python2.7 services/univention-samba/server_password_change.d/univention-samba:#!/usr/bin/python2.7 services/univention-samba/vampire/remove-samba-account:#!/usr/bin/python2.7 services/univention-samba/vampire/fix_primary_group:#!/usr/bin/python2.7 services/univention-samba/vampire/fix_user_sids:#!/usr/bin/python2.7 services/univention-samba/vampire/fix_primary_groups:#!/usr/bin/python2.7 services/univention-samba/vampire/set_privilege:#!/usr/bin/python2.7 services/univention-samba/vampire/password_check:#!/usr/bin/python2.7 services/univention-samba/vampire/mount_extfs_with_user_xattr.py:#!/usr/bin/python2.7 services/univention-samba/vampire/set_default_settings:#!/usr/bin/python2.7 services/univention-samba/vampire/purge_users_and_groups:#!/usr/bin/python2.7 services/univention-samba/vampire/query_domain_policy:#!/usr/bin/python2.7 services/univention-samba/vampire/set_domain_sid:#!/usr/bin/python2.7 services/univention-samba/vampire/change_sid:#!/usr/bin/python2.7 services/univention-samba/conffiles/samba.local.config.py:#!/usr/bin/python2.7 services/univention-samba/python/share_restrictions.py:#!/usr/bin/python2.7 services/univention-samba/scripts/kerberize_user:#!/usr/bin/python2.7 services/univention-squid/squid_ldap_ntlm_auth:#!/usr/bin/python2.7 -u test/ucs-ec2-tools/ucs-ec2-list:#!/usr/bin/python test/ucs-ec2-tools/examples/jenkins/utils/ad-join.py:#!/usr/bin/python2.7 test/ucs-ec2-tools/examples/jenkins/utils/schoolinstaller.py:#!/usr/bin/python2.6 test/ucs-ec2-tools/ucs-ec2-terminate:#!/usr/bin/python test/ucs-ec2-tools/ucs-ec2-create:#!/usr/bin/python test/ucs-ec2-tools/ucs-kvm-create:#!/usr/bin/python test/ucs-test-tools/usr/sbin/create-32k-users-in-groups:#!/usr/bin/python2.7 test/univention-demo-configuration/data/create_import_commands.py:#!/usr/bin/python2.7 virtualization/univention-virtual-machine-manager-node/conffiles/uvmm_restore.py:#!/usr/bin/python2.7 virtualization/univention-virtual-machine-manager-node/libvirtd-acl.py:#!/usr/bin/python2.7 virtualization/univention-virtual-machine-manager-node/ucs-kvm-reconnect-bridge:#!/usr/bin/python2.7 virtualization/univention-virtual-machine-manager-node/univention-virtual-machine-manager-restore.py:#!/usr/bin/python2.7 This manifests during build as dpkg-gencontrol: warning: Depends field of package XXX: unknown substitution variable ${python:Depends} which is most often caused by a missing "--with python_support" for dh in debian/rules. I didn't check them.
OK. I've also added the bug number to the changelog: r55557
UCS 4.0-0 has been released: http://docs.univention.de/release-notes-4.0-0-en.html http://docs.univention.de/release-notes-4.0-0-de.html If this error occurs again, please use "Clone This Bug".