Files
puppet-klipper/manifests/install.pp
2022-09-08 21:14:13 -04:00

57 lines
1.3 KiB
Puppet

# @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',
'stm32flash',
'dfu-util',
'ibnewlib-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',
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,
}
file { $klipper::log_path:
ensure => directory,
owner => $klipper::user,
mode => '0755',
}
}