From ea7cdaf4506e59df67d046254ca8fbc86d8ecb6d Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Sun, 21 Feb 2021 21:44:15 -0700 Subject: initial Debianisation Signed-off-by: Sean Whitton --- debian/changelog | 5 ++++ debian/control | 44 ++++++++++++++++++++++++++++++++++++ debian/copyright | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ debian/docs | 2 ++ debian/info | 1 + debian/install | 1 + debian/rules | 11 +++++++++ debian/source/format | 1 + 8 files changed, 129 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/docs create mode 100644 debian/info create mode 100644 debian/install create mode 100755 debian/rules create mode 100644 debian/source/format (limited to 'debian') diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..ab15807 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +consfigurator (0.0.1-1) UNRELEASED; urgency=medium + + * Initial release. + + -- Sean Whitton Sun, 21 Feb 2021 21:25:43 -0700 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..97257b7 --- /dev/null +++ b/debian/control @@ -0,0 +1,44 @@ +Source: consfigurator +Section: admin +Priority: optional +Maintainer: Sean Whitton +Build-Depends: debhelper-compat (= 13), dh-sphinxdoc, dh-texinfo, python3-sphinx, sphinx-common +Standards-Version: 4.5.1 +Homepage: https://spwhitton.name/tech/code/consfigurator/ +Vcs-Git: https://git.spwhitton.name/consfigurator +Vcs-Browser: https://git.spwhitton.name/consfigurator +Rules-Requires-Root: no + +Package: consfigurator +Architecture: all +Depends: ${misc:Depends}, cl-alexandria, cl-ppcre, cl-interpol +Recommends: sbcl +Description: Lisp declarative configuration management system + Consfigurator is a system for declarative configuration management using + Common Lisp. You can use it to configure hosts as root, deploy services as + unprivileged users, build and deploy containers, and produce disc images. + . + Consfigurator's design gives you a great deal of flexibility about how to + control the hosts you want to configure. Input and output streams attached + to an interactive POSIX sh running on the target host (or in the target + container) is sufficient to use much of Consfigurator's functionality. But + if it is possible to get an implementation of Common Lisp started up on the + host, then Configurator can transparently execute your deployment code over + on the remote side, rather than exchanging information via POSIX sh. This + lets you use the full power of Common Lisp to deploy your configuration. + . + Configurator has convenient abstractions for combining these different ways + to execute your configuration on hosts with different ways of connecting to + them. Connections can be arbitrarily nested. For example, to combine SSHing + to a Debian machine as an unprivileged user, using sudo to become root, and + then starting up a Lisp image to execute your deployment code, you would just + evaluate (deploy (:ssh (:sudo :user "root") :debian-sbcl) foo.example.com). + . + Declarative configuration management systems like Consfigurator and Propellor + share a number of goals with projects like the GNU Guix System and NixOS. + However, tools like Consfigurator and Propellor try to layer the power of + declarative and reproducible configuration on top of traditional, + battle-tested unix system administration infrastructure like apt, dpkg, yum, + and distro package archives, rather than seeking to replace any of those. + Let's get as much as we can out of all that existing distro policy-compliant + work! diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..1d5fcce --- /dev/null +++ b/debian/copyright @@ -0,0 +1,64 @@ +Consfigurator +Lisp declarative configuration management system + +Copyright (C)2020-2021 Sean Whitton + +This program is free software: you can redistribute it and/or +modify it under the terms of the GNU General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that they will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +A copy of the GNU General Public License v3 can be found in +/usr/share/common-licenses/GPL-3. + + +Contributions are accepted upstream under the same terms; please sign +off your patches (by writing an approprite Signed-Off-By tag in your +commit message or patch submission) to indicate your attestation that +the Developer Certificate of Origin (version 1.1) applies. + + +-8<- + +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +1 Letterman Drive +Suite D4700 +San Francisco, CA, 94129 + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..b20f588 --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +README.rst +doc/_build/html diff --git a/debian/info b/debian/info new file mode 100644 index 0000000..079ff71 --- /dev/null +++ b/debian/info @@ -0,0 +1 @@ +doc/_build/texinfo/consfigurator.info diff --git a/debian/install b/debian/install new file mode 100644 index 0000000..3a0b75e --- /dev/null +++ b/debian/install @@ -0,0 +1 @@ +consfigurator.asd src usr/share/common-lisp/source/consfigurator/ diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..7e8a674 --- /dev/null +++ b/debian/rules @@ -0,0 +1,11 @@ +#!/usr/bin/make -f + +%: + dh $@ --with sphinxdoc + +override_dh_auto_build: + make -C doc html info + +override_dh_auto_clean: + find src -name "*.fasl" -delete + make -C doc clean 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) -- cgit v1.2.3