Provided by: lintian_2.5.81ubuntu1_all bug

NAME

       Lintian::Architecture -- Lintian API for handling architectures and wildcards

SYNOPSIS

        use Lintian::Architecture qw(:all);

        print "arch\n" if is_arch ('i386');
        print "wildcard\n" if is_arch_wildcard ('any');
        print "either arch or wc\n" if is_arch_or_wildcard ('linux-any');
        foreach my $arch (expand_arch_wildcard ('any')) {
            print "any expands to $arch\n";
        }

DESCRIPTION

       Lintian API for checking and expanding architectures and architecture wildcards.  The
       functions are backed by a data file, so it may be out of date (use private/refresh-archs
       to update it).

       Generally all architecture names are in the format "$os-$arch" and wildcards are "$os-any"
       or "any-$cpu", though there are exceptions:

       •   "all" is the "architecture independent" architecture.

           Source: Policy X5.6.8 (v3.9.3)

       •   "any" is a wildcard matching any architecture except "all".

           Source: Policy X5.6.8 (v3.9.3)

       •   All other cases of "$arch" are short for "linux-$arch"

           Source: Policy X11.1 (v3.9.3)

       Note that the architecture and cpu name are not always identical (example architecture
       "armhf" has cpu name "arm").

FUNCTIONS

       The following methods are exportable:

       is_arch_wildcard ($wc)
           Returns a truth value if $wc is a known architecture wildcard.

           Note: 'any' is considered a wildcard and not an architecture.

       is_arch ($arch)
           Returns a truth value if $arch is (an alias of) a Debian machine architecture OR the
           special value "all".  It returns a false value for architecture wildcards (including
           "any") and unknown architectures.

       is_arch_or_wildcard ($arch)
           Returns a truth value if $arch is either an architecture or an architecture wildcard.

           Shorthand for:

            is_arch ($arch) || is_arch_wildcard ($arch)

       expand_arch_wildcard ($wc)
           Returns a list of architectures that this wildcard expands to.  No order is guaranteed
           (even between calls).  Returned values must not be modified.

           Note: This list is based on the architectures in Lintian's data file.  However, many
           of these are not supported or used in Debian or any of its derivatives.

           The returned values matches the list generated by dpkg-architecture -L, so the
           returned list may use (e.g.) "amd64" for "linux-amd64".

       wildcard_includes_arch ($wc, $arch)
           Returns a truth value if $arch is included in the list of architectures that $wc
           expands to.

           This is generally faster than

             grep { $_ eq $arch } expand_arch_wildcard ($wc)

           It also properly handles cases like "linux-amd64" and "amd64" being aliases.