| File: | Dpkg/BuildInfo.pm |
| Coverage: | 100.0% |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | # Copyright © 2016-2022 Guillem Jover <guillem@debian.org> | ||||||
| 2 | # | ||||||
| 3 | # This program is free software; you can redistribute it and/or modify | ||||||
| 4 | # it under the terms of the GNU General Public License as published by | ||||||
| 5 | # the Free Software Foundation; either version 2 of the License, or | ||||||
| 6 | # (at your option) any later version. | ||||||
| 7 | # | ||||||
| 8 | # This program is distributed in the hope that it will be useful, | ||||||
| 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
| 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||||
| 11 | # GNU General Public License for more details. | ||||||
| 12 | # | ||||||
| 13 | # You should have received a copy of the GNU General Public License | ||||||
| 14 | # along with this program. If not, see <https://www.gnu.org/licenses/>. | ||||||
| 15 | |||||||
| 16 | =encoding utf8 | ||||||
| 17 | |||||||
| 18 - 27 | =head1 NAME Dpkg::BuildInfo - handle build information =head1 DESCRIPTION The Dpkg::BuildInfo module provides functions to handle the build information. =cut | ||||||
| 28 | |||||||
| 29 | package Dpkg::BuildInfo 1.00; | ||||||
| 30 | |||||||
| 31 | 3 3 3 | 29 7 136 | use strict; | ||||
| 32 | 3 3 3 | 7 9 241 | use warnings; | ||||
| 33 | |||||||
| 34 | our @EXPORT_OK = qw( | ||||||
| 35 | get_build_env_allowed | ||||||
| 36 | ); | ||||||
| 37 | |||||||
| 38 | 3 3 3 | 9 4 362 | use Exporter qw(import); | ||||
| 39 | |||||||
| 40 - 49 | =head1 FUNCTIONS =over 4 =item @envvars = get_build_env_allowed() Get an array with the allowed list of environment variables that can affect the build, but are still not privacy revealing. =cut | ||||||
| 50 | |||||||
| 51 | my @env_allowed = ( | ||||||
| 52 | # Toolchain. | ||||||
| 53 | qw( | ||||||
| 54 | CC | ||||||
| 55 | CPP | ||||||
| 56 | CXX | ||||||
| 57 | OBJC | ||||||
| 58 | OBJCXX | ||||||
| 59 | PC | ||||||
| 60 | FC | ||||||
| 61 | M2C | ||||||
| 62 | AS | ||||||
| 63 | LD | ||||||
| 64 | AR | ||||||
| 65 | RANLIB | ||||||
| 66 | MAKE | ||||||
| 67 | AWK | ||||||
| 68 | LEX | ||||||
| 69 | YACC | ||||||
| 70 | ), | ||||||
| 71 | # Toolchain flags. | ||||||
| 72 | qw( | ||||||
| 73 | ASFLAGS | ||||||
| 74 | ASFLAGS_FOR_BUILD | ||||||
| 75 | CFLAGS | ||||||
| 76 | CFLAGS_FOR_BUILD | ||||||
| 77 | CPPFLAGS | ||||||
| 78 | CPPFLAGS_FOR_BUILD | ||||||
| 79 | CXXFLAGS | ||||||
| 80 | CXXFLAGS_FOR_BUILD | ||||||
| 81 | OBJCFLAGS | ||||||
| 82 | OBJCFLAGS_FOR_BUILD | ||||||
| 83 | OBJCXXFLAGS | ||||||
| 84 | OBJCXXFLAGS_FOR_BUILD | ||||||
| 85 | DFLAGS | ||||||
| 86 | DFLAGS_FOR_BUILD | ||||||
| 87 | FFLAGS | ||||||
| 88 | FFLAGS_FOR_BUILD | ||||||
| 89 | LDFLAGS | ||||||
| 90 | LDFLAGS_FOR_BUILD | ||||||
| 91 | ARFLAGS | ||||||
| 92 | MAKEFLAGS | ||||||
| 93 | ), | ||||||
| 94 | # Dynamic linker, see ld(1). | ||||||
| 95 | qw( | ||||||
| 96 | LD_LIBRARY_PATH | ||||||
| 97 | ), | ||||||
| 98 | # Locale, see locale(1). | ||||||
| 99 | qw( | ||||||
| 100 | LANG | ||||||
| 101 | LC_ALL | ||||||
| 102 | LC_CTYPE | ||||||
| 103 | LC_NUMERIC | ||||||
| 104 | LC_TIME | ||||||
| 105 | LC_COLLATE | ||||||
| 106 | LC_MONETARY | ||||||
| 107 | LC_MESSAGES | ||||||
| 108 | LC_PAPER | ||||||
| 109 | LC_NAME | ||||||
| 110 | LC_ADDRESS | ||||||
| 111 | LC_TELEPHONE | ||||||
| 112 | LC_MEASUREMENT | ||||||
| 113 | LC_IDENTIFICATION | ||||||
| 114 | ), | ||||||
| 115 | # Build flags, see dpkg-buildpackage(1). | ||||||
| 116 | qw( | ||||||
| 117 | DEB_BUILD_OPTIONS | ||||||
| 118 | DEB_BUILD_PROFILES | ||||||
| 119 | ), | ||||||
| 120 | # DEB_flag_{SET,STRIP,APPEND,PREPEND} will be recorded after being merged | ||||||
| 121 | # with system config and user config. | ||||||
| 122 | # See deb-vendor(1). | ||||||
| 123 | qw( | ||||||
| 124 | DEB_VENDOR | ||||||
| 125 | ), | ||||||
| 126 | # See dpkg(1). | ||||||
| 127 | qw( | ||||||
| 128 | DPKG_ROOT | ||||||
| 129 | DPKG_ADMINDIR | ||||||
| 130 | ), | ||||||
| 131 | # See dpkg-architecture(1). | ||||||
| 132 | qw( | ||||||
| 133 | DPKG_DATADIR | ||||||
| 134 | ), | ||||||
| 135 | # See Dpkg::Vendor(3). | ||||||
| 136 | qw( | ||||||
| 137 | DPKG_ORIGINS_DIR | ||||||
| 138 | ), | ||||||
| 139 | # See dpkg-gensymbols(1). | ||||||
| 140 | qw( | ||||||
| 141 | DPKG_GENSYMBOLS_CHECK_LEVEL | ||||||
| 142 | ), | ||||||
| 143 | # See <https://reproducible-builds.org/specs/source-date-epoch>. | ||||||
| 144 | qw( | ||||||
| 145 | SOURCE_DATE_EPOCH | ||||||
| 146 | ), | ||||||
| 147 | ); | ||||||
| 148 | |||||||
| 149 | sub get_build_env_allowed { | ||||||
| 150 | 3 | 1 | 11 | return @env_allowed; | |||
| 151 | } | ||||||
| 152 | |||||||
| 153 | =back | ||||||
| 154 | |||||||
| 155 - 161 | =head1 CHANGES =head2 Version 1.00 (dpkg 1.21.14) Mark the module as public. =cut | ||||||
| 162 | |||||||
| 163 | 1; | ||||||