prep for debian packaging
This commit is contained in:
parent
b7689fcc97
commit
0c7d517e5c
10 changed files with 272 additions and 0 deletions
75
.gitlab-ci.yml
Normal file
75
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,75 @@
|
|||
# Is performed before the scripts in the stages step
|
||||
before_script:
|
||||
- source /etc/profile
|
||||
|
||||
# Defines stages which are to be executed
|
||||
stages:
|
||||
- build
|
||||
- upload
|
||||
- release
|
||||
|
||||
.setup_script: &setup_scripts
|
||||
- apt-get update
|
||||
- apt-get -y build-dep .
|
||||
- apt-get -y install dpkg-dev
|
||||
|
||||
.compile: &compile
|
||||
stage: compile
|
||||
only:
|
||||
- tags
|
||||
script:
|
||||
- *setup_scripts
|
||||
- dpkg-buildpackage -b
|
||||
- mkdir -p ./build/{release,debug}
|
||||
- find ../ -name "*.deb" -not -name "*dbgsym*" -exec mv {} ./build/release/ \;
|
||||
- find ../ -name "*dbgsym*.deb" -exec mv {} ./build/debug/ \;
|
||||
artifacts:
|
||||
paths:
|
||||
- build/release/*
|
||||
- build/debug/*
|
||||
untracked: true
|
||||
|
||||
build:x86_64:
|
||||
<<: *compile
|
||||
stage: build
|
||||
tags:
|
||||
- x86_64
|
||||
|
||||
build:aarch64:
|
||||
<<: *compile
|
||||
stage: build
|
||||
tags:
|
||||
- aarch64
|
||||
|
||||
upload:
|
||||
stage: upload
|
||||
dependencies:
|
||||
dependencies:
|
||||
- build:x86_64
|
||||
- build:aarch64
|
||||
only:
|
||||
- tags
|
||||
script:
|
||||
- find ./build/release -name "*.deb"
|
||||
- debs=( $( find ./build/release -name "*.deb" ) )
|
||||
- assets=""
|
||||
- for d in ${debs[@]};do
|
||||
- file=$( basename ${d} )
|
||||
- url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${file}"
|
||||
- assets="${assets} --assets-link {\"name\":\"${file}\",\"url\":\"${url}\",\"link_type\":\"other\"} "
|
||||
- "curl --header \"JOB-TOKEN: $CI_JOB_TOKEN\" --upload-file \"${d}\" \"${url}\""
|
||||
- done
|
||||
- echo "ASSETS_ARG=${assets}" >> assets.env
|
||||
artifacts:
|
||||
reports:
|
||||
dotenv: assets.env
|
||||
|
||||
release:
|
||||
stage: release
|
||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||
only:
|
||||
- tags
|
||||
script:
|
||||
- echo "making release!"
|
||||
- echo ${ASSETS_ARG}
|
||||
- release-cli create --name "Release ${CI_COMMIT_TAG}" --tag-name "${CI_COMMIT_TAG}" ${ASSETS_ARG}
|
7
debian/.gitignore
vendored
Normal file
7
debian/.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
*.debhelper
|
||||
*.log
|
||||
*.substvars
|
||||
/.debhelper/
|
||||
/debhelper-build-stamp
|
||||
/files
|
||||
/golang-github-wifx-gonetworkmanager-dev/
|
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
golang-github-wifx-gonetworkmanager (2.1.0-1) unstable; urgency=medium
|
||||
|
||||
* Initial debian package
|
||||
|
||||
-- Penelope Gwen <support@pogmom.me> Tue, 11 Jun 2024 14:44:53 -0600
|
62
debian/control
vendored
Normal file
62
debian/control
vendored
Normal file
|
@ -0,0 +1,62 @@
|
|||
Source: golang-github-wifx-gonetworkmanager
|
||||
Section: golang
|
||||
Priority: optional
|
||||
Maintainer: Penelope Gwen <support@pogmom.me>
|
||||
Uploaders: Penelope Gwen <support@pogmom.me>
|
||||
Rules-Requires-Root: no
|
||||
Build-Depends: debhelper-compat (= 13),
|
||||
dh-sequence-golang,
|
||||
golang-any,
|
||||
golang-dbus-dev,
|
||||
golang-github-google-uuid-dev
|
||||
Testsuite: autopkgtest-pkg-go
|
||||
Standards-Version: 4.6.2
|
||||
Homepage: https://git.pogmom.me/pogmommy/gonetworkmanager
|
||||
XS-Go-Import-Path: github.com/Wifx/gonetworkmanager
|
||||
|
||||
Package: golang-github-wifx-gonetworkmanager-dev
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Depends: golang-dbus-dev,
|
||||
golang-github-google-uuid-dev,
|
||||
${misc:Depends}
|
||||
Description: Go D-Bus bindings for NetworkManager (library)
|
||||
GoDoc (https://pkg.go.dev/github.com/Wifx/gonetworkmanager) Go build
|
||||
(https://github.com/Wifx/gonetworkmanager/actions?query=workflow%3AGo)
|
||||
.
|
||||
gonetworkmanager
|
||||
.
|
||||
Go D-Bus bindings for NetworkManager (https://networkmanager.dev/).
|
||||
.
|
||||
Usage
|
||||
.
|
||||
You can find some examples in the (/examples) directory.
|
||||
.
|
||||
External documentations
|
||||
.
|
||||
* NetworkManager D-Bus Spec
|
||||
(https://networkmanager.dev/docs/api/latest/spec.html)
|
||||
* nm-settings-dbus (https://networkmanager.dev/docs/api/latest/nm-settings-
|
||||
dbus.html)
|
||||
.
|
||||
Backward compatibility
|
||||
.
|
||||
The library is most likely compatible with NetworkManager 0.9 to 1.40.
|
||||
.
|
||||
Tests
|
||||
.
|
||||
Tested with NetworkManager 1.40.0.
|
||||
.
|
||||
There are no automated tests for this library. Tests are made manually
|
||||
on a best-effort basis. Unit tests PRs are welcome.
|
||||
.
|
||||
Development and contributions
|
||||
.
|
||||
There is no active development workforce from the maintainer. PRs are
|
||||
welcome.
|
||||
.
|
||||
Issues
|
||||
.
|
||||
Before reporting an issue, please test the scenario with nmcli (if
|
||||
possible) to ensure the problem comes from the library.
|
||||
|
106
debian/copyright
vendored
Normal file
106
debian/copyright
vendored
Normal file
|
@ -0,0 +1,106 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Source: https://github.com/Wifx/gonetworkmanager
|
||||
Upstream-Name: gonetworkmanager
|
||||
Upstream-Contact: Wifx <support@iot.wifx.net>
|
||||
|
||||
Files: *
|
||||
Copyright: 2019 Wifx
|
||||
License: The MIT License (MIT)
|
||||
.
|
||||
Copyright (c) 2019 Wifx Sàrl
|
||||
.
|
||||
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.
|
||||
.
|
||||
------------------------------------------------------------------------------
|
||||
.
|
||||
The MIT License (MIT)
|
||||
.
|
||||
Copyright (c) 2016 Bellerophon Mobile
|
||||
.
|
||||
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.
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2024 Penelope Gwen <support@pogmom.me>
|
||||
License: Opinionated Queer License
|
||||
PERMISSIONS
|
||||
.
|
||||
The creators of this Work (“The Licensor”) grant permission
|
||||
to any person, group or legal entity that doesn't violate the prohibitions below (“The User”),
|
||||
to do everything with this Work that would otherwise infringe their copyright or any patent claims,
|
||||
subject to the following conditions:
|
||||
.
|
||||
OBLIGATIONS
|
||||
.
|
||||
The User must give appropriate credit to the Licensor,
|
||||
provide a copy of this license or a (clickable, if the medium allows) link to
|
||||
oql.avris.it/license/v1.1,
|
||||
and indicate whether and what kind of changes were made.
|
||||
The User may do so in any reasonable manner,
|
||||
but not in any way that suggests the Licensor endorses the User or their use.
|
||||
.
|
||||
PROHIBITIONS
|
||||
.
|
||||
No one may use this Work for prejudiced or bigoted purposes, including but not limited to:
|
||||
racism, xenophobia, queerphobia, queer exclusionism, homophobia, transphobia, enbyphobia, misogyny.
|
||||
.
|
||||
No one may use this Work to inflict or facilitate violence or abuse of human rights as defined in the
|
||||
Universal Declaration of Human Rights.
|
||||
.
|
||||
No law enforcement, carceral institutions, immigration enforcement entities, military entities or military contractors
|
||||
may use the Work for any reason. This also applies to any individuals employed by those entities.
|
||||
.
|
||||
No business entity where the ratio of pay (salaried, freelance, stocks, or other benefits)
|
||||
between the highest and lowest individual in the entity is greater than 50 : 1
|
||||
may use the Work for any reason.
|
||||
.
|
||||
No private business run for profit with more than a thousand employees
|
||||
may use the Work for any reason.
|
||||
.
|
||||
Unless the User has made substantial changes to the Work,
|
||||
or uses it only as a part of a new work (eg. as a library, as a part of an anthology, etc.),
|
||||
they are prohibited from selling the Work.
|
||||
That prohibition includes processing the Work with machine learning models.
|
||||
.
|
||||
SANCTIONS
|
||||
.
|
||||
If the Licensor notifies the User that they have not complied with the rules of the license,
|
||||
they can keep their license by complying within 30 days after the notice.
|
||||
If they do not do so, their license ends immediately.
|
||||
.
|
||||
WARRANTY
|
||||
.
|
||||
This Work is provided “as is”, without warranty of any kind, express or implied.
|
||||
The Licensor will not be liable to anyone for any damages related to the Work or this license,
|
||||
under any kind of legal claim as far as the law allows.
|
3
debian/gbp.conf
vendored
Normal file
3
debian/gbp.conf
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[DEFAULT]
|
||||
debian-branch = debian/sid
|
||||
dist = DEP14
|
4
debian/rules
vendored
Executable file
4
debian/rules
vendored
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
%:
|
||||
dh $@ --builddirectory=_build --buildsystem=golang
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
3.0 (quilt)
|
5
debian/upstream/metadata
vendored
Normal file
5
debian/upstream/metadata
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
Bug-Database: https://github.com/Wifx/gonetworkmanager/issues
|
||||
Bug-Submit: https://github.com/Wifx/gonetworkmanager/issues/new
|
||||
Repository: https://github.com/Wifx/gonetworkmanager.git
|
||||
Repository-Browse: https://github.com/Wifx/gonetworkmanager
|
4
debian/watch
vendored
Normal file
4
debian/watch
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
version=4
|
||||
opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%@PACKAGE@-$1.tar.gz%,\
|
||||
uversionmangle=s/(\d)[_\.\-\+]?(RC|rc|pre|dev|beta|alpha)[.]?(\d*)$/$1~$2$3/" \
|
||||
https://github.com/Wifx/gonetworkmanager/tags .*/v?(\d\S*)\.tar\.gz debian
|
Reference in a new issue