mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-04-30 07:05:06 +03:00
changed Yggdrasil to RiV-mesh
added webview GUI
This commit is contained in:
parent
3613614b41
commit
b5ee2aa023
75 changed files with 1066 additions and 471 deletions
|
@ -17,10 +17,10 @@ command -v mkbom >/dev/null 2>&1 || (
|
|||
|
||||
# Check if we can find the files we need - they should
|
||||
# exist if you are running this script from the root of
|
||||
# the yggdrasil-go repo and you have ran ./build
|
||||
test -f yggdrasil || (echo "yggdrasil binary not found"; exit 1)
|
||||
test -f yggdrasilctl || (echo "yggdrasilctl binary not found"; exit 1)
|
||||
test -f contrib/macos/yggdrasil.plist || (echo "contrib/macos/yggdrasil.plist not found"; exit 1)
|
||||
# the RiV-mesh repo and you have ran ./build
|
||||
test -f mesh || (echo "mesh binary not found"; exit 1)
|
||||
test -f meshctl || (echo "meshctl binary not found"; exit 1)
|
||||
test -f contrib/macos/mesh.plist || (echo "contrib/macos/mesh.plist not found"; exit 1)
|
||||
test -f contrib/semver/version.sh || (echo "contrib/semver/version.sh not found"; exit 1)
|
||||
|
||||
# Delete the pkgbuild folder if it already exists
|
||||
|
@ -34,37 +34,37 @@ mkdir -p pkgbuild/root/usr/local/bin
|
|||
mkdir -p pkgbuild/root/Library/LaunchDaemons
|
||||
|
||||
# Copy package contents into the pkgbuild root
|
||||
cp yggdrasil pkgbuild/root/usr/local/bin
|
||||
cp yggdrasilctl pkgbuild/root/usr/local/bin
|
||||
cp contrib/macos/yggdrasil.plist pkgbuild/root/Library/LaunchDaemons
|
||||
cp mesh pkgbuild/root/usr/local/bin
|
||||
cp meshctl pkgbuild/root/usr/local/bin
|
||||
cp contrib/macos/mesh.plist pkgbuild/root/Library/LaunchDaemons
|
||||
|
||||
# Create the postinstall script
|
||||
cat > pkgbuild/scripts/postinstall << EOF
|
||||
#!/bin/sh
|
||||
|
||||
# Normalise the config if it exists, generate it if it doesn't
|
||||
if [ -f /etc/yggdrasil.conf ];
|
||||
if [ -f /etc/mesh.conf ];
|
||||
then
|
||||
mkdir -p /Library/Preferences/Yggdrasil
|
||||
echo "Backing up configuration file to /Library/Preferences/Yggdrasil/yggdrasil.conf.`date +%Y%m%d`"
|
||||
cp /etc/yggdrasil.conf /Library/Preferences/Yggdrasil/yggdrasil.conf.`date +%Y%m%d`
|
||||
echo "Normalising /etc/yggdrasil.conf"
|
||||
/usr/local/bin/yggdrasil -useconffile /Library/Preferences/Yggdrasil/yggdrasil.conf.`date +%Y%m%d` -normaliseconf > /etc/yggdrasil.conf
|
||||
mkdir -p /Library/Preferences/Mesh
|
||||
echo "Backing up configuration file to /Library/Preferences/Mesh/mesh.conf.`date +%Y%m%d`"
|
||||
cp /etc/mesh.conf /Library/Preferences/Mesh/mesh.conf.`date +%Y%m%d`
|
||||
echo "Normalising /etc/mesh.conf"
|
||||
/usr/local/bin/mesh -useconffile /Library/Preferences/Mesh/mesh.conf.`date +%Y%m%d` -normaliseconf > /etc/mesh.conf
|
||||
else
|
||||
/usr/local/bin/yggdrasil -genconf > /etc/yggdrasil.conf
|
||||
/usr/local/bin/mesh -genconf > /etc/mesh.conf
|
||||
fi
|
||||
|
||||
# Unload existing Yggdrasil launchd service, if possible
|
||||
test -f /Library/LaunchDaemons/yggdrasil.plist && (launchctl unload /Library/LaunchDaemons/yggdrasil.plist || true)
|
||||
# Unload existing Mesh launchd service, if possible
|
||||
test -f /Library/LaunchDaemons/mesh.plist && (launchctl unload /Library/LaunchDaemons/mesh.plist || true)
|
||||
|
||||
# Load Yggdrasil launchd service and start Yggdrasil
|
||||
launchctl load /Library/LaunchDaemons/yggdrasil.plist
|
||||
# Load Mesh launchd service and start Mesh
|
||||
launchctl load /Library/LaunchDaemons/mesh.plist
|
||||
EOF
|
||||
|
||||
# Set execution permissions
|
||||
chmod +x pkgbuild/scripts/postinstall
|
||||
chmod +x pkgbuild/root/usr/local/bin/yggdrasil
|
||||
chmod +x pkgbuild/root/usr/local/bin/yggdrasilctl
|
||||
chmod +x pkgbuild/root/usr/local/bin/mesh
|
||||
chmod +x pkgbuild/root/usr/local/bin/meshctl
|
||||
|
||||
# Pack payload and scripts
|
||||
( cd pkgbuild/scripts && find . | cpio -o --format odc --owner 0:80 | gzip -c ) > pkgbuild/flat/base.pkg/Scripts
|
||||
|
@ -78,7 +78,7 @@ PAYLOADSIZE=$(( $(wc -c pkgbuild/flat/base.pkg/Payload | awk '{ print $1 }') / 1
|
|||
|
||||
# Create the PackageInfo file
|
||||
cat > pkgbuild/flat/base.pkg/PackageInfo << EOF
|
||||
<pkg-info format-version="2" identifier="io.github.yggdrasil-network.pkg" version="${PKGVERSION}" install-location="/" auth="root">
|
||||
<pkg-info format-version="2" identifier="io.github.RiV-chain.pkg" version="${PKGVERSION}" install-location="/" auth="root">
|
||||
<payload installKBytes="${PAYLOADSIZE}" numberOfFiles="3"/>
|
||||
<scripts>
|
||||
<postinstall file="./postinstall"/>
|
||||
|
@ -93,7 +93,7 @@ EOF
|
|||
cat > pkgbuild/flat/Distribution << EOF
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<installer-script minSpecVersion="1.000000" authoringTool="com.apple.PackageMaker" authoringToolVersion="3.0.3" authoringToolBuild="174">
|
||||
<title>Yggdrasil (${PKGNAME}-${PKGVERSION})</title>
|
||||
<title>Mesh (${PKGNAME}-${PKGVERSION})</title>
|
||||
<options customize="never" allow-external-scripts="no"/>
|
||||
<domains enable_anywhere="true"/>
|
||||
<installation-check script="pm_install_check();"/>
|
||||
|
@ -101,7 +101,7 @@ cat > pkgbuild/flat/Distribution << EOF
|
|||
function pm_install_check() {
|
||||
if(!(system.compareVersions(system.version.ProductVersion,'10.10') >= 0)) {
|
||||
my.result.title = 'Failure';
|
||||
my.result.message = 'You need at least Mac OS X 10.10 to install Yggdrasil.';
|
||||
my.result.message = 'You need at least Mac OS X 10.10 to install Mesh.';
|
||||
my.result.type = 'Fatal';
|
||||
return false;
|
||||
}
|
||||
|
@ -112,9 +112,9 @@ cat > pkgbuild/flat/Distribution << EOF
|
|||
<line choice="choice1"/>
|
||||
</choices-outline>
|
||||
<choice id="choice1" title="base">
|
||||
<pkg-ref id="io.github.yggdrasil-network.pkg"/>
|
||||
<pkg-ref id="io.github.RiV-chain.pkg"/>
|
||||
</choice>
|
||||
<pkg-ref id="io.github.yggdrasil-network.pkg" installKBytes="${PAYLOADSIZE}" version="${VERSION}" auth="Root">#base.pkg</pkg-ref>
|
||||
<pkg-ref id="io.github.RiV-chain.pkg" installKBytes="${PAYLOADSIZE}" version="${VERSION}" auth="Root">#base.pkg</pkg-ref>
|
||||
</installer-script>
|
||||
EOF
|
||||
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>yggdrasil</string>
|
||||
<string>mesh</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>sh</string>
|
||||
<string>-c</string>
|
||||
<string>/usr/local/bin/yggdrasil -useconffile /etc/yggdrasil.conf</string>
|
||||
<string>/usr/local/bin/mesh -useconffile /etc/mesh.conf</string>
|
||||
</array>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
|
@ -17,8 +17,8 @@
|
|||
<key>ProcessType</key>
|
||||
<string>Interactive</string>
|
||||
<key>StandardOutPath</key>
|
||||
<string>/tmp/yggdrasil.stdout.log</string>
|
||||
<string>/tmp/mesh.stdout.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>/tmp/yggdrasil.stderr.log</string>
|
||||
<string>/tmp/mesh.stderr.log</string>
|
||||
</dict>
|
||||
</plist>
|
Loading…
Add table
Add a link
Reference in a new issue