Added trackomatron build process
This commit is contained in:
parent
7942f216fc
commit
54a9364565
|
@ -76,6 +76,13 @@ build-ethermint: git-branch
|
|||
cp $(GOPATH)/src/github.com/tendermint/ethermint/build/ethermint $(GOPATH)/bin
|
||||
@echo "*** Built ethermint"
|
||||
|
||||
build-trackomatron: git-branch
|
||||
@echo "*** Building trackomatron"
|
||||
go get -d -u go github.com/tendermint/trackomatron || echo "Workaround so there is no error message."
|
||||
cd $(GOPATH)/src/github.com/tendermint/trackomatron && git checkout "$(GIT_BRANCH)" && git pull
|
||||
$(MAKE) -C $(GOPATH)/src/github.com/tendermint/trackomatron get_vendor_deps install
|
||||
@echo "*** Built trackomatron"
|
||||
|
||||
version-%: $(GOPATH)/bin/%
|
||||
if [ -z "$(BUILD_NUMBER)" ]; then echo "BUILD_NUMBER not set" ; false ; fi
|
||||
$(eval $*_version=$(shell $< version | cut -d- -f1 ))
|
||||
|
@ -224,10 +231,13 @@ distclean: clean
|
|||
rm -rf $(GOPATH)/src/github.com/tendermint/tendermint
|
||||
rm -rf $(GOPATH)/src/github.com/tendermint/basecoin
|
||||
rm -rf $(GOPATH)/src/github.com/tendermint/ethermint
|
||||
rm -rf $(GOPATH)/src/github.com/tendermint/trackomatron
|
||||
rm -rf $(GOPATH)/bin/tendermint
|
||||
rm -rf $(GOPATH)/bin/basecoin
|
||||
rm -rf $(GOPATH)/bin/basecli
|
||||
rm -rf $(GOPATH)/bin/ethermint
|
||||
rm -rf $(GOPATH)/bin/tracko
|
||||
rm -rf $(GOPATH)/bin/trackocli
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
trackomatron (@VERSION@) @STABILITY@; urgency=medium
|
||||
|
||||
* Automatic build. See https://github.com/tendermint/trackomatron for more information.
|
||||
|
||||
-- Greg Szabo <greg@philosobear.com> @DATETIMESTAMP@
|
||||
|
|
@ -0,0 +1 @@
|
|||
9
|
|
@ -0,0 +1,15 @@
|
|||
Source: trackomatron
|
||||
Section: net
|
||||
Priority: optional
|
||||
Maintainer: Greg Szabo <greg@philosobear.com>
|
||||
Build-Depends: debhelper (>=9)
|
||||
Depends: tendermint (>=0.10.0)
|
||||
Standards-Version: 3.9.6
|
||||
Homepage: https://tendermint.com
|
||||
Package: trackomatron
|
||||
Architecture: amd64
|
||||
Version: @VERSION@
|
||||
Installed-Size: @INSTALLEDSIZE@
|
||||
Description: Trackomatron - Track invoices on the blockchain
|
||||
This software is intended to create a space to easily send invoices between and within institutions. Firstly, the commands of trackmatron are separated into two broad categories: submitting information to the blockchain (transactions), and retrieving information from the blockchain (query).
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: trackomatron
|
||||
Source: https://github.com/tendermint/trackomatron
|
||||
|
||||
Files: *
|
||||
Copyright: 2017 All In Bits, Inc.
|
||||
License: Apache-2.0
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
.
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
.
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
.
|
||||
On Debian systems, the full text of the Apache License 2.0 can be found
|
||||
in the file `/usr/share/common-licenses/Apache-2.0'.
|
|
@ -0,0 +1,45 @@
|
|||
#!/bin/sh
|
||||
# postinst script for trackomatron
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
chown trackomatron.trackomatron /etc/trackomatron
|
||||
chown trackomatron.trackomatron /etc/trackomatron/tendermint
|
||||
sudo -Hu trackomatron tracko init --home /etc/trackomatron 2B24DEE2364762300168DF19B6C18BCE2D399EA2
|
||||
#The above command generates a genesis.json file that contains validators. This is wrong, the validator part should be empty. https://github.com/tendermint/basecoin/issues/124
|
||||
sudo -Hu trackomatron tracko init --home /etc/trackomatron/tendermint
|
||||
#The above command might need some kind of additional option in the future. https://github.com/tendermint/tendermint/issues/542
|
||||
systemctl daemon-reload
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/sh
|
||||
# postrm script for trackomatron
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
upgrade|failed-upgrade|abort-upgrade)
|
||||
systemctl daemon-reload
|
||||
;;
|
||||
|
||||
purge|remove|abort-install|disappear)
|
||||
systemctl daemon-reload
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
# preinst script for trackomatron
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <new-preinst> `install'
|
||||
# * <new-preinst> `install' <old-version>
|
||||
# * <new-preinst> `upgrade' <old-version>
|
||||
# * <old-preinst> `abort-upgrade' <new-version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
install|upgrade)
|
||||
if ! grep -q '^trackomatron:' /etc/passwd ; then
|
||||
useradd -k /dev/null -r -m -b /etc trackomatron
|
||||
fi
|
||||
;;
|
||||
|
||||
abort-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "preinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/sh
|
||||
# prerm script for basecoin
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <prerm> `remove'
|
||||
# * <old-prerm> `upgrade' <new-version>
|
||||
# * <new-prerm> `failed-upgrade' <old-version>
|
||||
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
||||
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
||||
# <package-being-installed> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
remove|upgrade|deconfigure)
|
||||
systemctl stop trackomatron 2> /dev/null || :
|
||||
systemctl stop trackomatron-service 2> /dev/null || :
|
||||
;;
|
||||
|
||||
failed-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "prerm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,3 @@
|
|||
disable trackomatron.service
|
||||
disable trackomatron-server.service
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
[Unit]
|
||||
Description=Trackomatron server
|
||||
Requires=network-online.target
|
||||
BindTo=trackomatron.service
|
||||
PartOf=trackomatron.service
|
||||
After=network-online.target trackomatron.service
|
||||
PropagatesReloadTo=trackomatron.service
|
||||
ReloadPropagatedFrom=trackomatron.service
|
||||
|
||||
[Service]
|
||||
Environment="TMHOME=/etc/trackomatron/tendermint"
|
||||
Restart=on-failure
|
||||
User=trackomatron
|
||||
Group=trackomatron
|
||||
PermissionsStartOnly=true
|
||||
ExecStart=/usr/bin/tendermint node
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillSignal=SIGTERM
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target trackomatron.service
|
||||
Also=trackomatron.service
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[Unit]
|
||||
Description=Trackomatron
|
||||
#propagates activation, deactivation and activation fails.
|
||||
Requires=network-online.target
|
||||
#propagates activation, deactivation, activation fails and stops
|
||||
BindTo=trackomatron-server.service
|
||||
#propagates stop and restart (one-way)
|
||||
PartOf=trackomatron-server.service
|
||||
#order
|
||||
Before=trackomatron-server.service
|
||||
After=network-online.target
|
||||
#propagates reload
|
||||
PropagatesReloadTo=trackomatron-server.service
|
||||
ReloadPropagatedFrom=trackomatron-server.service
|
||||
|
||||
[Service]
|
||||
Environment="BCHOME=/etc/trackomatron"
|
||||
Restart=on-failure
|
||||
User=trackomatron
|
||||
Group=trackomatron
|
||||
PermissionsStartOnly=true
|
||||
ExecStart=/usr/bin/trackomatron start --without-tendermint
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillSignal=SIGTERM
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Also=trackomatron-server.service
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"address": "1B1BE55F969F54064628A63B9559E7C21C925165",
|
||||
"priv_key": {
|
||||
"type": "ed25519",
|
||||
"data": "C70D6934B4F55F1B7BC33B56B9CA8A2061384AFC19E91E44B40C4BBA182953D1619D3678599971ED29C7529DDD4DA537B97129893598A17C82E3AC9A8BA95279"
|
||||
},
|
||||
"pub_key": {
|
||||
"type": "ed25519",
|
||||
"data": "619D3678599971ED29C7529DDD4DA537B97129893598A17C82E3AC9A8BA95279"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"address": "1DA7C74F9C219229FD54CC9F7386D5A3839F0090",
|
||||
"priv_key": {
|
||||
"type": "ed25519",
|
||||
"data": "34BAE9E65CE8245FAD035A0E3EED9401BDE8785FFB3199ACCF8F5B5DDF7486A8352195DA90CB0B90C24295B90AEBA25A5A71BC61BAB2FE2387241D439698B7B8"
|
||||
},
|
||||
"pub_key": {
|
||||
"type": "ed25519",
|
||||
"data": "352195DA90CB0B90C24295B90AEBA25A5A71BC61BAB2FE2387241D439698B7B8"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
|
||||
%define __spec_install_post %{nil}
|
||||
%define debug_package %{nil}
|
||||
%define __os_install_post %{nil}
|
||||
|
||||
Name: trackomatron
|
||||
Summary: Trackomatron - Track invoices on the blockchain
|
||||
License: Apache 2.0
|
||||
URL: https://tendermint.com/
|
||||
Packager: Greg Szabo
|
||||
Requires: tendermint >= 0.10.0
|
||||
Requires(pre): /sbin/useradd
|
||||
|
||||
%description
|
||||
This software is intended to create a space to easily send invoices between and within institutions. Firstly, the commands of trackmatron are separated into two broad categories: submitting information to the blockchain (transactions), and retrieving information from the blockchain (query).
|
||||
|
||||
%pre
|
||||
if ! %{__grep} -q '^%{name}:' /etc/passwd ; then
|
||||
useradd -k /dev/null -r -m -b %{_sysconfdir} %{name}
|
||||
fi
|
||||
|
||||
%prep
|
||||
test -d "$GOPATH" || echo "GOPATH not set"
|
||||
test -d "$GOPATH"
|
||||
|
||||
%{__mkdir_p} %{name}-%{version}
|
||||
cd %{name}-%{version}
|
||||
|
||||
%{__mkdir_p} .%{_bindir} .%{_defaultlicensedir}/%{name} .%{_sysconfdir}/%{name}/tendermint
|
||||
|
||||
%{__cp} $GOPATH/bin/tracko $GOPATH/bin/trackocli .%{_bindir}
|
||||
%{__cp} $GOPATH/src/github.com/tendermint/%{name}/LICENSE .%{_defaultlicensedir}/%{name}
|
||||
|
||||
cp -r %{_topdir}/extrafiles/trackomatron/* ./
|
||||
|
||||
%{__chmod} -Rf a+rX,u+w,g-w,o-w .
|
||||
|
||||
%build
|
||||
# Nothing to do here.
|
||||
|
||||
%install
|
||||
cd %{name}-%{version}
|
||||
%{__cp} -a * %{buildroot}
|
||||
|
||||
%post
|
||||
sudo -Hu %{name} tracko init --home %{_sysconfdir}/%{name} 2B24DEE2364762300168DF19B6C18BCE2D399EA2
|
||||
#The above command generates a genesis.json file that contains validators. This is wrong, the validator part should be empty. https://github.com/tendermint/basecoin/issues/124
|
||||
sudo -Hu %{name} tendermint init --home %{_sysconfdir}/%{name}/tendermint
|
||||
#The above command might need some kind of additional option in the future. https://github.com/tendermint/tendermint/issues/542
|
||||
|
||||
#Temporary until https://github.com/tendermint/basecoin/issues/123
|
||||
rm -f %{_sysconfdir}/%{name}/key.json
|
||||
rm -f %{_sysconfdir}/%{name}/key2.json
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
%preun
|
||||
systemctl stop %{name} 2> /dev/null || :
|
||||
systemctl stop %{name}-service 2> /dev/null || :
|
||||
|
||||
%postun
|
||||
systemctl daemon-reload
|
||||
|
||||
%files
|
||||
%attr(0755, %{name}, %{name}) %dir %{_sysconfdir}/%{name}
|
||||
%attr(0755, %{name}, %{name}) %dir %{_sysconfdir}/%{name}/tendermint
|
||||
%{_bindir}/*
|
||||
%{_sysconfdir}/systemd/system/*
|
||||
%{_sysconfdir}/systemd/system-preset/*
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/*
|
||||
%dir %{_defaultlicensedir}/%{name}
|
||||
%doc %{_defaultlicensedir}/%{name}/LICENSE
|
||||
|
Loading…
Reference in New Issue