Puppet Class: odoo::dependencies

Defined in:
manifests/dependencies.pp

Summary

Manage odoo dependencies

Overview



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'manifests/dependencies.pp', line 4

class odoo::dependencies {
  assert_private()

  package { 'num2words':
    ensure   => '0.5.10',
    provider => $odoo::pip_provider,
  }

  if versioncmp($odoo::version, '13.0') < 0 {
    # These dependencies are only listed on the Odoo 11 and Odoo 12 setup pages:
    # https://www.odoo.com/documentation/11.0/setup/install.html
    # https://www.odoo.com/documentation/12.0/setup/install.html

    case $facts.get('os.name') {
      'debian': {
        $odoo_dependencies = [
          'python3-qrcode',
          'python3-phonenumbers',
          'python3-pyldap',
          'python3-vobject',
        ]
        $odoo_pip_packages = []
      }
      'ubuntu': {
        case $facts.get('os.release.full') {
          '16.04': {
            $odoo_dependencies = [
              'libldap2-dev',
              'libsasl2-dev',
            ]

            $odoo_pip_packages = [
              'phonenumbers',
              'pyldap',
              'qrcode',
              'vobject',
            ]
          }
          '18.04': {
            $odoo_dependencies = [
              'python3-qrcode',
              'python3-phonenumbers',
              'python3-pyldap',
              'python3-vobject',
            ]

            $odoo_pip_packages = []
          }
          default: {
            warning("Please contribute support for ubuntu ${facts.get('os.release.full')}")
            $odoo_dependencies = []
            $odoo_pip_packages = []
          }
        }
      }
      default: {
        warning("Please contribute support for ${facts.get('os.name')}")
        $odoo_dependencies = []
        $odoo_pip_packages = []
      }
    }

    package { $odoo_dependencies:
      ensure => installed,
    }

    package { $odoo_pip_packages:
      ensure   => installed,
      provider => $odoo::pip_provider,
      require  => Package[$odoo_dependencies],
    }
  }

  if versioncmp($odoo::version, '11.0') >= 0 {
    # These dependencies are only listed on the Odoo 13 page:
    # https://www.odoo.com/documentation/13.0/setup/install.html
    # Odoo 10.0 depends on the python-xlwt package (old version), so install
    # the pip module on Odoo 11 and better.
    package { 'xlwt':
      ensure   => '1.3.0',
      provider => $odoo::pip_provider,
      notify   => Class['odoo::service'],
    }
  }
}