Merge pull request #5 from mdr78/main
build: initial pybuild based deb packaging
This commit is contained in:
12
Makefile
12
Makefile
@ -3,10 +3,12 @@ VPPCFG:=vppcfg
|
|||||||
PYTHON?=python3
|
PYTHON?=python3
|
||||||
PIP?=pip
|
PIP?=pip
|
||||||
PIP_DEPENDS=build yamale netaddr pylint
|
PIP_DEPENDS=build yamale netaddr pylint
|
||||||
PIP_DEPENDS+=argparse pyyaml ipaddress pyinstaller black
|
PIP_DEPENDS+=argparse pyyaml ipaddress black
|
||||||
|
WIPE=dist $(VPPCFG).egg-info .pybuild debian/vppcfg debian/vppcfg.*.log
|
||||||
|
WIPE+=debian/vppcfg.*.debhelper debian/.debhelper debian/files
|
||||||
|
WIPE+=debian/vppcfg.substvars
|
||||||
WHL_INSTALL=dist/$(VPPCFG)-$(VERSION)-py3-none-any.whl
|
WHL_INSTALL=dist/$(VPPCFG)-$(VERSION)-py3-none-any.whl
|
||||||
|
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
build:
|
build:
|
||||||
$(PYTHON) -m build
|
$(PYTHON) -m build
|
||||||
@ -19,10 +21,14 @@ install-deps:
|
|||||||
install:
|
install:
|
||||||
sudo $(PIP) install $(WHL_INSTALL)
|
sudo $(PIP) install $(WHL_INSTALL)
|
||||||
|
|
||||||
|
.PHONY: pkg-deb
|
||||||
|
pkg-deb:
|
||||||
|
dpkg-buildpackage -uc -us -b
|
||||||
|
|
||||||
.PHONY: uninstall
|
.PHONY: uninstall
|
||||||
uninstall:
|
uninstall:
|
||||||
sudo $(PIP) uninstall $(VPPCFG)
|
sudo $(PIP) uninstall $(VPPCFG)
|
||||||
|
|
||||||
.PHONY: wipe
|
.PHONY: wipe
|
||||||
wipe:
|
wipe:
|
||||||
$(RM) -rf dist $(VPPCFG).egg-info
|
$(RM) -rf $(WIPE)
|
||||||
|
@ -25,8 +25,9 @@ $ make build
|
|||||||
## Install the tool with PIP
|
## Install the tool with PIP
|
||||||
$ make install
|
$ make install
|
||||||
|
|
||||||
###
|
## To build & install debian packaging
|
||||||
|
$ make pkg-deb
|
||||||
|
$ sudo deb -i ../vppcfg_0.0.1_amd64.deb
|
||||||
```
|
```
|
||||||
|
|
||||||
## Running
|
## Running
|
||||||
|
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
vppcfg (0.0.1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Initial public release
|
||||||
|
|
||||||
|
-- Ray Kinsella <mdr@ashroe.eu> Thu, 30 Jun 2022 14:00:00 +0000
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
9
|
12
debian/control
vendored
Normal file
12
debian/control
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Source: vppcfg
|
||||||
|
Section: python
|
||||||
|
Priority: extra
|
||||||
|
Maintainer: Ray Kinsella <mdr@ashroe.eu>
|
||||||
|
Build-Depends: debhelper (>= 9), python3-all, dh-python
|
||||||
|
Standards-Version: 3.9.5
|
||||||
|
|
||||||
|
Package: vppcfg
|
||||||
|
Architecture: any
|
||||||
|
Pre-Depends: dpkg (>= 1.16.1), python3.8, ${misc:Pre-Depends}
|
||||||
|
Depends: python3-netaddr, python3-ipaddr, ${misc:Depends}
|
||||||
|
Description: A configuration tool for FD.io VPP
|
6
debian/rules
vendored
Normal file
6
debian/rules
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@ --with python3 --buildsystem=pybuild --with systemd
|
||||||
|
|
||||||
|
override_dh_auto_test:
|
13
debian/vppcfg.service
vendored
Normal file
13
debian/vppcfg.service
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=vppcfg
|
||||||
|
BindsTo=vpp.service
|
||||||
|
After=vpp.service
|
||||||
|
ConditionPathExists=/etc/vpp/config.yaml
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=vppcfg apply -c /etc/vpp/config.yaml
|
||||||
|
RemainAfterExit=yes
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -1,17 +0,0 @@
|
|||||||
[build-system]
|
|
||||||
requires = ["setuptools"]
|
|
||||||
build-backend = "setuptools.build_meta"
|
|
||||||
|
|
||||||
[project]
|
|
||||||
name = "vppcfg"
|
|
||||||
version = "0.0.1"
|
|
||||||
dependencies = [
|
|
||||||
'requests',
|
|
||||||
'importlib-metadata; python_version<"3.8"',
|
|
||||||
]
|
|
||||||
|
|
||||||
[project.scripts]
|
|
||||||
vppcfg = "vppcfg:vppcfg.main"
|
|
||||||
|
|
||||||
[options]
|
|
||||||
include_package_data = true
|
|
21
setup.py
Normal file
21
setup.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="vppcfg",
|
||||||
|
version="0.0.1",
|
||||||
|
install_requires=[
|
||||||
|
"requests",
|
||||||
|
'importlib-metadata; python_version == "3.8"',
|
||||||
|
"yamale",
|
||||||
|
"netaddr",
|
||||||
|
"ipaddress",
|
||||||
|
"vpp_papi",
|
||||||
|
],
|
||||||
|
packages=["vppcfg", "vppcfg/config", "vppcfg/vpp"],
|
||||||
|
entry_points={
|
||||||
|
"console_scripts": [
|
||||||
|
"vppcfg = vppcfg.vppcfg:main",
|
||||||
|
]
|
||||||
|
},
|
||||||
|
include_package_data=True,
|
||||||
|
)
|
Reference in New Issue
Block a user