propellor-3.2.3: property-based host configuration management in haskell

Safe HaskellNone
LanguageHaskell98

Propellor.Property.Apt

Synopsis

Documentation

sourcesList :: FilePath Source #

type Url = String Source #

type Section = String Source #

backportSuite :: DebianSuite -> Maybe String Source #

debLine :: String -> Url -> [Section] -> Line Source #

securityUpdates :: SourcesGenerator Source #

Only available for Stable and Testing

stdSourcesList :: Property Debian Source #

Makes sources.list have a standard content using the Debian mirror CDN, with the Debian suite configured by the os.

Since the CDN is sometimes unreliable, also adds backup lines using kernel.org.

stdSourcesList' :: DebianSuite -> [SourcesGenerator] -> Property Debian Source #

Adds additional sources.list generators.

Note that if a Property needs to enable an apt source, it's better to do so via a separate file in /etc/apt/sources.list.d/

noninteractiveEnv :: [(String, String)] Source #

update :: Property DebianLike Source #

Have apt update its lists of packages, but without upgrading anything.

upgrade :: Property DebianLike Source #

Have apt upgrade packages, adding new packages and removing old as necessary. Often used in combination with the update property.

safeUpgrade :: Property DebianLike Source #

Have apt upgrade packages, but never add new packages or remove old packages. Not suitable for upgrading acrocess major versions of the distribution.

pendingConfigured :: Property DebianLike Source #

Have dpkg try to configure any packages that are not fully configured.

type Package = String Source #

installedMin :: [Package] -> Property DebianLike Source #

Minimal install of package, without recommends.

buildDepIn :: FilePath -> Property DebianLike Source #

Installs the build deps for the source package unpacked in the specifed directory, with a dummy package also installed so that autoRemove won't remove them.

robustly :: Property DebianLike -> Property DebianLike Source #

Package installation may fail becuse the archive has changed. Run an update in that case and retry.

isInstalled :: Package -> IO Bool Source #

isInstalled' :: [Package] -> IO Bool Source #

data InstallStatus Source #

Constructors

IsInstalled 
NotInstalled 

Instances

Eq InstallStatus Source # 
Show InstallStatus Source # 

Methods

showsPrec :: Int -> InstallStatus -> ShowS

show :: InstallStatus -> String

showList :: [InstallStatus] -> ShowS

unattendedUpgrades :: RevertableProperty DebianLike DebianLike Source #

Enables unattended upgrades. Revert to disable.

periodicUpdates :: Property DebianLike Source #

Enable periodic updates (but not upgrades), including download of packages.

type DebconfTemplate = String Source #

reConfigure :: Package -> [(DebconfTemplate, DebconfTemplateType, DebconfTemplateValue)] -> Property DebianLike Source #

Preseeds debconf values and reconfigures the package so it takes effect.

serviceInstalledRunning :: Package -> Property DebianLike Source #

Ensures that a service is installed and running.

Assumes that there is a 1:1 mapping between service names and apt package names.

data AptKey Source #

Constructors

AptKey 

Fields

aptKeyFile :: AptKey -> FilePath Source #

cacheCleaned :: Property DebianLike Source #

Cleans apt's cache of downloaded packages to avoid using up disk space.

hasForeignArch :: String -> Property DebianLike Source #

Add a foreign architecture to dpkg and apt.

dpkgStatus :: FilePath Source #