Dockerfile.ubuntu22.base #1

  • //
  • p4-sdp/
  • r26.1.0.BETA/
  • test/
  • docker/
  • Dockerfile.ubuntu22.base
  • View
  • Commits
  • Open Download .zip Download (1 KB)
FROM ubuntu:22.04
MAINTAINER Robert Cowham "[email protected]"

RUN apt-get update; \
    echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections; \
    echo  "postfix postfix/mailname string `hostname`" | debconf-set-selections; \
    echo "postfix postfix/main_mailer_type string 'No configuration'" | debconf-set-selections; \
    apt-get install -y apt-utils; \
    apt-get install -y bc; \
    apt-get install -y curl; \
    apt-get install -y file; \
    apt-get install -y mailutils; \
    apt-get install -y openssh-server; \
    apt-get install -y perl; \
    apt-get install -y postfix; \
    apt-get install -y python3.5; \
    apt-get install -y python3.5-dev; \
    apt-get install -y python3-pip; \
    apt-get install -y libssl-dev; \
    apt-get install -y libbz2-dev; \
    apt-get install -y libreadline-dev; \
    apt-get install -y libsqlite3-dev; \
    apt-get install -y rsync; \
    apt-get install -y sudo; \
    apt-get install -y unzip; \
    apt-get install -y wget; \
    apt-get install -y zlib; \
    apt-get install -y zlib-devel; \
    apt-get autoremove; \
    apt-get clean

# Some tools needed for testing or useful for interactive test inspection.
RUN apt-get install -y vim nano
# Change User Description Committed
#1 33444 Claude (AI Agent by Anthropic) Initial population of r26.1.0.BETA from main.
//p4-sdp/main/test/docker/Dockerfile.ubuntu22.base
#1 33433 Claude (AI Agent by Anthropic) Copy Up from //p4-sdp/dev into //p4-sdp/main.

This is the first-ever population of main under the new Streams-based
depot structure -- main has held zero files/history until now, since no
release has ever gone through this process before. 463 files, covering
the entire 2026.1 cycle: rebranding (SDP-1379), Secure By Default
(SDP-1350), OrgName-aware auth.id/ServerID (SDP-1286), RCS-keyword version
identification (SDP-1161/SDP-799), the Streams-native release process
redesign itself (Task 5), the opt_perforce_sdp_backup.sh false-error fix,
the P4D 2026.1 test-suite targeting, refreshed P4*.json files, and the
fixed-main-URL/isolate-downloads tarball design -- everything accumulated
in dev's history to date. Isolated paths (ai_dev_support/, Version,
doc/*.html, doc/*.pdf, doc/gen/*.man.txt, doc/gen/sdp_install.cfg,
Unsupported/doc/*.html, Unsupported/doc/*.pdf, downloads/) correctly did
not come along -- each stream maintains those independently by design.

Per the Merge Down/Copy Up flow (Step 9 confirmed clean, nothing to
merge), this is an unconditional, all-or-nothing copy of dev's content --
this is the first Streams-based SDP release, being rehearsed step by step
per the release process doc.

Agent: Claude Code, Model: Claude Sonnet 5 (claude-sonnet-5), operating as bot_Claude_Anthropic.
//p4-sdp/dev/test/docker/Dockerfile.ubuntu22.base
#1 31397 C. Thomas Tyler Populate -b SDP_Classic_to_Streams -s //guest/perforce_software/sdp/...@31368.
//guest/perforce_software/sdp/dev/test/docker/Dockerfile.ubuntu22.base
#1 30356 C. Thomas Tyler Added Rocky 9 and Ubuntu 22 to test suite.

Dropped CentOS 6.

Changed default OS for tests from CentOS 7 to Rocky 9.

Adapted to using podman for the test suite.

Reduced minimum disk space requirement for testing
from 1G to 10M.

To be revisited:
* Disabled OOM killer defenese feature and systemd due to
compatibility issues with the test environment.
* Disabled systemd by moving systemctl aside

Enhanced build_docker_image.sh; added '-clean' option and added
support for more platforms.

Updated OS-specific packages as needed for all platforms, e.g.
adding 'file' and 'rsync' utils as needed in Docker definitions.

Added minimum performance recommendations for test containers in
config.

Updated env.sh utilities.

This change test on:
[X] centos7
[X] rocky8
[X] rocky9
[X] ubuntu20
[X] ubuntu22

#review-30357 @robert_cowham

TO DO:
* This builds using the official SDP test suite run manually on
Tom's laptop. Next step: Get it working on our shiny new Jenkins
Rocky 9 server machine.