Puppet Class: profile::ci::package_builder
- Defined in:
- modules/profile/manifests/ci/package_builder.pp
Overview
SPDX-License-Identifier: Apache-2.0
Class profile::ci::package_builder
Setup cow images and jenkins-debian-glue
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 |
# File 'modules/profile/manifests/ci/package_builder.pp', line 6
class profile::ci::package_builder (
Hash[Debian::Codename, Array[String]] $extra_packages = lookup('profile::ci::package_builder::extra_packages'),
) {
# Shell script wrappers to ease package building
# Package generated via the mirror operations/debs/jenkins-debian-glue.git
# jenkins-debian glue puppetization:
file { '/srv/pbuilder':
ensure => directory,
# On extended disk provided by ci::slave::labs::common
require => Mount['/srv'],
}
file { '/var/cache/pbuilder':
ensure => link,
target => '/srv/pbuilder',
require => File['/srv/pbuilder'],
}
class { '::package_builder':
# We need /var/cache/pbuilder to be a symlink to /srv
# before cowbuilder/pbuilder is installed
require => [
File['/var/cache/pbuilder'],
File['/srv/pbuilder'],
],
# Cowdancer is confused by /var/cache/pbuilder being a symlink
# causing it to fail to properly --update cow images. T125999
basepath => '/srv/pbuilder',
extra_packages => $extra_packages,
}
ensure_resource(
'apt::repository',
'component-ci',
{
'uri' => 'http://apt.wikimedia.org/wikimedia',
'dist' => "${::lsbdistcodename}-wikimedia",
'components' => 'component/ci',
'source' => false,
}
)
package { [
'jenkins-debian-glue',
'jenkins-debian-glue-buildenv',
]:
ensure => present,
require => [
Apt::Repository['component-ci'],
# cowbuilder file hierarchy needs to be created after the symlink
# points to the mounted disk.
File['/var/cache/pbuilder'],
],
}
# Buster has jenkins-debian-glue v0.20.0 and we need to patch
# lintian-junit-report so it can work with Jenkins Xunit plugin 2.x or
# later. T295719
file { '/usr/local/bin/lintian-junit-report':
source => 'puppet:///modules/profile/ci/lintian-junit-report',
owner => 'root',
group => 'root',
mode => '0555',
}
}
|