- python-dev build-base linux-headers libffi-dev \
- openssl-dev libjpeg-turbo-dev && \
- wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \
- sed -E s/^tempest==+\(.*\)$/-e\ git+https:\\/\\/git.openstack.org\\/openstack\\/tempest@\\1#egg=tempest/ \
- > upper-constraints.txt && \
- wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH | \
- sed -E /#egg=functest/d > upper-constraints.opnfv.txt && \
- git clone --depth 1 https://git.openstack.org/openstack/patrole.git /src/patrole && \
- (cd /src/patrole && git fetch --tags origin $PATROLE_TAG && git checkout FETCH_HEAD) && \
+ python3-dev build-base linux-headers libffi-dev \
+ openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \
+ wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \
+ sed -i -E /^tempest==+.*$/d upper-constraints.txt && \
+ case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt ;; esac && \
+ wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH > upper-constraints.opnfv.txt && \
+ sed -i -E /#egg=functest/d upper-constraints.opnfv.txt && \
+ git init /src/patrole && \
+ (cd /src/patrole && \
+ git fetch --tags https://opendev.org/openstack/patrole.git $PATROLE_TAG && \
+ git checkout FETCH_HEAD) && \