summaryrefslogtreecommitdiff
path: root/builder/image-setup
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-10-25 22:59:54 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-10-29 17:35:21 -0400
commit1859296186d22cae6eceb1acbd9d3e347d2e76db (patch)
treeaeca22dabaabdb82c014038e82549ab30ca20522 /builder/image-setup
parentc85201406bf351298832f136b2a89a1bf5b17202 (diff)
Package `hi` for Debian.
This commit provides a Docker-based build process for generating `.deb` packages, which can be run in Docker Desktop. I don't love it, but it's the best option I have _right now_ for doing this. The resulting packages: * Install `hi` (and `hi-recanonicalize`), in `/usr/bin`. * Create a user (`hi`) and a data directory (`/var/lib/hi`). * Create and start a systemd service unit for `hi`. Packages are built for arm64 and amd64 (aka x86_64).
Diffstat (limited to 'builder/image-setup')
-rwxr-xr-xbuilder/image-setup61
1 files changed, 61 insertions, 0 deletions
diff --git a/builder/image-setup b/builder/image-setup
new file mode 100755
index 0000000..6b7895e
--- /dev/null
+++ b/builder/image-setup
@@ -0,0 +1,61 @@
+#!/bin/bash -e
+
+cd "$(dirname "$0")"
+
+apt-get update
+apt-get install -y \
+ apt-transport-https \
+ ca-certificates \
+ curl \
+ dpkg-dev \
+ gnupg \
+
+# Key from <https://github.com/nodesource/distributions>, specifically
+# <https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key>
+gpg --dearmor -o /usr/share/keyrings/nodesource.gpg <<'NODESOURCE_KEY'
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFdDN1ABCADaNd/I3j3tn40deQNgz7hB2NvT+syXe6k4ZmdiEcOfBvFrkS8B
+hNS67t93etHsxEy7E0qwsZH32bKazMqe9zDwoa3aVImryjh6SHC9lMtW27JPHFeM
+Srkt9YmH1WMwWcRO6eSY9B3PpazquhnvbammLuUojXRIxkDroy6Fw4UKmUNSRr32
+9Ej87jRoR1B2/57Kfp2Y4+vFGGzSvh3AFQpBHq51qsNHALU6+8PjLfIt+5TPvaWR
+TB+kAZnQZkaIQM2nr1n3oj6ak2RATY/+kjLizgFWzgEfbCrbsyq68UoY5FPBnu4Z
+E3iDZpaIqwKr0seUC7iA1xM5eHi5kty1oB7HABEBAAG0Ik5Tb2xpZCA8bnNvbGlk
+LWdwZ0Bub2Rlc291cmNlLmNvbT6JATgEEwECACIFAldDN1ACGwMGCwkIBwMCBhUI
+AgkKCwQWAgMBAh4BAheAAAoJEC9ZtfmbG+C0y7wH/i4xnab36dtrYW7RZwL8i6Sc
+NjMx4j9+U1kr/F6YtqWd+JwCbBdar5zRghxPcYEq/qf7MbgAYcs1eSOuTOb7n7+o
+xUwdH2iCtHhKh3Jr2mRw1ks7BbFZPB5KmkxHaEBfLT4d+I91ZuUdPXJ+0SXs9gzk
+Dbz65Uhoz3W03aiF8HeL5JNARZFMbHHNVL05U1sTGTCOtu+1c/33f3TulQ/XZ3Y4
+hwGCpLe0Tv7g7Lp3iLMZMWYPEa0a7S4u8he5IEJQLd8bE8jltcQvrdr3Fm8kI2Jg
+BJmUmX4PSfhuTCFaR/yeCt3UoW883bs9LfbTzIx9DJGpRIu8Y0IL3b4sj/GoZVq5
+AQ0EV0M3UAEIAKrTaC62ayzqOIPa7nS90BHHck4Z33a2tZF/uof38xNOiyWGhT8u
+JeFoTTHn5SQq5Ftyu4K3K2fbbpuu/APQF05AaljzVkDGNMW4pSkgOasdysj831cu
+ssrHX2RYS22wg80k6C/Hwmh5F45faEuNxsV+bPx7oPUrt5n6GMx84vEP3i1+FDBi
+0pt/B/QnDFBXki1BGvJ35f5NwDefK8VaInxXP3ZN/WIbtn5dqxppkV/YkO7GiJlp
+Jlju9rf3kKUIQzKQWxFsbCAPIHoWv7rH9RSxgDithXtG6Yg5R1aeBbJaPNXL9wpJ
+YBJbiMjkAFaz4B95FOqZm3r7oHugiCGsHX0AEQEAAYkBHwQYAQIACQUCV0M3UAIb
+DAAKCRAvWbX5mxvgtE/OB/0VN88DR3Y3fuqy7lq/dthkn7Dqm9YXdorZl3L152eE
+IF882aG8FE3qZdaLGjQO4oShAyNWmRfSGuoH0XERXAI9n0r8m4mDMxE6rtP7tHet
+y/5M8x3CTyuMgx5GLDaEUvBusnTD+/v/fBMwRK/cZ9du5PSG4R50rtst+oYyC2ao
+x4I2SgjtF/cY7bECsZDplzatN3gv34PkcdIg8SLHAVlL4N5tzumDeizRspcSyoy2
+K2+hwKU4C4+dekLLTg8rjnRROvplV2KtaEk6rxKtIRFDCoQng8wfJuIMrDNKvqZw
+FRGt7cbvW5MCnuH8MhItOl9Uxp1wHp6gtav/h8Gp6MBa
+=MARt
+-----END PGP PUBLIC KEY BLOCK-----
+NODESOURCE_KEY
+
+cat > /etc/apt/sources.list.d/nodesource.list <<NODESOURCE_REPO
+deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main
+NODESOURCE_REPO
+
+cat > /etc/apt/preferences.d/nodejs <<'NODEJS_PIN'
+Package: nodejs
+Pin: origin deb.nodesource.com
+Pin-Priority: 600
+NODEJS_PIN
+
+apt-get update
+apt-get install -y \
+ nodejs
+
+cargo install cargo-deb