Initial public release of Warp.

Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b
This commit is contained in:
David Stern
2026-04-28 08:43:33 -05:00
commit 0dbd3d567a
4982 changed files with 1431549 additions and 0 deletions
@@ -0,0 +1,14 @@
Package: warp-terminal@@CHANNEL_SUFFIX@@
Version: @@VERSION@@
Section: devel
Depends: fontconfig, libegl1, libwayland-client0, libwayland-egl1, libx11-6, libxcb1, libxcursor1, libxi6, libxkbcommon-x11-0, zlib1g
Recommends: libgl1-mesa-dri, yaru-icon-theme | adwaita-icon-theme-full
Priority: optional
Architecture: @@ARCH@@
Maintainer: Warp Linux Maintainers <linux-maintainers@warp.dev>
Homepage: https://warp.dev/
Description: Warp, the Rust-based terminal for developers and teams
Warp is a modern, Rust-based terminal with AI built in so teams can
build great software, faster. Bringing collaboration to the command line,
Warp lets teams save and share commands for streamlined onboarding and
incident response.
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Create a symlink from /usr/bin to our binary under /opt.
rm -f /usr/bin/warp-terminal@@CHANNEL_SUFFIX@@
ln -s @@OPTDIR@@/@@BINARY_NAME@@ /usr/bin/warp-terminal@@CHANNEL_SUFFIX@@
# Make sure the system incorporates the newly-installed desktop file.
if hash update-desktop-database 2>/dev/null; then
update-desktop-database
fi
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# The action ("remove" or "purge") is passed as the first argument to the
# postrm script.
action="$1"
rm -f /usr/bin/warp-terminal@@CHANNEL_SUFFIX@@
# Make sure the system forgets the newly-uninstalled desktop file.
if hash update-desktop-database 2>/dev/null; then
update-desktop-database
fi
@@ -0,0 +1,17 @@
Package: oz@@CHANNEL_SUFFIX@@
Version: @@VERSION@@
Section: devel
Depends: zlib1g
Priority: optional
Architecture: @@ARCH@@
Maintainer: Warp Linux Maintainers <linux-maintainers@warp.dev>
Homepage: https://warp.dev/
Replaces: warp-cli@@CHANNEL_SUFFIX@@ (<< @@VERSION@@), oz (= 0.2026.02.09.06.06.stable.00), oz (= 0.2026.02.09.06.06.stable.02), oz (= 0.2026.02.10.11.37.stable.00), oz (= 0.2026.02.10.11.37.stable.01), oz (= 0.2026.02.11.08.23.stable.00)
Conflicts: warp-cli@@CHANNEL_SUFFIX@@ (<< @@VERSION@@), oz (= 0.2026.02.09.06.06.stable.00), oz (= 0.2026.02.09.06.06.stable.02), oz (= 0.2026.02.10.11.37.stable.00), oz (= 0.2026.02.10.11.37.stable.01), oz (= 0.2026.02.11.08.23.stable.00)
Description: The orchestration platform for cloud agents
The Oz CLI is a tool for running, managing, and orchestrating coding agents at scale.
Use the CLI to:
* Launch and inspect cloud agents
* Schedule cloud agents to run in the future
* Manage the environments that cloud agents run in
* Upload secrets to Oz's secure storage
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# Create a symlink from /usr/bin to our binary under /opt.
rm -f /usr/bin/@@BINARY_NAME@@
ln -s @@OPTDIR@@/@@BINARY_NAME@@ /usr/bin/@@BINARY_NAME@@
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
# The action ("remove" or "purge") is passed as the first argument to the
# postrm script.
action="$1"
rm -f /usr/bin/oz@@CHANNEL_SUFFIX@@
@@ -0,0 +1,96 @@
# Determine the path to the apt-config command.
APT_CONFIG="$(command -v apt-config 2> /dev/null)"
# Use apt-config to determine the locations of some important apt directories.
eval $("$APT_CONFIG" shell APT_TRUSTED_KEYRING_DIR 'Dir::Etc::trustedparts/d')
eval $("$APT_CONFIG" shell APT_SOURCE_LIST_DIR 'Dir::Etc::sourceparts/d')
# Install/update our package signing key.
# This is the content of https://releases.warp.dev/linux/keys/warp.asc, but
# dearmored and base64-encoded.
SIGNING_KEY_PATH="${APT_TRUSTED_KEYRING_DIR}@@REPO_NAME@@.gpg"
base64 -d - > "$SIGNING_KEY_PATH" <<SIGNINGKEY
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
Qh6Vm3FbRCkKqx2FzF6lCwA=
SIGNINGKEY
# If our package repository hasn't been configured yet, set it up.
if [ -d "$APT_SOURCE_LIST_DIR" ]; then
APT_SOURCE_LIST="${APT_SOURCE_LIST_DIR}@@REPO_NAME@@.list"
if [ ! -f "$APT_SOURCE_LIST" ]; then
# If the source list directory exists but our repository isn't
# configured within it, install our repo.
cat > "$APT_SOURCE_LIST" <<EOF
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but other modifications to the file may be lost.
deb [arch=@@ARCH@@ signed-by=$SIGNING_KEY_PATH] https://releases.warp.dev/linux/deb @@CHANNEL@@ main
EOF
fi
fi
@@ -0,0 +1,19 @@
if [ "$action" != "purge" ]; then
exit 0
fi
# If the user is "purging" the package (removing the package and associated
# configuration), remove our custom repository and signing key.
# Determine the path to the apt-config command.
APT_CONFIG="$(command -v apt-config 2> /dev/null)"
# Use apt-config to determine the location of the trusted keys directory, then
# delete our key from it.
eval $("$APT_CONFIG" shell APT_TRUSTED_KEYRING_DIR 'Dir::Etc::trustedparts/d')
rm -f "${APT_TRUSTED_KEYRING_DIR}@@REPO_NAME@@.gpg"
# Use apt-config to determine the location of the source list config directory,
# then delete our entry.
eval $("$APT_CONFIG" shell APT_SOURCE_LIST_DIR 'Dir::Etc::sourceparts/d')
rm -f "${APT_SOURCE_LIST_DIR}@@REPO_NAME@@.list"