ソースを参照

scripts to build deb/rpm

Signed-off-by: Matthew R. Kasun <[email protected]>
Matthew R. Kasun 3 年 前
コミット
be8678fdc8
5 ファイル変更95 行追加2 行削除
  1. 4 0
      build/.rpmmacros
  2. 18 0
      build/INSTALL
  3. 22 0
      build/make_rpm.sh
  4. 42 0
      build/netclient.spec
  5. 9 2
      build/package_builder.sh

+ 4 - 0
build/.rpmmacros

@@ -0,0 +1,4 @@
+%_signature gpg
+%_gpg_path /root/.gnupg
+%_gpg_name gravitl <[email protected]>
+%_gpgbin /usr/bin/gpg

+ 18 - 0
build/INSTALL

@@ -0,0 +1,18 @@
+To install on debian based distros (debian/ubuntu/mint/pop-os)
+
+curl -sL 'https://apt.netmaker.org/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/netclient.asc
+curl -sL 'https://apt.netmaker.org/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/netclient.list
+sudo apt update
+sudo apt install netclient
+
+To install on redhat based distros (fedora/redhat/centos/rocky)
+
+curl -sL 'https://rpm.netmaker.org/gpg.key' | sudo tee /tmp/gpg.key
+curl -sL 'https://rpm.netmaker.org/netclient-repo' | sudo tee /etc/yum.repos.d/netclient.repo
+sudo rpm --import /tmp/gpg.key
+sudo dnf check-update
+sudo dnf install netclient
+
+To install on arch based distros (arch/manjaro/endeavouros)
+
+yay -S netclient

+ 22 - 0
build/make_rpm.sh

@@ -0,0 +1,22 @@
+rpmbuild -bb netclient.spec
+rpm --addsign rpmbuild/RPMS/x86_64/netclient-VERSION-1.x86_64.rpm
+mkdir -p /var/rpm-repo/packages
+cp /root/rpmbuild/RPMS/x86_64/netclient-VERSION-1.x86_64.rpm /var/rpm-repo/packages/.
+cd /var/rpm-repo/packages
+createrepo_c .
+if test -f repodata/repomd.xml.asc; then
+    rm repodata/repomd.xml.asc
+fi
+gpg --detach-sign --armor repodata/repomd.xml
+if test -f /var/rpm-repo/gpg.key; then
+    rm /var/rpm-repo/gpg.key
+fi
+gpg --export -a --output /var/rpm-repo/gpg.key
+cat <<EOF > /var/rpm-repo/netclient-repo
+[netclient-repo]
+name=netclient 
+baseurl=https://rpm.netmaker.org/packages
+enabled=1
+pgpcheck=1
+pgpkey=https://rpm.netmaker.org/gpg.key
+EOF

+ 42 - 0
build/netclient.spec

@@ -0,0 +1,42 @@
+Summary: netclient a platform for modern, blazing fast virtual networks
+Name: netclient
+Version: VERSION
+Release: 1
+URL: https://github.com/gravitl/netmaker
+Group: System
+License: SSPL # https://github.com/gravitl/netmaker/blob/master/LICENSE.txt
+Packager: Gravitl
+Requires: wireguard-tools
+BuildRoot: /root/rpmbuild # this should be replaced with your working directory where the spec is saved
+
+%description
+netclient daemon - a platform for modern, blazing fast virtual networks
+
+%install
+mkdir -p %{buildroot}/usr/sbin/
+mkdir -p %{buildroot}/usr/lib/systemd/system
+wget https://github.com/gravitl/netmaker/releases/download/vVERSION/netclient -O $RPM_BUILD_ROOT/usr/sbin/netclient
+wget https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/build/netclient.service -O $RPM_BUILD_ROOT/usr/lib/systemd/system/netclient.service
+
+%files
+/usr/sbin/netclient
+/usr/lib/systemd/system/netclient.service
+
+%changelog
+* Mon May 1 2022 <[email protected]>
+- What's New
+
+    Instant DNS propogation
+
+What's Fixed
+
+    IPv6 forwarding working from ext clients to nodes
+    netclient list displays peer info again
+    Fixed indefinite hang on netclient join, attempts to pull certificates
+
+Known Issues
+
+    Egress with IPv6 may have issues
+    Mac IPv6 routes not resolved
+    Windows install script not fixed
+ 

+ 9 - 2
build/package_builder.sh

@@ -2,13 +2,20 @@
 
 # set environment var VERSION = netclient version without leading v  --- 0.13.0 vice v0.13.0
 
+# set version
 sed -i "s/VERSION/$VERSION/g" ./build/make_deb.sh
-#sed -i "s/VERSION/$VERSION/g" ./build/make_rpm.sh
 sed -i "s/VERSION/$VERSION/g" ./build/generate_release.sh
+sed -i "s/VERSION/$VERSION/g" ./build/make_rpm.sh
+sed -i "s/VERSION/$VERSION/g" ./build/netclient.spec
 
+# build and deploy deb repo
 scp build/make_deb.sh fileserver.clustercat.com:~/
 scp build/generate_release.sh fileserver.clustercat.com:~/
 ssh -t fileserver.clustercat.com /root/make_deb.sh
 
-
+# build and deploy rpm repo
+scp build/make_rpm.sh fileserver.clustercat.com:~/
+scp build/netclient.spec fileserver.clustercat.com:~/
+scp build/.rpmmacros fileserver.clustercat.com:~/
+ssh -t fileserver.clustercat.com /root/make_rpm.sh