From 3cf11c8d410c7a62894bb34a9d0fc12d74dfe4d7 Mon Sep 17 00:00:00 2001 From: General PikaOS Packages Group <> Date: Mon, 4 Nov 2024 17:47:09 +0100 Subject: [PATCH] Initial commit --- .github/build-canary-v3 | 1 + .github/build-nest-v3 | 1 + .github/release-canary-v3 | 1 + .github/release-nest-v3 | 1 + .github/workflows/build-canaryv3.yml | 40 ++++++++++++++++++++++++ .github/workflows/build-nestv3.yml | 40 ++++++++++++++++++++++++ .github/workflows/release-canaryv3.yml | 43 ++++++++++++++++++++++++++ .github/workflows/release-nestv3.yml | 43 ++++++++++++++++++++++++++ .gitignore | 18 +++++++++++ LICENSE | 21 +++++++++++++ Makefile-v3 | 7 +++++ debian/changelog | 11 +++++++ debian/control | 17 ++++++++++ debian/copyright | 21 +++++++++++++ debian/rules | 10 ++++++ debian/source/format | 1 + main.sh | 27 ++++++++++++++++ pika-build-config/amd64-v3.sh | 10 ++++++ pika-build-config/i386.sh | 5 +++ release.sh | 2 ++ 20 files changed, 320 insertions(+) create mode 100644 .github/build-canary-v3 create mode 100644 .github/build-nest-v3 create mode 100644 .github/release-canary-v3 create mode 100644 .github/release-nest-v3 create mode 100644 .github/workflows/build-canaryv3.yml create mode 100644 .github/workflows/build-nestv3.yml create mode 100644 .github/workflows/release-canaryv3.yml create mode 100644 .github/workflows/release-nestv3.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile-v3 create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100755 main.sh create mode 100755 pika-build-config/amd64-v3.sh create mode 100755 pika-build-config/i386.sh create mode 100755 release.sh diff --git a/.github/build-canary-v3 b/.github/build-canary-v3 new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/.github/build-canary-v3 @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/.github/build-nest-v3 b/.github/build-nest-v3 new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/.github/build-nest-v3 @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/.github/release-canary-v3 b/.github/release-canary-v3 new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.github/release-canary-v3 @@ -0,0 +1 @@ +1 diff --git a/.github/release-nest-v3 b/.github/release-nest-v3 new file mode 100644 index 0000000..d8263ee --- /dev/null +++ b/.github/release-nest-v3 @@ -0,0 +1 @@ +2 \ No newline at end of file diff --git a/.github/workflows/build-canaryv3.yml b/.github/workflows/build-canaryv3.yml new file mode 100644 index 0000000..7b9e211 --- /dev/null +++ b/.github/workflows/build-canaryv3.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Build Only (Canary) (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/build-canary-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - 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: Update APT Cache + run: apt-get update -y + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Setup Makefile + run: cp -vf ./Makefile-v3 ./Makefile + + - name: Build Package + run: ./main.sh diff --git a/.github/workflows/build-nestv3.yml b/.github/workflows/build-nestv3.yml new file mode 100644 index 0000000..fd391dc --- /dev/null +++ b/.github/workflows/build-nestv3.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Build Only (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/build-nest-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nestv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - 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: Update APT Cache + run: apt-get update -y + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Setup Makefile + run: cp -vf ./Makefile-v3 ./Makefile + + - name: Build Package + run: ./main.sh diff --git a/.github/workflows/release-canaryv3.yml b/.github/workflows/release-canaryv3.yml new file mode 100644 index 0000000..d799864 --- /dev/null +++ b/.github/workflows/release-canaryv3.yml @@ -0,0 +1,43 @@ +name: PikaOS Package Build & Release (Canary) (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/release-canary-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - 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: Update APT Cache + run: apt-get update -y + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Setup Makefile + run: cp -vf ./Makefile-v3 ./Makefile + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/.github/workflows/release-nestv3.yml b/.github/workflows/release-nestv3.yml new file mode 100644 index 0000000..8f21bd9 --- /dev/null +++ b/.github/workflows/release-nestv3.yml @@ -0,0 +1,43 @@ +name: PikaOS Package Build & Release (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/release-nest-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nestv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - 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: Update APT Cache + run: apt-get update -y + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Setup Makefile + run: cp -vf ./Makefile-v3 ./Makefile + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40e3e6b --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Dependency directories (remove the comment below to include it) +# vendor/ +.idea + +falcon \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..125ed9b --- /dev/null +++ b/LICENSE @@ -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. diff --git a/Makefile-v3 b/Makefile-v3 new file mode 100644 index 0000000..a9c2b91 --- /dev/null +++ b/Makefile-v3 @@ -0,0 +1,7 @@ +all: + true + +install: + mkdir -p $(DESTDIR)/usr/bin/ + GOAMD=v3 go generate ./cmd/carapace/... && go build -ldflags="-s -w" -o $(DESTDIR)/usr/bin/carapace -buildvcs=false ./cmd/carapace + chmod 755 $(DESTDIR)/usr/bin/carapace diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..60453c6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,11 @@ +carapace (1.0.7-101pika2) pika; urgency=low + + * Initial release + + -- Ward Nakchbandi Sat, 10 Dec 2022 13:48:00 +0300 + +carapace (1.0.7-101pika1) pika; urgency=low + + * Initial release + + -- Ward Nakchbandi Sat, 10 Dec 2022 13:48:00 +0300 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..52dc13c --- /dev/null +++ b/debian/control @@ -0,0 +1,17 @@ +Source: carapace +Section: admin +Priority: optional +Maintainer: ferreo +Rules-Requires-Root: no +Build-Depends: + debhelper-compat (= 13), golang-go +Standards-Version: 4.6.1 +Homepage: https://pika-os.com + +Package: carapace +Architecture: amd64 +Depends: ${misc:Depends}, + ${shlibs:Depends}, + carapace-bridge +Provides: carapace +Description: A fast, extensible, fuzzy-search CLI completion tool diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..125ed9b --- /dev/null +++ b/debian/copyright @@ -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. diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..1c09589 --- /dev/null +++ b/debian/rules @@ -0,0 +1,10 @@ +#!/usr/bin/make -f + +# 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 $@ diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/main.sh b/main.sh new file mode 100755 index 0000000..6e47476 --- /dev/null +++ b/main.sh @@ -0,0 +1,27 @@ +#! /bin/bash + +set -e + +VERSION="1.0.7" + +source ./pika-build-config.sh + +echo "$PIKA_BUILD_ARCH" > pika-build-arch + +# Clone Upstream +git clone https://github.com/carapace-sh/carapace-bin.git -b v"$VERSION" ./carapace +cp -rvf ./debian ./carapace/ +cp -rvf ./Makefile-v3 ./carapace/Makefile +cd ./carapace + +# Get build deps +apt-get build-dep ./ -y + +# Build package +LOGNAME=root dh_make --createorig -y -l -p carapace_"$VERSION" || echo "dh-make: Ignoring Last Error" +dpkg-buildpackage --no-sign + +# Move the debs to output +cd ../ +mkdir -p ./output +mv ./*.deb ./output/ diff --git a/pika-build-config/amd64-v3.sh b/pika-build-config/amd64-v3.sh new file mode 100755 index 0000000..10285b4 --- /dev/null +++ b/pika-build-config/amd64-v3.sh @@ -0,0 +1,10 @@ +#! /bin/bash +export PIKA_BUILD_ARCH="amd64-v3" +export DEBIAN_FRONTEND="noninteractive" +export DEB_BUILD_MAINT_OPTIONS="optimize=+lto -march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_CFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_CPPFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_CXXFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_LDFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32" +export DEB_BUILD_OPTIONS="nocheck notest terse" +export DPKG_GENSYMBOLS_CHECK_LEVEL=0 diff --git a/pika-build-config/i386.sh b/pika-build-config/i386.sh new file mode 100755 index 0000000..7629d66 --- /dev/null +++ b/pika-build-config/i386.sh @@ -0,0 +1,5 @@ +#! /bin/bash +export PIKA_BUILD_ARCH="i386" +export DEBIAN_FRONTEND="noninteractive" +export DEB_BUILD_OPTIONS="nocheck notest terse" +export DPKG_GENSYMBOLS_CHECK_LEVEL=0 diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..660f48f --- /dev/null +++ b/release.sh @@ -0,0 +1,2 @@ +# send debs to server +rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/