Skip to content

Commit

Permalink
Add tzdata-legacy
Browse files Browse the repository at this point in the history
  • Loading branch information
joshwlewis committed Jan 28, 2025
1 parent 0eb5fc4 commit fff1ebb
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 87 deletions.
1 change: 1 addition & 0 deletions heroku-24/installed-packages-amd64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@ socat
sysvinit-utils
tar
tzdata
tzdata-legacy
ubuntu-keyring
ucf
unzip
Expand Down
1 change: 1 addition & 0 deletions heroku-24/installed-packages-arm64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@ socat
sysvinit-utils
tar
tzdata
tzdata-legacy
ubuntu-keyring
ucf
unzip
Expand Down
174 changes: 87 additions & 87 deletions heroku-24/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ export DEBIAN_FRONTEND=noninteractive
# `Components: main universe restricted multiverse`
# See: https://manpages.ubuntu.com/manpages/noble/en/man5/sources.list.5.html
for repository_to_disable in multiverse restricted; do
# sed doesn't support lookbehind so we instead have to match against the line prefix too
# and then preserve it using `\1` in the replacement.
sed --in-place --regexp-extended "s/(Components:.*) ${repository_to_disable}/\1/g" /etc/apt/sources.list.d/ubuntu.sources
# sed doesn't support lookbehind so we instead have to match against the line prefix too
# and then preserve it using `\1` in the replacement.
sed --in-place --regexp-extended "s/(Components:.*) ${repository_to_disable}/\1/g" /etc/apt/sources.list.d/ubuntu.sources
done

apt-get update --error-on=any
Expand All @@ -38,88 +38,89 @@ apt-get update --error-on=any
apt-get upgrade -y --no-install-recommends

