From a0f754dfc510f4badf41a35bcaa6df162a14aab3 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Tue, 22 Nov 2022 15:34:25 -0600 Subject: [PATCH 1/5] Adding in Mumbai/Mainnet precursor deb packaging for tests to use during upgrade(iterations to come) --- .github/workflows/packager.yml | 318 ++++++++++++++++++ packaging/deb/.README.md.swp | Bin 0 -> 12288 bytes packaging/deb/README.md | 23 ++ packaging/deb/bor/DEBIAN/changelog | 0 packaging/deb/bor/DEBIAN/control | 0 packaging/deb/bor/DEBIAN/postinst | 4 + packaging/deb/bor/DEBIAN/postrm | 6 + packaging/deb/bor/DEBIAN/prerm | 9 + packaging/requirements/README.md | 1 + packaging/rpm/TODO | 0 .../templates/mainnet-v1/archive/config.toml | 129 +++++++ .../mainnet-v1/sentry/sentry/bor/config.toml | 129 +++++++ .../sentry/validator/bor/config.toml | 131 ++++++++ .../mainnet-v1/without-sentry/bor/config.toml | 131 ++++++++ packaging/templates/package_scripts/changelog | 3 + .../package_scripts/changelog.profile | 3 + packaging/templates/package_scripts/control | 12 + .../templates/package_scripts/control.arm64 | 13 + .../package_scripts/control.profile.amd64 | 14 + .../package_scripts/control.profile.arm64 | 12 + .../package_scripts/control.validator | 12 + .../package_scripts/control.validator.arm64 | 13 + packaging/templates/package_scripts/postinst | 7 + .../package_scripts/postinst.profile | 6 + packaging/templates/package_scripts/postrm | 8 + packaging/templates/package_scripts/preinst | 7 + packaging/templates/package_scripts/prerm | 8 + packaging/templates/systemd/bor.service | 16 + packaging/templates/systemd/bord.service | 36 ++ .../templates/testnet-v4/archive/config.toml | 129 +++++++ .../testnet-v4/sentry/sentry/bor/config.toml | 129 +++++++ .../sentry/validator/bor/config.toml | 131 ++++++++ .../testnet-v4/without-sentry/bor/config.toml | 131 ++++++++ 33 files changed, 1571 insertions(+) create mode 100644 .github/workflows/packager.yml create mode 100644 packaging/deb/.README.md.swp create mode 100644 packaging/deb/README.md create mode 100644 packaging/deb/bor/DEBIAN/changelog create mode 100644 packaging/deb/bor/DEBIAN/control create mode 100755 packaging/deb/bor/DEBIAN/postinst create mode 100755 packaging/deb/bor/DEBIAN/postrm create mode 100755 packaging/deb/bor/DEBIAN/prerm create mode 100644 packaging/requirements/README.md create mode 100644 packaging/rpm/TODO create mode 100644 packaging/templates/mainnet-v1/archive/config.toml create mode 100644 packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml create mode 100644 packaging/templates/mainnet-v1/sentry/validator/bor/config.toml create mode 100644 packaging/templates/mainnet-v1/without-sentry/bor/config.toml create mode 100644 packaging/templates/package_scripts/changelog create mode 100644 packaging/templates/package_scripts/changelog.profile create mode 100644 packaging/templates/package_scripts/control create mode 100644 packaging/templates/package_scripts/control.arm64 create mode 100644 packaging/templates/package_scripts/control.profile.amd64 create mode 100644 packaging/templates/package_scripts/control.profile.arm64 create mode 100644 packaging/templates/package_scripts/control.validator create mode 100644 packaging/templates/package_scripts/control.validator.arm64 create mode 100755 packaging/templates/package_scripts/postinst create mode 100755 packaging/templates/package_scripts/postinst.profile create mode 100755 packaging/templates/package_scripts/postrm create mode 100755 packaging/templates/package_scripts/preinst create mode 100755 packaging/templates/package_scripts/prerm create mode 100644 packaging/templates/systemd/bor.service create mode 100644 packaging/templates/systemd/bord.service create mode 100644 packaging/templates/testnet-v4/archive/config.toml create mode 100644 packaging/templates/testnet-v4/sentry/sentry/bor/config.toml create mode 100644 packaging/templates/testnet-v4/sentry/validator/bor/config.toml create mode 100644 packaging/templates/testnet-v4/without-sentry/bor/config.toml diff --git a/.github/workflows/packager.yml b/.github/workflows/packager.yml new file mode 100644 index 0000000000..4b6c52f601 --- /dev/null +++ b/.github/workflows/packager.yml @@ -0,0 +1,318 @@ +name: packager + +on: + push: + branches: + - 'main' + paths: + - '**' + tags: + - 'v*.*.*' + - 'v*.*.*-*' + +jobs: + build: + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@master + with: + go-version: 1.19 + - name: Generate release tag + id: tag + run: echo "::set-output name=release_tag::bor_$(date +"%Y.%m.%d_%H-%M")" + + - name: Cleaning repo + run: make clean + - name: Building for amd64 + run: make bor + + - name: Making directory structure + run: mkdir -p packaging/deb/bor/usr/bin + - name: Making directory structure for toml + run: mkdir -p packaging/deb/bor/var/lib/bor + - name: Copying necessary files + run: cp -rp build/bin/bor packaging/deb/bor/usr/bin/ + - name: copying control file + run: cp -rp packaging/templates/package_scripts/control packaging/deb/bor/DEBIAN/control + - name: removing systemd file for binary + run: rm -rf lib/systemd/system/bor.service + + - name: Creating package for binary only bor + run: cp -rp packaging/deb/bor packaging/deb/bor-v0.3.0-beta-amd64 + - name: Running package build + run: dpkg-deb --build --root-owner-group packaging/deb/bor-v0.3.0-beta-amd64 + + - name: Removing the bor binary + run: rm -rf packaging/deb/bor/usr/bin/bor + + - name: making directory structure for systemd + run: mkdir -p packaging/deb/bor/lib/systemd/system + - name: Copying systemd file + run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor/lib/systemd/system/bor.service + + - name: Prepping Mumbai Sentry Node Profile for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64 + - name: Putting toml + run: cp -rp packaging/templates/testnet-v4/sentry/sentry/bor/config.toml packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying the postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying systemd file + run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/lib/systemd/system/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Running package build for sentry on amd64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64 + + - name: Setting up Mainnet Sentry Config for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64 + - name: Copying control file + run: cp -rp packaging/templates/package_scripts/control packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Putting toml + run: cp -rp packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying the postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Building Sentry for amd64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64 + + - name: Prepping Bor Validator Profile for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64 + - name: Copying control file for validator on amd64 + run: cp -rp packaging/templates/package_scripts/control.validator packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Copying Postinstall script + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying Prerm script + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying Postrm script + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying config.toml for validator for bor + run: cp -rp packaging/templates/testnet-v4/sentry/validator/bor/config.toml packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Building bor validator on amd64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64 + + - name: Prepping Bor Mainnet Validator for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64 + - name: Copying control file for validator on arm64 + run: cp -rp packaging/templates/package_scripts/control.validator packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying Postinstall script + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying config.toml for validator for bor + run: cp -rp packaging/templates/mainnet-v1/sentry/validator/bor/config.toml packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Building bor validator on amd64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64 + + - name: Creating mumbai archive node profile for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64 + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Copying profile preinst file + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying the profile postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying profile prerm file + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying profile postrm file + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying the toml + run: cp -rp packaging/templates/testnet-v4/archive/config.toml packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Building profile package + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64 + + - name: Creating mainnet archive node profile for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64 + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Copying profile preinst file + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying the profile postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying profile prerm file + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying profile postrm file + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying the toml + run: cp -rp packaging/templates/mainnet-v1/archive/config.toml packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Building porfile package + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64 + + - name: Cleaning build directory for arm64 build + run: make clean + + - name: Removing systemd file + run: rm -rf packaging/deb/bor/lib/systemd/system/bor.service + + - name: Adding requirements for cross compile + run: sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu + + - name: removing systemd file for binary + run: rm -rf lib/systemd/system/bor.service + + - name: Building bor for arm64 + run: GOARCH=arm64 GOOS=linux CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ CGO_ENABLED=1 go build -o build/bin/bor ./cmd/cli/main.go + + - name: Copying bor arm64 for use with packaging + run: cp -rp build/bin/bor packaging/deb/bor/usr/bin/ + + - name: Creating package for binary only bor + run: cp -rp packaging/deb/bor packaging/deb/bor-v0.3.0-beta-arm64 + - name: Copying control file + run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-v0.3.0-beta-arm64/DEBIAN/control + - name: Running package build + run: dpkg-deb --build --root-owner-group packaging/deb/bor-v0.3.0-beta-arm64 + + - name: Removing the bor binary + run: rm -rf packaging/deb/bor/usr/bin/bor + + - name: Copying systemd file + run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor/lib/systemd/system/bor.service + + - name: Updating the control file to use with the arm64 profile + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor/DEBIAN/control + + - name: Setting up Mumbai Sentry Config for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64 + - name: Copying control file + run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Putting toml + run: cp -rp packaging/templates/testnet-v4/sentry/sentry/bor/config.toml packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying the postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Building Sentry for arm64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64 + + - name: Setting up Mainnet Sentry Config for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64 + - name: Copying control file + run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Putting toml + run: cp -rp packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying the postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Building Sentry for arm64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64 + + - name: Prepping Bor Mumbai Validator for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64 + - name: Copying control file for validator on arm64 + run: cp -rp packaging/templates/package_scripts/control.validator.arm64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst + - name: Copying Postinstall script + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying config.toml for validator for bor + run: cp -rp packaging/templates/testnet-v4/sentry/validator/bor/config.toml packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Building bor validator on arm64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64 + + - name: Prepping Bor Mainnet Validator for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64 + - name: Copying control file for validator on arm64 + run: cp -rp packaging/templates/package_scripts/control.validator.arm64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/preinst + - name: Copying Postinstall script + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying config.toml for validator for bor + run: cp -rp packaging/templates/mainnet-v1/sentry/validator/bor/config.toml packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Building bor validator on arm64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64 + + - name: Updating the control file to use with the arm64 profile + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor/DEBIAN/control + + - name: Creating mumbai archive node profile for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64 + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Copying over profile postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying the toml + run: cp -rp packaging/templates/testnet-v4/archive/config.toml packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Building profile package + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64 + + - name: Creating mainnet archive node profile for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64 + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Copying over profile postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying the toml + run: cp -rp packaging/templates/mainnet-v1/archive/config.toml packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Building porfile package + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64 + + - name: Confirming package built + run: ls -ltr packaging/deb/ | grep bor + + - name: Release bor Packages + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ steps.tag.outputs.release_tag }} + files: | + packaging/deb/bor**.deb + binary/bo** \ No newline at end of file diff --git a/packaging/deb/.README.md.swp b/packaging/deb/.README.md.swp new file mode 100644 index 0000000000000000000000000000000000000000..765002d189fd7864fe06952777e7df26258b51ff GIT binary patch literal 12288 zcmeI2KW`H;6u@2f0)m0{K}VEa2n%$9Rtcy>8iWc9F!=7AI}^w6Wczw#fgQdA3x7tw z4HE2#k5FI(o-bFa1u=ChdRBh1&VGLP?x!r#y>#$!X973+LqX%b5FZb&W;ee~#o(0? zxwKlDr)ZUryZ;=cHqQ4ZGTTO+_wG6D4f_T&X^x$Fek5UXSBJ7rlN4Q2$!snQZHpvV zX>xzOHJXh3i~QJGzF-4v;G_oD#r5H}LCmso<~18jf|umLu}22P;?Nw3+z zt_$(_EEP}h{}2EF|2QYacj6myK)fg35pRh%#B1Uu(GV$do47>?;uq!mNqijP?PVQqq@#M%p0urlaX5IJLliX_BgTg#xsP3s8G%A&0!07eee} zP!LM(fj&NHV?aWKZca5o<*;zd`%O~47h{^ZpVD2NtSXg5Ub~nolnT;Xn;cdh>MEYh z=-_IVLPUHHqtnDMeNcZd79dtmQ@mf;pZL2&9T4KE_+bSxUbjh41DtLy*U=zzXl7fQ&>uF-j4H&fv F#cwS6$qoPj literal 0 HcmV?d00001 diff --git a/packaging/deb/README.md b/packaging/deb/README.md new file mode 100644 index 0000000000..7e84275f38 --- /dev/null +++ b/packaging/deb/README.md @@ -0,0 +1,23 @@ +# Debian + + + +For debian packages you will need to add the following layouts during the build + + + +bor/ + DEBIAN/control + DEBIAN/postinst + usr/local/bin/bor + lib/systemd/system/bor.service + +This will be wrapped during the build package process building + + +Note this is still a work in progress: + +TODO: removal/purge on removal using dpkg + cleanup of control files to list what we want + copyright inclusuion + diff --git a/packaging/deb/bor/DEBIAN/changelog b/packaging/deb/bor/DEBIAN/changelog new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packaging/deb/bor/DEBIAN/control b/packaging/deb/bor/DEBIAN/control new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packaging/deb/bor/DEBIAN/postinst b/packaging/deb/bor/DEBIAN/postinst new file mode 100755 index 0000000000..e23f4d6897 --- /dev/null +++ b/packaging/deb/bor/DEBIAN/postinst @@ -0,0 +1,4 @@ +#!/bin/bash +# This is a postinstallation script so the service can be configured and started when requested +# +sudo adduser --disabled-password --disabled-login --shell /usr/sbin/nologin --quiet --system --no-create-home --home /nonexistent bor diff --git a/packaging/deb/bor/DEBIAN/postrm b/packaging/deb/bor/DEBIAN/postrm new file mode 100755 index 0000000000..7602789a01 --- /dev/null +++ b/packaging/deb/bor/DEBIAN/postrm @@ -0,0 +1,6 @@ +#!/bin/bash +# +############### +# Remove bor installs +############## +sudo rm -rf /usr/bin/bor diff --git a/packaging/deb/bor/DEBIAN/prerm b/packaging/deb/bor/DEBIAN/prerm new file mode 100755 index 0000000000..e40aed2c80 --- /dev/null +++ b/packaging/deb/bor/DEBIAN/prerm @@ -0,0 +1,9 @@ +#!/bin/bash +# +# +############## +# Stop bor before removal +############## +#sudo systemctl stop bor.service +############# + diff --git a/packaging/requirements/README.md b/packaging/requirements/README.md new file mode 100644 index 0000000000..48cdce8528 --- /dev/null +++ b/packaging/requirements/README.md @@ -0,0 +1 @@ +placeholder diff --git a/packaging/rpm/TODO b/packaging/rpm/TODO new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packaging/templates/mainnet-v1/archive/config.toml b/packaging/templates/mainnet-v1/archive/config.toml new file mode 100644 index 0000000000..a44a2ed0b5 --- /dev/null +++ b/packaging/templates/mainnet-v1/archive/config.toml @@ -0,0 +1,129 @@ +chain = "mainnet" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "" +syncmode = "full" +gcmode = "archive" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + pricelimit = 30000000000 + accountslots = 16 + globalslots = 32768 + accountqueue = 16 + globalqueue = 32768 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricebump = 10 + +[miner] + gaslimit = 20000000 + gasprice = "30000000000" + # mine = false + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "127.0.0.1" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + [jsonrpc.ws] + enabled = true + port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +# [accounts] + # unlock = [] + # password = "" + # allow-insecure-unlock = false + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml b/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml new file mode 100644 index 0000000000..5bb226b913 --- /dev/null +++ b/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml @@ -0,0 +1,129 @@ +chain = "mainnet" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + pricelimit = 30000000000 + accountslots = 16 + globalslots = 32768 + accountqueue = 16 + globalqueue = 32768 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricebump = 10 + +[miner] + gaslimit = 20000000 + gasprice = "30000000000" + # mine = false + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "127.0.0.1" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +# [accounts] + # unlock = [] + # password = "" + # allow-insecure-unlock = false + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml b/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml new file mode 100644 index 0000000000..5a7688f9e8 --- /dev/null +++ b/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml @@ -0,0 +1,131 @@ +# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields. + +chain = "mainnet" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "$BOR_DIR/keystore" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 1 + port = 30303 + nodiscover = true + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + pricelimit = 30000000000 + accountslots = 16 + globalslots = 32768 + accountqueue = 16 + globalqueue = 32768 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricebump = 10 + +[miner] + mine = true + gaslimit = 20000000 + gasprice = "30000000000" + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "127.0.0.1" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +[accounts] + allow-insecure-unlock = true + # password = "$BOR_DIR/password.txt" + # unlock = ["$ADDRESS"] + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/mainnet-v1/without-sentry/bor/config.toml b/packaging/templates/mainnet-v1/without-sentry/bor/config.toml new file mode 100644 index 0000000000..74094bfa80 --- /dev/null +++ b/packaging/templates/mainnet-v1/without-sentry/bor/config.toml @@ -0,0 +1,131 @@ +# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields. + +chain = "mainnet" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "$BOR_DIR/keystore" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + pricelimit = 30000000000 + accountslots = 16 + globalslots = 32768 + accountqueue = 16 + globalqueue = 32768 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricebump = 10 + +[miner] + mine = true + gaslimit = 20000000 + gasprice = "30000000000" + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "127.0.0.1" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] +# blocks = 20 +# percentile = 60 +# maxprice = "5000000000000" +# ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] +# cache = 1024 +# gc = 25 +# snapshot = 10 +# database = 50 +# trie = 15 +# journal = "triecache" +# rejournal = "1h0m0s" +# noprefetch = false +# preimages = false +# txlookuplimit = 2350000 + +[accounts] + allow-insecure-unlock = true + # password = "$BOR_DIR/password.txt" + # unlock = ["$ADDRESS"] + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/package_scripts/changelog b/packaging/templates/package_scripts/changelog new file mode 100644 index 0000000000..2395bcaef1 --- /dev/null +++ b/packaging/templates/package_scripts/changelog @@ -0,0 +1,3 @@ +bor (2.10.11) unstable; urgency=low + +-- Polygon Team Mon, 10 Nov 2022 00:37:31 +0100 \ No newline at end of file diff --git a/packaging/templates/package_scripts/changelog.profile b/packaging/templates/package_scripts/changelog.profile new file mode 100644 index 0000000000..b84fa22646 --- /dev/null +++ b/packaging/templates/package_scripts/changelog.profile @@ -0,0 +1,3 @@ +bor-profile (2.10.11) unstable; urgency=low + +-- Polygon Team Mon, 10 Nov 2022 00:37:31 +0100 \ No newline at end of file diff --git a/packaging/templates/package_scripts/control b/packaging/templates/package_scripts/control new file mode 100644 index 0000000000..ed0ff46c06 --- /dev/null +++ b/packaging/templates/package_scripts/control @@ -0,0 +1,12 @@ +Source: bor +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Package: bor +Rules-Requires-Root: yes +Architecture: amd64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. diff --git a/packaging/templates/package_scripts/control.arm64 b/packaging/templates/package_scripts/control.arm64 new file mode 100644 index 0000000000..2c624a4c45 --- /dev/null +++ b/packaging/templates/package_scripts/control.arm64 @@ -0,0 +1,13 @@ +Source: bor +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Rules-Requires-Root: yes +Package: bor +Architecture: arm64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. + diff --git a/packaging/templates/package_scripts/control.profile.amd64 b/packaging/templates/package_scripts/control.profile.amd64 new file mode 100644 index 0000000000..087dabb1f6 --- /dev/null +++ b/packaging/templates/package_scripts/control.profile.amd64 @@ -0,0 +1,14 @@ +Source: bor-profile +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Rules-Requires-Root: yes +Package: bor-profile +Architecture: amd64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. + + diff --git a/packaging/templates/package_scripts/control.profile.arm64 b/packaging/templates/package_scripts/control.profile.arm64 new file mode 100644 index 0000000000..9de0c50253 --- /dev/null +++ b/packaging/templates/package_scripts/control.profile.arm64 @@ -0,0 +1,12 @@ +Source: bor-profile +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Rules-Requires-Root: yes +Package: bor-profile +Architecture: arm64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. diff --git a/packaging/templates/package_scripts/control.validator b/packaging/templates/package_scripts/control.validator new file mode 100644 index 0000000000..f3f5652a31 --- /dev/null +++ b/packaging/templates/package_scripts/control.validator @@ -0,0 +1,12 @@ +Source: bor-profile +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Package: bor-profile +Rules-Requires-Root: yes +Architecture: amd64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. diff --git a/packaging/templates/package_scripts/control.validator.arm64 b/packaging/templates/package_scripts/control.validator.arm64 new file mode 100644 index 0000000000..97712830ff --- /dev/null +++ b/packaging/templates/package_scripts/control.validator.arm64 @@ -0,0 +1,13 @@ +Source: bor-profile +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Rules-Requires-Root: yes +Package: bor-profile +Architecture: arm64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. + diff --git a/packaging/templates/package_scripts/postinst b/packaging/templates/package_scripts/postinst new file mode 100755 index 0000000000..761ee29f26 --- /dev/null +++ b/packaging/templates/package_scripts/postinst @@ -0,0 +1,7 @@ +#!/bin/bash +# This is a postinstallation script so the service can be configured and started when requested +# +sudo adduser --disabled-password --disabled-login --shell /usr/sbin/nologin --quiet --system --no-create-home --home /nonexistent bor +sudo mkdir -p /var/lib/bor +sudo chown -R bor /var/lib/bor +sudo systemctl daemon-reload diff --git a/packaging/templates/package_scripts/postinst.profile b/packaging/templates/package_scripts/postinst.profile new file mode 100755 index 0000000000..80b8381203 --- /dev/null +++ b/packaging/templates/package_scripts/postinst.profile @@ -0,0 +1,6 @@ +#!/bin/bash +# This is a postinstallation script so the service can be configured and started when requested +# +sudo mkdir -p /var/lib/bor +sudo chown -R bor /var/lib/bor +sudo systemctl daemon-reload diff --git a/packaging/templates/package_scripts/postrm b/packaging/templates/package_scripts/postrm new file mode 100755 index 0000000000..55bbb87a4f --- /dev/null +++ b/packaging/templates/package_scripts/postrm @@ -0,0 +1,8 @@ +#!/bin/bash +# +############### +# Remove bor installs +############## +sudo rm -rf /var/lib/bor/config.toml +sudo rm -rf /lib/systemd/system/bor.service +sudo systemctl daemon-reload diff --git a/packaging/templates/package_scripts/preinst b/packaging/templates/package_scripts/preinst new file mode 100755 index 0000000000..b9efb0091d --- /dev/null +++ b/packaging/templates/package_scripts/preinst @@ -0,0 +1,7 @@ +#!/bin/bash +# +################# +# Stop existing bor in case of upgrade +################ +#sudo systemctl stop bor.service +###################### diff --git a/packaging/templates/package_scripts/prerm b/packaging/templates/package_scripts/prerm new file mode 100755 index 0000000000..b2b2b4fce9 --- /dev/null +++ b/packaging/templates/package_scripts/prerm @@ -0,0 +1,8 @@ +#!/bin/bash +# +# +############## +# Stop bor before removal +############## +#sudo systemctl stop bor.service +############# \ No newline at end of file diff --git a/packaging/templates/systemd/bor.service b/packaging/templates/systemd/bor.service new file mode 100644 index 0000000000..aa63871d83 --- /dev/null +++ b/packaging/templates/systemd/bor.service @@ -0,0 +1,16 @@ +[Unit] + Description=bor + StartLimitIntervalSec=500 + StartLimitBurst=5 + +[Service] + Restart=on-failure + RestartSec=5s + ExecStart=/usr/bin/bor server -config="/var/lib/bor/config.toml" + Type=simple + KillSignal=SIGINT + User=bor + TimeoutStopSec=120 + +[Install] + WantedBy=multi-user.target diff --git a/packaging/templates/systemd/bord.service b/packaging/templates/systemd/bord.service new file mode 100644 index 0000000000..a2f3c0498a --- /dev/null +++ b/packaging/templates/systemd/bord.service @@ -0,0 +1,36 @@ +[Unit] + Description=bor + StartLimitIntervalSec=500 + StartLimitBurst=5 + +[Service] + Restart=on-failure + RestartSec=5s + ExecStart=/usr/bin/bor server \ + -chain=mumbai \ + -port=30303 \ + -datadir /var/lib/bor/data \ + -http \ + -http.addr '0.0.0.0' \ + -http.port 8545 \ + -http.api='eth,net,web3,txpool,bor' \ + -ethstats matic-sentry-01:testnet@bor-mumbai.vitwit.com:3000 \ + -maxpeers 200 \ + -txpool.nolocals \ + -txpool.accountslots '128' \ + -txpool.lifetime '0h16m0s' \ + -txpool.globalslots '20000' \ + -http.vhosts '*' \ + -http.corsdomain '*' \ + -ipcpath /var/lib/bor/data/bor.ipc \ + -miner.gaslimit '20000000' \ + -metrics \ + -metrics.expensive \ + -metrics.prometheus-addr="127.0.0.1:7071" \ + -metrics.opencollector-endpoint "0.0.0.0:4317" + Type=simple + KillSignal=SIGINT + TimeoutStopSec=120 + +[Install] + WantedBy=multi-user.target diff --git a/packaging/templates/testnet-v4/archive/config.toml b/packaging/templates/testnet-v4/archive/config.toml new file mode 100644 index 0000000000..0438ffe3ae --- /dev/null +++ b/packaging/templates/testnet-v4/archive/config.toml @@ -0,0 +1,129 @@ +chain = "mumbai" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + accountslots = 16 + globalslots = 131072 + accountqueue = 64 + globalqueue = 131072 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricelimit = 30000000000 + # pricebump = 10 + +[miner] + gaslimit = 20000000 + # gasprice = "30000000000" + # mine = false + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "0.0.0.0" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + [jsonrpc.ws] + enabled = true + port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +# [accounts] + # unlock = [] + # password = "" + # allow-insecure-unlock = false + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml b/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml new file mode 100644 index 0000000000..155a33373b --- /dev/null +++ b/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml @@ -0,0 +1,129 @@ +chain = "mumbai" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + accountslots = 16 + globalslots = 131072 + accountqueue = 64 + globalqueue = 131072 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricelimit = 30000000000 + # pricebump = 10 + +[miner] + gaslimit = 20000000 + # gasprice = "30000000000" + # mine = false + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "0.0.0.0" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +# [accounts] + # unlock = [] + # password = "" + # allow-insecure-unlock = false + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/testnet-v4/sentry/validator/bor/config.toml b/packaging/templates/testnet-v4/sentry/validator/bor/config.toml new file mode 100644 index 0000000000..19b9a4452c --- /dev/null +++ b/packaging/templates/testnet-v4/sentry/validator/bor/config.toml @@ -0,0 +1,131 @@ +# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields. + +chain = "mumbai" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "$BOR_DIR/keystore" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 1 + port = 30303 + nodiscover = true + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + accountslots = 16 + globalslots = 131072 + accountqueue = 64 + globalqueue = 131072 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricelimit = 30000000000 + # pricebump = 10 + +[miner] + mine = true + gaslimit = 20000000 + # gasprice = "30000000000" + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "0.0.0.0" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +[accounts] + allow-insecure-unlock = true + # password = "$BOR_DIR/password.txt" + # unlock = ["$ADDRESS"] + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/testnet-v4/without-sentry/bor/config.toml b/packaging/templates/testnet-v4/without-sentry/bor/config.toml new file mode 100644 index 0000000000..c4de3e87c4 --- /dev/null +++ b/packaging/templates/testnet-v4/without-sentry/bor/config.toml @@ -0,0 +1,131 @@ +# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields. + +chain = "mumbai" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "$BOR_DIR/keystore" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + accountslots = 16 + globalslots = 131072 + accountqueue = 64 + globalqueue = 131072 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricelimit = 30000000000 + # pricebump = 10 + +[miner] + mine = true + gaslimit = 20000000 + # gasprice = "30000000000" + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "0.0.0.0" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] +# blocks = 20 +# percentile = 60 +# maxprice = "5000000000000" +# ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] +# cache = 1024 +# gc = 25 +# snapshot = 10 +# database = 50 +# trie = 15 +# journal = "triecache" +# rejournal = "1h0m0s" +# noprefetch = false +# preimages = false +# txlookuplimit = 2350000 + +[accounts] + allow-insecure-unlock = true + # password = "$BOR_DIR/password.txt" + # unlock = ["$ADDRESS"] + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 From 5e92a7fe257e4ba950d3f73d99855196f5890c5b Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Wed, 23 Nov 2022 07:54:15 -0600 Subject: [PATCH 2/5] Added changes per discussion in PR, more changes may be necessary --- .github/workflows/packager.yml | 15 ++++------ packaging/templates/systemd/bord.service | 36 ------------------------ 2 files changed, 5 insertions(+), 46 deletions(-) delete mode 100644 packaging/templates/systemd/bord.service diff --git a/.github/workflows/packager.yml b/.github/workflows/packager.yml index 4b6c52f601..016912301c 100644 --- a/.github/workflows/packager.yml +++ b/.github/workflows/packager.yml @@ -2,10 +2,6 @@ name: packager on: push: - branches: - - 'main' - paths: - - '**' tags: - 'v*.*.*' - 'v*.*.*-*' @@ -22,9 +18,8 @@ jobs: uses: actions/setup-go@master with: go-version: 1.19 - - name: Generate release tag - id: tag - run: echo "::set-output name=release_tag::bor_$(date +"%Y.%m.%d_%H-%M")" + - name: Adding TAG to ENV + run: echo "GIT_TAG=`echo $(git describe --tags --abbrev=0)`" >> $GITHUB_ENV - name: Cleaning repo run: make clean @@ -309,10 +304,10 @@ jobs: - name: Confirming package built run: ls -ltr packaging/deb/ | grep bor - - name: Release bor Packages + - name: Pre-Release bor Packages uses: softprops/action-gh-release@v1 with: - tag_name: ${{ steps.tag.outputs.release_tag }} + tag_name: ${{ env.GIT_TAG }} files: | packaging/deb/bor**.deb - binary/bo** \ No newline at end of file + binary/bo** diff --git a/packaging/templates/systemd/bord.service b/packaging/templates/systemd/bord.service deleted file mode 100644 index a2f3c0498a..0000000000 --- a/packaging/templates/systemd/bord.service +++ /dev/null @@ -1,36 +0,0 @@ -[Unit] - Description=bor - StartLimitIntervalSec=500 - StartLimitBurst=5 - -[Service] - Restart=on-failure - RestartSec=5s - ExecStart=/usr/bin/bor server \ - -chain=mumbai \ - -port=30303 \ - -datadir /var/lib/bor/data \ - -http \ - -http.addr '0.0.0.0' \ - -http.port 8545 \ - -http.api='eth,net,web3,txpool,bor' \ - -ethstats matic-sentry-01:testnet@bor-mumbai.vitwit.com:3000 \ - -maxpeers 200 \ - -txpool.nolocals \ - -txpool.accountslots '128' \ - -txpool.lifetime '0h16m0s' \ - -txpool.globalslots '20000' \ - -http.vhosts '*' \ - -http.corsdomain '*' \ - -ipcpath /var/lib/bor/data/bor.ipc \ - -miner.gaslimit '20000000' \ - -metrics \ - -metrics.expensive \ - -metrics.prometheus-addr="127.0.0.1:7071" \ - -metrics.opencollector-endpoint "0.0.0.0:4317" - Type=simple - KillSignal=SIGINT - TimeoutStopSec=120 - -[Install] - WantedBy=multi-user.target From 1f0e49b0d8f85d37643be06a7698977abb2ec397 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Wed, 23 Nov 2022 09:07:41 -0600 Subject: [PATCH 3/5] Adding prerelease true --- .github/workflows/packager.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/packager.yml b/.github/workflows/packager.yml index 016912301c..998008ede8 100644 --- a/.github/workflows/packager.yml +++ b/.github/workflows/packager.yml @@ -308,6 +308,7 @@ jobs: uses: softprops/action-gh-release@v1 with: tag_name: ${{ env.GIT_TAG }} + prerelease: true files: | packaging/deb/bor**.deb binary/bo** From ba56c98769eecfcbd0ecda736cde29d717daf1c4 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Wed, 23 Nov 2022 09:10:41 -0600 Subject: [PATCH 4/5] Disabling goreleaser --- .goreleaser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 331d8de6b5..229d76a3f6 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,7 +1,7 @@ project_name: bor release: - disable: false + disable: true draft: true prerelease: auto From c1e84fd6945eb502ca336d00c35edd7bc2238386 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Wed, 23 Nov 2022 09:12:42 -0600 Subject: [PATCH 5/5] Removing README swap file --- packaging/deb/.README.md.swp | Bin 12288 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 packaging/deb/.README.md.swp diff --git a/packaging/deb/.README.md.swp b/packaging/deb/.README.md.swp deleted file mode 100644 index 765002d189fd7864fe06952777e7df26258b51ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2KW`H;6u@2f0)m0{K}VEa2n%$9Rtcy>8iWc9F!=7AI}^w6Wczw#fgQdA3x7tw z4HE2#k5FI(o-bFa1u=ChdRBh1&VGLP?x!r#y>#$!X973+LqX%b5FZb&W;ee~#o(0? zxwKlDr)ZUryZ;=cHqQ4ZGTTO+_wG6D4f_T&X^x$Fek5UXSBJ7rlN4Q2$!snQZHpvV zX>xzOHJXh3i~QJGzF-4v;G_oD#r5H}LCmso<~18jf|umLu}22P;?Nw3+z zt_$(_EEP}h{}2EF|2QYacj6myK)fg35pRh%#B1Uu(GV$do47>?;uq!mNqijP?PVQqq@#M%p0urlaX5IJLliX_BgTg#xsP3s8G%A&0!07eee} zP!LM(fj&NHV?aWKZca5o<*;zd`%O~47h{^ZpVD2NtSXg5Ub~nolnT;Xn;cdh>MEYh z=-_IVLPUHHqtnDMeNcZd79dtmQ@mf;pZL2&9T4KE_+bSxUbjh41DtLy*U=zzXl7fQ&>uF-j4H&fv F#cwS6$qoPj