Improve build and deployment
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 6 Mar 2024 16:12:35 +0000 (17:12 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 6 Mar 2024 16:12:35 +0000 (17:12 +0100)
16 files changed:
etc/argeo/user/argeo.ini
etc/argeo/user/cms/cms.ini
etc/argeo/user/native/cms.ini [new file with mode: 0644]
etc/argeo/user/native/debug.ini [new file with mode: 0644]
etc/default/argeo
local.mk
sjbin/Makefile
usr/lib/argeo/all.policy [new file with mode: 0644]
usr/lib/systemd/system/argeo@.service
usr/lib/systemd/user/argeo.service
usr/lib/systemd/user/argeo@.service [deleted file]
usr/share/argeo/SETUP.txt [deleted file]
usr/share/argeo/all.policy [deleted file]
usr/share/argeo/argeo-pgsql-setup.sql [deleted file]
usr/share/argeo/argeo-slapd-setup.inf [deleted file]
usr/share/argeo/jvm.args [deleted file]

index 2cb5396247b42e57f9fade2bb5bec4dd682f4d33..12ab5a171275bcf4c91490d46068aa513e2c96e4 100644 (file)
@@ -4,6 +4,7 @@ org.osgi.framework.system.packages.extra=\
 sun.security.util,\
 sun.security.internal.spec,\
 sun.security.provider,\
+sun.awt.X11,\
 com.sun.net.httpserver,\
 com.sun.jndi.ldap,\
 com.sun.jndi.ldap.sasl,\
index 29a8339e73143014433bc4d2741574214273b40f..ba54aeb86bfcf599f2eab39eb47fcab0fcfe5816 100644 (file)
@@ -13,7 +13,6 @@ org.eclipse.rap.rwt.osgi,\
 argeo.osgi.start.3=\
 org.argeo.cms,\
 org.argeo.cms.swt.rap,\
-org.argeo.cms.swt.rcp,\
 org.argeo.cms.ee,\
 org.argeo.cms.lib.dbus,\
 org.argeo.cms.lib.sshd,\
diff --git a/etc/argeo/user/native/cms.ini b/etc/argeo/user/native/cms.ini
new file mode 100644 (file)
index 0000000..b34b44d
--- /dev/null
@@ -0,0 +1,30 @@
+argeo.osgi.sources=\
+a2+reference:///\
+?osgi=equinox\
+&crypto=fips\
+&swt=rcp\
+
+argeo.osgi.start.2=\
+org.eclipse.equinox.http.servlet,\
+org.apache.felix.scr,\
+org.eclipse.equinox.console,\
+
+argeo.osgi.start.3=\
+org.argeo.cms,\
+org.argeo.cms.swt.rcp,\
+org.argeo.cms.ee,\
+org.argeo.cms.lib.dbus,\
+org.argeo.cms.lib.sshd,\
+org.argeo.cms.lib.equinox,\
+org.argeo.cms.lib.jetty,\
+
+argeo.osgi.start.4=\
+org.argeo.cms.jcr
+
+argeo.osgi.start.5=\
+org.argeo.app.profile.acr.fs,\
+org.argeo.app.core,\
+org.argeo.app.jcr,\
+org.argeo.app.ui,\
+org.argeo.app.theme.default,\
+org.argeo.app.geo,\
diff --git a/etc/argeo/user/native/debug.ini b/etc/argeo/user/native/debug.ini
new file mode 100644 (file)
index 0000000..9a7f33c
--- /dev/null
@@ -0,0 +1 @@
+osgi.clean=true
\ No newline at end of file
index 73bddc146ad2e2092912c9e6d72ccf02ebd5646b..946ce093b755a53a48074b21c9981e664ac9d86d 100644 (file)
@@ -1,5 +1,2 @@
-# Whether we use a local deployment
-# /usr/$ARGEO_LOCAL/share
-# /usr/$ARGEO_LOCAL/etc
-# etc.
-#ARGEO_LOCAL=local
\ No newline at end of file
+# Native libraries search path
+A2_LIBRARY_PATH=/usr/local/lib/a2:/usr/lib/a2
\ No newline at end of file
index b2af1350ae93149c275b19ed65826d4f0467129b..7284143be85264e4b23cef32918f22c3c2c9ce92 100644 (file)
--- a/local.mk
+++ b/local.mk
@@ -18,11 +18,23 @@ clean:
        $(MAKE) -C sjbin clean
 
 install:
-       $(COPY) -r --no-clobber etc/* $(DESTDIR)$(sysconfdir)
-       $(COPY) -r usr/bin/* $(DESTDIR)$(bindir)
-       $(COPY) -r usr/share/* $(DESTDIR)$(datarootdir)
-       $(COPY) -r usr/lib/* $(DESTDIR)$(libdir)
-       $(COPY) -r usr/libexec/* $(DESTDIR)$(libexecdir)
-       $(MAKE) -C sjbin install
+# TODO use install and wildcard ?
+       $(COPY) -v -r --no-clobber etc/* $(DESTDIR)$(sysconfdir)
+       $(COPY) -v -r usr/bin/* $(DESTDIR)$(bindir)
+#      $(COPY) -v -r usr/share/* $(DESTDIR)$(datarootdir)
+       $(COPY) -v -r usr/lib/* $(DESTDIR)$(libdir)
+       sed -i 's|/usr/local|$(prefix)|' $(DESTDIR)$(libdir)/systemd/system/argeo*.service
+       sed -i 's|/usr/local|$(prefix)|' $(DESTDIR)$(libdir)/systemd/user/argeo*.service
+       sed -i 's|/usr/local|$(prefix)|' $(DESTDIR)$(libdir)/argeo/*.args
+       $(COPY) -v -r usr/libexec/* $(DESTDIR)$(libexecdir)
+#      $(MAKE) -C sjbin install
        systemctl daemon-reload
-       
\ No newline at end of file
+
+uninstall:
+       $(foreach f, $(shell cd usr/bin/ && find . -type f), $(RM) $(DESTDIR)$(bindir)/$(f);)
+#      $(foreach f, $(shell find usr/share/ -type f), $(RM) $(DESTDIR)$(datarootdir)/$(f);)
+       $(foreach f, $(shell cd usr/lib/ && find . -type f), $(RM) $(DESTDIR)$(libdir)/$(f);)
+       $(foreach f, $(shell cd usr/libexec/ && find . -type f), $(RM) $(DESTDIR)$(libexecdir)/$(f);)
+
+purge: uninstall       
+       $(foreach f, $(shell cd etc/ && find . -type f), $(RM) $(DESTDIR)$(sysconfdir)/$(f);)
index 959f75112ea4c5a358101c7c0fc7a88d2cf321b5..ce25ce8b67956a97d590bbb8521ad0fc4383e96a 100644 (file)
@@ -19,7 +19,7 @@ clean:
 
 install:
 # TODO generalise
-       cp -v --preserve=mode freed-pid1 $(DESTDIR)$(sbindir)
-       sed -i 's|/usr/local|$(prefix)|' $(DESTDIR)$(sbindir)/freed-pid1
+       install -D -m755 -t $(DESTDIR)$(sbindir)freed-*
+       sed -i 's|/usr/local|$(prefix)|' $(DESTDIR)$(sbindir)/*
        sed -i 's|/usr/local|$(prefix)|' $(DESTDIR)$(sysconfdir)/freed/pid1/jvm.args
 #      cp -v ../../etc/freed/init/* $(DESTDIR)$(sysconfdir)/freed/init
diff --git a/usr/lib/argeo/all.policy b/usr/lib/argeo/all.policy
new file mode 100644 (file)
index 0000000..facb613
--- /dev/null
@@ -0,0 +1,3 @@
+grant {
+  permission java.security.AllPermission;
+};
\ No newline at end of file
index f080622ba29e22c35f7ae38910bb91ab9ed4ef2f..8c05d3cb92f7bcd43b173f3c080346461b36e368 100644 (file)
@@ -28,7 +28,7 @@ ExecStart=java \
 -Dorg.eclipse.equinox.http.jetty.autostart=false \
 @/etc/argeo.d/jvm.args \
 @${CONFIGURATION_DIRECTORY}/jvm.args \
-@/usr/share/argeo/jvm.args \
+@lib/argeo/jvm.args \
 org.argeo.init.ServiceMain
  
 # Exit codes of the JVM when SIGTERM or SIGINT have been caught:
index ba6f78df362221a99995e76ce6806d9da68ba205..888b20541d5956adc78d6ff9318cf7a035749259 100644 (file)
@@ -15,6 +15,7 @@ ExecStartPre=/usr/bin/mkdir -p ${CONFIGURATION_DIRECTORY}
 ExecStartPre=/usr/bin/touch ${CONFIGURATION_DIRECTORY}/jvm.args
 
 ExecStart=java \
+-Djava.library.path=${A2_LIBRARY_PATH} \
 -Dosgi.framework.useSystemProperties=false \
 -Dosgi.noShutdown=true \
 -Declipse.ignoreApp=true \
diff --git a/usr/lib/systemd/user/argeo@.service b/usr/lib/systemd/user/argeo@.service
deleted file mode 100644 (file)
index 04b77b1..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-[Unit]
-Description=Argeo user node %I
-
-[Service]
-Type=simple
-StateDirectory=argeo.d/%I
-LogsDirectory=argeo.d/%I
-ConfigurationDirectory=argeo.d/%I
-CacheDirectory=argeo.d/%I
-#WorkingDirectory=
-
-ExecStart=java \
--Dosgi.configuration.cascaded=true \
--Dosgi.sharedConfiguration.area=/etc/argeo.user.d/%I/ \
--Dosgi.sharedConfiguration.area.readOnly=true \
--Dosgi.configuration.area=${STATE_DIRECTORY}/state/ \
--Dosgi.instance.area=${STATE_DIRECTORY}/data/ \
--Dargeo.node.repo.indexesBase=${CACHE_DIRECTORY}/indexes \
--Dorg.osgi.framework.system.packages.extra=sun.security.util,sun.security.internal.spec,sun.security.provider,com.sun.net.httpserver,com.sun.jndi.ldap,com.sun.jndi.ldap.sasl,com.sun.jndi.dns,com.sun.security.jgss,com.sun.nio.file,com.sun.nio.sctp \
--Declipse.ignoreApp=true \
--Dosgi.noShutdown=true \
--Dorg.eclipse.equinox.http.jetty.autostart=false \
--Djava.library.path=/usr/lib/a2/swt/rcp/org.argeo.tp.swt/ \
-@/etc/argeo.user.d/jvm.args \
-@/etc/argeo.user.d/%I/jvm.args \
-@/usr/share/argeo/jvm.args \
-org.argeo.init.ServiceMain
-
-# Exit codes of the JVM when SIGTERM or SIGINT have been caught:
-SuccessExitStatus=143 130
-
-[Install]
-WantedBy=multi-user.target
diff --git a/usr/share/argeo/SETUP.txt b/usr/share/argeo/SETUP.txt
deleted file mode 100644 (file)
index 708e587..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# 389 Directory Server
-sudo dscreate from-file argeo-slapd.inf
-sudo dsconf -D "cn=Directory Manager" ldap://localhost backend import <backend> <path to LDIF file> 
-
-# PostgreSQL
-sudo postgresql-setup initdb
-sudo systemctl start postgresql
-sudo -u postgres psql < argeo-pgsql-setup.sql
diff --git a/usr/share/argeo/all.policy b/usr/share/argeo/all.policy
deleted file mode 100644 (file)
index facb613..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-grant {
-  permission java.security.AllPermission;
-};
\ No newline at end of file
diff --git a/usr/share/argeo/argeo-pgsql-setup.sql b/usr/share/argeo/argeo-pgsql-setup.sql
deleted file mode 100644 (file)
index 886f60a..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-CREATE USER argeo WITH PASSWORD 'argeo';
-CREATE DATABASE argeo WITH OWNER argeo;
diff --git a/usr/share/argeo/argeo-slapd-setup.inf b/usr/share/argeo/argeo-slapd-setup.inf
deleted file mode 100644 (file)
index 98ad97a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-[general]
-[slapd]
-instance_name = argeo
-root_dn = cn=Directory Manager
-root_password = argeoargeo
-
-[backend-userroot]
-create_suffix_entry = True
-suffix = dc=example,dc=com
\ No newline at end of file
diff --git a/usr/share/argeo/jvm.args b/usr/share/argeo/jvm.args
deleted file mode 100644 (file)
index 0f24e94..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Force UTF-8 encoding
--Dfile.encoding=UTF-8
-
-# Ensure OpenJDK and OpenJ9 are compatible
--XX:+IgnoreUnrecognizedVMOptions
-
--cp /usr/share/a2/osgi/equinox/org.argeo.tp.osgi/org.eclipse.osgi.3.18.jar:/usr/share/a2/org.argeo.cms/org.argeo.init.2.3.jar
\ No newline at end of file