diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..fa143bf --- /dev/null +++ b/.gitlab-ci.yml @@ -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} diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 0000000..c0a4118 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,7 @@ +*.debhelper +*.log +*.substvars +/.debhelper/ +/debhelper-build-stamp +/files +/golang-github-wifx-gonetworkmanager-dev/ diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..41d834f --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +golang-github-wifx-gonetworkmanager (2.1.0-1) unstable; urgency=medium + + * Initial debian package + + -- Penelope Gwen Tue, 11 Jun 2024 14:44:53 -0600 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..402eaaa --- /dev/null +++ b/debian/control @@ -0,0 +1,62 @@ +Source: golang-github-wifx-gonetworkmanager +Section: golang +Priority: optional +Maintainer: Penelope Gwen +Uploaders: Penelope Gwen +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. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..27d2025 --- /dev/null +++ b/debian/copyright @@ -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 + +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 +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. diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..3d450c2 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,3 @@ +[DEFAULT] +debian-branch = debian/sid +dist = DEP14 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..87b8d4e --- /dev/null +++ b/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ --builddirectory=_build --buildsystem=golang 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/debian/upstream/metadata b/debian/upstream/metadata new file mode 100644 index 0000000..a016cee --- /dev/null +++ b/debian/upstream/metadata @@ -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 diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..867a621 --- /dev/null +++ b/debian/watch @@ -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