To Nikita Noark5 Core Team,
I have prepared RPM Package of Nikita Noark5 Core as 2 diff patches that modify
1) rpm/pom.xml 2) src/main/resources/postinstall.sh, src/main/resources/preinstall.sh, and src/main/resources/systemd/nikita-noark5-core.service.
1) https://aamot.engineering/Prototypes/nikita-rpm-package/nikita-noark5-core-rpm-packaging-2021-06-04.diff diff --git a/rpm/pom.xml b/rpm/pom.xml new file mode 100644 index 00000000..94bbe1d2 --- /dev/null +++ b/rpm/pom.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="<http://maven.apache.org/POM/4.0.0>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>" xsi:schemaLocation="<http://maven.apache.org/POM/4.0.0> <https://maven.apache.org/xsd/maven-4.0.0.xsd>"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>nikita</groupId> + <artifactId>nikita-noark5-core</artifactId> + <version>0.5</version> + </parent> + + <artifactId>nikita-noark5-core-package</artifactId> + <packaging>rpm</packaging> + + <name>Nikita Noark5 Core Application - RPM Package</name> + + <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>nikita-noark5-core-app</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>rpm-maven-plugin</artifactId> + <version>2.2.0</version> + <extensions>true</extensions> + <configuration> + <group>${project.groupId}</group> + <mappings> + <mapping> + <directory>/var/nikita-noark5-core</directory> + <filemode>755</filemode> + <username>nikita-noark5-core</username> + <groupname>nikita-noark5-core</groupname> + <dependency> + <stripVersion>true</stripVersion> + <includes> + <include>${project.groupId}:nikita-noark5-core-app</include> + </includes> + </dependency> + </mapping> + <mapping> + <directory>/etc/systemd/system</directory> + <filemode>755</filemode> + <username>root</username> + <groupname>root</groupname> + <sources> + <source> + <location>src/main/resources/systemd</location> + </source> + </sources> + </mapping> + </mappings> + <preinstallScriptlet> + <scriptFile>src/main/resources/preinstall.sh</scriptFile> + <fileEncoding>utf-8</fileEncoding> + <filter>true</filter> + </preinstallScriptlet> + <postinstallScriptlet> + <scriptFile>src/main/resources/postinstall.sh</scriptFile> + <fileEncoding>utf-8</fileEncoding> + <filter>true</filter> + </postinstallScriptlet> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/src/main/resources/postinstall.sh b/src/main/resources/postinstall.sh new file mode 100644 index 00000000..5f18530e --- /dev/null +++ b/src/main/resources/postinstall.sh @@ -0,0 +1,4 @@ +if [ $1 -eq 1 ] ; then + # Initial installation + systemctl enable nikita-noark5-core.service >/dev/null 2>&1 || : +fi diff --git a/src/main/resources/preinstall.sh b/src/main/resources/preinstall.sh new file mode 100644 index 00000000..deed7b0c --- /dev/null +++ b/src/main/resources/preinstall.sh @@ -0,0 +1,3 @@ +/usr/sbin/useradd -c "Nikita Noark5 Core Application" -U \ + -s /sbin/nologin -r \ + -d /var/nikita-noark5-core nikita-noark5-core 2> /dev/null || : diff --git a/src/main/resources/systemd/nikita-noark5-core.service b/src/main/resources/systemd/nikita-noark5-core.service new file mode 100644 index 00000000..717fdb4c --- /dev/null +++ b/src/main/resources/systemd/nikita-noark5-core.service @@ -0,0 +1,11 @@ +[Unit] +Description=Nikita Noark5 Core Application +After=syslog.target + +[Service] +User=nikita-noark5-core +ExecStart=/var/nikita-noark5-core/nikita-noark5-core.jar +SuccessExitStatus=143 + +[Install] +WantedBy=multi-user.target \ No newline at end of file
2) https://aamot.engineering/Prototypes/nikita-rpm-package/nikita-noark5-core-r... https://aamot.engineering/Prototypes/nikita-rpm-package/nikita-noark5-core-rpm-packaging-2021-06-04.diff diff --git a/rpm/pom.xml b/rpm/pom.xml new file mode 100644 index 00000000..94bbe1d2 --- /dev/null +++ b/rpm/pom.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="<http://maven.apache.org/POM/4.0.0>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>" xsi:schemaLocation="<http://maven.apache.org/POM/4.0.0> <https://maven.apache.org/xsd/maven-4.0.0.xsd>"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>nikita</groupId> + <artifactId>nikita-noark5-core</artifactId> + <version>0.5</version> + </parent> + + <artifactId>nikita-noark5-core-package</artifactId> + <packaging>rpm</packaging> + + <name>Nikita Noark5 Core Application - RPM Package</name> + + <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>nikita-noark5-core-app</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>rpm-maven-plugin</artifactId> + <version>2.2.0</version> + <extensions>true</extensions> + <configuration> + <group>${project.groupId}</group> + <mappings> + <mapping> + <directory>/var/nikita-noark5-core</directory> + <filemode>755</filemode> + <username>nikita-noark5-core</username> + <groupname>nikita-noark5-core</groupname> + <dependency> + <stripVersion>true</stripVersion> + <includes> + <include>${project.groupId}:nikita-noark5-core-app</include> + </includes> + </dependency> + </mapping> + <mapping> + <directory>/etc/systemd/system</directory> + <filemode>755</filemode> + <username>root</username> + <groupname>root</groupname> + <sources> + <source> + <location>src/main/resources/systemd</location> + </source> + </sources> + </mapping> + </mappings> + <preinstallScriptlet> + <scriptFile>src/main/resources/preinstall.sh</scriptFile> + <fileEncoding>utf-8</fileEncoding> + <filter>true</filter> + </preinstallScriptlet> + <postinstallScriptlet> + <scriptFile>src/main/resources/postinstall.sh</scriptFile> + <fileEncoding>utf-8</fileEncoding> + <filter>true</filter> + </postinstallScriptlet> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/src/main/resources/postinstall.sh b/src/main/resources/postinstall.sh new file mode 100644 index 00000000..5f18530e --- /dev/null +++ b/src/main/resources/postinstall.sh @@ -0,0 +1,4 @@ +if [ $1 -eq 1 ] ; then + # Initial installation + systemctl enable nikita-noark5-core.service >/dev/null 2>&1 || : +fi diff --git a/src/main/resources/preinstall.sh b/src/main/resources/preinstall.sh new file mode 100644 index 00000000..deed7b0c --- /dev/null +++ b/src/main/resources/preinstall.sh @@ -0,0 +1,3 @@ +/usr/sbin/useradd -c "Nikita Noark5 Core Application" -U \ + -s /sbin/nologin -r \ + -d /var/nikita-noark5-core nikita-noark5-core 2> /dev/null || : diff --git a/src/main/resources/systemd/nikita-noark5-core.service b/src/main/resources/systemd/nikita-noark5-core.service new file mode 100644 index 00000000..717fdb4c --- /dev/null +++ b/src/main/resources/systemd/nikita-noark5-core.service @@ -0,0 +1,11 @@ +[Unit] +Description=Nikita Noark5 Core Application +After=syslog.target + +[Service] +User=nikita-noark5-core +ExecStart=/var/nikita-noark5-core/nikita-noark5-core.jar +SuccessExitStatus=143 + +[Install] +WantedBy=multi-user.target \ No newline at end of file
Best, Ole Aamot