brave, brave-origin: extract shared builder, init at 1.92.144 (#540488)
This commit is contained in:
@@ -23314,6 +23314,13 @@
|
||||
github = "DaRacci";
|
||||
githubId = 90304606;
|
||||
};
|
||||
rachalaraj = {
|
||||
name = "Rachala Raj Kumar";
|
||||
email = "rachaalaraj@gmail.com";
|
||||
matrix = "@rachalaraj:matrix.org";
|
||||
github = "rachalaraj";
|
||||
githubId = 124191100;
|
||||
};
|
||||
RadxaYuntian = {
|
||||
# This is the work account for @MakiseKurisu
|
||||
name = "ZHANG Yuntian";
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{ callPackage }:
|
||||
|
||||
let
|
||||
flavorData = {
|
||||
browser = {
|
||||
optStem = "brave";
|
||||
fileStem = "brave-browser";
|
||||
appIdStem = "com.brave.Browser";
|
||||
darwinStem = "Brave Browser";
|
||||
changelogFile = "CHANGELOG_DESKTOP.md";
|
||||
homepage = "https://brave.com/";
|
||||
innerBinary = "brave";
|
||||
};
|
||||
origin = {
|
||||
optStem = "brave-origin";
|
||||
fileStem = "brave-origin";
|
||||
appIdStem = "com.brave.Origin";
|
||||
darwinStem = "Brave Origin";
|
||||
changelogFile = "CHANGELOG_DESKTOP_ORIGIN.md";
|
||||
homepage = "https://brave.com/origin/";
|
||||
innerBinary = "brave";
|
||||
};
|
||||
};
|
||||
|
||||
mkBrave =
|
||||
release:
|
||||
let
|
||||
pkg = import release;
|
||||
fd = flavorData.${pkg.flavor or "browser"};
|
||||
in
|
||||
callPackage ./make-brave.nix { } (pkg // fd);
|
||||
|
||||
in
|
||||
{
|
||||
brave = mkBrave ./packages/brave.nix;
|
||||
brave-origin = mkBrave ./packages/brave-origin.nix;
|
||||
}
|
||||
+74
-39
@@ -49,26 +49,20 @@
|
||||
coreutils,
|
||||
libxcb,
|
||||
zlib,
|
||||
|
||||
# Darwin dependencies
|
||||
unzip,
|
||||
makeWrapper,
|
||||
|
||||
# command line arguments which are always set e.g "--disable-gpu"
|
||||
commandLineArgs ? "",
|
||||
|
||||
# Necessary for USB audio devices.
|
||||
pulseSupport ? stdenv.hostPlatform.isLinux,
|
||||
libpulseaudio,
|
||||
|
||||
# For GPU acceleration support on Wayland (without the lib it doesn't seem to work)
|
||||
libGL,
|
||||
|
||||
# For video acceleration via VA-API (--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder)
|
||||
libvaSupport ? stdenv.hostPlatform.isLinux,
|
||||
libva,
|
||||
enableVideoAcceleration ? libvaSupport,
|
||||
|
||||
# For Vulkan support (--enable-features=Vulkan); disabled by default as it seems to break VA-API
|
||||
vulkanSupport ? false,
|
||||
addDriverRunpath,
|
||||
@@ -78,8 +72,22 @@
|
||||
{
|
||||
pname,
|
||||
version,
|
||||
hash,
|
||||
url,
|
||||
# Map from Nix system strings ("x86_64-linux", "aarch64-darwin", ...) to
|
||||
# the corresponding upstream `{ url, hash }` record. Encoding the per-system
|
||||
# sources as data rather than positional arguments lets channel-specific
|
||||
# package.nix files drop platforms that upstream hasn't published yet.
|
||||
archives,
|
||||
# Upstream product flavor: "browser" (the regular Brave) or "origin" (the
|
||||
# stripped-down Brave Origin).
|
||||
flavor ? "browser",
|
||||
# Flavor-specific paths supplied by the caller (default.nix).
|
||||
optStem,
|
||||
fileStem,
|
||||
appIdStem,
|
||||
darwinStem,
|
||||
changelogFile,
|
||||
homepage,
|
||||
innerBinary,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -94,6 +102,19 @@ let
|
||||
escapeShellArg
|
||||
;
|
||||
|
||||
# /opt/brave.com/<optName>/
|
||||
optName = optStem;
|
||||
# Basename used for .desktop, gnome-control-center xml and icon files.
|
||||
fileBase = fileStem;
|
||||
# Secondary .desktop app-id.
|
||||
appId = appIdStem;
|
||||
# Upstream shell wrapper inside /opt.
|
||||
innerWrapper = fileStem;
|
||||
# macOS .app bundle name (inside the zip).
|
||||
darwinApp = darwinStem;
|
||||
# Upstream Exec= target in .desktop files (replaced with our wrapper).
|
||||
upstreamBin = "brave-${flavor}-stable";
|
||||
|
||||
deps = [
|
||||
alsa-lib
|
||||
at-spi2-atk
|
||||
@@ -156,13 +177,19 @@ let
|
||||
] # disable automatic updates
|
||||
# The feature disable is needed for VAAPI to work correctly: https://github.com/brave/brave-browser/issues/20935
|
||||
++ optionals enableVideoAcceleration [ "UseChromeOSDirectVideoDecoder" ];
|
||||
|
||||
archive =
|
||||
assert lib.assertMsg (builtins.hasAttr stdenv.hostPlatform.system archives)
|
||||
"${pname} is not available for ${stdenv.hostPlatform.system}";
|
||||
archives.${stdenv.hostPlatform.system};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
inherit url hash;
|
||||
};
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchurl { inherit (archive) url hash; };
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
@@ -201,27 +228,27 @@ stdenv.mkDerivation {
|
||||
cp -R usr/share $out
|
||||
cp -R opt/ $out/opt
|
||||
|
||||
export BINARYWRAPPER=$out/opt/brave.com/brave/brave-browser
|
||||
export BINARYWRAPPER=$out/opt/brave.com/${optName}/${innerWrapper}
|
||||
|
||||
# Fix path to bash in $BINARYWRAPPER
|
||||
substituteInPlace $BINARYWRAPPER \
|
||||
--replace-fail /bin/bash ${stdenv.shell} \
|
||||
--replace-fail 'CHROME_WRAPPER' 'WRAPPER'
|
||||
|
||||
ln -sf $BINARYWRAPPER $out/bin/brave
|
||||
ln -sf $BINARYWRAPPER $out/bin/${pname}
|
||||
|
||||
for exe in $out/opt/brave.com/brave/{brave,chrome_crashpad_handler}; do
|
||||
for exe in $out/opt/brave.com/${optName}/{${innerBinary},chrome_crashpad_handler}; do
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${rpath}" $exe
|
||||
done
|
||||
|
||||
# Fix paths
|
||||
substituteInPlace $out/share/applications/{brave-browser,com.brave.Browser}.desktop \
|
||||
--replace-fail /usr/bin/brave-browser-stable $out/bin/brave
|
||||
substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser.xml \
|
||||
substituteInPlace $out/share/applications/{${fileBase},${appId}}.desktop \
|
||||
--replace-fail /usr/bin/${upstreamBin} $out/bin/${pname}
|
||||
substituteInPlace $out/share/gnome-control-center/default-apps/${fileBase}.xml \
|
||||
--replace-fail /opt/brave.com $out/opt/brave.com
|
||||
substituteInPlace $out/opt/brave.com/brave/default-app-block \
|
||||
substituteInPlace $out/opt/brave.com/${optName}/default-app-block \
|
||||
--replace-fail /opt/brave.com $out/opt/brave.com
|
||||
|
||||
# Correct icons location
|
||||
@@ -229,13 +256,13 @@ stdenv.mkDerivation {
|
||||
|
||||
for icon in ''${icon_sizes[*]}
|
||||
do
|
||||
mkdir -p $out/share/icons/hicolor/$icon\x$icon/apps
|
||||
ln -s $out/opt/brave.com/brave/product_logo_$icon.png $out/share/icons/hicolor/$icon\x$icon/apps/brave-browser.png
|
||||
mkdir -p $out/share/icons/hicolor/''${icon}x''${icon}/apps
|
||||
ln -s $out/opt/brave.com/${optName}/product_logo_''${icon}.png $out/share/icons/hicolor/''${icon}x''${icon}/apps/${fileBase}.png
|
||||
done
|
||||
|
||||
# Replace xdg-settings and xdg-mime
|
||||
ln -sf ${xdg-utils}/bin/xdg-settings $out/opt/brave.com/brave/xdg-settings
|
||||
ln -sf ${xdg-utils}/bin/xdg-mime $out/opt/brave.com/brave/xdg-mime
|
||||
ln -sf ${xdg-utils}/bin/xdg-settings $out/opt/brave.com/${optName}/xdg-settings
|
||||
ln -sf ${xdg-utils}/bin/xdg-mime $out/opt/brave.com/${optName}/xdg-mime
|
||||
|
||||
runHook postInstall
|
||||
''
|
||||
@@ -244,9 +271,9 @@ stdenv.mkDerivation {
|
||||
|
||||
mkdir -p $out/{Applications,bin}
|
||||
|
||||
cp -r . "$out/Applications/Brave Browser.app"
|
||||
cp -r . "$out/Applications/${darwinApp}.app"
|
||||
|
||||
makeWrapper "$out/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" $out/bin/brave
|
||||
makeWrapper "$out/Applications/${darwinApp}.app/Contents/MacOS/${darwinApp}" $out/bin/${pname}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
@@ -279,22 +306,33 @@ stdenv.mkDerivation {
|
||||
|
||||
installCheckPhase = ''
|
||||
# Bypass upstream wrapper which suppresses errors
|
||||
$out/opt/brave.com/brave/brave --version
|
||||
$out/opt/brave.com/${optName}/brave --version
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
homepage = "https://brave.com/";
|
||||
description = "Privacy-oriented browser for Desktop and Laptop computers";
|
||||
homepage = homepage;
|
||||
description =
|
||||
"Privacy-oriented browser for Desktop and Laptop computers"
|
||||
+ lib.optionalString (flavor == "origin") " (Origin variant)";
|
||||
changelog =
|
||||
"https://github.com/brave/brave-browser/blob/master/CHANGELOG_DESKTOP.md#"
|
||||
"https://github.com/brave/brave-browser/blob/master/${changelogFile}#"
|
||||
+ lib.replaceStrings [ "." ] [ "" ] version;
|
||||
longDescription = ''
|
||||
Brave browser blocks the ads and trackers that slow you down,
|
||||
chew up your bandwidth, and invade your privacy. Brave lets you
|
||||
contribute to your favorite creators automatically.
|
||||
'';
|
||||
longDescription =
|
||||
if flavor == "origin" then
|
||||
''
|
||||
Brave Origin is a stripped-down variant of the Brave browser that
|
||||
removes most non-privacy features (rewards, wallet, AI, etc.) while
|
||||
keeping the core privacy, adblock and Chromium-based browsing
|
||||
experience.
|
||||
''
|
||||
else
|
||||
''
|
||||
Brave browser blocks the ads and trackers that slow you down,
|
||||
chew up your bandwidth, and invade your privacy. Brave lets you
|
||||
contribute to your favorite creators automatically.
|
||||
'';
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.mpl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
@@ -302,12 +340,9 @@ stdenv.mkDerivation {
|
||||
jefflabonte
|
||||
nasirhm
|
||||
buckley310
|
||||
rachalaraj
|
||||
];
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
mainProgram = "brave";
|
||||
platforms = builtins.attrNames archives;
|
||||
mainProgram = if flavor == "origin" then "brave-origin" else "brave";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
# Expression generated by update.sh; do not edit it by hand!
|
||||
rec {
|
||||
pname = "brave-origin";
|
||||
version = "1.92.144";
|
||||
flavor = "origin";
|
||||
|
||||
archives = {
|
||||
aarch64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-origin_${version}_arm64.deb";
|
||||
hash = "sha256-zqjpiBMogYhtuEhIlPlK8J2j9hzfd1M8RYlT/c74Na8=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-origin_${version}_amd64.deb";
|
||||
hash = "sha256-KF5WXF7GJPLCcEQyASEVfNrYyFJRXBSyWVPPAZPCa/E=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-origin-v${version}-darwin-arm64.zip";
|
||||
hash = "sha256-kkP8cBRnC34+SjC9EvkpKcDYP3cxW7sdJgni0+zXwbk=";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
# Expression generated by update.sh; do not edit it by hand!
|
||||
rec {
|
||||
pname = "brave";
|
||||
version = "1.92.144";
|
||||
|
||||
archives = {
|
||||
aarch64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
|
||||
hash = "sha256-Z9uUJRaMx+P35oXtvAnjHyOQOXt8mW5oyyEtnD754x8=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
hash = "sha256-no/KD+3EB6CqvVWEmDB/8k2rv1wau469FBXMNWN7z6k=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip";
|
||||
hash = "sha256-YidWCVGP36wn1goAulSbVrKFoHI1NA/pLtfPjIXBO48=";
|
||||
};
|
||||
};
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl nix jq
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||
VERSIONS_URL="https://versions.brave.com/latest/brave-versions.json"
|
||||
|
||||
sri_hash() {
|
||||
nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "$1")"
|
||||
}
|
||||
|
||||
find_release_with_asset() {
|
||||
local versionsJson="$1" channel="$2" template="$3"
|
||||
local match
|
||||
match="$(
|
||||
jq -c --arg channel "$channel" --arg tmpl "$template" '
|
||||
[.[]
|
||||
| select(.channel == $channel)
|
||||
| . as $r
|
||||
| select(
|
||||
$r.github.assets
|
||||
| map(.name)
|
||||
| any(. == ($tmpl | gsub("\\$\\{version\\}"; $r.name)))
|
||||
)
|
||||
]
|
||||
| sort_by(.published)
|
||||
| last
|
||||
' <<<"$versionsJson"
|
||||
)"
|
||||
if [[ "$match" != "null" ]]; then
|
||||
printf '%s' "$match"
|
||||
return 0
|
||||
fi
|
||||
echo "update.sh: no ${channel} release with asset matching '${template}' found" >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
emit_archive_entry() {
|
||||
local releaseJson="$1" version="$2" template="$3" platform="$4"
|
||||
local name="${template//\$\{version\}/$version}"
|
||||
local url
|
||||
url="$(
|
||||
jq -r --arg n "$name" '
|
||||
.github.assets[]
|
||||
| select(.name == $n)
|
||||
| .download_url
|
||||
' <<<"$releaseJson"
|
||||
)"
|
||||
if [[ -z "$url" ]]; then
|
||||
return 0
|
||||
fi
|
||||
local hash
|
||||
hash="$(sri_hash "$url")"
|
||||
local nixUrl="${url//${version}/\$\{version\}}"
|
||||
cat <<EOF
|
||||
${platform} = {
|
||||
url = "${nixUrl}";
|
||||
hash = "${hash}";
|
||||
};
|
||||
EOF
|
||||
}
|
||||
|
||||
write_package_nix() {
|
||||
local pname="$1" releaseJson="$2" debStem="$3" darwinStem="$4"
|
||||
local version
|
||||
version="$(jq -r '.name' <<<"$releaseJson")"
|
||||
echo "=> ${pname}: ${version}" >&2
|
||||
local flavorLine=""
|
||||
if [[ "$pname" == brave-origin || "$pname" == brave-origin-* ]]; then
|
||||
flavorLine=' flavor = "origin";'
|
||||
fi
|
||||
local outFile="${SCRIPT_DIR}/packages/${pname}.nix"
|
||||
{
|
||||
echo '# Expression generated by update.sh; do not edit it by hand!'
|
||||
echo 'rec {'
|
||||
echo " pname = \"${pname}\";"
|
||||
echo " version = \"${version}\";"
|
||||
[[ -n "$flavorLine" ]] && echo "$flavorLine"
|
||||
echo ''
|
||||
echo ' archives = {'
|
||||
emit_archive_entry "$releaseJson" "$version" "${debStem}_\${version}_arm64.deb" "aarch64-linux"
|
||||
emit_archive_entry "$releaseJson" "$version" "${debStem}_\${version}_amd64.deb" "x86_64-linux"
|
||||
emit_archive_entry "$releaseJson" "$version" "${darwinStem}-v\${version}-darwin-arm64.zip" "aarch64-darwin"
|
||||
echo ' };'
|
||||
echo '}'
|
||||
} > "$outFile"
|
||||
}
|
||||
|
||||
versionsJson="$(curl --fail -s "$VERSIONS_URL")"
|
||||
|
||||
entries=(
|
||||
"brave brave-browser brave"
|
||||
"brave-origin brave-origin brave-origin"
|
||||
)
|
||||
|
||||
for entry in "${entries[@]}"; do
|
||||
read -r pname debStem darwinStem <<<"$entry"
|
||||
releaseJson="$(find_release_with_asset "$versionsJson" "release" "${debStem}_\${version}_amd64.deb")"
|
||||
write_package_nix "$pname" "$releaseJson" "$debStem" "$darwinStem"
|
||||
done
|
||||
@@ -1,35 +0,0 @@
|
||||
# Expression generated by update.sh; do not edit it by hand!
|
||||
{ stdenv, callPackage, ... }@args:
|
||||
|
||||
let
|
||||
pname = "brave";
|
||||
version = "1.92.143";
|
||||
|
||||
allArchives = {
|
||||
aarch64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
|
||||
hash = "sha256-IHBJm9uow2d/X4Z9e117aGdP1Y+3R1ApWu40sPtdbr8=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
hash = "sha256-jaxNneurduBiw3jho5Fp7gXnBfSpLB5hlE06i/JK+ic=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip";
|
||||
hash = "sha256-EvfZgO8FAijof1Ml6gqSOyRndL8KYFdT0MNmVmuxAnU=";
|
||||
};
|
||||
};
|
||||
|
||||
archive =
|
||||
if builtins.hasAttr stdenv.system allArchives then
|
||||
allArchives.${stdenv.system}
|
||||
else
|
||||
throw "Unsupported platform.";
|
||||
|
||||
in
|
||||
callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ]) (
|
||||
archive
|
||||
// {
|
||||
inherit pname version;
|
||||
}
|
||||
)
|
||||
@@ -1,48 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl gnused nix jq
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||
|
||||
latestVersion="$(curl --fail -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/brave/brave-browser/releases/latest" | jq -r '.tag_name' | sed 's/^v//')"
|
||||
|
||||
hashAarch64="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/brave/brave-browser/releases/download/v${latestVersion}/brave-browser_${latestVersion}_arm64.deb")")"
|
||||
hashAmd64="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/brave/brave-browser/releases/download/v${latestVersion}/brave-browser_${latestVersion}_amd64.deb")")"
|
||||
hashAarch64Darwin="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/brave/brave-browser/releases/download/v${latestVersion}/brave-v${latestVersion}-darwin-arm64.zip")")"
|
||||
|
||||
cat > $SCRIPT_DIR/package.nix << EOF
|
||||
# Expression generated by update.sh; do not edit it by hand!
|
||||
{ stdenv, callPackage, ... }@args:
|
||||
|
||||
let
|
||||
pname = "brave";
|
||||
version = "${latestVersion}";
|
||||
|
||||
allArchives = {
|
||||
aarch64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v\${version}/brave-browser_\${version}_arm64.deb";
|
||||
hash = "${hashAarch64}";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v\${version}/brave-browser_\${version}_amd64.deb";
|
||||
hash = "${hashAmd64}";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v\${version}/brave-v\${version}-darwin-arm64.zip";
|
||||
hash = "${hashAarch64Darwin}";
|
||||
};
|
||||
};
|
||||
|
||||
archive =
|
||||
if builtins.hasAttr stdenv.system allArchives then
|
||||
allArchives.\${stdenv.system}
|
||||
else
|
||||
throw "Unsupported platform.";
|
||||
|
||||
in
|
||||
callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ]) (
|
||||
archive
|
||||
// {
|
||||
inherit pname version;
|
||||
}
|
||||
)
|
||||
EOF
|
||||
@@ -8436,6 +8436,9 @@ with pkgs;
|
||||
|
||||
bitwig-studio = bitwig-studio6;
|
||||
|
||||
brave = (callPackage ../applications/networking/browsers/brave { }).brave;
|
||||
brave-origin = (callPackage ../applications/networking/browsers/brave { }).brave-origin;
|
||||
|
||||
breezy = with python3Packages; toPythonApplication breezy;
|
||||
|
||||
# calico-felix and calico-node have not been packaged due to libbpf, linking issues
|
||||
|
||||
Reference in New Issue
Block a user