Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Casa43 #101

Merged
merged 6 commits into from
Apr 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions science-containers/Dockerfiles/casa/centos5/CentOS-Base.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=https://vault.centos.org/5.11/os/x86_64/
#baseurl=http://archive.kernel.org/centos-vault/5.11/os/x86_64/
#baseurl=http://linuxsoft.cern.ch/centos-vault/5.11/os/x86_64/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/os/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=https://vault.centos.org/5.11/updates/x86_64/
#baseurl=http://archive.kernel.org/centos-vault/5.11/updates/x86_64/
#baseurl=http://linuxsoft.cern.ch/centos-vault/5.11/updates/x86_64/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/updates/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=https://vault.centos.org/5.11/extras/x86_64/
#baseurl=http://archive.kernel.org/centos-vault/5.11/extras/x86_64/
#baseurl=http://linuxsoft.cern.ch/centos-vault/5.11/extras/x86_64/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/extras/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

##additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=https://vault.centos.org/5.11/centosplus/x86_64/
#baseurl=http://archive.kernel.org/centos-vault/5.11/centosplus/x86_64/
#baseurl=http://linuxsoft.cern.ch/centos-vault/5.11/centosplus/x86_64/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/centosplus/x86_64/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://vault.centos.org/5.11/centosplus/$basearch/
#baseurl=https://vault.centos.org/5.11/contrib/x86_64/
#baseurl=http://archive.kernel.org/centos-vault/5.11/contrib/x86_64/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/contrib/x86_64/
#baseurl=http://linuxsoft.cern.ch/centos-vault/5.11/contrib/x86_64
gpgcheck=1
# enabled to be able to install xorg-x11-server-Xvfb, ImageMagick-c++ and sssd-client
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#libselinux portion of this .repo deleted. It is a repeat of the separate
# libeselinux.repo file (and also directs to the same centosplus directory
# as already referenced earlier in this file.
21 changes: 21 additions & 0 deletions science-containers/Dockerfiles/casa/centos5/CentOS-Debuginfo.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# CentOS-Debuginfo.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#

# All debug packages from all the various CentOS-5 releases
# are merged into a single repo, split by BaseArch
#
# Note: packages in the debuginfo repo are currently not signed
#

[base-debuginfo]
name=CentOS-5 - Debuginfo
#baseurl=http://debuginfo.centos.org/5/$basearch/
baseurl=http://debuginfo.centos.org/5/x86_64/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
enabled=0
67 changes: 67 additions & 0 deletions science-containers/Dockerfiles/casa/centos5/CentOS-Sources.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# CentOS-Sources.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base-source]
name=CentOS-$releasever - Base Sources
#baseurl=http://vault.centos.org/centos/$releasever/os/Source/
#baseurl=http://vault.centos.org/5.11/os/Source/
#baseurl=http://archive.kernel.org/centos-vault/5.11/os/Source
#baseurl=http://archive.kernel.org/centos-vault/5.11/os/SRPMS/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/os/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates
[updates-source]
name=CentOS-$releasever - Updates Sources
#baseurl=http://vault.centos.org/centos/$releasever/updates/Source/
#baseurl=http://vault.centos.org/5.11/updates/Source/
#baseurl=http://archive.kernel.org/centos-vault/5.11/updates/Source/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/updates/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras-source]
name=CentOS-$releasever - Extras Sources
#baseurl=http://vault.centos.org/centos/$releasever/extras/Source/
#baseurl=http://vault.centos.org/5.11/extras/Source/
#baseurl=http://archive.kernel.org/centos-vault/5.11/extras/Source/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/extras/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus-source]
name=CentOS-$releasever - Plus Sources
#baseurl=http://vault.centos.org/centos/$releasever/centosplus/Source/
#baseurl=http://vault.centos.org/5.11/centosplus/Source/
#baseurl=http://archive.kernel.org/centos-vault/5.11/centosplus/Source/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/centosplus/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#added for compatibility with the libselinux
#additional packages that extend functionality of existing packages
[libselinux-source]
name=CentOS-$releasever - libselinux Sources
#baseurl=http://vault.centos.org/centos/$releasever/centosplus/Source/
#baseurl=http://vault.centos.org/5.11/centosplus/Source/
#baseurl=http://archive.kernel.org/centos-vault/5.11/centosplus/Source/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/centosplus/Source/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
10 changes: 10 additions & 0 deletions science-containers/Dockerfiles/casa/centos5/CentOS-fasttrack.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[fasttrack]
name=CentOS-5 - fasttrack
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=fasttrack
#baseurl=http://mirror.centos.org/centos/$releasever/fasttrack/$basearch/
#baseurl=https://vault.centos.org/5.11/fasttrack/x86_64/
#baseurl=http://archive.kernel.org/centos-vault/5.11/fasttrack/x86_64/
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/fasttrack/x86_64/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
39 changes: 39 additions & 0 deletions science-containers/Dockerfiles/casa/centos5/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
FROM centos:5
#this Dockerfile runs through the build of a centos5 container and saves it
# on images.canfar.net, to use as a base for the subsequent builds of
# older casa versions, because the web-based centos5 distributions are
# becoming unstable and unmaintained


