This file is indexed.

/usr/bin/pkgos-infra-install-sbuild is in openstack-pkg-tools 75.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  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
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
#!/bin/sh
# This script installs a building environment using sbuild as a
# builder for the "gbp buildpackage" command line. The sbuild
# chroot uses an union FS (ie: AUFS in Jessie and Trusty,
# OverlayFS on newer kernels) as this is the fastest backend,
# and that unionFS scratch disk is stored on tmpfs, as this
# is the fastest way to run sbuild.

# Author: Thomas Goirand <zigo@debian.org>
# License: Apache-2.0

set -e
set -x

OSTACK_RELEASE=newton
BUILDER_SYS_USERNAME="jenkins"
BUILDER_HOMEDIR=/home/jenkins
GITREPO_ROOT=${WORKSPACE}

DISTRO_VENDOR=$(lsb_release --id -s | awk '{print tolower($0)}')
HOST_DISTRO_NAME=$(lsb_release -c -s)

####################
# Parse parameters #
####################
# There's 3 OS name concept concepts here:
# HOST_DISTRO_NAME: the os of the host (example: jessie, xenial)
# SBUILD_CHROOT_DISTRO_NAME: the name of the distro to setup in the chroot (example: jessie, xenial)
# SBUILD_CHROOT_NAME: the name of the chroot we want to setup (example: jessie-newton or jessie-newton-backports)
DO_EXIT="no"
for i in $@ ; do
    case "${1}" in
    "--sbuild-chroot-name")
        if [ -z "${2}" ] ; then echo "Parameter for option --sbuild-chroot-name is missing" > /dev/stderr ; DO_EXIT="yes" ; fi
        SBUILD_CHROOT_NAME="${2}"
        shift
        shift
    ;;
    "--sbuild-chroot-distro-name")
        if [ -z "${2}" ] ; then echo "Parameter for option --sbuild-chroot-distro-name is missing" > /dev/stderr ; DO_EXIT="yes" ; fi
        SBUILD_CHROOT_DISTRO_NAME="${2}"
        shift
        shift
    ;;
    esac
done

if [ -z "${SBUILD_CHROOT_NAME}" ] ; then
    SBUILD_CHROOT_NAME="${HOST_DISTRO_NAME}-${OSTACK_RELEASE}"
fi

if [ -z "${SBUILD_CHROOT_DISTRO_NAME}" ] ; then
    SBUILD_CHROOT_DISTRO_NAME=${HOST_DISTRO_NAME}
fi

if [ ${DO_EXIT} = "yes" ] ; then
    echo "Parameters not validated: will exit now!" > /dev/stderr
    exit 1
fi
########################
# End parse parameters #
########################

# Some configuration stuff
CLOSEST_DEBIAN_MIRROR=http://deb.debian.org/debian

PATH=/usr/bin:/usr/sbin:/bin:/sbin
APT="DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends"

detect_distro () {
    DISTRO_VENDOR=$(lsb_release --id -s | awk '{print tolower($0)}')
    DISTRO_NAME=$(lsb_release -c -s)
}

disable_init_start () {
    TMPFILE=$(mktemp)
    echo "#!/bin/sh

exit 101

" >${TMPFILE}
    sudo cp ${TMPFILE} /usr/sbin/policy-rc.d
    sudo chmod +x /usr/sbin/policy-rc.d
    rm ${TMPFILE}
}

enable_init_start () {
    sudo rm -f /usr/sbin/policy-rc.d
}

# This gives the closest mirror in the current cloud where we're building
calculate_nodepool_mirror_host () {
    if ! [ -r /etc/nodepool/provider ] ; then
        echo "Could not read /etc/nodepool/provider"
        exit 1
    else
        . /etc/nodepool/provider
        NODEPOOL_MIRROR_HOST=${NODEPOOL_MIRROR_HOST:-mirror.$NODEPOOL_REGION.$NODEPOOL_CLOUD.openstack.org}
        NODEPOOL_MIRROR_HOST=$(echo $NODEPOOL_MIRROR_HOST|tr '[:upper:]' '[:lower:]')
    fi
}

# This is needed to install the backported version of dpkg
add_bpo_repo_to_host () {
    calculate_nodepool_mirror_host

    echo "deb http://${NODEPOOL_MIRROR_HOST}/debian-openstack jessie-newton-backports main
deb-src http://${NODEPOOL_MIRROR_HOST}/debian-openstack jessie-newton-backports main
" >/tmp/jessie-newton-backports.list
    sudo cp /tmp/jessie-newton-backports.list /etc/apt/sources.list.d/jessie-newton-backports.list

    # Add the repo key
    echo "-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

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
xZwrZrFZAkLQ6kEKphyVA5imSQ==
=sQCo
-----END PGP PUBLIC KEY BLOCK-----" >/tmp/repo-key.gpg
    sudo apt-key add /tmp/repo-key.gpg
    rm /tmp/repo-key.gpg
    sudo apt-get update
}

