> Am 23.02.2018 um 05:41 schrieb Sean P. DeNigris <[email protected]>: > > 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
