> Am 23.02.2018 um 05:41 schrieb Sean P. DeNigris <s...@clipperadams.com>:
> 
> I know we've struggled with this over the years, especially with the 32-bit
> libs. But now we have a lot of infrastructure that seems to be successfully
> building/running the VM on various flavors - OBS, travis, etc. Shouldn't one
> (or all) of these CI tools reliably have the latest installation script
> including the 32-bit libs? It seems like we should just link to one of these
> sources rather than depend on someone updating a text file, no?
> 
> Is the following just such a source?
> https://github.com/pharo-project/pharo-vm/blob/master/scripts/setup-ubuntu.sh
> 
> Also, is OBS working? For example, the following gives a 404:
> https://download.opensuse.org/repositories/devel:/languages:/pharo/xUbuntu_16.04
> 
> Finally, if someone is not too particular about which Linux flavor to use on
> their (probably headless) server, what is the easiest to install/most stable
> for Pharo?

OBS should work, the process is in place. This effort got killed slightly 
because it was not possible to get the current vm sources in a shape you can 
feed into a process. First it was that pharo-vm was different to 
opensmalltalk-vm. Now I do not remember but there is still a problem. Esteban 
can tell.
For me this is sad because the way the vm is implemented and managed it seems 
neither easy to collaborate nor easy to consume the result. And that is needed 
if you need to feed that in a process like linux packaging. I find this really 
important, I even spend money on it to be done. But…. we will see. I know 
Holger will care to update OBS if the process allows him to do. But he got 
stuck every single time he tried to do it.

For the choice of linux this is either business or religion dependent. If you 
need professional support for the linux you should choose one of the big ones, 
I think this is ubuntu or redhat. They all have long term support versions so 
you don’t need to follow the crowd every day. 

If you need to have multiple different pharos on your machine you might need to 
go virtual. Having pharo encapsulated in a docker image feels natural and you 
can be sure that system-wise you can pharo4, pharo5-32bits, pharo6-32bits, 
pharo6-64bits all in parallel without disturbance. Basically you need not much 
more than this Dockerfile

<snip>
#
# Pharo6 Dockerfile
#

FROM ubuntu:16.04

# Add opensuse repository and install pharo6 binary from there
RUN \
  apt-get update && \
  apt-get install -y wget curl unzip inetutils-ping && \
  wget -q 
http://download.opensuse.org/repositories/devel:/languages:/pharo:/stable/xUbuntu_16.04/Release.key
 -O- | apt-key add - && \
  echo 'deb 
http://download.opensuse.org/repositories/devel:/languages:/pharo:/stable/xUbuntu_16.04/
 ./' > /etc/apt/sources.list.d/pharo6.list && \
  dpkg --add-architecture i386 && \
  apt-get update && \
  apt-get install -y pharo6-32 pharo6-sources-files && \
  rm -rf /var/lib/apt/lists/*

RUN mkdir -p /pharo-vm/32 \
    && cd /pharo-vm/32 \
    && curl get.pharo.org/vm70 | bash
</snip>

It creates a pharo docker image (mine is called pharo6-32) with the OBS linux 
vm installed and the pharo7 vm downloaded so you can try which one is better. 
Applications with pharo I do with this

<snip>
FROM pharo6-32

RUN apt-get update && apt-get install -y curl

COPY Project.image start.st /opt/

# Define working directory.
WORKDIR /opt

# Define default command.
#CMD "/usr/bin/pharo6-32" "--mmap" "64m" "/opt/Project.image" 
"--no-default-preferences" "st" "/opt/start.st"
CMD "/pharo-vm/32/pharo" "--mmap" "64m" "/opt/Project.image" 
"--no-default-preferences" "st" "/opt/start.st"

EXPOSE 3000
</snip>

So if you have the pharo image as Project.image in the same directory as the 
Dockerfile then this image is copied into the docker image and when you start 
it is called. 

Hope this helps,

Norbert

Reply via email to