install_all_software () {
    local PKGOS_INFRA_BUILD_PKG_PATH
    PKGOS_INFRA_BUILD_PKG_PATH=${GITREPO_ROOT}/build-tools/pkgos-infra-build-pkg

    echo "===> Installing required packages to run sbuild"
    sudo sed -i s/httpredir.debian.org/deb.debian.org/ /etc/apt/sources.list
    sudo apt-get update
    sudo ${APT} git-buildpackage eatmydata build-essential \
        fakeroot pristine-tar ssl-cert sudo debootstrap \
        openstack-pkg-tools lsb-release gnupg haveged

    # Since we're installing openstack-pkg-tools, this may overwrite
    # pkgos-infra-build-pkg if we're building openstack-pkg-tools itself 
    if [ -e ${PKGOS_INFRA_BUILD_PKG_PATH} ] ; then
        sudo cp ${PKGOS_INFRA_BUILD_PKG_PATH} /usr/bin
        sudo chmod +x /usr/bin/pkgos-infra-build-pkg
    fi

    # Jessie needs lintian from jessie-backports, because we are using
    # newer debhelper. New lintian prevents errors like
    # postinst-must-call-ldconfig
    if [ "${HOST_DISTRO_NAME}" = "jessie" ] ; then
        add_bpo_repo_to_host

        # Use lintian from backports
        DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends -t jessie-backports lintian
    # This code thinks anything else than jessie is higher version of lintian
    else
        DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends lintian
    fi

    # Jessie needs sbuild from jessie-backports, because it has the
    # $clean_source = 0 option
    if [ "${HOST_DISTRO_NAME}" = "jessie" ] ; then
        add_bpo_repo_to_host

        # Use sbuild from backports, as we need the $clean_source = 0 option
        DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends -t jessie-backports sbuild

        # Patch libdpkg-perl so that it ignores .gitreview files
        # This is a hack which should be replaced by a newer version of dpkg
        THISDIR=$(pwd)
        cd /usr/share/perl5/Dpkg/Source
        if [ -e /usr/share/openstack-pkg-tools/libdpkg-perl-gitreview.patch ] ; then
            patch -p1 </usr/share/openstack-pkg-tools/libdpkg-perl-gitreview.patch
        else
            patch -p1 <${THISDIR}/misc/libdpkg-perl-gitreview.patch
        fi
        cd ${THISDIR}

	# Patch libsbuild-perl (jessie bpo) so that it doesn't use the --pinentry-mode
	# option of gnupg which isn't available in Jessie
#	THISDIR=$(pwd)
#	cd /usr/share/perl5/Sbuild
#	if [ -e /usr/share/openstack-pkg-tools/libsbuild-perl-ChrootSetup.pm-hotfix.patch ] ; then
#		patch -p1 </usr/share/openstack-pkg-tools/libsbuild-perl-ChrootSetup.pm-hotfix.patch
#	else
#		patch -p1 <${THISDIR}/misc/libsbuild-perl-ChrootSetup.pm-hotfix.patch
#	fi
#	cd ${THISDIR}

    # This code thinks anything else than jessie is higher version of sbuild
    else
        DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends sbuild
    fi
}

configure_dotgitconfig () {
    git config user.name "OpenStack Package Builder"
    git config user.email "openstack-infra@lists.openstack.org"
}

# This key will be used to sign the built package
gen_package_build_key () {
    echo "===> Generating builder's GPG key to sign packages"
    if ! [ -d ${BUILDER_HOMEDIR}/.gnupg ] ; then
        mkdir -p ${BUILDER_HOMEDIR}/.gnupg
        chmod 755 ${BUILDER_HOMEDIR}/.gnupg
    fi
    mkdir -p ${BUILDER_HOMEDIR}/.gnupg
    chmod 700 ${BUILDER_HOMEDIR}/.gnupg
    chmod 700 ${BUILDER_HOMEDIR}/.gnupg
    if ! [ -r ${BUILDER_HOMEDIR}/.gnupg/gpg.conf ] ; then
        echo "keyserver hkp://pool.sks-keyservers.net
personal-digest-preferences SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
cert-digest-algo SHA256
" >${BUILDER_HOMEDIR}/.gnupg/gpg.conf
    fi
    if ! [ -r ${BUILDER_HOMEDIR}/.gnupg/pkgos-gen-key-batchfile ] ; then
        echo "
%echo Generating a basic OpenPGP key
Key-Type: RSA
Key-Length: 4096
Name-Real: Jenkins
Name-Email: ${BUILDER_SYS_USERNAME}@openstack.org
Expire-Date: 0
" >${BUILDER_HOMEDIR}/.gnupg/pkgos-gen-key-batchfile
    fi
    sudo chown -R ${BUILDER_SYS_USERNAME}:${BUILDER_SYS_USERNAME} ${BUILDER_HOMEDIR}/.gnupg
    su ${BUILDER_SYS_USERNAME} -c "gpg --gen-key --batch ${BUILDER_HOMEDIR}/.gnupg/pkgos-gen-key-batchfile"
    gpg --gen-key --batch ${BUILDER_HOMEDIR}/.gnupg/pkgos-gen-key-batchfile
}

