From 172b22fa9dbbb060cbc8a63620b673182557a284 Mon Sep 17 00:00:00 2001 From: Paul Grinberg Date: Tue, 6 Sep 2022 08:55:29 -0500 Subject: [PATCH] Provided Debian Packaging files PROBLEM STATEMENT: Better-enums currently does not provide a way to deliver its contents as a Debian package SOLUTION: Added Debian packaging files DETAILS: Follows the standard Debian Packaging rules. See https://www.debian.org/doc/manuals/debmake-doc/index.en.html IMPACT ANALYSIS: When making future releases, `debian/changelog` needs to be updated TESTING: - Ran `dpkg-buildpackage -us -uc -b` - Ran `dpkc -c` on resulting DEB file - Ran `lintian` on resulting DEB file - Installed resulting DEB file and compiled against it using `pkg-config --cflags better-enums` --- .gitignore | 6 ++++++ Makefile | 20 ++++++++++++++++++++ better-enums.pc | 9 +++++++++ debian/changelog | 5 +++++ debian/compat | 1 + debian/control | 17 +++++++++++++++++ debian/copyright | 7 +++++++ debian/docs | 1 + debian/examples | 1 + debian/rules | 9 +++++++++ 10 files changed, 76 insertions(+) create mode 100644 Makefile create mode 100644 better-enums.pc create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/docs create mode 100644 debian/examples create mode 100755 debian/rules diff --git a/.gitignore b/.gitignore index b641783..29b1be7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.swp *.pyc *.obj *.exe @@ -6,3 +7,8 @@ doc/html/ doc-publish/ test/cxxtest/*.cc test/build +debian/.debhelper/ +debian/better-enums0-dev.substvars +debian/better-enums0-dev/ +debian/debhelper-build-stamp +debian/files diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d7f2f68 --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +prefix = /usr +includedir = $(prefix)/include +libdir = $(prefix)/lib/$(shell dpkg-architecture | grep DEB_TARGET_MULTIARCH | awk -F= '{print $$2}') + +build: + +install: enum.h better-enums.pc + install -D -m 444 enum.h $(DESTDIR)$(includedir)/better-enums/enum.h + install -D -m 644 better-enums.pc $(DESTDIR)$(libdir)/pkgconfig/better-enums.pc + dpkg-parsechangelog | grep '^Version: ' >> $(DESTDIR)$(libdir)/pkgconfig/better-enums.pc + +clean: + rm -rf $(DESTDIR) + +deb: + dpkg-buildpackage -us -uc -b + +.PHONY: build install clean deb + +# vi: ts=8:sw=8:noai:noexpandtab:filetype=make diff --git a/better-enums.pc b/better-enums.pc new file mode 100644 index 0000000..5ac36c8 --- /dev/null +++ b/better-enums.pc @@ -0,0 +1,9 @@ +prefix=/usr +libdir=${prefix}/lib +includedir=${prefix}/include/better-enums + +Name: better_enums +Description: Reflective compile-time enum library with clean syntax, in a single header file, and without dependencies. +Requires: +Libs: +Cflags: -I${includedir} diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..30f40b6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +better-enums (0.11.3) stable; urgency=low + + * Initial Debian package release + + -- Daikin ADC Controls Dev Tue, 06 Sep 2022 09:06:05 -0500 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..371798c --- /dev/null +++ b/debian/control @@ -0,0 +1,17 @@ +Source: better-enums +Section: libdevel +Priority: optional +Maintainer: Daikin ADC Controls Dev +Build-Depends: debhelper (>= 10) +Standards-Version: 4.1.2 + +Package: better-enums0-dev +Provides: better-enums-dev +Conflicts: better-enums-dev +Section: libdevel +Architecture: any +Depends: ${misc:Depends} +Description: Files needed to develop against better-enums + This package contains include files needed to develop applications + with better-enums. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..3152daa --- /dev/null +++ b/debian/copyright @@ -0,0 +1,7 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: better-enums + +Files: * +Copyright: 2012-2021, Anton Bachin + +License: BSD 2-Clause "Simplified" License diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..b43bf86 --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +README.md diff --git a/debian/examples b/debian/examples new file mode 100644 index 0000000..5c28b36 --- /dev/null +++ b/debian/examples @@ -0,0 +1 @@ +example/101-special-values.cc example/103-bitset.cc example/104-quine.cc example/105-c++17-reflection.cc example/1-hello-world.cc example/2-conversions.cc example/3-iterate.cc example/4-switch.cc example/5-map.cc example/6-iostreams.cc example/7-safety.cc example/8-representation.cc example/9-constexpr.cc example/Makefile diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..90bdbb9 --- /dev/null +++ b/debian/rules @@ -0,0 +1,9 @@ +#!/usr/bin/make -f + +export DH_VERBOSE=1 + +VERSION := $(shell dpkg-parsechangelog | grep '^Version: ' | awk '{print $$2}') + +%: + dh $@ +