packages=(
bind9-dnsutils # For `dig`, `host` and `nslookup`.
binutils # Python's `ctypes.util.find_library` requires `ld` to find libraries specified via `LD_LIBRARY_PATH`.
bzip2
curl
file
fonts-dejavu-core
fonts-dejavu-mono
fonts-urw-base35 # ImageMagick's default type.xml config points to these, includes e.g. Courier or Helvetica
gettext-base # For `envsubst`.
ghostscript # Used by ImageMagick's PDF functionality
gir1.2-harfbuzz-0.0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
gnupg
imagemagick
inetutils-telnet
iproute2 # For `ip`, used by Heroku Exec.
iputils-tracepath
jq # Used by Heroku Exec at run time, and buildpacks at build time.
less
libargon2-1 # Used by the PHP runtime.
libass9 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libc-client2007e # Used by the PHP IMAP extension.
libcares2 # Used by PgBouncer in heroku-buildpack-pgbouncer.
libdav1d7 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libev4
libevent-2.1-7 # Used by PgBouncer in heroku-buildpack-pgbouncer.
libevent-core-2.1-7 # Used by the PHP Event extension.
libevent-extra-2.1-7 # Used by the PHP Event extension.
libevent-openssl-2.1-7 # Used by the PHP Event extension.
libevent-pthreads-2.1-7
libgd3
libgdk-pixbuf-2.0-0
libgnutls-openssl27
libgnutls30 # Used by the Ruby and PHP runtimes.
libharfbuzz-icu0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
liblzf1 # Used by the PHP Redis extension.
libmagickcore-6.q16-7-extra # Used by the PHP Imagick extension (using the `-extra` package for SVG support).
libmemcached11 # Used by the PHP Memcached extension.
libmemcachedutil2t64 # Same -dev headers as libmemcached11
libmp3lame0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libmysqlclient21
libncurses6 # Used by the Ruby runtime.
libonig5 # Used by the PHP runtime.
libopencore-amrnb0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libopencore-amrwb0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libopus0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
librabbitmq4 # Used by the PHP AMQP extension.
librsvg2-common
libsasl2-modules # Used by the Ruby and PHP runtimes.
libsodium23 # Used by the PHP runtime.
libspeex1 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libsvtav1enc1d1 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libtheora0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libuv1
libvips42 # Used by the ruby-vips gem / Rails Active Storage Previews.
libvorbisenc2 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libvorbisfile3 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libvpx9 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libwebpdecoder3 # Same -dev headers as the other libwebp* packages that get pulled in already
libwmf-0.2-7 # Because libwmf-dev is in the build image
libx264-164 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libx265-199 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libxslt1.1 # Used by the PHP runtime.
libyaml-0-2 # Used by the Ruby runtime.
libzip4 # Used by the PHP runtime.
locales
lsb-release
nano # More usable than ed but still much smaller than vim.
netcat-openbsd
openssh-client # Used by Heroku Exec.
openssh-server # Used by Heroku Exec.
patch
poppler-utils # For Rails Active Storage Previews PDF support.
postgresql-client-16 # We need `psql` (and not just libpq) for Shield DB workflows (where connections are only possible from the dyno).
rsync
socat
tar
tzdata
unzip
wget
xz-utils
zip
zstd
bind9-dnsutils # For `dig`, `host` and `nslookup`.
binutils # Python's `ctypes.util.find_library` requires `ld` to find libraries specified via `LD_LIBRARY_PATH`.
bzip2
curl
file
fonts-dejavu-core
fonts-dejavu-mono
fonts-urw-base35 # ImageMagick's default type.xml config points to these, includes e.g. Courier or Helvetica
gettext-base # For `envsubst`.
ghostscript # Used by ImageMagick's PDF functionality
gir1.2-harfbuzz-0.0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
gnupg
imagemagick
inetutils-telnet
iproute2 # For `ip`, used by Heroku Exec.
iputils-tracepath
jq # Used by Heroku Exec at run time, and buildpacks at build time.
less
libargon2-1 # Used by the PHP runtime.
libass9 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libc-client2007e # Used by the PHP IMAP extension.
libcares2 # Used by PgBouncer in heroku-buildpack-pgbouncer.
libdav1d7 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libev4
libevent-2.1-7 # Used by PgBouncer in heroku-buildpack-pgbouncer.
libevent-core-2.1-7 # Used by the PHP Event extension.
libevent-extra-2.1-7 # Used by the PHP Event extension.
libevent-openssl-2.1-7 # Used by the PHP Event extension.
libevent-pthreads-2.1-7
libgd3
libgdk-pixbuf-2.0-0
libgnutls-openssl27
libgnutls30 # Used by the Ruby and PHP runtimes.
libharfbuzz-icu0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
liblzf1 # Used by the PHP Redis extension.
libmagickcore-6.q16-7-extra # Used by the PHP Imagick extension (using the `-extra` package for SVG support).
libmemcached11 # Used by the PHP Memcached extension.
libmemcachedutil2t64 # Same -dev headers as libmemcached11
libmp3lame0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libmysqlclient21
libncurses6 # Used by the Ruby runtime.
libonig5 # Used by the PHP runtime.
libopencore-amrnb0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libopencore-amrwb0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libopus0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
librabbitmq4 # Used by the PHP AMQP extension.
librsvg2-common
libsasl2-modules # Used by the Ruby and PHP runtimes.
libsodium23 # Used by the PHP runtime.
libspeex1 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libsvtav1enc1d1 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libtheora0 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libuv1
libvips42 # Used by the ruby-vips gem / Rails Active Storage Previews.
libvorbisenc2 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libvorbisfile3 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libvpx9 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libwebpdecoder3 # Same -dev headers as the other libwebp* packages that get pulled in already
libwmf-0.2-7 # Because libwmf-dev is in the build image
libx264-164 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libx265-199 # Used by FFmpeg in heroku-buildpack-activestorage-preview.
libxslt1.1 # Used by the PHP runtime.
libyaml-0-2 # Used by the Ruby runtime.
libzip4 # Used by the PHP runtime.
locales
lsb-release
nano # More usable than ed but still much smaller than vim.
netcat-openbsd
openssh-client # Used by Heroku Exec.
openssh-server # Used by Heroku Exec.
patch
poppler-utils # For Rails Active Storage Previews PDF support.
postgresql-client-16 # We need `psql` (and not just libpq) for Shield DB workflows (where connections are only possible from the dyno).
rsync
socat
tar
tzdata
tzdata-legacy # Provides older/non-standard timezones like US/Central
unzip
wget
xz-utils
zip
zstd
)

apt-get install -y --no-install-recommends "${packages[@]}"
Expand All @@ -134,7 +135,7 @@ mkdir -p /usr/local/share/ca-certificates/rds-ca-certs
awk '
split_after == 1 {n++;split_after=0}
/-----END CERTIFICATE-----/ {split_after=1}
{print > "/usr/local/share/ca-certificates/rds-ca-certs/rds-ca" n ".crt"}' < /build/rds-global-bundle.pem
{print > "/usr/local/share/ca-certificates/rds-ca-certs/rds-ca" n ".crt"}' </build/rds-global-bundle.pem
update-ca-certificates

# Install ca-certificates-java so that the JVM buildpacks can configure Java apps to use the Java certs
Expand All @@ -149,7 +150,6 @@ apt-get remove -y --purge --auto-remove default-jre-headless
# https://bugs.launchpad.net/ubuntu/+source/ca-certificates-java/+bug/1771363
test "$(file --brief /etc/ssl/certs/java/cacerts)" = "Java KeyStore"


# Ubuntu 24.04 ships with a default user and group named 'ubuntu' (with user+group ID of 1000)
# that we have to remove before creating our own (`userdel` will remove the group too).
userdel ubuntu --remove
Expand Down

0 comments on commit fff1ebb

Please sign in to comment.