0xV3NOMx
Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64



Your IP : 3.138.122.24


Current Path : /usr/share/doc/lintian/api.html/Lintian/
Upload File :
Current File : //usr/share/doc/lintian/api.html/Lintian/Architecture.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Lintian::Architecture</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" title="blkbluw" type="text/css" href="../_blkbluw.css" media="all" >
<link rel="alternate stylesheet" title="blkmagw" type="text/css" href="../_blkmagw.css" media="all" >
<link rel="alternate stylesheet" title="blkcynw" type="text/css" href="../_blkcynw.css" media="all" >
<link rel="alternate stylesheet" title="whtprpk" type="text/css" href="../_whtprpk.css" media="all" >
<link rel="alternate stylesheet" title="whtnavk" type="text/css" href="../_whtnavk.css" media="all" >
<link rel="alternate stylesheet" title="grygrnk" type="text/css" href="../_grygrnk.css" media="all" >
<link rel="alternate stylesheet" title="whtgrng" type="text/css" href="../_whtgrng.css" media="all" >
<link rel="alternate stylesheet" title="blkgrng" type="text/css" href="../_blkgrng.css" media="all" >
<link rel="alternate stylesheet" title="grygrnw" type="text/css" href="../_grygrnw.css" media="all" >
<link rel="alternate stylesheet" title="blkbluw" type="text/css" href="../_blkbluw.css" media="all" >
<link rel="alternate stylesheet" title="whtpurk" type="text/css" href="../_whtpurk.css" media="all" >
<link rel="alternate stylesheet" title="whtgrng" type="text/css" href="../_whtgrng.css" media="all" >
<link rel="alternate stylesheet" title="grygrnw" type="text/css" href="../_grygrnw.css" media="all" >

<script type="text/javascript" src="../_podly.js"></script>

</head>
<body class='pod'>

<!-- start doc -->
<p class="backlinktop"><b><a name="___top" href="../index.html" accesskey="1" title="All Documents">&lt;&lt;</a></b></p>

<div class='indexgroup'>
<ul   class='indexList indexList1'>
  <li class='indexItem indexItem1'><a href='#NAME'>NAME</a>
  <li class='indexItem indexItem1'><a href='#SYNOPSIS'>SYNOPSIS</a>
  <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a>
  <li class='indexItem indexItem1'><a href='#FUNCTIONS'>FUNCTIONS</a>
</ul>
</div>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="NAME"
>NAME</a></h1>

<p>Lintian::Architecture -- Lintian API for handling architectures and wildcards</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="SYNOPSIS"
>SYNOPSIS</a></h1>

<pre> use Lintian::Architecture qw(:all);
 
 print &#34;arch\n&#34; if is_arch (&#39;i386&#39;);
 print &#34;wildcard\n&#34; if is_arch_wildcard (&#39;any&#39;);
 print &#34;either arch or wc\n&#34; if is_arch_or_wildcard (&#39;linux-any&#39;);
 foreach my $arch (expand_arch_wildcard (&#39;any&#39;)) {
     print &#34;any expands to $arch\n&#34;;
 }</pre>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="DESCRIPTION"
>DESCRIPTION</a></h1>

<p>Lintian API for checking and expanding architectures and architecture wildcards. The functions are backed by a <a href="../Lintian/Data.html" class="podlinkpod"
>data</a> file, so it may be out of date (use private/refresh-archs to update it).</p>

<p>Generally all architecture names are in the format &#34;$os-$arch&#34; and wildcards are &#34;$os-any&#34; or &#34;any-$cpu&#34;, though there are exceptions:</p>

<ul>
<li>&#34;all&#34; is the &#34;architecture independent&#34; architecture.
<p>Source: Policy &#167;5.6.8 (v3.9.3)</p>
</li>

<li>&#34;any&#34; is a wildcard matching any architecture except &#34;all&#34;.
<p>Source: Policy &#167;5.6.8 (v3.9.3)</p>
</li>

<li>All other cases of &#34;$arch&#34; are short for &#34;linux-$arch&#34;
<p>Source: Policy &#167;11.1 (v3.9.3)</p>
</li>
</ul>

<p>Note that the architecture and cpu name are not always identical (example architecture &#34;armhf&#34; has cpu name &#34;arm&#34;).</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="FUNCTIONS"
>FUNCTIONS</a></h1>

<p>The following methods are exportable:</p>

<dl>
<dt><a name="is_arch_wildcard_($wc)"
>is_arch_wildcard ($wc)</a></dt>

<dd>
<p>Returns a truth value if $wc is a known architecture wildcard.</p>

<p>Note: &#39;any&#39; is considered a wildcard and not an architecture.</p>

<dt><a name="is_arch_($arch)"
>is_arch ($arch)</a></dt>

<dd>
<p>Returns a truth value if $arch is (an alias of) a Debian machine architecture OR the special value &#34;all&#34;. It returns a false value for architecture wildcards (including &#34;any&#34;) and unknown architectures.</p>

<dt><a name="is_arch_or_wildcard_($arch)"
>is_arch_or_wildcard ($arch)</a></dt>

<dd>
<p>Returns a truth value if $arch is either an architecture or an architecture wildcard.</p>

<p>Shorthand for:</p>

<pre> is_arch ($arch) || is_arch_wildcard ($arch)</pre>

<dt><a name="expand_arch_wildcard_($wc)"
>expand_arch_wildcard ($wc)</a></dt>

<dd>
<p>Returns a list of architectures that this wildcard expands to. No order is guaranteed (even between calls). Returned values must not be modified.</p>

<p>Note: This list is based on the architectures in Lintian&#39;s data file. However, many of these are not supported or used in Debian or any of its derivatives.</p>

<p>The returned values matches the list generated by dpkg-architecture -L, so the returned list may use (e.g.) &#34;amd64&#34; for &#34;linux-amd64&#34;.</p>

<dt><a name="wildcard_includes_arch_($wc,_$arch)"
>wildcard_includes_arch ($wc, $arch)</a></dt>

<dd>
<p>Returns a truth value if $arch is included in the list of architectures that $wc expands to.</p>

<p>This is generally faster than</p>

<pre>  grep { $_ eq $arch } expand_arch_wildcard ($wc)</pre>

<p>It also properly handles cases like &#34;linux-amd64&#34; and &#34;amd64&#34; being aliases.</p>
</dd>
</dl>
<p class="backlinkbottom"><b><a name="___bottom" href="../index.html" title="All Documents">&lt;&lt;</a></b></p>

<!-- end doc -->

</body></html>