From 40525caa1a3072f44e034c1c17b311f55c6e2367 Mon Sep 17 00:00:00 2001 From: Alex Doyle Date: Thu, 24 Dec 2020 04:52:55 -0800 Subject: [PATCH] Version 2.2.0 Updated version and documentation to refernence new Makefile targets for building a deb from the master branch. --- ChangeLog | 12 +- README.md | 9 +- docs/GettingStarted.md | 41 +- docs/due.1 | 395 +++++++++++------- docs/manpage-due-1.md | 2 +- libdue | 2 +- .../install-config-common-lib.template | 12 +- 7 files changed, 291 insertions(+), 182 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5fcac14..333f689 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,19 @@ +due (2.2.0-1) unstable; urgency=medium + + * Version bump to 2.2.0 + * debian/master debian/changelog set from master ChangeLog + * libdue: Initial support to run under Red Hat Linux + * Makefile: debian package build target, help + * README.md: installation update + + -- Alex Doyle Sun, 21 Dec 2020 21:21:21 -0700 + due (2.1.0-1) unstable; urgency=medium * debian-package: duebuild now builds binaries by default, not source as well. * debian-package: fixed incorrect examples in help-examples. * debian-package: --use-local-repo now usues due-manage-local-repo.sh. - * debian-package: added due-manage-local-repo.sh to let the user add/remove local pacakges.o + * debian-package: added due-manage-local-repo.sh to let the user add/remove local pacakges. * debian-package: README.md - updated with due-manage-local-repo.sh documentation. * debian-package: duebuild - better error handling on dependency install fails. * common-templates: c-add-docker-user script will add user to docker group, if it exists diff --git a/README.md b/README.md index 76968be..9df71ec 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,9 @@ DUE is a wrapper for Docker to create easy to use build environments. -## Type the following to configure DUE to build as a Debian package: -1. `git checkout master` -2. `make orig.tar` -3. `git checkout debian/master` -...and use a Debian build environment to build. If you need one, see: -**./docs/GettingStarted.md** to have DUE create one for you. - ## The TL:DR -Docker image for your desired Debian based operating system +Start with a Docker image for your desired Debian based operating system **+** DUE configuration utilities **+** diff --git a/docs/GettingStarted.md b/docs/GettingStarted.md index 8424069..118bee6 100644 --- a/docs/GettingStarted.md +++ b/docs/GettingStarted.md @@ -6,8 +6,13 @@ are start and end with back ticks like `this`. If you are using a Markdown viewe **The point** If you cut and paste from this file, do not copy the `s +# Installing from a .deb +If you have a .deb file of DUE that was installed with Apt, skip to **A Practical Example** below. +If it is just a deb file, `sudo dpkg -i due_*deb` and resolve missing dependencies using Apt. -# Install DUE's software dependencies +# Installing from a Git checkout + +## Install DUE's software dependencies To run DUE from the source directory, you will need to install the following packages: * docker.io (docker.ce works as well) @@ -18,36 +23,41 @@ packages: * curl * and maybe pandoc, if you plan on updating the man pages. -From the Master Git branch, you can also run `make install` as root and it will try to install these packages. +Running `make install` from the `master` Git branch as root will attepmpt to install these packages for both Debian and Red Hat Linux. -If you are using a Debian based Linux, like Ubuntu `sudo apt-get update; sudo apt-get install git docker.io` will handle this. +## Add yourself to the Docker group Once Docker is installed, add yourself to the docker group with: `sudo /usr/sbin/usermod -a -G docker $(whoami)` You will probably have to log out and back in for your new membership to take effect. -If you have downloaded DUE as source from it's GitHub page (https://github.com/CumulusNetworks/DUE) you can run it by invoking it with a ./ +## Run DUE locally with ./due +If DUE is invoked with a ./, it will use the copy of `due` in the local directory (as expected) and use the template files that are under the local directory. This allows users to try it out without installing it on their systems. + **Ex:** `./due` +## Installing DUE +The preferred method of installing DUE is to build a .deb of it, using the debian/master branch and install the deb. +Alternately, typing `make install` as `root` from the master Git branch will install DUE files in the system, which is currently the easiest way to install DUE in a Red Hat Linux system. # A Practical Example: create an image and build DUE as a Debian package DUE can be used to build itself as a Debian package. 1. Start with DUE's `master` Git branch. -2. `make orig.tar` -3. Use Git to check out DUE's debian/master branch - `git checkout debian/master` - You should see that there is now a "debian" directory. -4. Create a Debian package build container, using an example from `due --create help`. +2. Create a Debian package build container, using an example from `./due --create help`. If you are using Ubuntu, this might look like: `./due --create --from ubuntu:18.04 --description "Package Build for Ubuntu 18.04" --name pkg-u-18.04 --prompt PKGU1804 --tag pkg-ubuntu-18.04 --use-template debian-package` **TIP** `--filter` term can be used with `due --create --help` to limit the output to entries that match the term. -5. Once image creation has finished, tell DUE to run a build, and pick your Debian package build container. - `due --build` <- Will let you choose your image, if there is more than one. -Or specify the image to use with: -`due --run-image due-pkg-u-18.04:pkg-ubuntu-18.04 --build` <- build using `due-pkg-u-18.04` image with tag `pkg-ubuntu-18.04` - +3. At this point you can type `make debian-package`and the makefile will: +3a. `make orig.tar` +3b. `git checkout debian/master` +3c. `due --build` +3d. Ask you to choose the image to build with, if you have more than one. +3e. Build the .deb, leaving it in the parent directory of DUE. +3f. ...and check out the `master` Git branch again. +...or you can run those steps individually. + Once the build completes, there should be a due*.deb in the directory above where you just built. This can be installed with: `sudo dpkg -i due_*all.deb` @@ -77,6 +87,9 @@ the role of the container, as this may not be obvious. The Ubuntu package build ..And that's the basics of using DUE to create and run containers. + +**TIP** You can specify the image to use with `--run-image`: +**Ex:** `due --run-image due-pkg-u-18.04:pkg-ubuntu-18.04 --build` <- build using `due-pkg-u-18.04` image with tag `pkg-ubuntu-18.04` The rest of this document will get in to using specific types of containers, and how you can create and debug your own. **TIP** Take a look at the README.md files under the `./templates` directory as well. diff --git a/docs/due.1 b/docs/due.1 index 759d14b..43aa21e 100644 --- a/docs/due.1 +++ b/docs/due.1 @@ -1,38 +1,35 @@ -.\" Automatically generated by Pandoc 2.9.2.1 +.\" Automatically generated by Pandoc 1.19.2.4 .\" -.TH "DUE" "1" "" "Version 2.1.0" "Dedicated User Environment" +.TH "DUE" "1" "" "Version 2.2.0" "Dedicated User Environment" .hy .SH NAME .PP -\f[B]due\f[R] - Dedicated User Environment. +\f[B]due\f[] \- Dedicated User Environment. A build environment for your build environments. .SH SYNOPSIS .PP -\f[B]due\f[R] [\f[B]-r|\[en]run\f[R] \f[I]args\f[R]] -[\f[I]dedication\f[R]] +\f[B]due\f[] [\f[B]\-r|\-\-run\f[] \f[I]args\f[]] [\f[I]dedication\f[]] .PD 0 .P .PD -\f[B]due\f[R] [ \f[B]\[en]create\f[R] \f[I]args\f[R] ] -[\f[I]dedication\f[R]] +\f[B]due\f[] [ \f[B]\-\-create\f[] \f[I]args\f[] ] [\f[I]dedication\f[]] .PD 0 .P .PD -\f[B]due\f[R] [ \f[B]\[en]delete\f[R] \f[I]term\f[R] ] -[\f[I]dedication\f[R]] +\f[B]due\f[] [ \f[B]\-\-delete\f[] \f[I]term\f[] ] [\f[I]dedication\f[]] .PD 0 .P .PD -\f[B]due\f[R] [\f[B]-m\f[R]|\f[B]\[en]manage\f[R] \f[I]args\f[R]] -[\f[I]dedication\f[R]] +\f[B]due\f[] [\f[B]\-m\f[]|\f[B]\-\-manage\f[] \f[I]args\f[]] +[\f[I]dedication\f[]] .PD 0 .P .PD -\f[B]due\f[R] [\f[B]-v\f[R]|\f[B]\[en]version\f[R]] +\f[B]due\f[] [\f[B]\-v\f[]|\f[B]\-\-version\f[]] .PD 0 .P .PD -\f[B]due\f[R] [\f[B]-h\f[R]|\f[B]\[en]help\f[R]] +\f[B]due\f[] [\f[B]\-h\f[]|\f[B]\-\-help\f[]] .SH DESCRIPTION .PP DUE is a set of wrapper scripts for both creating Docker container based @@ -41,70 +38,88 @@ the user can feel like they are still on the host system. .PP Key features include: .PP -1 - Creating an account in the container for the user at run time and -mounting the user\[cq]s home/work directory so configuration files are +1 \- Creating an account in the container for the user at run time and +mounting the user\[aq]s home/work directory so configuration files are available. .PP -2 - List based browsing of images to run and active containers to log in -to. +2 \- List based browsing of images to run and active containers to log +in to. .PP -3 - Use of container `templates' to pre configure and build containers -for a particular target or Debian based operating system, eliminating -errors caused by missing dependencies, or misconfiguration. +3 \- Use of container \[aq]templates\[aq] to pre configure and build +containers for a particular target or Debian based operating system, +eliminating errors caused by missing dependencies, or misconfiguration. .PP -4 - Commands can be run using the container without having to log into +4 \- Commands can be run using the container without having to log into it, allowing for use in automated build environments. .SS Functional Options .PP Each of these options has context specific help and sub commands .TP --r, \[en]run +.B \-r, \-\-run Start new containers. +.RS +.RE .TP -\[en]build, \[en]duebuild -Execute container\[cq]s /usr/local/bin/duebuild script in current +.B \-\-build, \-\-duebuild +Execute container\[aq]s /usr/local/bin/duebuild script in current directory. -See the \[en]run section for more. +See the \-\-run section for more. +.RS +.RE .TP -\[en]create +.B \-\-create Make and configure new Docker images. +.RS +.RE .TP -\[en]delete +.B \-\-delete Delete existing Docker images that match the term. +.RS +.RE .TP --m, \[en]manage +.B \-m, \-\-manage Manipulate and query existing images. +.RS +.RE .TP --h, \[en]help +.B \-h, \-\-help Usage information. +.RS +.RE .TP --v, \[en]version -Print DUE\[cq]s version number. -.SS \[en]run options +.B \-v, \-\-version +Print DUE\[aq]s version number. +.RS +.RE +.SS \-\-run options .PP -These options are available after the \[en]run argument, and relate to +These options are available after the \-\-run argument, and relate to starting and logging in to containers. .SS Starting an image .TP --i, \[en]run-image [filter] +.B \-i, \-\-run\-image [filter] Allows the user to reduce the number of images shown to run by restricting them to entries that contain [filter]. If only one image matches the filter, it will be invoked without asking the user to choose it. +.RS +.RE .TP --a, \[en]all +.B \-a, \-\-all Show all containers on the system. DUE can be used to log in to containers that it did not create, but the -user may have to supply a default \[en]username and \[en]userid (usually -\[en]username root and \[en]userid 0. +user may have to supply a default \-\-username and \-\-userid (usually +\-\-username root and \-\-userid 0. See below ) +.RS +.RE .TP -\[en]ignore-type +.B \-\-ignore\-type .IP .nf \f[C] - When accessing the container, do not attempt to create a user -\f[R] +\ When\ accessing\ the\ container,\ do\ not\ attempt\ to\ create\ a\ user +\f[] .fi .RS account for the user logging in, and assume the container was not @@ -112,15 +127,14 @@ created by DUE. This can be useful with image creation debug. .RE .TP --c, \[en]command [cmd] -Run [cmd] in the container using the \[en]login-shell. +.B \-c, \-\-command [cmd] +Run [cmd] in the container using the \-\-login\-shell. This must be the last command parsed, as [cmd] is handed off to be run in the container. The primary use of this would be using the container to build without having to interactively log in to it. -Note: when issuing multiple commands, remember to \[dq]\[dq] your -arguments, and backslash () any semicolons (;) used to split up the -commands. +Note: when issuing multiple commands, remember to "" your arguments, and +backslash () any semicolons (;) used to split up the commands. Otherwise the shell where the commands are invoked will take anything after the first ;, and treat it as a command to be run locally. This can obfuscate things if the command can work inside or out of the @@ -129,228 +143,307 @@ container. .P .PD Example: look at /proc and the password file in a container: ./due -\[en]run \[en]command \[lq]ls -lrt /proc\[rq] ; \[lq]cat -/etc/passwd\[rq] +\-\-run \-\-command "ls \-lrt /proc" ; "cat /etc/passwd" +.RS +.RE .TP -\[en]build | \[en]duebuild +.B \-\-build | \-\-duebuild If there is a /usr/local/bin/duebuild script in the container, this option will run it with a default configuration, or take additional passed arguments if present. Those arguments will vary depending on the nature of the target being -built by the container\[cq]s duebuild script. +built by the container\[aq]s duebuild script. For more information, check the template/README.md for the image type, -or use: due \[en]duebuild \[en]help to select a container and get its -duebuild script\[cq]s help options directly. -.TP -\[en]duebuild -Same behavior as \[en]build, but a bit clearer that it is working with -the selected container\[cq]s duebuild script. -One notable difference is that due \[en]duebuild \[en]help will select a -container and execute duebuild \[en]help to see the options provided by +or use: due \-\-duebuild \-\-help to select a container and get its +duebuild script\[aq]s help options directly. +.RS +.RE +.TP +.B \-\-duebuild +Same behavior as \-\-build, but a bit clearer that it is working with +the selected container\[aq]s duebuild script. +One notable difference is that due \-\-duebuild \-\-help will select a +container and execute duebuild \-\-help to see the options provided by that particular script. +.RS +.RE .TP -\[en]dockerarg [arg] +.B \-\-dockerarg [arg] Put [arg] in the docker run invocation. -For multiple arguments, use multiple invocations of \[en]dockerarg. -This allows for things like running containers with \[en]privileged +For multiple arguments, use multiple invocations of \-\-dockerarg. +This allows for things like running containers with \-\-privileged +.RS +.RE .TP -\[en]debug -Sets defaults of \[en]username root \[en]userid 0 and the \[en]any -option to show images that were not created by DUE. +.B \-\-debug +Sets defaults of \-\-username root \-\-userid 0 and the \-\-any option +to show images that were not created by DUE. Helpful for internal debug if image creation dies running internal configuration scripts. +.RS +.RE .TP -\[en]container-name name +.B \-\-container\-name name (#name) Change the name of the running container. This can provide clarity in a build automation environment, where containers may be automatically spun up. -Note that if the new name does not have `due' in it, it will be filtered -out from DUE\[cq]s \[en]login option unless \[en]all is also provided. +Note that if the new name does not have \[aq]due\[aq] in it, it will be +filtered out from DUE\[aq]s \-\-login option unless \-\-all is also +provided. This may or may not be desirable behavior. +.RS +.RE .TP -\[en]home-dir [host path] +.B \-\-home\-dir [host path] Absolute path to a directory to use as the home directory when the user logs in. -Defaults to the user\[cq]s home directory unless overridden with this +Defaults to the user\[aq]s home directory unless overridden with this argument, or set otherwise in /etc/due/due.conf, or -\[ti]/config/due/due.conf +~/config/due/due.conf +.RS +.RE .TP -\[en]mount-dir [hp:cp] +.B \-\-mount\-dir [hp:cp] Mount absolute path on host system (hp) at absolute path in container. The colon (:) is necessary to separate the two. -Multiple \[en]mount-dir commands can be used in a single invocation. -Example: mount host /tmp dir in container /var/build: \[en]mount-dir +Multiple \-\-mount\-dir commands can be used in a single invocation. +Example: mount host /tmp dir in container /var/build: \-\-mount\-dir /tmp/:var/build +.RS +.RE .SS Logging in to a running container .TP --l, \[en]login +.B \-l, \-\-login Choose an existing container to log in to. +.RS +.RE .TP -\[en]username [username] +.B \-\-username [username] Name to use when logging in. +.RS +.RE .TP -\[en]userid [id#] +.B \-\-userid [id#] User ID to use when logging in. +.RS +.RE .TP -\[en]groupname [groupname] -Container user\[cq]s default group +.B \-\-groupname [groupname] +Container user\[aq]s default group +.RS +.RE .TP -\[en]groupid [id#] -ID of container user\[cq]s group +.B \-\-groupid [id#] +ID of container user\[aq]s group +.RS +.RE .TP -\[en]login-shell [path] +.B \-\-login\-shell [path] Program to use as login +.RS +.RE .TP -\[en]help-runtime +.B \-\-help\-runtime Invoke runtime help +.RS +.RE .TP -\[en]help-runtime-examples +.B \-\-help\-runtime\-examples Show examples of use -.SS \[en]create options +.RS +.RE +.SS \-\-create options .PP -These options are accessed after the \[en]create argument, and, +These options are accessed after the \-\-create argument, and, predictably enough, relate to creating new images. .SS Creation Overview .PP Containers created by DUE will always have files from -\&./templates/common-templates in every image. -The primary example of this is the \f[B]container-create-user.sh\f[R] +\&./templates/common\-templates in every image. +The primary example of this is the \f[B]container\-create\-user.sh\f[] script that sets up an account for the user in the container, and allows commands to be run in the container as if it was the user invoking them. .PP -The order of creation is as follows, using the debian-package template +The order of creation is as follows, using the debian\-package template as an example, where the resulting image will be named -`debian-package-10' +\[aq]debian\-package\-10\[aq] .PP -1 - The contents of common-templates are copied to a -debian-package-10-template-merge directory under ./due-build-merge/ +1 \- The contents of common\-templates are copied to a +debian\-package\-10\-template\-merge directory under +\&./due\-build\-merge/ .PD 0 .P .PD -2 - The contents of the debian-package template directory copied in to -the debian-package-10-template-merge directory and will overwrite any -files with identical names. +2 \- The contents of the debian\-package template directory copied in to +the debian\-package\-10\-template\-merge directory and will overwrite +any files with identical names. .PD 0 .P .PD -3 - Any REPLACE_ fields in the template files are replaced with values +3 \- Any REPLACE_ fields in the template files are replaced with values supplied from the command line (such as the starting container image) -and all files are copied to ./due-build-merge/debian-package-10 +and all files are copied to ./due\-build\-merge/debian\-package\-10 .PD 0 .P .PD -4 - The ./due-build-merge/debian-package-10/Dockerfile.create file is -used to create the image from this build directory. +4 \- The ./due\-build\-merge/debian\-package\-10/Dockerfile.create file +is used to create the image from this build directory. .SS Creation tips .PP Quick image changes can be made by editing the build directory ( -\&./due-build-merge/debian-package-10 ) and re running ./due \[en]create -\[en]build-dir ./due-build-merge/debian-package-10 +\&./due\-build\-merge/debian\-package\-10 ) and re running ./due +\-\-create \-\-build\-dir ./due\-build\-merge/debian\-package\-10 .PP -The final image will hold a /due-configuration directory, which holds +The final image will hold a /due\-configuration directory, which holds everything that went into the image. This is very useful for install script debug inside the container. .SS Creation example .PP -1 - Configure an image build directory under due-build-merge named from -\[en]name Mandatory: +1 \- Configure an image build directory under due\-build\-merge named +from \-\-name Mandatory: .TP -\[en]from [name:tag] +.B \-\-from [name:tag] Pull name:tag from registry to use as starting point for the image. +.RS +.RE .TP -\[en]use-template [role] +.B \-\-use\-template [role] Use files from templates/[role] to generate the config directory. +.RS +.RE .TP -\[en]description \[lq]desc\[rq] +.B \-\-description "desc" Quoted string to describe the container on login. +.RS +.RE .TP -\[en]name name +.B \-\-name name (#name) Name for resulting image and config directory. -Ex: debian-stretch-build, ubuntu-18.04-build, etc +Ex: debian\-stretch\-build, ubuntu\-18.04\-build, etc +.RS +.RE .PP Optional: .TP -\[en]prompt [prompt] +.B \-\-prompt [prompt] Set in container prompt to [prompt] to provide user context +.RS +.RE .TP -\[en]no-image -With \[en]create, allow directories to be created, but do not try to +.B \-\-no\-image +With \-\-create, allow directories to be created, but do not try to build the image. -Effectively stops use of \[en]dir. +Effectively stops use of \-\-dir. Useful for debugging directory configuration issues. +.RS +.RE .TP -\[en]filter [term] -With \[en]create \[en]help, filter examples to contain [term]. +.B \-\-filter [term] +With \-\-create \-\-help, filter examples to contain [term]. +.RS +.RE .PP -2 - Build a Docker image from the image build directory. +2 \- Build a Docker image from the image build directory. .TP -\[en]dir [dirname] +.B \-\-dir [dirname] Build using an existing configuration directory. +.RS +.RE .TP -\[en]clean -Delete the due-build-merge staging directories. -.SS \[en]manage options +.B \-\-clean +Delete the due\-build\-merge staging directories. +.RS +.RE +.SS \-\-manage options .PP -These options are accessed after the \[en]manage argument, and can make +These options are accessed after the \-\-manage argument, and can make working with containers/images easier. .TP --l, \[en]list-images +.B \-l, \-\-list\-images List images created by DUE. +.RS +.RE .TP -\[en]stop +.B \-\-stop Use the menu interface to stop a running container. -Works with \[en]all to show containers not started by the user. -If is supplied, it will match all the user\[cq]s containers to that +Works with \-\-all to show containers not started by the user. +If is supplied, it will match all the user\[aq]s containers to that pattern and produce a script that can be edited and run to delete the listed containers. -NOTE: \[en]all \[en]stop can be used to do some serious damage. -NOTE: since all DUE containers are started with -rm, stopping a +NOTE: \-\-all \-\-stop can be used to do some serious damage. +NOTE: since all DUE containers are started with \-rm, stopping a container deletes it and all the data in it from memory. +.RS +.RE .TP -\[en]export-container name +.B \-\-export\-container name (#name) Export a running container to disk as a Docker image named name. Note that to run the saved image it must be added back to the system -with \[en]import. +with \-\-import. +.RS +.RE .TP -\[en]export-image name +.B \-\-export\-image name (#name) Save an existing Docker image as a file that can be copied elsewhere. If name is not supplied, the user can choose from a menu. +.RS +.RE .TP -\[en]import-image name +.B \-\-import\-image name (#name) Import a docker image stored on disk as tar file +.RS +.RE .TP -\[en]copy-config -Create a personal DUE configuration file in \[ti]/.config/due/due.config +.B \-\-copy\-config +Create a personal DUE configuration file in ~/.config/due/due.config +.RS +.RE .TP -\[en]make-dev-dir [dir] +.B \-\-make\-dev\-dir [dir] Populate a local directory for DUE container development. +.RS +.RE .TP -\[en]list-templates +.B \-\-list\-templates List available templates. +.RS +.RE .TP -\[en]delete-matched [term] +.B \-\-delete\-matched [term] Delete containers that contain this term. USE WITH CAUTION! +.RS +.RE .TP -\[en]docker-clean -Run `docker system prune ; docker image prune' to reclaim disk space. +.B \-\-docker\-clean +Run \[aq]docker system prune ; docker image prune\[aq] to reclaim disk +space. +.RS +.RE .TP -\[en]help-examples +.B \-\-help\-examples Examples of using management options. +.RS +.RE .SH FILES .TP -\f[I]/etc/due/due.conf\f[R] +.B \f[I]/etc/due/due.conf\f[] Global configuration file +.RS +.RE .TP -\f[I]\[ti]/.conf/due/due.conf\f[R] -Per-user default configuration file. +.B \f[I]~/.conf/due/due.conf\f[] +Per\-user default configuration file. Overrides the global one. -\f[C]due --manage --copy-config\f[R] will set that up for the user. +\f[C]due\ \-\-manage\ \-\-copy\-config\f[] will set that up for the +user. +.RS +.RE .SH ENVIRONMENT .PP The configuration file sets up the following variables: .PP -\f[C]DUE_ENV_DEFAULT_HOMEDIR\f[R] - evaled to define the user\[cq]s home +\f[C]DUE_ENV_DEFAULT_HOMEDIR\f[] \- evaled to define the user\[aq]s home directory. This can be useful if there is a naming convention for work directories on shared systems, or your home directory is an NFS mount (which can @@ -361,7 +454,7 @@ create strange behavior when mounted in Docker) or you need to use a bigger build directory. .PP -\f[C]DUE_USER_CONTAINER_LIMIT\f[R] - limit the number of containers a +\f[C]DUE_USER_CONTAINER_LIMIT\f[] \- limit the number of containers a user is allowed to run. Handy on a shared system to remind people of what they have running. This can easily be circumvented, though. @@ -373,23 +466,23 @@ See GitHub Issues: [https://github.com/[CumulusNetworks]/[DUE]/issues] Alex Doyle .SH COPYRIGHT .PP -SPDX-License-Identifier: MIT +SPDX\-License\-Identifier: MIT .PP Copyright (c) 2019,2020 Cumulus Networks, Inc. .PP Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -\[lq]Software\[rq]), 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 +"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: .PP The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. .PP -THE SOFTWARE IS PROVIDED \[lq]AS IS\[rq], WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +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, @@ -397,4 +490,4 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .SH SEE ALSO .PP -\f[B]due.conf(4)\f[R] +\f[B]due.conf(4)\f[] diff --git a/docs/manpage-due-1.md b/docs/manpage-due-1.md index d6fd103..6e76650 100644 --- a/docs/manpage-due-1.md +++ b/docs/manpage-due-1.md @@ -1,4 +1,4 @@ -% DUE(1) Version 2.1.0 | Dedicated User Environment +% DUE(1) Version 2.2.0 | Dedicated User Environment # NAME diff --git a/libdue b/libdue index 5483e0e..3435207 100644 --- a/libdue +++ b/libdue @@ -13,7 +13,7 @@ shopt -s extglob # Documentation and changelog builds get the official version from here. -DUE_VERSION="2.1.0" +DUE_VERSION="2.2.0" # Debian packages required for DUE to run REQUIRED_PACKAGES=" docker.io rsync bsdutils git" diff --git a/templates/common-templates/install-config-common-lib.template b/templates/common-templates/install-config-common-lib.template index c25835c..ffc0b3f 100644 --- a/templates/common-templates/install-config-common-lib.template +++ b/templates/common-templates/install-config-common-lib.template @@ -1,5 +1,5 @@ # /bin/bash syntax -# DUE_VERSION_COMPATIBILITY_TRACKING=1.0.0 +# DUE_VERSION_COMPATIBILITY_TRACKING=1.0.0 # SCRIPT_PURPOSE: Run configuration inside the docker container, after package install. # Bash should be installed at this point. @@ -66,7 +66,7 @@ function fxnPostInstallCommon() # echo "" echo "$0 Copying files in container $CONF_DIR into /" - + # Using --update gets around files being busy, like qemu-static cp -ar --update ${CONF_DIR}/* / if [ $? != 0 ];then @@ -98,9 +98,9 @@ function fxnInstallSourcesList() fi if [ -e ${CONF_DIR}/etc/apt/sources.list.d/ ];then - echo "$0 Adding additional sources.list file(s) to /etc/apt/sources.list.d" + echo "$0 Adding additional sources.list file(s) to /etc/apt/sources.list.d" cp ${CONF_DIR}/etc/apt/sources.list.d/* /etc/apt/sources.list.d/ - ls -l ${CONF_DIR}/etc/apt/sources.list.d/* + ls -l ${CONF_DIR}/etc/apt/sources.list.d/* fi } @@ -112,13 +112,13 @@ function fxnInstallAptKeys() { if [ -e "${CONF_DIR}/etc/apt/trusted.gpg.d" ];then echo "$0 Adding new gpg keys to apt. This may be slow." - cp ${CONF_DIR}/etc/apt/trusted.gpg.d/* /etc/apt/trusted.gpg.d/ + cp ${CONF_DIR}/etc/apt/trusted.gpg.d/* /etc/apt/trusted.gpg.d/ apt-key add ${CONF_DIR}/etc/apt/trusted.gpg.d/* if [ $? != 0 ];then echo "$0 ERROR! Failed running apt-key add of $( ls -l ${CONF_DIR}/etc/apt/trusted.gpg.d/ )" exit 1 fi - ls -l ${CONF_DIR}/etc/apt/trusted.gpg.d/ + ls -l ${CONF_DIR}/etc/apt/trusted.gpg.d/ fi }