Baseline install framework

This commit is contained in:
2022-09-08 20:31:57 -04:00
parent de9a0e3f72
commit 93a65223fc
7 changed files with 172 additions and 110 deletions

View File

@@ -4,5 +4,19 @@
#
# @example
# include klipper
class klipper {
#
# @param src_path The filesystem path to clone the klipper source code to
# @param version The version of klipper to install
# @param user The account to run klipper under
# @param python_dir The path to place the klipper python virtualenv
# @param config_dir The path to place klipper config files
#
class klipper (
String $version = 'present',
String $user = 'pi',
Stdlib::Absolutepath $src_path = "/home/${klipper::user}/klipper",
Stdlib::Absolutepath $python_dir = "/home/${klipper::user}/klippy-env",
Stdlib::Absolutepath $config_dir = "/home/${klipper::user}/klipper_config",
) {
contain klipper::install
}

50
manifests/install.pp Normal file
View File

@@ -0,0 +1,50 @@
# @summary Perform baseline install of Klipper
#
# @api private
#
class klipper::install {
$_packages = [
'git',
'virtualenv',
'python-dev',
'libffi-dev',
'build-essential',
'libncurses-dev',
'libusb-dev',
'avrdude',
'gcc-avr',
'binutils-avr',
'avr-libc',
'stb32flash',
'dfu-util',
'libnweb-arm-none-eabi',
'gcc-arm-none-eabi',
'binutils-arm-none-eabi',
'libusb-1.0',
]
ensure_packages($_packages)
Exec {
path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
}
vcsrepo { $klipper::src_path:
ensure => $klipper::version,
provider => 'git',
source => 'https://github.com/Klipper3d/klipper.git',
user => $klipper::user,
require => Package['git'],
}
-> exec { 'Initialize Klipper virtualenv':
command => "virtualenv -p python2 ${klipper::python_dir}",
creates => $klipper::python_dir,
user => $klipper::user,
}
~> exec { 'Install Klipper python modules':
command => "${klipper::python_dir}/bin/pip install -r ${klipper::python_dir}/scripts/klippy-requirements.txt",
refreshonly => true,
subscribe => Vcsrepo[$klipper::src_path],
user => $klipper::user,
}
}