Files
Jinguang Dong dae51a5a05 - Description:[feature] libnl build optimization: import libnl 3_11_0 upstream
- Bug: #43
- Test: calculate the SHA256 checksum for the libnl upstream tarball and compare
it with the upstream SHA256 value

Signed-off-by: Jinguang Dong <dongjinguang@huawei.com>
2026-07-02 15:17:27 +08:00

109 lines
8.8 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2021 Huawei Device Co., Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This is the configuration file template for OpenHarmony OSS Audit Tool, please copy it to your project root dir and modify it refer to OpenHarmony/tools_oat/README.
All configurations in this file will be merged to OAT-Default.xml, if you have any questions or concerns, please create issue in OpenHarmony/tools_oat and @jalenchen or chenyaxun.
licensefile:
1.If the project don't have "LICENSE" in root dir, please define all the license files in this project in , OAT will check license files according to this rule.
policylist:
1. policy: If the OAT-Default.xml policies do not meet your requirements, please add policies here.
2. policyitem: The fields type, name, path, desc is required, and the fields rule, group, filefilter is optional,the default value is:
<policyitem type="" name="" path="" desc="" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter"/>
3. policyitem type:
"compatibility" is used to check license compatibility in the specified path;
"license" is used to check source license header in the specified path;
"copyright" is used to check source copyright header in the specified path;
"import" is used to check source dependency in the specified path, such as import ... ,include ...
"filetype" is used to check file type in the specified path, supported file types: archive, binary
"filename" is used to check whether the specified file exists in the specified path(projectroot means the root dir of the project), supported file names: LICENSE, README, README.OpenSource
4. policyitem name: This field is used for define the license, copyright, "*" means match all, the "!" prefix means could not match this value. For example, "!GPL" means can not use GPL license.
5. policyitem path: This field is used for define the source file scope to apply this policyitem, the "!" prefix means exclude the files. For example, "!.*/lib/.*" means files in lib dir will be exclude while process this policyitem.
6. policyitem rule and group: These two fields are used together to merge policy results. "may" policyitems in the same group means any one in this group passed, the result will be passed.
7. policyitem filefilter: Used to bind filefilter which define filter rules.
7. policyitem desc: Used to describe the reason of this policy item, committers will check this while merging the code.
8. filefilter: Filter rules, the type filename is used to filter file name, the type filepath is used to filter file path.
Note:If the text contains special characters, please escape them according to the following rules:
" == &quot;
& == &amp;
' == &apos;
< == &lt;
> == &gt;
-->
<configuration>
<oatconfig>
<licensefile>COPYING</licensefile>
<policylist>
<policy name="projectPolicy" desc="">
<policyitem type="compatibility" name="LGPL-2.1+" path="COPYING" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter" desc="the License of this file is LGPL"/>
<policyitem type="compatibility" name="LGPL" path="BUILD.gn" desc="They are used in dynamic link mode."/>
<policyitem type="compatibility" name="LGPL" path="prepare.sh" desc="Env-prepare script, used in dynamic link mode."/>
<policyitem type="compatibility" name="LGPL" path="libnl3.spec" desc="They are used in dynamic link mode."/>
<!-- 上游 libnl 源码树主体为 LGPL-2.1-only,以动态链接方式使用 -->
<policyitem type="compatibility" name="LGPL-2.1+" path="libnl/.*" rule="may" group="defaultGroup" desc="libnl upstream sources are LGPL-2.1-only, used in dynamic link mode."/>
<!-- 归档的 OHOS 适配 patch 是对 LGPL 源码的改动 -->
<policyitem type="compatibility" name="LGPL-2.1+" path="archive/patches/.*\.patch" rule="may" group="defaultGroup" desc="Archived OHOS adaptation patch against LGPL sources."/>
<!-- Linux 内核 UAPI 头文件:GPL-2.0 WITH Linux-syscall-notesyscall-note 例外允许非 GPL 用户态程序引用 -->
<policyitem type="compatibility" name="GPL-2.0+" path="libnl/include/linux-private/.*" rule="may" group="defaultGroup" desc="Linux kernel UAPI headers under GPL-2.0 WITH Linux-syscall-note; the syscall-note exception permits use by non-GPL userspace."/>
<!-- .clang-formatGPL-2.0 代码风格配置,不参与编译/分发 -->
<policyitem type="compatibility" name="GPL-2.0" path="libnl/.clang-format" rule="may" group="defaultGroup" desc="Code-style config only, not compiled or linked into the binary."/>
</policy>
</policylist>
<filefilterlist>
<filefilter name="defaultFilter" desc="Files not to check">
<filteritem type="filename" name="*.8|*.png|*.sym" desc="desc files"/>
<filteritem type="filepath" name="libnl/tests/.*" desc="Test files"/>
<filteritem type="filepath" name="libnl/doc/.*" desc="Documentation sources, not shipped in the binary"/>
</filefilter>
<filefilter name="defaultPolicyFilter" desc="Filters for compatibility,license header policies">
<!-- 提前生成的构建产物:无标准 license 头(autoheader/flex/bison 生成) -->
<filteritem type="filepath" name="libnl/include/config.h" desc="Generated by configure/autoheader, no license header."/>
<filteritem type="filepath" name="libnl/lib/route/pktloc_grammar\.[ch]" desc="Generated by flex, no license header."/>
<filteritem type="filepath" name="libnl/lib/route/pktloc_syntax\.[ch]" desc="Generated by bison (carries GPL-with-special-exception boilerplate)."/>
<filteritem type="filepath" name="libnl/lib/route/cls/ematch_grammar\.[ch]" desc="Generated by flex."/>
<filteritem type="filepath" name="libnl/lib/route/cls/ematch_syntax\.[ch]" desc="Generated by bison (carries GPL-with-special-exception boilerplate)."/>
<!-- 整包校验和文本,无 license 头 -->
<filteritem type="filepath" name="archive/.*\.sha256sums" desc="Upstream tarball SHA256 checksum text, no license header."/>
</filefilter>
<filefilter name="copyrightPolicyFilter" desc="Filters for copyright header policies">
<filteritem type="filepath" name="libnl/include/config.h" desc="Generated by configure/autoheader, no copyright header."/>
<filteritem type="filepath" name="libnl/lib/route/pktloc_grammar\.[ch]" desc="Generated by flex, no copyright header."/>
<filteritem type="filepath" name="libnl/lib/route/pktloc_syntax\.[ch]" desc="Generated by bison, no copyright header."/>
<filteritem type="filepath" name="libnl/lib/route/cls/ematch_grammar\.[ch]" desc="Generated by flex, no copyright header."/>
<filteritem type="filepath" name="libnl/lib/route/cls/ematch_syntax\.[ch]" desc="Generated by bison, no copyright header."/>
<filteritem type="filepath" name="archive/.*\.sha256sums" desc="Checksum text, no copyright header."/>
</filefilter>
<filefilter name="licenseFileNamePolicyFilter" desc="Filters for LICENSE file policies">
</filefilter>
<filefilter name="readmeFileNamePolicyFilter" desc="Filters for README file policies">
</filefilter>
<filefilter name="readmeOpenSourcefileNamePolicyFilter" desc="Filters for README.OpenSource file policies">
</filefilter>
<filefilter name="binaryFileTypePolicyFilter" desc="Filters for binary file policies">
<filteritem type="filepath" name="libnl/python/.*/__init__\.py" desc="Empty package __init__ files (detected as binary by encoding)."/>
<filteritem type="filepath" name="libnl/.*/\.gitignore" desc="Empty/near-empty .gitignore files."/>
</filefilter>
</filefilterlist>
<licensematcherlist>
<licensematcher name="LGPL" desc="">
<licensetext name="License: LGPLv2" desc=""/>
</licensematcher>
</licensematcherlist>
</oatconfig>
</configuration>