cScm Configuration Daemon

cScm – is a tool to convert SCM configuration files into binary format and store its in shared memory for reading by cSvn-ui and cGit-ui CGI scripts

2 Commits   0 Branches   1 Tag
author: kx <kx@radix.pro> 2023-03-24 02:53:04 +0300 committer: kx <kx@radix.pro> 2023-03-24 02:53:04 +0300 commit: 12c7b1c5658602269da2f5b75835ec0f5fab8890 parent: 4e72ffe940d9aff7c019d37a6459e765902c1fae
Commit Summary:
Version 0.1.4
Diffstat:
2 files changed, 63 insertions, 0 deletions
diff --git a/doc/build-packages/archlinux/PKGBUILD b/doc/build-packages/archlinux/PKGBUILD
new file mode 100644
index 0000000..15218b2
--- /dev/null
+++ b/doc/build-packages/archlinux/PKGBUILD
@@ -0,0 +1,49 @@
+#
+# Maintainer: Andrey V.Kosteltsev <kx@radix.pro>
+#
+pkgname=cscm
+pkgver=0.1.4
+pkgrel=2
+pkgdesc='cScm Configuration Daemon for cSvn-ui and cGit-ui packages'
+arch=('x86_64')
+url='https://csvn.radix.pro'
+license=('custom')
+depends=('pcre2')
+source=("https://ftp.radix.pro/pub/cscm/${pkgname}-${pkgver}.tar.xz")
+md5sums=('..Check MD5 sum before Building Package..')
+
+build() {
+  cd ${pkgname}-${pkgver}
+
+  CFLAGS="-O2 -fPIC -Wno-unused-result" \
+  ./configure \
+    --prefix=/usr \
+    --sysconfdir=/etc \
+    --libdir=/usr/lib \
+    --sbindir=/usr/bin \
+    --with-controldir=/etc/rc.d \
+    --with-logrotatedir=/etc/logrotate.d \
+    --with-homepath=/var/lib \
+    --with-logdir=/var/log \
+    --with-piddir=/var/run
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+
+  make install DESTDIR="${pkgdir}"
+
+  # Install systemd unit:
+  install -d ${pkgdir}/usr/lib/systemd/system
+  install -m 644 doc/build-packages/rpms/csvnd.service ${pkgdir}/usr/lib/systemd/system
+  install -m 644 doc/build-packages/rpms/cgitd.service ${pkgdir}/usr/lib/systemd/system
+  rm -rf ${pkgdir}/etc/rc.d
+
+  # Gsip man pages:
+  gzip -9 ${pkgdir}/usr/share/man/man8/cscmd.8
+
+  # Install documentation:
+  install -d ${pkgdir}/usr/share/doc/${pkgname}-${pkgver}
+  cp -a LICENSE README README.md doc/ ${pkgdir}/usr/share/doc/${pkgname}-${pkgver}
+}
diff --git a/doc/build-packages/archlinux/README b/doc/build-packages/archlinux/README
new file mode 100644
index 0000000..0ffa946
--- /dev/null
+++ b/doc/build-packages/archlinux/README
@@ -0,0 +1,32 @@
+
+Sytem requires:
+  fakeroot, logrotate
+
+Build time requires:
+  make, binutils, gcc, bison, autoconf, automake, pkgconfig,
+  pcre2
+
+Runtime requires:
+  pcre2
+
+As non-privileged user:
+
+  $ mkdir build
+  $ cp PKGBUILD build/
+  $ cd build/
+  $ makepkg
+
+As root:
+
+  # pacman -U ./cscm-0.1.4-2-x86_64.pkg.tar.zst
+
+After install binary package we have to create /etc/csvn-ui.rc [or|and] /etc/cgit-ui.rc
+configuration files and then enable and run csvnd.service [or|and] cgitd.service:
+
+ $ systemctl enable csvnd.service
+ $ systemctl start csvnd.service
+
+ $ systemctl enable cgitd.service
+ $ systemctl start cgitd.service
+
+Then we can to enable csvn-ui [or|and] cgit-ui web-servers.