man-pages/man3/Dpkg::BuildFlags.3perl.html
2021-03-31 01:06:50 +01:00

248 lines
6.3 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of Dpkg::BuildFlags</TITLE>
</HEAD><BODY>
<H1>Dpkg::BuildFlags</H1>
Section: libdpkg-perl (3perl)<BR>Updated: 2020-03-23<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
Dpkg::BuildFlags - query build flags
<A NAME="lbAC">&nbsp;</A>
<H2>DESCRIPTION</H2>
The Dpkg::BuildFlags object is used by dpkg-buildflags and can be used
to query the same information.
<A NAME="lbAD">&nbsp;</A>
<H2>METHODS</H2>
<DL COMPACT>
<DT id="1">$bf = Dpkg::BuildFlags-&gt;<B>new()</B><DD>
Create a new Dpkg::BuildFlags object. It will be initialized based
on the value of several configuration files and environment variables.
<DT id="2">$bf-&gt;<B>load_vendor_defaults()</B><DD>
Reset the flags stored to the default set provided by the vendor.
<DT id="3">$bf-&gt;<B>load_system_config()</B><DD>
Update flags from the system configuration.
<DT id="4">$bf-&gt;<B>load_user_config()</B><DD>
Update flags from the user configuration.
<DT id="5">$bf-&gt;<B>load_environment_config()</B><DD>
Update flags based on user directives stored in the environment. See
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-buildflags">dpkg-buildflags</A></B>(1) for details.
<DT id="6">$bf-&gt;<B>load_maintainer_config()</B><DD>
Update flags based on maintainer directives stored in the environment. See
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-buildflags">dpkg-buildflags</A></B>(1) for details.
<DT id="7">$bf-&gt;<B>load_config()</B><DD>
Call successively <B>load_system_config()</B>, <B>load_user_config()</B>,
<B>load_environment_config()</B> and <B>load_maintainer_config()</B> to update the
default build flags defined by the vendor.
<DT id="8">$bf-&gt;set($flag, $value, $source, $maint)<DD>
Update the build flag <TT>$flag</TT> with value <TT>$value</TT> and record its origin as
<TT>$source</TT> (if defined). Record it as maintainer modified if <TT>$maint</TT> is
defined and true.
<DT id="9">$bf-&gt;set_feature($area, $feature, $enabled)<DD>
Update the boolean state of whether a specific feature within a known
feature area has been enabled. The only currently known feature areas
are ``future'', ``qa'', ``sanitize'', ``hardening'' and ``reproducible''.
<DT id="10">$bf-&gt;strip($flag, $value, $source, $maint)<DD>
Update the build flag <TT>$flag</TT> by stripping the flags listed in <TT>$value</TT> and
record its origin as <TT>$source</TT> (if defined). Record it as maintainer modified
if <TT>$maint</TT> is defined and true.
<DT id="11">$bf-&gt;append($flag, $value, $source, $maint)<DD>
Append the options listed in <TT>$value</TT> to the current value of the flag <TT>$flag</TT>.
Record its origin as <TT>$source</TT> (if defined). Record it as maintainer modified
if <TT>$maint</TT> is defined and true.
<DT id="12">$bf-&gt;prepend($flag, $value, $source, $maint)<DD>
Prepend the options listed in <TT>$value</TT> to the current value of the flag <TT>$flag</TT>.
Record its origin as <TT>$source</TT> (if defined). Record it as maintainer modified
if <TT>$maint</TT> is defined and true.
<DT id="13">$bf-&gt;update_from_conffile($file, $source)<DD>
Update the current build flags based on the configuration directives
contained in <TT>$file</TT>. See <B><A HREF="/cgi-bin/man/man2html?1+dpkg-buildflags">dpkg-buildflags</A></B>(1) for the format of the directives.
<P>
<TT>$source</TT> is the origin recorded for any build flag set or modified.
<DT id="14">$bf-&gt;get($flag)<DD>
Return the value associated to the flag. It might be undef if the
flag doesn't exist.
<DT id="15">$bf-&gt;<B>get_feature_areas()</B><DD>
Return the feature areas (i.e. the area values has_features will return
true for).
<DT id="16">$bf-&gt;get_features($area)<DD>
Return, for the given area, a hash with keys as feature names, and values
as booleans indicating whether the feature is enabled or not.
<DT id="17">$bf-&gt;get_origin($flag)<DD>
Return the origin associated to the flag. It might be undef if the
flag doesn't exist.
<DT id="18">$bf-&gt;is_maintainer_modified($flag)<DD>
Return true if the flag is modified by the maintainer.
<DT id="19">$bf-&gt;has_features($area)<DD>
Returns true if the given area of features is known, and false otherwise.
The only currently recognized feature areas are ``future'', ``qa'', ``sanitize'',
``hardening'' and ``reproducible''.
<DT id="20">$bf-&gt;has($option)<DD>
Returns a boolean indicating whether the flags exists in the object.
<DT id="21">@flags = $bf-&gt;<B>list()</B><DD>
Returns the list of flags stored in the object.
</DL>
<A NAME="lbAE">&nbsp;</A>
<H2>CHANGES</H2>
<A NAME="lbAF">&nbsp;</A>
<H3>Version 1.03 (dpkg 1.16.5)</H3>
New method: <TT>$bf</TT>-&gt;<B>get_feature_areas()</B> to list possible values for
<TT>$bf</TT>-&gt;get_features.
<P>
New method <TT>$bf</TT>-&gt;<B>is_maintainer_modified()</B> and new optional parameter to
<TT>$bf</TT>-&gt;<B>set()</B>, <TT>$bf</TT>-&gt;<B>append()</B>, <TT>$bf</TT>-&gt;<B>prepend()</B>, <TT>$bf</TT>-&gt;<B>strip()</B>.
<A NAME="lbAG">&nbsp;</A>
<H3>Version 1.02 (dpkg 1.16.2)</H3>
New methods: <TT>$bf</TT>-&gt;<B>get_features()</B>, <TT>$bf</TT>-&gt;<B>has_features()</B>, <TT>$bf</TT>-&gt;<B>set_feature()</B>.
<A NAME="lbAH">&nbsp;</A>
<H3>Version 1.01 (dpkg 1.16.1)</H3>
New method: <TT>$bf</TT>-&gt;<B>prepend()</B> very similar to <B>append()</B>. Implement support of
the prepend operation everywhere.
<P>
New method: <TT>$bf</TT>-&gt;<B>load_maintainer_config()</B> that update the build flags
based on the package maintainer directives.
<A NAME="lbAI">&nbsp;</A>
<H3>Version 1.00 (dpkg 1.15.7)</H3>
Mark the module as public.
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="22"><A HREF="#lbAB">NAME</A><DD>
<DT id="23"><A HREF="#lbAC">DESCRIPTION</A><DD>
<DT id="24"><A HREF="#lbAD">METHODS</A><DD>
<DT id="25"><A HREF="#lbAE">CHANGES</A><DD>
<DL>
<DT id="26"><A HREF="#lbAF">Version 1.03 (dpkg 1.16.5)</A><DD>
<DT id="27"><A HREF="#lbAG">Version 1.02 (dpkg 1.16.2)</A><DD>
<DT id="28"><A HREF="#lbAH">Version 1.01 (dpkg 1.16.1)</A><DD>
<DT id="29"><A HREF="#lbAI">Version 1.00 (dpkg 1.15.7)</A><DD>
</DL>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:38 GMT, March 31, 2021
</BODY>
</HTML>