# Override old repo info with current urls
# NB: this revised process is completely eliminating two of the original repos
# which are CentOS-Media.repo, for configuring CD installation, and
# CentOS-Vault.repo, which provides urls for all previous versions of
# CentOS 5 (current version here is 5.11)
# Default baseurl no longer works with yum, but luckily at least two
# of the other mirror sites do
# imagemagick-c++ won't yum install on http://archive.kernel.org/centos-vault
# everything incl imagemagick works on http://mirror.nsc.liu.se/centos-store/
# (didn't do a full test of the only other mirror site, http://linuxsoft.cern.ch/centos-vault)


RUN rm /etc/yum.repos.d/*
ADD CentOS-Base.repo /etc/yum.repos.d/
ADD CentOS-Debuginfo.repo /etc/yum.repos.d/
ADD CentOS-Sources.repo /etc/yum.repos.d/
ADD CentOS-fasttrack.repo /etc/yum.repos.d/
ADD libselinux.repo /etc/yum.repos.d/

RUN yum clean all -y
#commented out - likely unnecessary?
#RUN yum makecache -y
RUN yum update -y

RUN yum install -y freetype libSM libXi libXrender libXrandr \
libXfixes libXcursor libXinerama fontconfig \
libxslt xauth xorg-x11-server-Xvfb dbus-x11 \
tkinter xterm perl
RUN yum install -y ImageMagick-c++

RUN yum install -y sssd-client acl which

26 changes: 26 additions & 0 deletions science-containers/Dockerfiles/casa/centos5/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
VERSIONS = \
5

DOCKER_REPO_BASE=images.canfar.net/skaha/centos

.PHONY: build clean run

all: build

build:
@- $(foreach V,$(VERSIONS), \
docker build -t ${DOCKER_REPO_BASE}:$(V) .; \
)

clean:
@- $(foreach V,$(VERSIONS), \
docker rmi ${DOCKER_REPO_BASE}:$(V) ; \
)

upload: build
@- $(foreach V,$(VERSIONS), \
docker push ${DOCKER_REPO_BASE}:$(V) ; \
)

clean_all: clean
upload_all: upload
12 changes: 12 additions & 0 deletions science-containers/Dockerfiles/casa/centos5/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
At present, the files in this directory are to build a basic CentOS5 container
with all of the basic linux software dependencies needed for early CASA
versions (3.4 to 4.2).
The CentOS5 repos have lately been starting to fail (2/4 mirrors fail during
current builds, with various packages, etc). So this base container will
allow us to address any future casa container upgrades without having to
count on the ongoing stability of the remaining two centos5 mirror sites.

UPDATE Feb 7, 2024: this code no longer builds a CentOS5 repo either, but
the one that built earlier is on harbor at skaha/centos. The coding here
is left in place in case it becomes necessary to try to rebuild again using
another mirror site which is perhaps not broken yet.
11 changes: 11 additions & 0 deletions science-containers/Dockerfiles/casa/centos5/libselinux.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[libselinux]
name=CentOS-$releasever - libselinux
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
#baseurl=https://vault.centos.org/5.11/centosplus/x86_64/
#baseurl=http://archive.kernel.org/centos-vault/5.11/centosplus/x86_64
baseurl=http://mirror.nsc.liu.se/centos-store/5.11/centosplus/x86_64/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
includepkgs=libselinux*
20 changes: 20 additions & 0 deletions science-containers/Dockerfiles/casa/centos6/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM centos:6
#this Dockerfile runs through the build of a centos6 container and saves it
# to images.canfar.net, to use as a base for the subsequent builds of older
# casa versions, because the web-based centos6 distributions are becoming
# unstable and unmaintained

# Override old repo info with current urls
RUN rm /etc/yum.repos.d/CentOS-Base.repo
ADD CentOS-Base.repo /etc/yum.repos.d/

RUN yum clean all -y
RUN yum makecache -y
RUN yum update -y
RUN yum install -y freetype libSM libXi libXrender libXrandr \
libXfixes libXcursor libXinerama fontconfig \
libxslt xauth xorg-x11-server-Xvfb dbus-x11 \
tkinter ImageMagick-c++ xterm perl autoconf python-sphinx graphviz

RUN yum install -y sssd-client acl

28 changes: 28 additions & 0 deletions science-containers/Dockerfiles/casa/centos6/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

VERSIONS = \
6


DOCKER_REPO_BASE=images.canfar.net/skaha/centos

.PHONY: build clean run

all: build

build:
@- $(foreach V,$(VERSIONS), \
docker build -t ${DOCKER_REPO_BASE}:$(V) .; \
)

clean:
@- $(foreach V,$(VERSIONS), \
docker rmi ${DOCKER_REPO_BASE}:$(V) ; \
)


upload: build
@- $(foreach V,$(VERSIONS), \
docker push ${DOCKER_REPO_BASE}:$(V) ; \
)
clean_all: clean
upload_all: upload
32 changes: 23 additions & 9 deletions science-containers/Dockerfiles/casa/version-3.4-4.2/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
FROM centos:5
FROM images.canfar.net/skaha/centos:5
#NB: centos 5 repo no longer available directly from Docker

# xterm dependency is an extra to get the casa shell in the display
# perl was added for casa later than 5

#coding below was needed when centos taken from source
# Override old repo info with current urls
RUN rm /etc/yum.repos.d/CentOS-Base.repo
ADD CentOS-Base.repo /etc/yum.repos.d/
#RUN rm /etc/yum.repos.d/CentOS-Base.repo
#ADD CentOS-Base.repo /etc/yum.repos.d/

RUN yum clean all -y
RUN yum makecache -y
#RUN yum makecache -y
RUN yum update -y

RUN yum install -y freetype libSM libXi libXrender libXrandr \
libXfixes libXcursor libXinerama fontconfig \
libxslt xauth xorg-x11-server-Xvfb dbus-x11 \
tkinter ImageMagick-c++ xterm perl
#These are already included in the CANFAR base centos5 container
#RUN yum install -y freetype libSM libXi libXrender libXrandr \
# libXfixes libXcursor libXinerama fontconfig \
# libxslt xauth xorg-x11-server-Xvfb dbus-x11 \
# tkinter ImageMagick-c++ xterm perl

# setup all required env variables
ARG CASA_RELEASE
Expand Down Expand Up @@ -52,4 +55,15 @@ ADD nsswitch.conf /etc/

RUN chmod -R a+rwx /skaha

ENTRYPOINT [ "/skaha/startup.sh" ]
#Add in analysisUtils package
RUN mkdir /opt/casa/analysisUtils
RUN yum install -y wget
RUN cd /opt/casa/analysisUtils && wget ftp://ftp.cv.nrao.edu/pub/casaguides/analysis_scripts.tar && tar -xvf analysis_scripts.tar
#(if above doesn't work, can manually download the package and add as below)
#ADD ./analysis_scripts.tar /opt/casa/analysisUtils/
#NB: the analysisUtils path is added to the CASA startup file in the init.sh script
# (needs access to user's $HOME)

#HK updated below
#ENTRYPOINT [ "/skaha/startup.sh" ]
CMD [ "/skaha/init.sh" ]
Loading
Loading