|
1 | 1 | #/bin/bash |
2 | 2 | cvmfsversion=$1 |
3 | 3 | arch=$(dpkg --print-architecture) |
4 | | -os=debian11 |
5 | 4 |
|
6 | 5 | apt-get update |
7 | | -apt-get install -y wget |
8 | | -if [ "$arch" = "ppc64el" ] || [ "$arch" = "arm64" ] |
| 6 | +apt-get install -y wget lsb-release |
| 7 | + |
| 8 | +distro=$(lsb_release -si | tr [:upper:] [:lower:]) |
| 9 | +release=$(lsb_release -sr) |
| 10 | + |
| 11 | +# lsb_release -sr prints n/a for debian sid, replace it by 13 |
| 12 | +if [ "${distro}" = "debian" ] && [ "${release}" = "n/a" ] |
| 13 | +then |
| 14 | + release=13 |
| 15 | +fi |
| 16 | + |
| 17 | +os="${distro}${release}" |
| 18 | + |
| 19 | +if [ "$arch" = "arm64" ] || [ "$arch" = "riscv64" ] || [ "${os}" = "debian13" ] |
9 | 20 | then |
10 | | - apt-get install -y devscripts libfuse3-dev cmake cpio libcap-dev libssl-dev libfuse-dev pkg-config libattr1-dev python-dev python-setuptools python3-dev python3-setuptools uuid-dev valgrind libz-dev lsb-release |
11 | | - # Set Python 2 as default Python |
12 | | - update-alternatives --install /usr/bin/python python /usr/bin/python2 1 |
13 | | - update-alternatives --install /usr/bin/python python /usr/bin/python3 2 |
| 21 | + apt-get install -y devscripts libfuse3-dev cmake cpio libcap-dev libssl-dev libfuse-dev pkg-config libattr1-dev python3-dev python3-setuptools python3-dev python3-setuptools uuid-dev libz-dev lsb-release |
14 | 22 | cd /tmp |
15 | 23 | wget https://github.com/cvmfs/cvmfs/archive/refs/tags/cvmfs-${cvmfsversion}.tar.gz |
16 | 24 | tar xzf cvmfs-${cvmfsversion}.tar.gz |
17 | | - cd cvmfs-cvmfs-${cvmfsversion}/ci/cvmfs |
| 25 | + cd cvmfs-cvmfs-${cvmfsversion} |
18 | 26 | mkdir /root/deb |
19 | | - sed -i 's/Architecture: i386 amd64 armhf arm64/Architecture: i386 amd64 armhf arm64 ppc64el/' ../../packaging/debian/cvmfs/control.in |
| 27 | + sed -i 's/Architecture: i386 amd64 armhf arm64/Architecture: i386 amd64 armhf arm64 riscv64/' packaging/debian/cvmfs/control.in |
| 28 | + sed -i 's/python-dev/python3-dev/' packaging/debian/cvmfs/control.in |
| 29 | + sed -i 's/python-setuptools/python3-setuptools/' packaging/debian/cvmfs/control.in |
| 30 | + if [ "$arch" = "riscv64" ] |
| 31 | + then |
| 32 | + # valgrind is not available (yet) for RISC-V |
| 33 | + sed -i 's/, valgrind//' packaging/debian/cvmfs/control.in |
| 34 | + # for RISC-V we need to run autoreconf, see: |
| 35 | + # https://github.com/cvmfs/cvmfs/pull/3446 |
| 36 | + wget https://github.com/cvmfs/cvmfs/pull/3446.patch |
| 37 | + patch -p 1 -i ./3446.patch |
| 38 | + rm 3446.patch |
| 39 | + # QEMU shows the host CPU in /proc/cpuinfo, so we need to tweak the CPU detection for some packages and use uname -m instead |
| 40 | + sed -i "s/^ISA=.*/ISA=\$(uname -m)/" externals/libcrypto/src/configureHook.sh |
| 41 | + sed -i "s/rv64/riscv64/" externals/libcrypto/src/configureHook.sh |
| 42 | + sed -i "s/^ISA=.*/ISA=\$(uname -m)/" externals/protobuf/src/configureHook.sh |
| 43 | + sed -i "s/rv64/riscv64/" externals/protobuf/src/configureHook.sh |
| 44 | + else |
| 45 | + apt-get install -y valgrind |
| 46 | + fi |
| 47 | + cd ci/cvmfs |
| 48 | + # make sure the cvmfs package also uses debian 13 for debian sid |
| 49 | + [ $release = "13" ] && sed -i "s@\$(lsb_release -sr)@13@" ./deb.sh && sed -i "s/focal/trixie/" ./deb.sh |
20 | 50 | ./deb.sh /tmp/cvmfs-cvmfs-${cvmfsversion} /root/deb |
21 | 51 | else |
22 | 52 | mkdir -p /root/deb |
|
0 commit comments