Merge pull request #157 from linuxserver/edge
Rebase to Edge, install from repos.
This commit is contained in:
3
.github/workflows/external_trigger.yml
vendored
3
.github/workflows/external_trigger.yml
vendored
@@ -18,7 +18,8 @@ jobs:
|
||||
fi
|
||||
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER\". ****"
|
||||
echo "**** Retrieving external version ****"
|
||||
EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET 'https://api.github.com/repos/qbittorrent/qBittorrent/tags' | jq -r '.[].name' | grep -Po -m 1 '^release-(\d+(\.)?)+$')
|
||||
EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:'"qbittorrent-nox"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://')
|
||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "**** Can't retrieve external version, exiting ****"
|
||||
FAILURE_REASON="Can't retrieve external version for qbittorrent branch master"
|
||||
|
||||
107
Dockerfile
107
Dockerfile
@@ -1,84 +1,9 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.15 as build-stage
|
||||
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG QBITTORRENT_VERSION
|
||||
|
||||
ENV HOME="/config" \
|
||||
XDG_CONFIG_HOME="/config" \
|
||||
XDG_DATA_HOME="/config"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apk add -U --update --no-cache --virtual=build-dependencies \
|
||||
autoconf \
|
||||
automake \
|
||||
boost-dev \
|
||||
build-base \
|
||||
cmake \
|
||||
curl \
|
||||
git \
|
||||
grep \
|
||||
jq \
|
||||
libtool \
|
||||
linux-headers \
|
||||
perl \
|
||||
pkgconf \
|
||||
python3-dev \
|
||||
re2c \
|
||||
icu-dev \
|
||||
libexecinfo-dev \
|
||||
openssl-dev \
|
||||
qt6-qtbase-dev \
|
||||
qt6-qttools-dev \
|
||||
qt6-qtsvg-dev \
|
||||
zlib-dev && \
|
||||
mkdir -p /build && \
|
||||
echo "**** build ninja ****" && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/ninja-build/ninja.git ~/ninja && cd ~/ninja && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "v*" | head -n 1)" && \
|
||||
cmake -Wno-dev -B build \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_INSTALL_PREFIX="/usr" && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** build libtorrent ****" && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/arvidn/libtorrent.git ~/libtorrent && cd ~/libtorrent && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "v2*" | head -n 1)" && \
|
||||
cmake -Wno-dev -G Ninja -B build \
|
||||
-D CMAKE_BUILD_TYPE="release" \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_INSTALL_LIBDIR="lib" \
|
||||
-D CMAKE_INSTALL_PREFIX="/usr" && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** build qbittorrent ****" && \
|
||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||
QBITTORRENT_VERSION=$(curl -sX GET "https://api.github.com/repos/qbittorrent/qBittorrent/tags" | jq -r '.[].name' | grep -Po -m 1 '^release-(\d+(\.)?)+$'); \
|
||||
fi && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/qbittorrent/qBittorrent.git ~/qbittorrent && cd ~/qbittorrent && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "${QBITTORRENT_VERSION}" | head -n 1)" && \
|
||||
cmake -Wno-dev -G Ninja -B build \
|
||||
-D CMAKE_BUILD_TYPE="release" \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_CXX_STANDARD_LIBRARIES="/usr/lib/libexecinfo.so" \
|
||||
-D CMAKE_INSTALL_PREFIX="/build/usr" \
|
||||
-D GUI=OFF \
|
||||
-D QT6=ON && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/config/* \
|
||||
/tmp/*
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:edge
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG QBITTORRENT_VERSION
|
||||
ARG QBT_VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="thespad"
|
||||
@@ -88,25 +13,17 @@ ENV HOME="/config" \
|
||||
XDG_CONFIG_HOME="/config" \
|
||||
XDG_DATA_HOME="/config"
|
||||
|
||||
#copy build artifacts from build-stage
|
||||
COPY --from=build-stage /build/usr/ /usr/
|
||||
COPY --from=build-stage /usr/lib/libtorrent-rasterbar.so.* /usr/lib/
|
||||
|
||||
# install runtime packages and qbitorrent-cli
|
||||
RUN \
|
||||
apk add -U --update --no-cache \
|
||||
p7zip \
|
||||
geoip \
|
||||
unzip \
|
||||
bash \
|
||||
curl \
|
||||
icu-libs\
|
||||
libexecinfo \
|
||||
openssl \
|
||||
python3 \
|
||||
qt6-qtbase \
|
||||
zlib && \
|
||||
apk add -U --upgrade --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.14/main/ unrar && \
|
||||
curl && \
|
||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
|
||||
fi && \
|
||||
apk add -U --upgrade --no-cache \
|
||||
qbittorrent-nox==${QBITTORRENT_VERSION} && \
|
||||
echo "***** install qbitorrent-cli ****" && \
|
||||
if [ -z ${QBT_VERSION+x} ]; then \
|
||||
QBT_VERSION=$(curl -sX GET "https://api.github.com/repos/ludviglundgren/qbittorrent-cli/releases/latest" \
|
||||
@@ -121,12 +38,12 @@ RUN \
|
||||
mv /tmp/qbt /usr/bin && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 6881 6881/udp 8080
|
||||
EXPOSE 8080 6881 6881/udp
|
||||
|
||||
VOLUME /config
|
||||
|
||||
@@ -1,84 +1,9 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 as build-stage
|
||||
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG QBITTORRENT_VERSION
|
||||
|
||||
ENV HOME="/config" \
|
||||
XDG_CONFIG_HOME="/config" \
|
||||
XDG_DATA_HOME="/config"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apk add -U --update --no-cache --virtual=build-dependencies \
|
||||
autoconf \
|
||||
automake \
|
||||
boost-dev \
|
||||
build-base \
|
||||
cmake \
|
||||
curl \
|
||||
git \
|
||||
grep \
|
||||
jq \
|
||||
libtool \
|
||||
linux-headers \
|
||||
perl \
|
||||
pkgconf \
|
||||
python3-dev \
|
||||
re2c \
|
||||
icu-dev \
|
||||
libexecinfo-dev \
|
||||
openssl-dev \
|
||||
qt6-qtbase-dev \
|
||||
qt6-qttools-dev \
|
||||
qt6-qtsvg-dev \
|
||||
zlib-dev && \
|
||||
mkdir -p /build && \
|
||||
echo "**** build ninja ****" && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/ninja-build/ninja.git ~/ninja && cd ~/ninja && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "v*" | head -n 1)" && \
|
||||
cmake -Wno-dev -B build \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_INSTALL_PREFIX="/usr" && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** build libtorrent ****" && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/arvidn/libtorrent.git ~/libtorrent && cd ~/libtorrent && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "v2*" | head -n 1)" && \
|
||||
cmake -Wno-dev -G Ninja -B build \
|
||||
-D CMAKE_BUILD_TYPE="release" \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_INSTALL_LIBDIR="lib" \
|
||||
-D CMAKE_INSTALL_PREFIX="/usr" && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** build qbittorrent ****" && \
|
||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||
QBITTORRENT_VERSION=$(curl -sX GET "https://api.github.com/repos/qbittorrent/qBittorrent/tags" | jq -r '.[].name' | grep -Po -m 1 '^release-(\d+(\.)?)+$'); \
|
||||
fi && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/qbittorrent/qBittorrent.git ~/qbittorrent && cd ~/qbittorrent && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "${QBITTORRENT_VERSION}" | head -n 1)" && \
|
||||
cmake -Wno-dev -G Ninja -B build \
|
||||
-D CMAKE_BUILD_TYPE="release" \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_CXX_STANDARD_LIBRARIES="/usr/lib/libexecinfo.so" \
|
||||
-D CMAKE_INSTALL_PREFIX="/build/usr" \
|
||||
-D GUI=OFF \
|
||||
-D QT6=ON && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/config/* \
|
||||
/tmp/*
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-edge
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG QBITTORRENT_VERSION
|
||||
ARG QBT_VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="thespad"
|
||||
@@ -88,25 +13,17 @@ ENV HOME="/config" \
|
||||
XDG_CONFIG_HOME="/config" \
|
||||
XDG_DATA_HOME="/config"
|
||||
|
||||
#copy build artifacts from build-stage
|
||||
COPY --from=build-stage /build/usr/ /usr/
|
||||
COPY --from=build-stage /usr/lib/libtorrent-rasterbar.so.* /usr/lib/
|
||||
|
||||
# install runtime packages and qbitorrent-cli
|
||||
RUN \
|
||||
apk add -U --update --no-cache \
|
||||
p7zip \
|
||||
geoip \
|
||||
unzip \
|
||||
bash \
|
||||
curl \
|
||||
icu-libs \
|
||||
libexecinfo \
|
||||
openssl \
|
||||
python3 \
|
||||
qt6-qtbase \
|
||||
zlib && \
|
||||
apk add -U --upgrade --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.14/main/ unrar && \
|
||||
curl && \
|
||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/aarch64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
|
||||
fi && \
|
||||
apk add -U --upgrade --no-cache \
|
||||
qbittorrent-nox==${QBITTORRENT_VERSION} && \
|
||||
echo "***** install qbitorrent-cli ****" && \
|
||||
if [ -z ${QBT_VERSION+x} ]; then \
|
||||
QBT_VERSION=$(curl -sX GET "https://api.github.com/repos/ludviglundgren/qbittorrent-cli/releases/latest" \
|
||||
@@ -114,19 +31,19 @@ RUN \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/qbt.tar.gz -L \
|
||||
"https://github.com/ludviglundgren/qbittorrent-cli/releases/download/${QBT_VERSION}/qbittorrent-cli_$(echo $QBT_VERSION | cut -c2-)_linux_amd64.tar.gz" && \
|
||||
"https://github.com/ludviglundgren/qbittorrent-cli/releases/download/${QBT_VERSION}/qbittorrent-cli_$(echo $QBT_VERSION | cut -c2-)_linux_arm64.tar.gz" && \
|
||||
tar xzf \
|
||||
/tmp/qbt.tar.gz -C \
|
||||
/tmp && \
|
||||
mv /tmp/qbt /usr/bin && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 6881 6881/udp 8080
|
||||
EXPOSE 8080 6881 6881/udp
|
||||
|
||||
VOLUME /config
|
||||
|
||||
109
Dockerfile.armhf
109
Dockerfile.armhf
@@ -1,84 +1,9 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 as build-stage
|
||||
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG QBITTORRENT_VERSION
|
||||
|
||||
ENV HOME="/config" \
|
||||
XDG_CONFIG_HOME="/config" \
|
||||
XDG_DATA_HOME="/config"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apk add -U --update --no-cache --virtual=build-dependencies \
|
||||
autoconf \
|
||||
automake \
|
||||
boost-dev \
|
||||
build-base \
|
||||
cmake \
|
||||
curl \
|
||||
git \
|
||||
grep \
|
||||
jq \
|
||||
libtool \
|
||||
linux-headers \
|
||||
perl \
|
||||
pkgconf \
|
||||
python3-dev \
|
||||
re2c \
|
||||
icu-dev \
|
||||
libexecinfo-dev \
|
||||
openssl-dev \
|
||||
qt6-qtbase-dev \
|
||||
qt6-qttools-dev \
|
||||
qt6-qtsvg-dev \
|
||||
zlib-dev && \
|
||||
mkdir -p /build && \
|
||||
echo "**** build ninja ****" && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/ninja-build/ninja.git ~/ninja && cd ~/ninja && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "v*" | head -n 1)" && \
|
||||
cmake -Wno-dev -B build \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_INSTALL_PREFIX="/usr" && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** build libtorrent ****" && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/arvidn/libtorrent.git ~/libtorrent && cd ~/libtorrent && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "v2*" | head -n 1)" && \
|
||||
cmake -Wno-dev -G Ninja -B build \
|
||||
-D CMAKE_BUILD_TYPE="release" \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_INSTALL_LIBDIR="lib" \
|
||||
-D CMAKE_INSTALL_PREFIX="/usr" && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** build qbittorrent ****" && \
|
||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||
QBITTORRENT_VERSION=$(curl -sX GET "https://api.github.com/repos/qbittorrent/qBittorrent/tags" | jq -r '.[].name' | grep -Po -m 1 '^release-(\d+(\.)?)+$'); \
|
||||
fi && \
|
||||
git clone --shallow-submodules --recurse-submodules https://github.com/qbittorrent/qBittorrent.git ~/qbittorrent && cd ~/qbittorrent && \
|
||||
git checkout "$(git tag -l --sort=-v:refname "${QBITTORRENT_VERSION}" | head -n 1)" && \
|
||||
cmake -Wno-dev -G Ninja -B build \
|
||||
-D CMAKE_BUILD_TYPE="release" \
|
||||
-D CMAKE_CXX_STANDARD=17 \
|
||||
-D CMAKE_CXX_STANDARD_LIBRARIES="/usr/lib/libexecinfo.so" \
|
||||
-D CMAKE_INSTALL_PREFIX="/build/usr" \
|
||||
-D GUI=OFF \
|
||||
-D QT6=ON && \
|
||||
cmake --build build && \
|
||||
cmake --install build && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/config/* \
|
||||
/tmp/*
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-edge
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG QBITTORRENT_VERSION
|
||||
ARG QBT_VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="thespad"
|
||||
@@ -88,25 +13,17 @@ ENV HOME="/config" \
|
||||
XDG_CONFIG_HOME="/config" \
|
||||
XDG_DATA_HOME="/config"
|
||||
|
||||
#copy build artifacts from build-stage
|
||||
COPY --from=build-stage /build/usr/ /usr/
|
||||
COPY --from=build-stage /usr/lib/libtorrent-rasterbar.so.* /usr/lib/
|
||||
|
||||
# install runtime packages and qbitorrent-cli
|
||||
RUN \
|
||||
apk add -U --update --no-cache \
|
||||
p7zip \
|
||||
geoip \
|
||||
unzip \
|
||||
bash \
|
||||
curl \
|
||||
icu-libs \
|
||||
libexecinfo \
|
||||
openssl \
|
||||
python3 \
|
||||
qt6-qtbase \
|
||||
zlib && \
|
||||
apk add -U --upgrade --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.14/main/ unrar && \
|
||||
curl && \
|
||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/armhf/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
|
||||
fi && \
|
||||
apk add -U --upgrade --no-cache \
|
||||
qbittorrent-nox==${QBITTORRENT_VERSION} && \
|
||||
echo "***** install qbitorrent-cli ****" && \
|
||||
if [ -z ${QBT_VERSION+x} ]; then \
|
||||
QBT_VERSION=$(curl -sX GET "https://api.github.com/repos/ludviglundgren/qbittorrent-cli/releases/latest" \
|
||||
@@ -114,19 +31,19 @@ RUN \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/qbt.tar.gz -L \
|
||||
"https://github.com/ludviglundgren/qbittorrent-cli/releases/download/${QBT_VERSION}/qbittorrent-cli_$(echo $QBT_VERSION | cut -c2-)_linux_amd64.tar.gz" && \
|
||||
"https://github.com/ludviglundgren/qbittorrent-cli/releases/download/${QBT_VERSION}/qbittorrent-cli_$(echo $QBT_VERSION | cut -c2-)_linux_armv6.tar.gz" && \
|
||||
tar xzf \
|
||||
/tmp/qbt.tar.gz -C \
|
||||
/tmp && \
|
||||
mv /tmp/qbt /usr/bin && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 6881 6881/udp 8080
|
||||
EXPOSE 8080 6881 6881/udp
|
||||
|
||||
VOLUME /config
|
||||
|
||||
16
Jenkinsfile
vendored
16
Jenkinsfile
vendored
@@ -25,6 +25,9 @@ pipeline {
|
||||
DEV_DOCKERHUB_IMAGE = 'lsiodev/qbittorrent'
|
||||
PR_DOCKERHUB_IMAGE = 'lspipepr/qbittorrent'
|
||||
DIST_IMAGE = 'alpine'
|
||||
DIST_TAG = 'edge'
|
||||
DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/edge/community/'
|
||||
DIST_REPO_PACKAGES = 'qbittorrent-nox'
|
||||
MULTIARCH='true'
|
||||
CI='true'
|
||||
CI_WEB='true'
|
||||
@@ -99,14 +102,15 @@ pipeline {
|
||||
/* ########################
|
||||
External Release Tagging
|
||||
######################## */
|
||||
// If this is a custom command to determine version use that command
|
||||
stage("Set tag custom bash"){
|
||||
// If this is an alpine repo change for external version determine an md5 from the version string
|
||||
stage("Set tag Alpine Repo"){
|
||||
steps{
|
||||
script{
|
||||
env.EXT_RELEASE = sh(
|
||||
script: ''' curl -sX GET 'https://api.github.com/repos/qbittorrent/qBittorrent/tags' | jq -r '.[].name' | grep -Po -m 1 '^release-(\\d+(\\.)?)+$' ''',
|
||||
script: '''curl -sL "${DIST_REPO}x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:'"${DIST_REPO_PACKAGES}"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://' ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
env.RELEASE_LINK = 'alpine_repo'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -909,11 +913,11 @@ pipeline {
|
||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||
echo "Pushing New release for Tag"
|
||||
sh '''#! /bin/bash
|
||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||
echo "Updating external repo packages to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||
echo '{"tag_name":"'${META_TAG}'",\
|
||||
"target_commitish": "master",\
|
||||
"name": "'${META_TAG}'",\
|
||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start
|
||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Repo Changes:**\\n\\n' > start
|
||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||
|
||||
@@ -264,6 +264,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **23.02.22:** - Rebase to Alpine Edge, install from Alpine repos.
|
||||
* **19.02.22:** - Add jq to build-stage
|
||||
* **07.01.22:** - Rebase to Alpine, build from source.
|
||||
* **06.01.22:** - Deprecate unstable branch.
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
|
||||
# jenkins variables
|
||||
project_name: docker-qbittorrent
|
||||
external_type: na
|
||||
custom_version_command: "curl -sX GET 'https://api.github.com/repos/qbittorrent/qBittorrent/tags' | jq -r '.[].name' | grep -Po -m 1 '^release-(\\\\d+(\\\\.)?)+$'"
|
||||
external_type: alpine_repo
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: master
|
||||
@@ -16,6 +15,9 @@ repo_vars:
|
||||
- DEV_DOCKERHUB_IMAGE = 'lsiodev/qbittorrent'
|
||||
- PR_DOCKERHUB_IMAGE = 'lspipepr/qbittorrent'
|
||||
- DIST_IMAGE = 'alpine'
|
||||
- DIST_TAG = 'edge'
|
||||
- DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/edge/community/'
|
||||
- DIST_REPO_PACKAGES = 'qbittorrent-nox'
|
||||
- MULTIARCH='true'
|
||||
- CI='true'
|
||||
- CI_WEB='true'
|
||||
|
||||
@@ -69,6 +69,7 @@ app_setup_block: |
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "23.02.22:", desc: "Rebase to Alpine Edge, install from Alpine repos." }
|
||||
- { date: "19.02.22:", desc: "Add jq to build-stage" }
|
||||
- { date: "07.01.22:", desc: "Rebase to Alpine, build from source." }
|
||||
- { date: "06.01.22:", desc: "Deprecate unstable branch." }
|
||||
|
||||
@@ -5,22 +5,22 @@ mkdir -p /config/qBittorrent
|
||||
|
||||
# copy config
|
||||
[[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \
|
||||
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
|
||||
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
|
||||
|
||||
# v4.3.3 BT_backup migration
|
||||
[[ -d /config/data/qBittorrent/BT_backup/ ]] && \
|
||||
mv /config/qBittorrent/BT_backup/ /config/qBittorrent/BT_backup.bak/ && \
|
||||
mkdir /config/qBittorrent/BT_backup/ && \
|
||||
cp -a /config/data/qBittorrent/BT_backup/. /config/qBittorrent/BT_backup/ && \
|
||||
mv /config/data/qBittorrent/BT_backup/ /config/data/qBittorrent/BT_backup.old/
|
||||
mv /config/qBittorrent/BT_backup/ /config/qBittorrent/BT_backup.bak/ && \
|
||||
mkdir /config/qBittorrent/BT_backup/ && \
|
||||
cp -a /config/data/qBittorrent/BT_backup/. /config/qBittorrent/BT_backup/ && \
|
||||
mv /config/data/qBittorrent/BT_backup/ /config/data/qBittorrent/BT_backup.old/
|
||||
|
||||
# chown download directory if currently not set to abc
|
||||
if [[ -d /downloads ]]; then
|
||||
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
|
||||
chown -R abc:abc /downloads
|
||||
fi
|
||||
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
|
||||
chown -R abc:abc /downloads
|
||||
fi
|
||||
fi
|
||||
|
||||
# permissions
|
||||
chown -R abc:abc \
|
||||
/config
|
||||
/config
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
WEBUI_PORT=${WEBUI_PORT:-8080}
|
||||
|
||||
exec \
|
||||
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"
|
||||
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"
|
||||
|
||||
Reference in New Issue
Block a user