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