-
Notifications
You must be signed in to change notification settings - Fork 0
Compilation
Helge Heß edited this page Sep 17, 2024
·
1 revision
The goal is to compile OGo against a current (2024) Ubuntu w/ the included GNUstep-base library, and a current SOPE version forked off the SOGo.nu SOPE fork. (traditionally OGo would usually run against libFoundation, not GNUstep-base for reasons that do not matter anymore)
- TODO: Build an image w/ just the runtime libs,
w/o headers (i.e.
-dev
) packages
FROM ubuntu:noble
LABEL maintainer="Helge Heß <me@helgehess.eu>"
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y -qq update
RUN apt-get -y -qq upgrade
RUN apt-get -y -qq install \
libxml2-dev libldap2 libldap-dev libpq-dev libpq5 \
libmemcached-dev libmemcached-tools libcurl4-openssl-dev \
libcrypt-dev make libz-dev
RUN apt-get -y -qq install gobjc
RUN apt-get -y -qq install \
gnustep-make \
gnustep-base-runtime \
libgnustep-base-dev
Sample build:
docker build \
-t helje5/gnustep-base-devsetup:0.1.0 \
-f Dockerfile \
$PWD/empty-ctx \
docker images | grep helje5
Based on the image above, adds Emacs and other useful tools.
FROM helje5/gnustep-base-dev:0.1.0
LABEL maintainer="Helge Heß <me@helgehess.eu>"
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y -qq install \
emacs less tree file \
sudo gosu gdb linux-tools-generic strace
RUN useradd -u 501 --create-home --shell /bin/bash developer
RUN adduser developer sudo
RUN adduser developer root
RUN chmod -R g+w /usr/local/
# SOPE tries to install stuff into this
RUN chmod -R g+w /usr/share/GNUstep
USER developer
WORKDIR /home/developer
WIP. Ideally we want to dockerize that, so that it can be run as a public image.
docker run -it --rm \
--name OGoDev \
--link PG:PG \
-p 12000:12000 \
-v "/Users/helge/dev/OpenGroupware:/src" \
helje5/gnustep-base-devsetup:0.1.0 \
bash
cd /src/SOPE
./configure \
--with-gnustep \
--enable-debug \
--disable-strip \
--enable-xml \
--enable-postgresql \
--enable-openldap \
--with-ssl=ssl
make -j 8
make install
cd /src/OpenGroupware.org/
./configure \
--with-gnustep \
--gsmake=/usr/share/GNUstep/Makefiles \
--enable-debug \
--disable-strip
make -j 8
make install
WIP. Ideally we want to dockerize that, so that it can be run as a public image.
source /usr/share/GNUstep/Makefiles/GNUstep.sh
defaults write ogo-webui-5.5 WOLogFile -
defaults write ogo-webui-5.5 WONoDetach YES
defaults write ogo-webui-5.5 WOUseWatchDog NO
defaults write ogo-webui-5.5 WOPidFile /tmp/ogo.pid
defaults write ogo-webui-5.5 WOPort "localhost:12000"
defaults write ogo-webui-5.5 NGBundlePath \
"/usr/local/lib/GNUstep/Bundles:/usr/local/lib/GNUstep/Models-5.5:/usr/local/lib/GNUstep/WOxElemBuilders-4.9:/usr/local/lib/GNUstep/WebUI-5.5"
defaults write NSGlobalDomain LSConnectionDictionary '{databaseName=OGo;hostName=PG;port=5432;userName=OGo;password=...;}'
# Start the daemon:
/usr/local/bin/ogo-webui-5.5