add deb builder

This commit is contained in:
Ward Nakchbandi 2023-03-09 22:42:16 +03:00
parent f4e62e661f
commit 00da1cfb14
7 changed files with 110 additions and 10 deletions

40
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,40 @@
name: PikaOS Package Release
on:
workflow_dispatch
jobs:
build:
runs-on: self-hosted
container:
image: ubuntu:22.10
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install needed packages
run: apt update && apt install software-properties-common sudo git bc gpg gpg-agent bison build-essential ccache cpio fakeroot flex git kmod libelf-dev libncurses5-dev libssl-dev lz4 qtbase5-dev rsync schedtool wget zstd tar reprepro dpkg-sig devscripts -y
- name: Import GPG key
id: import_gpg
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh

View File

@ -2,4 +2,4 @@
build:
go build -ldflags="-s -w" -o pikman
install:
install -m 644 pikman /usr/bin/
install -m 755 pikman $(DESTDIR)/usr/bin/

25
debian/changelog vendored
View File

@ -1,5 +1,24 @@
pikman (0.11-1) UNRELEASED; urgency=medium
pikman (1.23.2.17.1) kinetic; urgency=low
* Initial release. (Closes: #nnnn) <nnnn is the bug number of your ITP>
* Update.
-- ferreo <harderthanfire@gmail.com> Wed, 18 Jan 2023 21:48:14 +0000
-- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 10 Dec 2022 13:48:00 +0300
pikman (1.23.2.17.0) kinetic; urgency=low
* Update.
-- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 10 Dec 2022 13:48:00 +0300
pikman (1.23.1.20.0-99pika1) kinetic; urgency=low
* Update.
-- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 10 Dec 2022 13:48:00 +0300
pikman (0.11-99pika3) kinetic; urgency=low
* Initial release.
-- Ward Nakchbandi <hotrod.master@hotmail.com> Sat, 10 Dec 2022 13:48:00 +0300

15
debian/control vendored
View File

@ -1,16 +1,19 @@
Source: pikman
Section: unknown
Section: admin
Priority: optional
Maintainer: ferreo <harderthanfire@gmail.com>
Rules-Requires-Root: binary-targets
Rules-Requires-Root: no
Build-Depends:
debhelper-compat (= 13),
golang
debhelper-compat (= 13), golang-go
Standards-Version: 4.6.1
Homepage: https://pikaos.ferreo.dev
Package: pikman
Architecture: any
Essential: yes
Architecture: amd64
Depends: ${misc:Depends},
${shlibs:Depends}
${shlibs:Depends},
flatpak,
nala,
apx,
Description: One package manager to rule them all

2
debian/rules vendored
View File

@ -3,6 +3,8 @@
# See debhelper(7) (uncomment to enable).
# Output every command that modifies files on the build system.
export DH_VERBOSE = 1
override_dh_dwz:
echo "disabled"
%:
dh $@

25
main.sh Executable file
View File

@ -0,0 +1,25 @@
DEBIAN_FRONTEND=noninteractive
# Add dependent repositories
wget -q -O - https://ppa.pika-os.com/key.gpg | sudo apt-key add -
add-apt-repository https://ppa.pika-os.com
add-apt-repository ppa:pikaos/pika
add-apt-repository ppa:kubuntu-ppa/backports
# Clone Upstream
mkdir -p ./pikman
cp -rvf ./* ./pikman || echo
cd ./pikman
# Get build deps
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
apt-get build-dep ./ -y
# Build package
dpkg-buildpackage
# Move the debs to output
cd ../
mkdir -p ./output
mv ./*.deb ./output/

11
release.sh Executable file
View File

@ -0,0 +1,11 @@
# Sign the packages
dpkg-sig --sign builder ./output/*.deb
# Pull down existing ppa repo db files etc
rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo
# Add the new package to the repo
reprepro -V --basedir ./output/repo/ includedeb kinetic ./output/*.deb
# Push the updated ppa repo to the server
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/