Package Details: warp-cli 2025.8.779.0-1

Git Clone URL: https://aur.archlinux.org/warp-cli.git (read-only, click to copy)
Package Base: warp-cli
Description: Cloudflare WARP Client for Arch Linux
Upstream URL: https://www.cloudflare.com/
Licenses: custom
Provides: warp-cli
Submitter: kylethompson
Maintainer: kylethompson
Last Packager: kylethompson
Votes: 1
Popularity: 0.016387
First Submitted: 2025-10-27 03:31 (UTC)
Last Updated: 2025-10-27 03:31 (UTC)

Pinned Comments

kylethompson commented on 2025-10-27 03:43 (UTC)

Enterprise Cloudflare WARP package, if yay is executed for the same pwd where the tenant certificate.crt is located, the intermediate certificate will be deployed and renamed to the trusted anchors directory and automatically update the ca trust. If certificate.crt not detected in the pwd, program will continue to install for use as community edition.

# Maintainer: Kyle Thompson <kylejeromethompson@gmail.com>
#
# --- DISCLAIMER ---
# This PKGBUILD is an unofficial community contribution. It is not affiliated with,
# endorsed, or supported by Cloudflare
#
# The Cloudflare WARP agent is proprietary software. By building and installing
# this package, you acknowledge that you are downloading software directly from
# Cloudflare and agree to be bound by their End User License Agreement and
# Privacy Notice. You are solely responsible for ensuring you have a valid
# license to use the software.
#
# This installation script is provided "AS IS" without warranty of any kind,
# express or implied. The user assumes all risk and responsibility for its use.
#
# Terms of Use: https://www.cloudflare.com/website-terms/
# Privacy Notice: https://www.cloudflare.com/application/privacypolicy/

# --- Package Information ---
pkgname='warp-cli'
pkgdesc="Cloudflare WARP Client for Arch Linux"
arch=('x86_64')
url="https://www.cloudflare.com/"
license=('custom')

# --- Versioning ---
_pkgver='2025.8.779.0'
pkgver=${_pkgver}
pkgrel=1

# --- Dependencies and Conflicts ---
# FINAL CHANGE: Added 'nss' and 'dbus' to ensure all runtime dependencies are met.
depends=('glibc' 'openssl' 'gtk3' 'nftables' 'nss' 'dbus')
provides=("${pkgname}")

# --- Source File ---
# CRITICAL CHANGE: 'certificate.crt' is NOT listed here.
# This prevents makepkg from aborting if the file is missing from the PWD.
source=("cloudflare-warp_${_pkgver}_amd64.deb::https://downloads.cloudflareclient.com/v1/download/jammy-intel/version/${_pkgver}")
sha256sums=('SKIP')

# --- Packaging Function ---
package() {
    # Extract the data archive.
    tar -xzf "${srcdir}/data.tar.gz" -C "${pkgdir}"

    # Move binaries from /bin to /usr/bin
    mv "${pkgdir}/bin" "${pkgdir}/usr/bin"

    # The service file is located at ./lib/systemd/system/warp-svc.service inside the archive.
    # We need to move it to /usr/lib/systemd/system/ in the package.
    install -Dm644 "${pkgdir}/lib/systemd/system/warp-svc.service" "${pkgdir}/usr/lib/systemd/system/warp-svc.service"

    # Remove the old directory structure
    rm -r "${pkgdir}/lib"

    # Fix permissions for other files
    if [ -d "${pkgdir}/usr/share/applications" ]; then
        find "${pkgdir}/usr/share/applications" -type f -exec chmod 644 {} +
    fi
    if [ -d "${pkgdir}/usr/share/icons" ]; then
        find "${pkgdir}/usr/share/icons" -type f -exec chmod 644 {} +
    fi

    # ----------------------------------------------------
    # NEW RESILIENT STEP: Install Corporate Certificate (OPTIONAL)
    # ----------------------------------------------------
    # Check if 'certificate.crt' exists in the build directory ($srcdir).
    if [ -f "${srcdir}/certificate.crt" ]; then
        echo "Found certificate.crt! Installing to trust anchors for Enterprise use."
        # SOURCE: Looks for the 'certificate.crt' file provided by the user.
        # DESTINATION: Renames it to 'tenant-ca.crt' in the system trust anchors.
        install -Dm644 "${srcdir}/certificate.crt" "${pkgdir}/etc/ca-certificates/trust-source/anchors/tenant-ca.crt"
    else
        echo "Note: certificate.crt not found. Skipping optional enterprise certificate installation."
    fi
}

# --- Installation Script (for running update-ca-trust) ---
# This step is performed immediately after the package files are copied to the system.
post_install() {
    # We run update-ca-trust regardless, as the binary install requires clean trust stores.
    echo "Updating system certificate trust store..."
    update-ca-trust
    echo "Certificate trust store updated successfully."
}

# --- Removal Script ---
post_remove() {
    echo "Updating system certificate trust store after removal..."
    update-ca-trust
    echo "Certificate trust store updated successfully."
}

Latest Comments

jasperscape commented on 2026-03-09 20:05 (UTC)

please add support for aarch64

kylethompson commented on 2026-02-18 15:20 (UTC)

Thanks for the update voidl, I will investigate. Also, it appears that the Warp package from Cloudflare now bundles the tenant intermediate certificate automatically. I will review and report back. Thanks again!

voidl commented on 2026-02-18 15:03 (UTC) (edited on 2026-02-18 15:04 (UTC) by voidl)

The warp-svc service was continiously using 1.5-1.6GB. To me it seems like a memory leak. I first found this when investigating memory issues on my desktop PC.

After I added these overrides to the systemctl service file, the service now runs using 330M without any issues:

[Service]
MemoryAccounting=yes
MemoryHigh=400M
MemoryLimit=700M
MemoryMax=1G

kylethompson commented on 2025-10-27 03:43 (UTC)

Enterprise Cloudflare WARP package, if yay is executed for the same pwd where the tenant certificate.crt is located, the intermediate certificate will be deployed and renamed to the trusted anchors directory and automatically update the ca trust. If certificate.crt not detected in the pwd, program will continue to install for use as community edition.

# Maintainer: Kyle Thompson <kylejeromethompson@gmail.com>
#
# --- DISCLAIMER ---
# This PKGBUILD is an unofficial community contribution. It is not affiliated with,
# endorsed, or supported by Cloudflare
#
# The Cloudflare WARP agent is proprietary software. By building and installing
# this package, you acknowledge that you are downloading software directly from
# Cloudflare and agree to be bound by their End User License Agreement and
# Privacy Notice. You are solely responsible for ensuring you have a valid
# license to use the software.
#
# This installation script is provided "AS IS" without warranty of any kind,
# express or implied. The user assumes all risk and responsibility for its use.
#
# Terms of Use: https://www.cloudflare.com/website-terms/
# Privacy Notice: https://www.cloudflare.com/application/privacypolicy/

# --- Package Information ---
pkgname='warp-cli'
pkgdesc="Cloudflare WARP Client for Arch Linux"
arch=('x86_64')
url="https://www.cloudflare.com/"
license=('custom')

# --- Versioning ---
_pkgver='2025.8.779.0'
pkgver=${_pkgver}
pkgrel=1

# --- Dependencies and Conflicts ---
# FINAL CHANGE: Added 'nss' and 'dbus' to ensure all runtime dependencies are met.
depends=('glibc' 'openssl' 'gtk3' 'nftables' 'nss' 'dbus')
provides=("${pkgname}")

# --- Source File ---
# CRITICAL CHANGE: 'certificate.crt' is NOT listed here.
# This prevents makepkg from aborting if the file is missing from the PWD.
source=("cloudflare-warp_${_pkgver}_amd64.deb::https://downloads.cloudflareclient.com/v1/download/jammy-intel/version/${_pkgver}")
sha256sums=('SKIP')

# --- Packaging Function ---
package() {
    # Extract the data archive.
    tar -xzf "${srcdir}/data.tar.gz" -C "${pkgdir}"

    # Move binaries from /bin to /usr/bin
    mv "${pkgdir}/bin" "${pkgdir}/usr/bin"

    # The service file is located at ./lib/systemd/system/warp-svc.service inside the archive.
    # We need to move it to /usr/lib/systemd/system/ in the package.
    install -Dm644 "${pkgdir}/lib/systemd/system/warp-svc.service" "${pkgdir}/usr/lib/systemd/system/warp-svc.service"

    # Remove the old directory structure
    rm -r "${pkgdir}/lib"

    # Fix permissions for other files
    if [ -d "${pkgdir}/usr/share/applications" ]; then
        find "${pkgdir}/usr/share/applications" -type f -exec chmod 644 {} +
    fi
    if [ -d "${pkgdir}/usr/share/icons" ]; then
        find "${pkgdir}/usr/share/icons" -type f -exec chmod 644 {} +
    fi

    # ----------------------------------------------------
    # NEW RESILIENT STEP: Install Corporate Certificate (OPTIONAL)
    # ----------------------------------------------------
    # Check if 'certificate.crt' exists in the build directory ($srcdir).
    if [ -f "${srcdir}/certificate.crt" ]; then
        echo "Found certificate.crt! Installing to trust anchors for Enterprise use."
        # SOURCE: Looks for the 'certificate.crt' file provided by the user.
        # DESTINATION: Renames it to 'tenant-ca.crt' in the system trust anchors.
        install -Dm644 "${srcdir}/certificate.crt" "${pkgdir}/etc/ca-certificates/trust-source/anchors/tenant-ca.crt"
    else
        echo "Note: certificate.crt not found. Skipping optional enterprise certificate installation."
    fi
}

# --- Installation Script (for running update-ca-trust) ---
# This step is performed immediately after the package files are copied to the system.
post_install() {
    # We run update-ca-trust regardless, as the binary install requires clean trust stores.
    echo "Updating system certificate trust store..."
    update-ca-trust
    echo "Certificate trust store updated successfully."
}

# --- Removal Script ---
post_remove() {
    echo "Updating system certificate trust store after removal..."
    update-ca-trust
    echo "Certificate trust store updated successfully."
}