forked from ungleich-public/cdist
		
	__debian_backports -> __apt_backports; add wider os support
As discussed in the chat, this type now supports a broader list of OSes which it supports backports for. Because of this, it was renamed to something more generic. "apt" should fit in.
This commit is contained in:
		
					parent
					
						
							
								0d96b31b56
							
						
					
				
			
			
				commit
				
					
						c4d19a2319
					
				
			
		
					 6 changed files with 49 additions and 20 deletions
				
			
		|  | @ -3,13 +3,13 @@ cdist-type__debian_backports(7) | ||||||
| 
 | 
 | ||||||
| NAME | NAME | ||||||
| ---- | ---- | ||||||
| cdist-type__debian_backports - Install backports for Debain systems | cdist-type__apt_backports - Install backports | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| DESCRIPTION | DESCRIPTION | ||||||
| ----------- | ----------- | ||||||
| This singleton type installs backports for the current Debian version. | This singleton type installs backports for the current OS release. | ||||||
| It aborts if backports are not supported for the specified os or no | It aborts if backports are not supported for the specified OS or no | ||||||
| version codename could be fetched (like Debian unstable). | version codename could be fetched (like Debian unstable). | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -27,8 +27,8 @@ state | ||||||
|     Will be directly passed to :strong:`cdist-type__apt_source`\ (7). |     Will be directly passed to :strong:`cdist-type__apt_source`\ (7). | ||||||
| 
 | 
 | ||||||
| mirror | mirror | ||||||
|     The mirror to fetch the backports from. Will defaults to the Debian default |     The mirror to fetch the backports from. Will defaults to the generic | ||||||
|     `<http://deb.debian.org/debian/>`_. |     mirror of the current OS. | ||||||
| 
 | 
 | ||||||
|     Will be directly passed to :strong:`cdist-type__apt_source`\ (7). |     Will be directly passed to :strong:`cdist-type__apt_source`\ (7). | ||||||
| 
 | 
 | ||||||
|  | @ -49,12 +49,12 @@ EXAMPLES | ||||||
| .. code-block:: sh | .. code-block:: sh | ||||||
| 
 | 
 | ||||||
|    # setup the backports |    # setup the backports | ||||||
|    __debian_backports |    __apt_backports | ||||||
|    __debian_backports --state absent |    __apt_backports --state absent | ||||||
|    __debian_backports --state present --mirror "http://ftp.de.debian.org/debian/" |    __apt_backports --state present --mirror "http://ftp.de.debian.org/debian/" | ||||||
| 
 | 
 | ||||||
|    # update |    # update | ||||||
|    require="__debian_backports" __apt_update_index |    require="__apt_backports" __apt_update_index | ||||||
| 
 | 
 | ||||||
|    # install a backports package |    # install a backports package | ||||||
|    # currently for the buster release backports |    # currently for the buster release backports | ||||||
|  | @ -70,6 +70,15 @@ Aborts if no distribuition codename could be detected. This is common for the | ||||||
| unstable distribution, but there is no backports repository for it already. | unstable distribution, but there is no backports repository for it already. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | CAVEATS | ||||||
|  | ------- | ||||||
|  | For Ubuntu, it setup all componenents for the backports repository: ``main``, | ||||||
|  | ``restricted``, ``universe`` and ``multiverse``. The user may not want to | ||||||
|  | install proprietary packages, which will only be installed if the user | ||||||
|  | explicitly uses the backports target-release. The user may change this behavior | ||||||
|  | to install backports packages without the need of explicitly select it. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
| -------- | -------- | ||||||
| `Official Debian Backports site <https://backports.debian.org/>`_ | `Official Debian Backports site <https://backports.debian.org/>`_ | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| #!/bin/sh -e | #!/bin/sh -e | ||||||
| # __debian_backports/manifest | # __apt_backports/manifest | ||||||
| # | # | ||||||
| # 2020 Matthias Stecher (matthiasstecher at gmx.de) | # 2020 Matthias Stecher (matthiasstecher at gmx.de) | ||||||
| # | # | ||||||
|  | @ -23,18 +23,34 @@ | ||||||
| # | # | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | # Get the distribution codename by /etc/os-release. | ||||||
|  | #  is already executed in a subshell by string substitution | ||||||
|  | #  lsb_release may not be given in all installations | ||||||
|  | codename_os_release() { | ||||||
|  |     # shellcheck disable=SC1090 | ||||||
|  |     . "$__global/explorer/os-release" | ||||||
|  |     printf "%s" "$VERSION_CODENAME" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| # detect backport distribution | # detect backport distribution | ||||||
| os="$(cat "$__global/explorer/os")" | os="$(cat "$__global/explorer/os")" | ||||||
| case "$os" in | case "$os" in | ||||||
|     debian) |     debian) | ||||||
|         # distribution codename from /etc/os-release |         dist="$( codename_os_release )" | ||||||
|         # lsb_release may not be given in all debian installations |         components="main" | ||||||
|         dist="$( |         mirror="http://deb.debian.org/debian/" | ||||||
|             # shellcheck disable=SC1090 |  | ||||||
|             . "$__global/explorer/os-release" |  | ||||||
|             printf "%s" "$VERSION_CODENAME" |  | ||||||
|         )" |  | ||||||
|         ;; |         ;; | ||||||
|  |     devuan) | ||||||
|  |         dist="$( codename_os_release )" | ||||||
|  |         components="main" | ||||||
|  |         mirror="http://deb.devuan.org/merged" | ||||||
|  |         ;; | ||||||
|  |     ubuntu) | ||||||
|  |         dist="$( codename_os_release )" | ||||||
|  |         components="main restricted universe multiverse" | ||||||
|  |         mirror="http://archive.ubuntu.com/ubuntu" | ||||||
|  |         ;; | ||||||
|  | 
 | ||||||
|     *) |     *) | ||||||
|         printf "Backports for %s are not supported!\n" "$os" >&2 |         printf "Backports for %s are not supported!\n" "$os" >&2 | ||||||
|         exit 1 |         exit 1 | ||||||
|  | @ -50,11 +66,16 @@ fi | ||||||
| 
 | 
 | ||||||
| # parameters | # parameters | ||||||
| state="$(cat "$__object/parameter/state")" | state="$(cat "$__object/parameter/state")" | ||||||
|  | 
 | ||||||
|  | # mirror already set for the os, only override user-values | ||||||
|  | if [ -f "$__object/parameter/mirror" ]; then | ||||||
|     mirror="$(cat "$__object/parameter/mirror")" |     mirror="$(cat "$__object/parameter/mirror")" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| # install the given backports repository | # install the given backports repository | ||||||
| __apt_source "${dist}-backports" \ | __apt_source "${dist}-backports" \ | ||||||
|     --state "$state" \ |     --state "$state" \ | ||||||
|     --distribution "${dist}-backports" \ |     --distribution "${dist}-backports" \ | ||||||
|     --component main \ |     --component "$components" \ | ||||||
|     --uri "$mirror" |     --uri "$mirror" | ||||||
|  | @ -1 +0,0 @@ | ||||||
| http://deb.debian.org/debian/ |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue