Skip to content

Commit

Permalink
Merge pull request #101 from helenkirk/casa43
Browse files Browse the repository at this point in the history
Casa43
  • Loading branch information
brianmajor committed Apr 9, 2024
2 parents db8d679 + 975b0a6 commit 580edf1
Show file tree
Hide file tree
Showing 12 changed files with 321 additions and 13 deletions.
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
27 changes: 14 additions & 13 deletions science-containers/Dockerfiles/casa/version-4.3-4.4/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,12 @@
FROM centos:6
FROM images.canfar.net/skaha/centos:6
#NB: this is using a locally saved centos6 container with CASA-required
# software pre-installed to aid in long-term stability. Centos6 already
# has not been maintained for many years

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

# 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

# setup all required env variables
ARG CASA_RELEASE
Expand Down Expand Up @@ -43,8 +36,6 @@ RUN chown -R root:root /opt/${CASA_RELEASE} && ln -s /opt/${CASA_RELEASE} /opt/c

#WORKDIR /home/guest

RUN yum install -y sssd-client acl

# updated to new leapsecond solution
# Allow runtime symlink creation to the casa-data-repository
# Create a dangling symlink to casa-data-repository so that after deployment
Expand All @@ -63,6 +54,16 @@ RUN dbus-uuidgen --ensure

ADD nsswitch.conf /etc/

#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" ]

0 comments on commit 580edf1

Please sign in to comment.