configure_sbuild () {
    echo "===> Setting-up sbuild's GPG key"
    # Setup the gpg key for sbuild
    sudo mkdir -p /root/.gnupg
    sudo chmod 600 /root/.gnupg
    sudo gpg --list-keys
    sudo sbuild-update --keygen

    # Add the builder as a sbuild user
    sudo sbuild-adduser ${BUILDER_SYS_USERNAME}

    echo "===> Creating sbuild's schroot chroot using a directory backend (ie: not tarball)"
    # Create the actual schroot env
    if ! [ -e /var/lib/sbuild/${SBUILD_CHROOT_NAME} ] ; then
        sudo sbuild-createchroot ${SBUILD_CHROOT_DISTRO_NAME} /var/lib/sbuild/${SBUILD_CHROOT_DISTRO_NAME} ${CLOSEST_DEBIAN_MIRROR}
    fi
    if ! [ -e /var/lib/sbuild/${DISTRO_NAME} ] ; then
        sudo sbuild-createchroot ${DISTRO_NAME} /var/lib/sbuild/${DISTRO_NAME} ${CLOSEST_DEBIAN_MIRROR}
    fi

    # Let's use a RAMDISK for sbuild chroot to build packages:
    # that's much faster than the HDD backend
    echo "===> Mounting /var/lib/schroot/union/{overlay,underlay} using tmpfs to speed-up build"
    TMPFILE=$(mktemp)
    cp /etc/fstab ${TMPFILE}
    echo "tmpfs           /var/lib/schroot/union/overlay        tmpfs defaults        0       0
tmpfs           /var/lib/schroot/union/underlay        tmpfs defaults        0       0" >>${TMPFILE}
    sudo cp ${TMPFILE} /etc/fstab
    rm ${TMPFILE}
    sudo mount /var/lib/schroot/union/overlay
    sudo mount /var/lib/schroot/union/underlay

    echo "===> Fixing-up newly created schroot's chroot config and /etc/git-buildpackage/gbp.conf"
    # Make sure git-buildpackage is using sbuild
    sudo sed -i 's/^[ #\t]*builder[ #\t]*=.*/builder = sbuild -v --no-apt-update/' /etc/git-buildpackage/gbp.conf
    # Disable clean outside of the chroot (note: this actually doesn't work due to a bug,
    # but let's keep it there still, when we found out how to fix git-buildpackage).
    sudo sed -i 's/^[ #\t]*cleaner[ #\t]*=.*/cleaner = \/bin\/true/' /etc/git-buildpackage/gbp.conf

    # Fix from jessie to jessie-newton
    # or jessie to jessie-newton-backports
    if ! [ "${SBUILD_CHROOT_NAME}" = "${SBUILD_CHROOT_DISTRO_NAME}" ] ; then
        # Fetch the full chroot.d filename
        SBUILD_SRC_NAME=$(ls /etc/schroot/chroot.d/${SBUILD_CHROOT_DISTRO_NAME}-amd64-sbuild-*)
        SBUILD_CHROOTD_FN=$(echo ${SBUILD_SRC_NAME} | sed s/${SBUILD_CHROOT_DISTRO_NAME}/${SBUILD_CHROOT_NAME}/)

        mv ${SBUILD_SRC_NAME} ${SBUILD_CHROOTD_FN}
        sed -i s/${SBUILD_CHROOT_DISTRO_NAME}-amd64-sbuild/${SBUILD_CHROOT_NAME}-amd64-sbuild/ ${SBUILD_CHROOTD_FN}
        mv /var/lib/sbuild/${SBUILD_CHROOT_DISTRO_NAME} /var/lib/sbuild/${SBUILD_CHROOT_NAME}
        sed -i "s#/var/lib/sbuild/${SBUILD_CHROOT_DISTRO_NAME}#/var/lib/sbuild/${SBUILD_CHROOT_NAME}#" ${SBUILD_CHROOTD_FN}
    fi
    # Fetch the full chroot.d filename
    SBUILD_CHROOTD_FN=$(ls /etc/schroot/chroot.d/${DISTRO_NAME}-amd64-sbuild-*)

    # Switch from tarball to directory (ie: aufs) based build
    # (again, that's much faster...)
    sudo sed -i -e "s/^[ \t]*type[ \t]*=.*/type=directory/" ${SBUILD_CHROOTD_FN}
    # Tell that we'd like to use AUFS as backend for union FS
    # note that for Stretch and Xenial, we should switch to overlay instead
    case ${HOST_DISTRO_NAME} in
    jessie|trusty)
        UNION_TYPE=aufs
    ;;
    *)
        UNION_TYPE=overlay
    ;;
    esac
    if ! grep -q union-type ${SBUILD_CHROOTD_FN} ; then
        TMPFILE=$(mktemp)
        cp ${SBUILD_CHROOTD_FN} ${TMPFILE}
        echo "union-type=${UNION_TYPE}" >>${TMPFILE}
        sudo cp ${TMPFILE} ${SBUILD_CHROOTD_FN}
        rm ${TMPFILE}
    fi
    # Just to make sure in case union-type was there already (it's normally not there),
    # we overwrite it.
    sudo sed -i -e "s/^[ \t]*union-type[ \t]*=.*/union-type=${UNION_TYPE}/" ${SBUILD_CHROOTD_FN}

    # Configure ~/.sbuildrc to use our new sbuild chroot
    GPG_KEY_ID=$(su jenkins -c "gpg --list-keys ${BUILDER_SYS_USERNAME}" | grep ^pub | awk '{print $2}' | cut -d/ -f2)
    GPG_KEY_ID=$(gpg --list-keys ${BUILDER_SYS_USERNAME} | grep ^pub | awk '{print $2}' | cut -d/ -f2)
    DOT_SBUILDRC_PATH=${BUILDER_HOMEDIR}/.sbuildrc
    if ! [ -r "${DOT_SBUILDRC_PATH}" ] ; then
        echo "\$build_arch_all = 1;
