diff options
-rw-r--r-- | .github/PULL_REQUEST_TEMPLATE.md | 20 | ||||
-rw-r--r-- | .github/reviewers.yml | 20 | ||||
-rw-r--r-- | .github/workflows/auto-author-assign.yml | 4 | ||||
-rw-r--r-- | data/defaults.json | 4 | ||||
-rw-r--r-- | data/live-build-config/archives/bullseye.pref.chroot | 32 | ||||
-rw-r--r-- | docker/Dockerfile | 15 | ||||
-rwxr-xr-x | packages/linux-kernel/build-linux-firmware.sh | 40 |
7 files changed, 96 insertions, 39 deletions
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index cc5e2f53..17d457ce 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,12 +1,15 @@ <!-- All PR should follow this template to allow a clean and transparent review --> -<!-- Text placed between these delimiters is considered a commend and is not rendered --> +<!-- Text placed between these delimiters is considered a comment and is not rendered --> ## Change Summary <!--- Provide a general summary of your changes in the Title above --> ## Types of changes -<!--- What types of changes does your code introduce? Put an 'x' in all the boxes that apply. --> -<!--- NOTE: Markdown requires no leading or trailing whitespace inside the [ ] for checking the box, please use [x] --> +<!--- +What types of changes does your code introduce? Put an 'x' in all the boxes that apply. +NOTE: Markdown requires no leading or trailing whitespace inside the [ ] for checking +the box, please use [x] +--> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Code style update (formatting, renaming) @@ -16,6 +19,7 @@ ## Related Task(s) <!-- All submitted PRs must be linked to a Task on Phabricator. --> +* https://phabricator.vyos.net/Txxxx ## Component(s) name <!-- A rather incomplete list of components: ethernet, wireguard, bgp, mpls, ldp, l2tp, dhcp ... --> @@ -24,8 +28,14 @@ <!--- Describe your changes in detail --> ## How to test -<!--- Please describe in detail how you tested your changes. --> -<!--- Include details of your testing environment, and the tests you ran to --> +<!--- +Please describe in detail how you tested your changes. Include details of your testing +environment, and the tests you ran. When pasting configs, logs, shell output, backtraces, +and other large chunks of text, surround this text with triple backtics +``` +like this +``` +--> ## Checklist: <!--- Go over all the following points, and put an `x` in all the boxes that apply. --> diff --git a/.github/reviewers.yml b/.github/reviewers.yml index 66c99e90..a1647d20 100644 --- a/.github/reviewers.yml +++ b/.github/reviewers.yml @@ -1,19 +1,3 @@ --- -docker-vyos/**: - - sever-sever - - DmitriyEshenko - -vars/**: - - c-po - - UnicronNL - -.github/**: - - c-po - - dmbaturin - - UnicronNL - -'**': - - c-po - - dmbaturin - - jestabro - - UnicronNL +"**/*": + - team: reviewers diff --git a/.github/workflows/auto-author-assign.yml b/.github/workflows/auto-author-assign.yml index 81134206..13bfd9bb 100644 --- a/.github/workflows/auto-author-assign.yml +++ b/.github/workflows/auto-author-assign.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Request review based on files changes and/or groups the author belongs to - uses: shufo/auto-assign-reviewer-by-files@v1.1.1 + uses: shufo/auto-assign-reviewer-by-files@v1.1.4 with: - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.PR_ACTION_ASSIGN_REVIEWERS }} config: .github/reviewers.yml diff --git a/data/defaults.json b/data/defaults.json index f928186d..0f10dc99 100644 --- a/data/defaults.json +++ b/data/defaults.json @@ -5,12 +5,12 @@ "debian_distribution": "buster", "vyos_mirror": "http://dev.packages.vyos.net/repositories/equuleus", "vyos_branch": "equuleus", - "kernel_version": "5.4.210", + "kernel_version": "5.4.229", "kernel_flavor": "amd64-vyos", "release_train": "equuleus", "additional_repositories": [ "deb [arch=amd64] https://repo.saltproject.io/py3/debian/10/amd64/3003 buster main", - "deb [arch=amd64] http://repo.powerdns.com/debian buster-rec-45 main" + "deb [arch=amd64] http://repo.powerdns.com/debian buster-rec-48 main" ], "custom_packages": [] } diff --git a/data/live-build-config/archives/bullseye.pref.chroot b/data/live-build-config/archives/bullseye.pref.chroot index 1dd6e8d5..c2efd86e 100644 --- a/data/live-build-config/archives/bullseye.pref.chroot +++ b/data/live-build-config/archives/bullseye.pref.chroot @@ -6,6 +6,38 @@ Package: ddclient Pin: release n=bullseye Pin-Priority: 600 +Package: podman +Pin: release n=bullseye +Pin-Priority: 600 + +Package: libseccomp2 +Pin: release n=bullseye +Pin-Priority: 600 + +Package: conmon +Pin: release n=bullseye +Pin-Priority: 600 + +Package: containernetworking-plugins +Pin: release n=bullseye +Pin-Priority: 600 + +Package: runc +Pin: release n=bullseye +Pin-Priority: 600 + +Package: golang-github-containers-common +Pin: release n=bullseye +Pin-Priority: 600 + +Package: golang-github-containers-image +Pin: release n=bullseye +Pin-Priority: 600 + +Package: skopeo +Pin: release n=bullseye +Pin-Priority: 600 + Package: squashfs-tools Pin: release n=bullseye Pin-Priority: -10 diff --git a/docker/Dockerfile b/docker/Dockerfile index 51a7780f..f0a000c5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -134,7 +134,8 @@ RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \ ctypes.0.16.0 \ ctypes-foreign \ ctypes-build \ - containers + containers \ + fileutils # Build VyConf which is required to build libvyosconfig RUN eval $(opam env --root=/opt/opam --set-root) && \ @@ -172,7 +173,7 @@ RUN wget https://salsa.debian.org/jestabro-guest/live-build/commit/63425b3e4f7ad patch -p1 < /tmp/63425b3e4f7ad3712ced4c9a3584ef9851c0355a.patch && \ dch -n "Applying fix for missing archive keys" && \ dpkg-buildpackage -us -uc && \ - sudo dpkg -i ../live-build*.deb + dpkg -i ../live-build*.deb # # live-build: building in docker fails with mounting /proc | /sys @@ -188,7 +189,7 @@ RUN wget https://salsa.debian.org/klausenbusk-guest/debootstrap/commit/a9a603b17 patch -p1 < /tmp/a9a603b17cadbf52cb98cde0843dc9f23a08b0da.patch && \ dch -n "Applying fix for docker image compile" && \ dpkg-buildpackage -us -uc && \ - sudo dpkg -i ../debootstrap*.deb + dpkg -i ../debootstrap*.deb # # Install Packer @@ -360,13 +361,10 @@ RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \ # Go required for validators and vyos-xe-guest-utilities RUN GO_VERSION_INSTALL="1.18.3" ; \ - if [ "$ARCH" = "arm64v8" ] ; then \ - wget -O /tmp/go${GO_VERSION_INSTALL}.linux-arm64.tar.gz https://go.dev/dl/go${GO_VERSION_INSTALL}.linux-arm64.tar.gz ; \ - else \ - wget -O /tmp/go${GO_VERSION_INSTALL}.linux-amd64.tar.gz https://go.dev/dl/go${GO_VERSION_INSTALL}.linux-amd64.tar.gz ; \ - fi && \ + wget -O /tmp/go${GO_VERSION_INSTALL}.linux-$(dpkg-architecture -qDEB_HOST_ARCH).tar.gz https://go.dev/dl/go${GO_VERSION_INSTALL}.linux-$(dpkg-architecture -qDEB_HOST_ARCH).tar.gz ; \ tar -C /opt -xzf /tmp/go*.tar.gz && \ rm /tmp/go*.tar.gz +RUN echo "export PATH=/opt/go/bin:$PATH" >> /etc/bash.bashrc # Packages needed for ipaddrcheck RUN apt-get update && apt-get install -y \ @@ -604,6 +602,7 @@ RUN apt-get update && apt-get install -y \ ruby-dev \ rubygems \ build-essential +RUN gem install public_suffix -v 4.0.7 RUN gem install --no-document fpm # Allow password-less 'sudo' for all users in group 'sudo' diff --git a/packages/linux-kernel/build-linux-firmware.sh b/packages/linux-kernel/build-linux-firmware.sh index 3e5274fa..7b108195 100755 --- a/packages/linux-kernel/build-linux-firmware.sh +++ b/packages/linux-kernel/build-linux-firmware.sh @@ -38,15 +38,46 @@ if [ -d ${VYOS_FIRMWARE_DIR} ]; then fi mkdir -p ${VYOS_FIRMWARE_DIR} -# Copy firmware file from linux firmware repository into +# Install firmware files to build directory +LINUX_FIRMWARE_BUILD_DIR="${LINUX_FIRMWARE}_${GIT_COMMIT}" + +if [ -d ${LINUX_FIRMWARE_BUILD_DIR} ]; then + rm -rf "${LINUX_FIRMWARE_BUILD_DIR}" +fi + +mkdir -p "${LINUX_FIRMWARE_BUILD_DIR}" + +( + cd ${LINUX_FIRMWARE} + ./copy-firmware.sh "${CWD}/${LINUX_FIRMWARE_BUILD_DIR}" +) + +# Copy firmware file from linux firmware build directory into # assembly folder for the vyos-firmware package SED_REPLACE="s@${CWD}/${LINUX_FIRMWARE}/@@" for FILE in ${FW_FILES}; do - if [ -f ${LINUX_FIRMWARE}/${FILE} ]; then + # If file is a symlink install the symlink target as well + if [ -h "${LINUX_FIRMWARE_BUILD_DIR}/${FILE}" ]; then + TARGET="$(realpath --relative-to="${LINUX_FIRMWARE_BUILD_DIR}" "${LINUX_FIRMWARE_BUILD_DIR}/${FILE}")" + TARGET_DIR="${VYOS_FIRMWARE_DIR}/lib/firmware/$(dirname "${TARGET}")" + + if [ ! -f "${TARGET_DIR}/$(basename "${TARGET}")" ]; then + if [ -f "${LINUX_FIRMWARE_BUILD_DIR}/${TARGET}" ]; then + mkdir -p "${TARGET_DIR}" + + echo "I: install firmware: ${TARGET}" + cp "${CWD}/${LINUX_FIRMWARE_BUILD_DIR}/${TARGET}" "${TARGET_DIR}" + else + echo "I: firmware file not found: ${TARGET}" + fi + fi + fi + + if [ -f ${LINUX_FIRMWARE_BUILD_DIR}/${FILE} ]; then FW_DIR="${VYOS_FIRMWARE_DIR}/lib/firmware/$(dirname ${FILE})" - mkdir -p ${FW_DIR} + mkdir -p "${FW_DIR}" echo "I: install firmware: ${FILE}" - cp ${CWD}/${LINUX_FIRMWARE}/${FILE} ${FW_DIR} + cp -P "${CWD}/${LINUX_FIRMWARE_BUILD_DIR}/${FILE}" "${FW_DIR}" else echo "I: firmware file not found: ${FILE}" fi @@ -59,4 +90,5 @@ fpm --input-type dir --output-type deb --name ${VYOS_FIRMWARE_NAME} \ --description "Binary firmware for various drivers in the Linux kernel" \ --architecture all --version ${GIT_COMMIT} --deb-compression gz -C ${VYOS_FIRMWARE_DIR} +rm -rf "${LINUX_FIRMWARE_BUILD_DIR}" rm -rf ${VYOS_FIRMWARE_DIR} |