Work on making daemon APKBUILD follow best practices
This commit is contained in:
12
Dockerfile
12
Dockerfile
@@ -6,18 +6,16 @@ RUN apk update && apk add \
|
|||||||
build-base \
|
build-base \
|
||||||
abuild \
|
abuild \
|
||||||
git \
|
git \
|
||||||
rustup \
|
rust \
|
||||||
musl-dev \
|
cargo-auditable \
|
||||||
pkgconfig \
|
pkgconfig \
|
||||||
protobuf-dev \
|
protobuf-dev \
|
||||||
protobuf-dev \
|
protobuf-dev \
|
||||||
libmnl-dev \
|
libmnl libmnl-dev \
|
||||||
libnftnl-dev \
|
libnftnl libnftnl-dev \
|
||||||
dbus-dev \
|
dbus dbus-dev \
|
||||||
fontconfig-dev
|
fontconfig-dev
|
||||||
|
|
||||||
RUN rustup-init -y --default-toolchain stable
|
|
||||||
|
|
||||||
# Set pkg-config to use static libraries
|
# Set pkg-config to use static libraries
|
||||||
ENV PKG_CONFIG_ALLOW_STATIC=1
|
ENV PKG_CONFIG_ALLOW_STATIC=1
|
||||||
ENV PKG_CONFIG_ALL_STATIC=1
|
ENV PKG_CONFIG_ALL_STATIC=1
|
||||||
|
|||||||
@@ -8,17 +8,20 @@ url="https://mullvad.net/"
|
|||||||
arch="$(uname -m)"
|
arch="$(uname -m)"
|
||||||
license="GPL-3-or-later"
|
license="GPL-3-or-later"
|
||||||
depends="
|
depends="
|
||||||
|
dbus
|
||||||
|
libmnl
|
||||||
|
libnftnl
|
||||||
"
|
"
|
||||||
makedepends="
|
makedepends="
|
||||||
build-base
|
build-base
|
||||||
rustup
|
cargo-auditable
|
||||||
musl-dev
|
rust
|
||||||
pkgconfig
|
pkgconfig
|
||||||
git
|
git
|
||||||
protobuf-dev
|
protobuf-dev
|
||||||
|
dbus-dev
|
||||||
libmnl-dev
|
libmnl-dev
|
||||||
libnftnl-dev
|
libnftnl-dev
|
||||||
dbus-dev
|
|
||||||
"
|
"
|
||||||
checkdepends=""
|
checkdepends=""
|
||||||
# TODO: pre/post(de)install-scripts
|
# TODO: pre/post(de)install-scripts
|
||||||
@@ -27,43 +30,48 @@ install=""
|
|||||||
subpackages="$pkgname-systemd"
|
subpackages="$pkgname-systemd"
|
||||||
source=""
|
source=""
|
||||||
builddir="$srcdir/"
|
builddir="$srcdir/"
|
||||||
options="net !check suid"
|
options="net suid"
|
||||||
|
|
||||||
_cargo_target_dir="${CARGO_TARGET_DIR:-$startdir/mullvadvpn-app/target}"
|
_cargo_target_dir="${CARGO_TARGET_DIR:-$startdir/mullvadvpn-app/target}"
|
||||||
|
|
||||||
build() {
|
prepare() {
|
||||||
# rustup-init -y --default-toolchain stable
|
default_prepare
|
||||||
source "$HOME/.cargo/env"
|
|
||||||
|
|
||||||
cd "$startdir/mullvadvpn-app"
|
cd "$startdir/mullvadvpn-app"
|
||||||
|
cargo fetch --target "$CHOST" --locked
|
||||||
|
}
|
||||||
|
|
||||||
local target="$(rustup +stable show active-toolchain | sed 's/^[^-]*-//' | grep -o "^[^ ]*")"
|
build() {
|
||||||
|
cd "$startdir/mullvadvpn-app"
|
||||||
|
|
||||||
# * Force the `stable` toolchain since it's installed in the container.
|
# * Force the `stable` toolchain since it's installed in the container.
|
||||||
# We don't wan't to needlessly download rust while building.
|
# We don't wan't to needlessly download rust while building.
|
||||||
# * Specify `--target` so that the final binary ends up in target/<target>/release.
|
# * Specify `--target` so that the final binary ends up in target/<target>/release.
|
||||||
cargo +stable build --release --locked \
|
cargo auditable build --release --locked \
|
||||||
--target "$target" \
|
--target "$CHOST" \
|
||||||
-p mullvad-daemon \
|
-p mullvad-daemon \
|
||||||
-p mullvad-cli \
|
-p mullvad-cli \
|
||||||
-p mullvad-exclude \
|
-p mullvad-exclude \
|
||||||
-p mullvad-problem-report
|
-p mullvad-problem-report
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
check() {
|
||||||
local target="$(rustup +stable show active-toolchain | sed 's/^[^-]*-//' | grep -o "^[^ ]*")"
|
cd "$startdir/mullvadvpn-app"
|
||||||
|
cargo test --frozen
|
||||||
|
}
|
||||||
|
|
||||||
install -m755 -D "$_cargo_target_dir/$target/release/mullvad-daemon" \
|
package() {
|
||||||
|
install -m755 -D "$_cargo_target_dir/$CHOST/release/mullvad-daemon" \
|
||||||
"$pkgdir"/usr/bin/mullvad-daemon
|
"$pkgdir"/usr/bin/mullvad-daemon
|
||||||
|
|
||||||
install -m755 -D "$_cargo_target_dir/$target/release/mullvad" \
|
install -m755 -D "$_cargo_target_dir/$CHOST/release/mullvad" \
|
||||||
"$pkgdir"/usr/bin/mullvad
|
"$pkgdir"/usr/bin/mullvad
|
||||||
|
|
||||||
install -m755 -D "$_cargo_target_dir/$target/release/mullvad-exclude" \
|
install -m755 -D "$_cargo_target_dir/$CHOST/release/mullvad-exclude" \
|
||||||
"$pkgdir"/usr/bin/mullvad-exclude
|
"$pkgdir"/usr/bin/mullvad-exclude
|
||||||
chmod u+s "$pkgdir"/usr/bin/mullvad-exclude
|
chmod u+s "$pkgdir"/usr/bin/mullvad-exclude
|
||||||
|
|
||||||
install -m755 -D "$_cargo_target_dir/$target/release/mullvad-problem-report" \
|
install -m755 -D "$_cargo_target_dir/$CHOST/release/mullvad-problem-report" \
|
||||||
"$pkgdir"/usr/bin/mullvad-problem-report
|
"$pkgdir"/usr/bin/mullvad-problem-report
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user