\$build_source = 1;
\$distribution = '"${SBUILD_CHROOT_NAME}"';
# We may run lintian by hand later on
# not need to get git-buildpackage to do it
\$run_lintian = 0;

# We don't want to run clean of source tree before
# entering the chroot, because that would mean we need
# some of the build dependencies.
\$clean_source = 0;

# Needed for sbuild to show output in deb-auto-backports
\$verbose = 1;

# In case we decide to no sign packages, uncomment this:
#\$pgp_options = '-us -uc';

\$key_id = '${GPG_KEY_ID}';

# Needed for example for python-glance-store, which as in
# build-depends-indep: python3-all (>= 3.5) | python3-enum34
\$resolve_alternatives = 1;

# This is for perl, just leave it...
1;
" >${DOT_SBUILDRC_PATH}
    fi

    # Add our repos to the sbuild chroot
    echo "deb http://${NODEPOOL_MIRROR_HOST}/debian-openstack jessie-newton-backports main
deb-src http://${NODEPOOL_MIRROR_HOST}/debian-openstack jessie-newton-backports main
" >/tmp/jessie-newton-backports.list
    sudo cp /tmp/jessie-newton-backports.list /var/lib/sbuild/${SBUILD_CHROOT_NAME}/etc/apt/sources.list.d/jessie-newton-backports.list
    echo "deb http://${NODEPOOL_MIRROR_HOST}/debian-openstack jessie-newton main
deb-src http://${NODEPOOL_MIRROR_HOST}/debian-openstack jessie-newton main
" >/tmp/jessie-newton.list
    sudo cp /tmp/jessie-newton.list /var/lib/sbuild/${SBUILD_CHROOT_NAME}/etc/apt/sources.list.d/jessie-newton.list
    # Add the repo key
    echo "-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

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
xZwrZrFZAkLQ6kEKphyVA5imSQ==
=sQCo
-----END PGP PUBLIC KEY BLOCK-----" >/tmp/repo-key.gpg
    sudo cp /tmp/repo-key.gpg /var/lib/sbuild/${SBUILD_CHROOT_NAME}/repo-key.gpg
    sudo chroot /var/lib/sbuild/${SBUILD_CHROOT_NAME} apt-key add /repo-key.gpg
    rm /tmp/repo-key.gpg /var/lib/sbuild/${SBUILD_CHROOT_NAME}/repo-key.gpg
    sudo sbuild-update -udcar ${SBUILD_CHROOT_NAME}
}

detect_distro
disable_init_start
install_all_software
configure_dotgitconfig
gen_package_build_key
configure_sbuild
enable_init_start