Compare commits

..

6 commits

Author SHA1 Message Date
Honza Horak
888171c189 container sources not used for building fedora containers anymore 2025-07-08 17:40:41 +02:00
Petr Kubat
5704f4271e move to F34 2020-12-08 16:51:03 +01:00
Petr "Stone" Hracek
d00360044d Add bot-cfg.yml file sync upstream s2i-core repository to Fedora land
This commit adds support for syncing upstream repository to Fedora land

Signed-off-by: Petr "Stone" Hracek <phracek@redhat.com>
2020-04-22 05:29:25 +00:00
Lumir Balhar
ab91545549 Update from upstream and switch to new rawhide (f33) 2020-03-18 08:49:59 +01:00
Lumir Balhar
eb7621e006 Update to F32 2019-11-06 15:10:23 +01:00
Jakub Čajka
1c6503b128 postgresql-devel moved in to libpq-devel 2019-06-26 14:23:32 +02:00
10 changed files with 1 additions and 365 deletions

0
.gitignore vendored
View file

View file

@ -1,50 +0,0 @@
# This image is the base image for all OpenShift v3 language container images.
FROM registry.fedoraproject.org/f33/s2i-core:latest
ENV SUMMARY="Base image with essential libraries and tools used as a base for \
builder images like perl, python, ruby, etc." \
DESCRIPTION="The s2i-base image, being built upon s2i-core, provides any \
images layered on top of it with all the tools needed to use source-to-image \
functionality. Additionally, s2i-base also contains various libraries needed for \
it to serve as a base for other builder images, like s2i-python or s2i-ruby." \
NAME=s2i-base \
VERSION=1 \
ARCH=x86_64
LABEL summary="$SUMMARY" \
description="$DESCRIPTION" \
io.k8s.description="$DESCRIPTION" \
io.k8s.display-name="s2i base" \
com.redhat.component="$NAME" \
name="$FGC/$NAME" \
version="$VERSION" \
maintainer="SoftwareCollections.org <sclorg@redhat.com>"
# This is the list of basic dependencies that all language container image can
# consume.
RUN INSTALL_PKGS="autoconf \
automake \
bzip2 \
gcc-c++ \
gd-devel \
gdb \
git \
libcurl-devel \
libpq-devel \
libxml2-devel \
libxslt-devel \
lsof \
make \
mariadb-connector-c-devel \
npm \
openssl-devel \
patch \
procps-ng \
sqlite-devel \
unzip \
wget \
which \
zlib-devel" && \
dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \
rpm -V $INSTALL_PKGS && \
dnf clean all -y

View file

@ -1 +0,0 @@
Dockerfile

106
README.md
View file

