Groestlcoin Forum

Groestl => Tutorials => Topic started by: jackielove4u on January 28, 2020, 10:55:33 am

Title: How to package and publish PPA on Launchpad for Groestlcoin Core
Post by: jackielove4u on January 28, 2020, 10:55:33 am
The following were tested in Debian 9.7 and Debian 10.2, some dependencies can be different in other distros.

sudo apt-get install build-essential libssl-dev libboost-all-dev libdb5.3 libdb5.3-dev libdb5.3++-dev libtool automake libevent-dev bsdmainutils
sudo apt-get install git ntp make g++ gcc autoconf cpp ngrep iftop sysstat autotools-dev pkg-config libminiupnpc-dev libzmq3-dev
sudo apt install gnupg dput dh-make devscripts lintian diffutils patch patchutils
sudp apt install debhelper bash-completion libboost-system1.48-dev libboost-system-dev libboost-filesystem1.48-dev libboost-filesystem-dev libboost-program-options1.48-dev libboost-program-options-dev libboost-thread1.48-dev libboost-thread-dev libboost-test1.48-dev libboost-test-dev libboost-chrono1.48-dev libboost-chrono-dev libminiupnpc8-dev qt4-qmake libqt4-dev xvfb qttools5-dev-tools qttools5-dev libqrencode-dev libprotobuf-dev protobuf-compiler python dh-systemd

nano ~/.bashrc
export DEBFULLNAME="Jackielove4u"
export DEBEMAIL="jackielove4u@hotmail.com"
ctrl+o , ctrl+x
source ~/.bashrc

#Export your key (or export private key on Kleopatra):
gpg --export-secret-keys $ID > my-private-key.asc
# Copy the key to the VM. To copy the exported secret-keys you can use SFTP client on portnumber 22222
#To import the key, run:
gpg --import my-private-key.asc.
#Setup a passphrase for the secret key when asked
gpg --edit-key $ID
passwd
#Enter existing passphrase then press enter twice and consider the warnings from the tool and its implications before proceeding.

sudo nano ~/.gnupg/gpg.conf
default-key D11BD4F33F1DB499
trusted-key D11BD4F33F1DB499
ctrl+o , ctrl+x

sudo nano /etc/dput.cf
#replace [ppa] to [groestlcoin]
#replace incoming = ~<your_launchpad_id>/ubuntu/ to incoming = ~groestlcoin/ubuntu/groestlcoin/
ctrl+o , ctrl+x

#We will use branch v2.18.2 as example here
#We will use date 20200127 as example here. You can get the datestring with syntax: date "+%Y%m%d"
wget https://github.com/Groestlcoin/groestlcoin/archive/v2.18.2.tar.gz
mv v2.18.2.tar.gz groestlcoin_20200127.orig.tar.gz
tar -zxvf groestlcoin_20200127.orig.tar.gz
git clone https://github.com/Groestlcoin/packaging
cp -r packaging/debian/ groestlcoin-2.18.2/
cd groestlcoin-2.18.2
dch (edit releasename, release packagename and description accordingly)
debuild -S
cd ..
dput groestlcoin groestlcoin_20200127-0~xenial1_source.changes

You can build changes and dsc file file also with syntax: dpkg-source
You can build packages locally to debug and test before uploading with syntax: dpkg-buildpackage