From cf9beae8d01884e44b10a55f0df8072cf1022301 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 12 Jun 2024 11:17:37 -0700 Subject: [PATCH 1/2] Add option to install pth450 support --- files/70-dracal.rules | 13 ++++++++++++ manifests/init.pp | 11 ++++++++++ manifests/pth450.pp | 48 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 files/70-dracal.rules create mode 100644 manifests/pth450.pp diff --git a/files/70-dracal.rules b/files/70-dracal.rules new file mode 100644 index 0000000..8c444cf --- /dev/null +++ b/files/70-dracal.rules @@ -0,0 +1,13 @@ +# This file is managed by Puppet; changes may be overwritten. +SUBSYSTEM=="usb", ATTR{idVendor}=="1781", ATTR{idProduct}=="0a98", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0500", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0501", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0502", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0503", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0504", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0505", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0506", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0507", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0508", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0509", GROUP="dialout", MODE="0664" +SUBSYSTEM=="usb", ATTR{idVendor}=="289b", ATTR{idProduct}=="0510", GROUP="dialout", MODE="0664" diff --git a/manifests/init.pp b/manifests/init.pp index 034515b..9b322cc 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -20,6 +20,8 @@ # True to install shutter utilities. # @param ft4232h # true or false to enable ft4232h. +# @param pth450 +# True to install Dracal USB-PTH450 sensor support. # @param pkgurl # String specifying URL to fetch sources from. # @param pkgurl_user @@ -35,6 +37,7 @@ Variant[Boolean,String] $filter_changer = false, Boolean $aiousb = false, Boolean $ft4232h = false, + Boolean $pth450 = false, Boolean $shutter = false, String $pkgurl = 'https://example.org', Variant[Sensitive[String[1]],String[1]] $pkgurl_user = Sensitive('someuser'), @@ -56,6 +59,10 @@ $opts = Hash(flatten($opts1)) + ## Frequently needed on HCUs. + ## The -devel packages in the ccs_hcu role (easier due to crb repo). + ensure_packages(['libusb']) + class { 'ccs_hcu::power': ensure => present, quadbox => $quadbox, @@ -88,4 +95,8 @@ if $aiousb { include ccs_hcu::aiousb } + + if $pth450 { + include ccs_hcu::pth450 + } } diff --git a/manifests/pth450.pp b/manifests/pth450.pp new file mode 100644 index 0000000..8fd8f5f --- /dev/null +++ b/manifests/pth450.pp @@ -0,0 +1,48 @@ +# @summary +# Install Dracal USB pth450 support. +# +# @param tarfile +# Name of tarfile to install. +# +class ccs_hcu::pth450 ( + String $tarfile = 'dracalview-client-bin-3.2.2.tar.xz', +) { + $ptitle = regsubst($title, '::.*', '', 'G') + + $bindir = '/usr/local/bin' + + archive { "/var/tmp/${tarfile}": + ensure => present, + source => "${ccs_hcu::pkgurl}/${tarfile}", + username => $ccs_hcu::pkgurl_user.unwrap, + password => $ccs_hcu::pkgurl_pass.unwrap, + extract => true, + extract_path => $bindir, + extract_command => 'tar --no-same-owner -axf %s', + cleanup => false, + user => 'root', + group => 'root', + ## It creates some other files too. + creates => "${bindir}/dracal-usb-get", + } + + ## Add udev rule to set permissions. + $udev = '70-dracal.rules' + + file { "/etc/udev/rules.d/${udev}": + ensure => 'file', + source => "puppet:///modules/${ptitle}/${udev}", + notify => Exec['udevadm pth450'], + } + + exec { 'udevadm pth450': + path => ['/usr/sbin', '/usr/bin'], + # lint:ignore:strict_indent + command => @("CMD"/L), + sh -c 'udevadm control --reload-rules && \ + udevadm trigger --type=devices --action=change' + | CMD + # lint:endignore + refreshonly => true, + } +} From cc157d9bcefcf2f92feb8358ea486483be59c6d9 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 12 Jun 2024 11:18:12 -0700 Subject: [PATCH 2/2] Regenerate REFERENCE --- REFERENCE.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/REFERENCE.md b/REFERENCE.md index 266f91a..aa26bda 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -13,6 +13,7 @@ * [`ccs_hcu::ft4232h`](#ccs_hcu--ft4232h): Add settings for FT4232H device. * [`ccs_hcu::imanager`](#ccs_hcu--imanager): Add (or remove) the iManager module. * [`ccs_hcu::power`](#ccs_hcu--power): Add (or remove) hcu shutdown utilities +* [`ccs_hcu::pth450`](#ccs_hcu--pth450): Install Dracal USB pth450 support. * [`ccs_hcu::shutter`](#ccs_hcu--shutter): Install shutter utilities. * [`ccs_hcu::vldrive`](#ccs_hcu--vldrive): Add (or remove) the lion vldrive module. @@ -38,6 +39,7 @@ The following parameters are available in the `ccs_hcu` class: * [`aiousb`](#-ccs_hcu--aiousb) * [`shutter`](#-ccs_hcu--shutter) * [`ft4232h`](#-ccs_hcu--ft4232h) +* [`pth450`](#-ccs_hcu--pth450) * [`pkgurl`](#-ccs_hcu--pkgurl) * [`pkgurl_user`](#-ccs_hcu--pkgurl_user) * [`pkgurl_pass`](#-ccs_hcu--pkgurl_pass) @@ -109,6 +111,14 @@ true or false to enable ft4232h. Default value: `false` +##### `pth450` + +Data type: `Boolean` + +True to install Dracal USB-PTH450 sensor support. + +Default value: `false` + ##### `pkgurl` Data type: `String` @@ -258,6 +268,24 @@ Boolean true on quadbox hosts Default value: `false` +### `ccs_hcu::pth450` + +Install Dracal USB pth450 support. + +#### Parameters + +The following parameters are available in the `ccs_hcu::pth450` class: + +* [`tarfile`](#-ccs_hcu--pth450--tarfile) + +##### `tarfile` + +Data type: `String` + +Name of tarfile to install. + +Default value: `'dracalview-client-bin-3.2.2.tar.xz'` + ### `ccs_hcu::shutter` Install shutter utilities.