| #!/bin/sh | |
| # Licensed to the Apache Software Foundation (ASF) under one | |
| # or more contributor license agreements. See the NOTICE file | |
| # distributed with this work for additional information | |
| # regarding copyright ownership. The ASF licenses this file | |
| # to you under the Apache License, Version 2.0 (the | |
| # "License"); you may not use this file except in compliance | |
| # with the License. You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, | |
| # software distributed under the License is distributed on an | |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| # KIND, either express or implied. See the License for the | |
| # specific language governing permissions and limitations | |
| # under the License. | |
| set -e | |
| CLOUDUTILS_DIR="/usr/share/pyshared/" | |
| # distutils was removed in Python 3.12 (Ubuntu 24.04); the Debian/Ubuntu-patched | |
| # sysconfig 'deb_system' scheme gives the same /usr/lib/python3/dist-packages path. | |
| DIST_DIR=$(python3 -c "import sysconfig; print(sysconfig.get_path('platlib', 'deb_system'))") | |
| if command -v py3compile >/dev/null 2>&1; then | |
| py3compile -p cloudstack-common 2>/dev/null || echo "Warning: py3compile failed for cloudstack-common" >&2 | |
| py3compile -p cloudstack-common /usr/share/cloudstack-common 2>/dev/null || echo "Warning: py3compile failed for cloudstack-common (/usr/share/cloudstack-common)" >&2 | |
| fi | |
| cp $CLOUDUTILS_DIR/cloud_utils.py $DIST_DIR | |
| cp -R $CLOUDUTILS_DIR/cloudutils $DIST_DIR | |
| python3 -m py_compile $DIST_DIR/cloud_utils.py | |
| python3 -m compileall $DIST_DIR/cloudutils |