__apt_unattended_upgrades: initial commit
This commit is contained in:
		
					parent
					
						
							
								bc1990c7c8
							
						
					
				
			
			
				commit
				
					
						94e32dcd78
					
				
			
		
					 5 changed files with 77 additions and 0 deletions
				
			
		
							
								
								
									
										74
									
								
								cdist/conf/type/__apt_unattended_upgrades/manifest
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										74
									
								
								cdist/conf/type/__apt_unattended_upgrades/manifest
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,74 @@
 | 
			
		|||
#!/bin/sh -e
 | 
			
		||||
 | 
			
		||||
__package unattended-upgrades
 | 
			
		||||
 | 
			
		||||
# in normal circumstances 20auto-upgrades is managed
 | 
			
		||||
# by debconf and it can only contain these lines
 | 
			
		||||
# https://wiki.debian.org/UnattendedUpgrades
 | 
			
		||||
 | 
			
		||||
require='__package/unattended-upgrades' \
 | 
			
		||||
    __file /etc/apt/apt.conf.d/20auto-upgrades \
 | 
			
		||||
        --owner root \
 | 
			
		||||
        --group root \
 | 
			
		||||
        --mode 644 \
 | 
			
		||||
        --source - << EOF
 | 
			
		||||
APT::Periodic::Update-Package-Lists "1";
 | 
			
		||||
APT::Periodic::Unattended-Upgrade "1";
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
# lets not write into upstream 50unattended-upgrades file,
 | 
			
		||||
# but use our own config files to avoid clashes
 | 
			
		||||
 | 
			
		||||
ml_conf='/etc/apt/apt.conf.d/51unattended-upgrades-mail'
 | 
			
		||||
bl_conf='/etc/apt/apt.conf.d/51unattended-upgrades-blacklist'
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/mail" ]
 | 
			
		||||
then
 | 
			
		||||
    mail="$( cat "$__object/parameter/mail" )"
 | 
			
		||||
else
 | 
			
		||||
    mail=''
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -n "$mail" ]
 | 
			
		||||
then
 | 
			
		||||
    if [ -f "$__object/parameter/mail-on-error" ]
 | 
			
		||||
    then
 | 
			
		||||
        mail_on_error='true'
 | 
			
		||||
    else
 | 
			
		||||
        mail_on_error='false'
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    __file "$ml_conf" \
 | 
			
		||||
        --owner root \
 | 
			
		||||
        --group root \
 | 
			
		||||
        --mode 644 \
 | 
			
		||||
        --source - << EOF
 | 
			
		||||
Unattended-Upgrade::Mail "$mail";
 | 
			
		||||
Unattended-Upgrade::MailOnlyOnError "$mail_on_error";
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
    __file "$ml_conf" --state absent
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/blacklist" ]
 | 
			
		||||
then
 | 
			
		||||
    bl='Unattended-Upgrade::Package-Blacklist {';
 | 
			
		||||
 | 
			
		||||
    while read -r l
 | 
			
		||||
    do
 | 
			
		||||
        bl="$( printf '%s\n"%s";\n' "$bl" "$l" )"
 | 
			
		||||
    done \
 | 
			
		||||
        < "$__object/parameter/blacklist"
 | 
			
		||||
 | 
			
		||||
    bl="$( printf '%s\n}' "$bl" )"
 | 
			
		||||
 | 
			
		||||
    echo "$bl" \
 | 
			
		||||
        | __file "$bl_conf" \
 | 
			
		||||
            --owner root \
 | 
			
		||||
            --group root \
 | 
			
		||||
            --mode 644 \
 | 
			
		||||
            --source -
 | 
			
		||||
else
 | 
			
		||||
    __file "$bl_conf" --state absent
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
mail-on-error
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
mail
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
blacklist
 | 
			
		||||
							
								
								
									
										0
									
								
								cdist/conf/type/__apt_unattended_upgrades/singleton
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								cdist/conf/type/__apt_unattended_upgrades/singleton
									
										
									
									
									
										Normal file
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue