How to package and publish PPA on Launchpad for Groestlcoin Core

Started by jackielove4u, January 28, 2020, 10:55:33 AM

Previous topic - Next topic

jackielove4u

The following were tested in Debian 9.7 and Debian 10.2, some dependencies can be different in other distros.

You will need a Launchpad.net account to create a PPA. Just click on your user on Launchpad (click on your name on the upper left) and create a PPA. You may have to first sign the Code of Conduct and have a GPG key registered with your account.

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 libsqlite3-dev libnatpmp-dev qtwayland5
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="[email protected]"
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 v26.0 as example here
wget https://github.com/Groestlcoin/groestlcoin/archive/v26.0.tar.gz
mv v26.0.tar.gz groestlcoin_26.0.0.orig.tar.gz
tar -zxvf groestlcoin_26.0.0.orig.tar.gz
git clone https://github.com/Groestlcoin/packaging
cp -r packaging/debian/ groestlcoin-26.0/
cd groestlcoin-26.0
dch (edit releasename, release packagename and description accordingly)
debuild -S
cd ..
dput groestlcoin groestlcoin_26.0.0-0~jammy1_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