Initial commit
This commit is contained in:
commit
ce7353c480
40
.github/workflows/release.yml
vendored
Normal file
40
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
name: PikaOS Package Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: self-hosted
|
||||||
|
container:
|
||||||
|
image: ubuntu:23.04
|
||||||
|
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
|
21
LICENSE.md
Normal file
21
LICENSE.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 PikaOS
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
upstream-name (pkgver-pkgrel) distro_codename; urgency=medium
|
||||||
|
|
||||||
|
* Initial release. (Closes: #nnnn) <nnnn is the bug number of your ITP>
|
||||||
|
|
||||||
|
-- ferreo <harderthanfire@gmail.com> Wed, 18 Jan 2023 21:48:14 +0000
|
19
debian/control
vendored
Normal file
19
debian/control
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Source: upstream-name
|
||||||
|
Section: admin
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: name <email>
|
||||||
|
Standards-Version: 4.6.1
|
||||||
|
Build-Depends: debhelper-compat (= 13)
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
|
Package: pkgname1
|
||||||
|
Architecture: linux-any
|
||||||
|
# Delete any of these lines if un-used
|
||||||
|
Depends: ${misc:Depends}, depends
|
||||||
|
Recommends: high priority optdepends
|
||||||
|
Conflicts: conflicts
|
||||||
|
Suggests: low priority optdepends
|
||||||
|
Breaks: also conflicts!?
|
||||||
|
Provides: provides
|
||||||
|
#
|
||||||
|
Description: pkgdesc
|
0
debian/copyright
vendored
Normal file
0
debian/copyright
vendored
Normal file
80
debian/rules
vendored
Executable file
80
debian/rules
vendored
Executable file
@ -0,0 +1,80 @@
|
|||||||
|
#! /usr/bin/make -f
|
||||||
|
|
||||||
|
## See debhelper(7) (uncomment to enable).
|
||||||
|
## Output every command that modifies files on the build system.
|
||||||
|
export DH_VERBOSE = 1
|
||||||
|
|
||||||
|
## === Set paths env vars ===
|
||||||
|
|
||||||
|
## Source directory, called upon by $(srcdir)
|
||||||
|
srcdir = $(shell debian/scripts/get_pwd.sh)
|
||||||
|
## The Root of package number one, called upon by $(pkgdir1)
|
||||||
|
pkgdir1 = $(srcdir)/debian/pkgdir1
|
||||||
|
## The Root of package number two, you can add as many of these as you like
|
||||||
|
pkgdir2 = $(srcdir)/debian/pkgdir2
|
||||||
|
|
||||||
|
## If building a singular package you can remove the number, and as you guessed you call upon it with $(pkgdir)
|
||||||
|
# pkgdir = $(srcdir)/debian/pkgdir
|
||||||
|
|
||||||
|
## === End end of region ===
|
||||||
|
|
||||||
|
## === the chain of command ===
|
||||||
|
## debuild runs a chain of dh functions in the following order:
|
||||||
|
## dh_testdir
|
||||||
|
## dh_clean
|
||||||
|
## dh_auto_clean
|
||||||
|
## dh_update_autotools_config
|
||||||
|
## dh_autoreconf
|
||||||
|
## dh_auto_configure
|
||||||
|
## dh_prep
|
||||||
|
## dh_build
|
||||||
|
## dh_auto_build
|
||||||
|
## dh_install
|
||||||
|
## dh_auto_install
|
||||||
|
## dh_installdocs
|
||||||
|
## dh_installchangelogs
|
||||||
|
## dh_perl
|
||||||
|
## dh_link
|
||||||
|
## dh_strip_nondeterminism
|
||||||
|
## dh_compress
|
||||||
|
## dh_fixperms
|
||||||
|
## dh_missing
|
||||||
|
## dh_dwz
|
||||||
|
## dh_strip
|
||||||
|
## dh_makeshlibs
|
||||||
|
## dh_shlibdeps
|
||||||
|
## dh_installdeb
|
||||||
|
## dh_gencontrol
|
||||||
|
## but you are most likely to only need to override the following:
|
||||||
|
## dh_clean
|
||||||
|
## dh_auto_configure
|
||||||
|
## dh_build
|
||||||
|
## dh_install
|
||||||
|
|
||||||
|
## === End end of region ===
|
||||||
|
|
||||||
|
## === overriding dh functions ===
|
||||||
|
## by default all dh functions will run a specific command based on the build system selected by "dh $@"
|
||||||
|
## if you have a makefile that does everything you need this is fine,
|
||||||
|
## but most likely you have no MakeFile and you want to add your own commands
|
||||||
|
## Note : overrides must be places above %:
|
||||||
|
## So here's a few examples:
|
||||||
|
|
||||||
|
## overriding dh_clean to make it not delete rust vendor files:
|
||||||
|
#override_dh_clean:
|
||||||
|
# echo "disabled"
|
||||||
|
|
||||||
|
## overriding dh_auto_configure to add custom configs:
|
||||||
|
#override_dh_auto_configure:
|
||||||
|
# $(srcdir)/configure -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_DATADIR=/usr/share -DCMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu -DBUILD_PLUGIN=OFF
|
||||||
|
|
||||||
|
## overriding dh_install to install files to a package:
|
||||||
|
#override_dh_auto_configure:
|
||||||
|
# mkdir -p $(pkgdir1)/usr/bin
|
||||||
|
# cp $(srcdir)/pikman $(pkgdir1)/usr/bin/
|
||||||
|
|
||||||
|
## === End end of region ===
|
||||||
|
|
||||||
|
## This here will start the build:
|
||||||
|
%:
|
||||||
|
dh $@
|
2
debian/scripts/get_pwd.sh
vendored
Executable file
2
debian/scripts/get_pwd.sh
vendored
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
env | grep -w "PWD" | cut -c5-
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.0 (native)
|
27
main.sh
Executable file
27
main.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
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
|
||||||
|
apt install pika-sources.deb --yes --option Acquire::Retries=5 --option Acquire::http::Timeout=100 --option Dpkg::Options::="--force-confnew"
|
||||||
|
# Clone Upstream
|
||||||
|
mkdir -p ./src-pkg-name
|
||||||
|
cp -rvf ./debian ./src-pkg-name/
|
||||||
|
cd ./src-pkg-name/
|
||||||
|
|
||||||
|
# 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 --no-sign
|
||||||
|
|
||||||
|
# Move the debs to output
|
||||||
|
cd ../
|
||||||
|
mkdir -p ./output
|
||||||
|
mv ./*.deb ./output/
|
11
release.sh
Executable file
11
release.sh
Executable 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 lunar ./output/*.deb
|
||||||
|
|
||||||
|
# Push the updated ppa repo to the server
|
||||||
|
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/
|
Loading…
Reference in New Issue
Block a user