@ -1,106 +0,0 @@
OpenShift base images
========================================
This repository contains Dockerfiles for images which serve as base images with all the
essential libraries and tools needed for OpenShift language images, for example:
* [s2i-ruby](https://github.com/sclorg/s2i-ruby-container)
* [s2i-nodejs](https://github.com/sclorg/s2i-nodejs-container)
* [s2i-python](https://github.com/sclorg/s2i-python-container)
* [s2i-perl](https://github.com/sclorg/s2i-perl-container)
* [s2i-php](https://github.com/sclorg/s2i-php-container)
This container image also installs several development libraries, that are
often required in the builder images above. It also includes NPM package manager.
Sharing those development packages in a common layer saves disk space and
improves pulling speed.
NPM, a package manager for Node.js, offers a pleasant way to install JavaScript
libraries, that are often needed as static files for various web applications.
In order to offer good experience for web developers, the NPM package manager
is also installed in the image.
For containers where the development libraries and NPM package manager are not
necessary, users are advised to use the s2i-core variant of this container image.
Description
-----------
OpenShift S2I images use [Software Collections](https://www.softwarecollections.org/en/)
packages to provide the latest versions of various software.
The SCL packages are released more frequently than the RHEL or CentOS systems,
which are unlikely to change for several years.
We rely on RHEL and CentOS for base images, on the other hand,
because those are stable, supported, and secure platforms.
Normally, SCL requires manual operation to enable the collection you want to use.
This is burdensome and can be prone to error.
The OpenShift S2I approach is to set Bash environment variables that
serve to automatically enable the desired collection:
* `BASH_ENV`: enables the collection for all non-interactive Bash sessions
* `ENV`: enables the collection for all invocations of `/bin/sh`
* `PROMPT_COMMAND`: enables the collection in interactive shell
Two examples:
* If you specify `BASH_ENV`, then all your `#!/bin/bash` scripts
do not need to call `scl enable`.
* If you specify `PROMPT_COMMAND`, then on execution of the
`podman exec ... /bin/bash` command, the collection will be automatically enabled.
*Note*:
Executables in Software Collections packages (e.g., `ruby`)
are not directly in a directory named in the `PATH` environment variable.
This means that you cannot do:
$ podman exec <cid> ... ruby
but must instead do:
$ podman exec <cid> ... /bin/bash -c ruby
The `/bin/bash -c`, along with the setting the appropriate environment variable,
ensures the correct `ruby` executable is found and invoked.
Note: while the examples in this README are calling `podman`, you can replace any such calls by `docker` with the same arguments
Usage
------------------------
Choose either the CentOS7 or RHEL7 base image:
* **RHEL7 base image**
To build a RHEL7 based image, you need to build it on properly subscribed RHEL machine.
```
$ git clone --recursive https://github.com/sclorg/s2i-base-container.git
$ cd s2i-base-container
$ make build VERSIONS=base TARGET=rhel7
```
* **CentOS7 base image**
This image is available on DockerHub. To download it run:
```console
podman pull quay.io/centos7/s2i-base-centos7
```
To build a Base image from scratch run:
```
$ git clone --recursive https://github.com/sclorg/s2i-base-container.git
$ cd s2i-base-container
$ make build VERSIONS=base
```
**Notice: By omitting the `VERSION` parameter, the build/test action will be performed
on all provided versions of s2i image.**
See also
--------
Dockerfile and other sources are available on https://github.com/sclorg/s2i-base-container.
In that repository you also can find another variants of S2I base Dockerfiles.
The Dockerfile for CentOS is called Dockerfile, the Dockerfile for RHEL7 is called Dockerfile.rhel7,
the Dockerfile for RHEL8 is called Dockerfile.rhel8 and the Dockerfile for Fedora is Dockerfile.fedora.

1
base
View file

@ -1 +0,0 @@
.

View file

@ -1,27 +0,0 @@
version: "1"
betka:
# is betka enabled for this repository
# optional - defaults to false
enabled: true
# optional
notifications:
email_addresses: [phracek@redhat.com]
# Specify if master branch in upstream repository is synced
master_checker: true
# Should pull requests be synced?
# optional
pr_checker: false
# Either 'upstream_branch_name' or 'upstream_git_path' has to be specified
# Branch name which is used for sync
upstream_branch_name: master
# Path to directory with dockerfile withing upstream repository
upstream_git_path: "base"
# Github comment message to enforce sync of a pull request
# required if pr_checker is true otherwise optional
pr_comment_message: "[test]"
# optional
image_url: quay.io/rhscl/cwt-generator

1
dead.package Normal file
View file

@ -0,0 +1 @@
container sources not used for building fedora containers anymore

View file

@ -1 +0,0 @@
README.md

View file

@ -1,153 +0,0 @@
.TH OpenShift base images
.PP
This repository contains Dockerfiles for images which serve as base images with all the
essential libraries and tools needed for OpenShift language images, for example:
.IP \(bu 2
s2i\-ruby
\[la]https://github.com/sclorg/s2i-ruby-container\[ra]
.IP \(bu 2
s2i\-nodejs
\[la]https://github.com/sclorg/s2i-nodejs-container\[ra]
.IP \(bu 2
s2i\-python
\[la]https://github.com/sclorg/s2i-python-container\[ra]
.IP \(bu 2
s2i\-perl
\[la]https://github.com/sclorg/s2i-perl-container\[ra]
.IP \(bu 2
s2i\-php
\[la]https://github.com/sclorg/s2i-php-container\[ra]
.PP
This container image also installs several development libraries, that are
often required in the builder images above. It also includes NPM package manager.
Sharing those development packages in a common layer saves disk space and
improves pulling speed.
.PP
NPM, a package manager for Node.js, offers a pleasant way to install JavaScript
libraries, that are often needed as static files for various web applications.
In order to offer good experience for web developers, the NPM package manager
is also installed in the image.
.PP
For containers where the development libraries and NPM package manager are not
necessary, users are advised to use the s2i\-core variant of this container image.
.SH Description
.PP
OpenShift S2I images use Software Collections
\[la]https://www.softwarecollections.org/en/\[ra]
packages to provide the latest versions of various software.
The SCL packages are released more frequently than the RHEL or CentOS systems,
which are unlikely to change for several years.
We rely on RHEL and CentOS for base images, on the other hand,
because those are stable, supported, and secure platforms.
.PP
Normally, SCL requires manual operation to enable the collection you want to use.
This is burdensome and can be prone to error.
The OpenShift S2I approach is to set Bash environment variables that
serve to automatically enable the desired collection:
.IP \(bu 2
\fB\fCBASH\_ENV\fR: enables the collection for all non\-interactive Bash sessions
.IP \(bu 2
\fB\fCENV\fR: enables the collection for all invocations of \fB\fC/bin/sh\fR
.IP \(bu 2
\fB\fCPROMPT\_COMMAND\fR: enables the collection in interactive shell
.PP
Two examples:
* If you specify \fB\fCBASH\_ENV\fR, then all your \fB\fC#!/bin/bash\fR scripts
do not need to call \fB\fCscl enable\fR\&.
* If you specify \fB\fCPROMPT\_COMMAND\fR, then on execution of the
\fB\fCdocker exec ... /bin/bash\fR command, the collection will be automatically enabled.
.PP
\fINote\fP:
Executables in Software Collections packages (e.g., \fB\fCruby\fR)
are not directly in a directory named in the \fB\fCPATH\fR environment variable.
This means that you cannot do:
.PP
.RS
.nf
$ docker exec <cid> ... ruby
.fi
.RE
.PP
but must instead do:
.PP
.RS
.nf
$ docker exec <cid> ... /bin/bash \-c ruby
.fi
.RE
.PP
The \fB\fC/bin/bash \-c\fR, along with the setting the appropriate environment variable,
ensures the correct \fB\fCruby\fR executable is found and invoked.
.SH Usage
.PP
Choose either the CentOS7 or RHEL7 base image:
* \fBRHEL7 base image\fP
.PP
To build a RHEL7 based image, you need to build it on properly subscribed RHEL machine.
.PP
.RS
.nf
$ git clone \-\-recursive https://github.com/sclorg/s2i\-base\-container.git
$ cd s2i\-base\-container
$ make build VERSIONS=base TARGET=rhel7
.fi
.RE
.IP \(bu 2
\fBCentOS7 base image\fP
.PP
This image is available on DockerHub. To download it run:
.PP
.RS
.nf
docker pull sclorg/s2i\-base\-centos7
.fi
.RE
.PP
To build a Base image from scratch run:
.PP
.RS
.nf
$ git clone \-\-recursive https://github.com/sclorg/s2i\-base\-container.git
$ cd s2i\-base\-container
$ make build VERSIONS=base
.fi
.RE
.PP
\fBNotice: By omitting the \fB\fCVERSION\fR parameter, the build/test action will be performed
on all provided versions of s2i image.\fP
.SH See also
.PP
Dockerfile and other sources are available on
\[la]https://github.com/sclorg/s2i-base-container\[ra]\&.
In that repository you also can find another variants of S2I base Dockerfiles.
Dockerfile for CentOS is called Dockerfile, Dockerfile for RHEL is called Dockerfile.rhel7.

View file

@ -1,26 +0,0 @@
#!/bin/bash
#
# The 'run' performs a simple test that verifies that STI image.
# The main focus is that the image prints out the base-usage properly.
#
# IMAGE_NAME specifies a name of the candidate image used for testing.
# The image has to be available before this script is executed.
#
test -n "${IMAGE_NAME-}" || { echo 'make sure $IMAGE_NAME is defined'; exit 1; }
test_docker_run_usage() {
echo "Testing 'docker run' usage..."
docker run --rm ${IMAGE_NAME} &>/dev/null
}
check_result() {
local result="$1"
if [[ "$result" != "0" ]]; then
echo "STI image '${IMAGE_NAME}' test FAILED (exit code: ${result})"
exit $result
fi
}
# Verify the 'usage' script is working properly when running the base image with 'docker run ...'
test_docker_run_usage
check_result $?