# perl-Data-OptList **Repository Path**: ocs-bot/perl-Data-OptList ## Basic Information - **Project Name**: perl-Data-OptList - **Description**: Parse and validate simple name/value option pairs - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-01-03 - **Last Updated**: 2024-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 README perl-Data-OptList: 哈希非常适合存储命名数据,但如果您想要多个条目对于名称,您必须使用对列表。 ``` $values = [ foo => undef, bar => undef, baz => undef, xyz => { ... }, ]; ``` 使用 Data::OptList,您可以这样做: ``` $values = Data::OptList::mkopt([ qw(foo bar baz), xyz => { ... }, ]); ``` 这通过假设任何已定义的标量是一个名称并且名称后面的任何引用都是它的值来工作。 # 快速上手 Getting Started - [perl-DateTime-1.58模块打包实战](https://iwiki.woa.com/pages/viewpage.action?pageId=1797551622) # 常见问题 FAQ 参考如下链接: - [TSS软件包编译介绍](https://iwiki.woa.com/pages/viewpage.action?pageId=1768635658) - [TSS打包简明指导](https://iwiki.woa.com/pages/viewpage.action?pageId=1768635660) - [TSS打包指导](https://iwiki.woa.com/pages/viewpage.action?pageId=1768636190) # 行为准则 Code Of Conduct ## TencentOS开源协同规范(V1.0) 按照公司开源协同的精神和准则,tlinux的核心组件,包括发行版(提供SRPM),tkernel(提供git仓库)都已全员开放。协同是开源的最终目的,也是tlinux开源的初衷,即使我们面临新的安全风险,我们的项目管理也面临更大的挑战。协同会让我们都受益。 操作系统团队欢迎所有感兴趣或者有需要的团队或个人来一起建设tlinux,释放你的技能,代码和建议,一起优化tlinux的版本和服务质量,开发和运营效率。为实现这个目标,我们需要约定和遵守以下规则: ## 内核 1. 开放tkernel分支权限,申请合入主线的补丁要求来自分支(包括本地分支),且符合内核社区常规补丁规范。 2. 允许自行修改,编译和测试内核,禁止将自定义内核部署到生产环境,如有特殊需求请在pinggu.oa.com提交安全评估。 3. 安平会扫描生产网络的非标内核,发现未经报备私自使用的按照安全违规事件处理及通报。 ## 内核模块 1. 保持原有签名机制,但开放个人签名账户,无需申请。 2. 模块分类: - A类模块,模块代码直接合入tkernel主线,操作系统团队负责签名。 - B类模块,业务自行维护模块代码,代码权限对安平/操作系统团队开放,操作系统团队负责签名。 - C类模块,第三方无源码类模块,业务自行签名。 ## 软件包 库分类: - 通用库,操作系统团队负责维护包和管理库。 - 非通用库,业务负责维护包,操作系统团队负责管理库。 - 私有库,建库由操作系统负责,业务负责维护包和管理库。 1. 源码包按需以GIT项目管理。 2. 业务推荐的软件包需要经过操作系统团队审核方能进入非通用库,审核的内容包括包溯源,冲突检测和依赖检查等。 3. 非通用库及软件包的使用需遵照《tlinux非通用软件包指引》相关说明。 4. 私有库仅允许存放业务自研软件包,不能存放第三方软件包。 # 如何加入 How To Join ## 1. 配置基础环境 使用 DevCloud TencentOS3.2 执行安装命令: ``` $ sudo dnf install git mock tencentos-getsource rpm-build -y $ mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} ``` ## 2. 克隆仓库到本地 ``` $ git clone git@git.woa.com:tlinux/TSS-SRPMS/.git ``` ## 3. 进入本地目录执行get_source获取源码包 ``` $ cd setup $ get_source ``` ## 4. 根据TSS打包指导要求进行软件选型以及打包优化 - [TSS打包指导](https://iwiki.woa.com/pages/viewpage.action?pageId=1768636190) ## 5. 将相应原始文件放入rpmbuild文件夹 将所有原始文件放入SOURCES文件夹 ``` $ cp * ~/rpmbuild/SOURCES ``` 将原始文件中的spec文件, 放入SPECS文件夹 ``` $ mv ~/rpmbuild/SOURCES/.spec ~/rpmbuild/SPECS ``` ## 6. 构建src.rpm包 执行如下命令构建出mock编译所需的src.rpm包,src.rpm包会生成在~/rpmbuild/SRPMS下. ``` $ rpmbuild -bs ~/rpmbuild/SPECS/.spec ``` ## 7. 使用mock创建chroot环境用于rpm的编译构建 mock通过与dockerfile类似的配置文件mock.cfg来指导创建对应的环境 TSS提供统一的mock.cfg文件, 来指定编译环境,[点击获取mock.cfg: mock-tss-x86_64.cfg](https://drive.weixin.qq.com/s?k=AJEAIQdfAAo0TIp2LKAJYArgbTADs#/preview?fileId=i.1970325010981265.1688850863992470_f.652669681bgUf) TSS使用mock和src.rpm包生成最终可用于安装的rpm包。通过解析指定的mock.cfg, 启动一个mock环境, 并自动解包提供的src.rpm包, 最终编译生成一个可用于安装的二进制rpm包 ``` $ mock -r --rebuild --isolation simple ``` ## 8. 验证 除了编译通过、%check测试外,打包后的软件包要经过以下的验证: - 安装 - 命令执行(如果无用例,基于TST测试框架补充自动化用例,初始可以输出简单验证用例、后续持续完善补充),比如覆盖最基本的-h命令 - 服务启停(如果无用例,基于TST测试框架补充自动化用例,初始可以输出简单验证用例、后续持续完善补充) - pm -q --requires、rpm -q --provides 确认依赖及提供的capabilities,如果与打包前有不一致的地方需要有明确的分析结论,并在 软件包分析 中输出差异分析 - pm -qpl 、rpm -ql 确认是否有文件漏打包或者路径不正确等,如果与打包前有不一致的地方需要有明确的分析结论,并在 软件包分析 中输出差异分析 - 如果有man、info手册,需要验证可用 # 团队介绍 Members TencentOS Oteam的目标在于共同打造最理解业务,最符合业务需求的操作系统,包括功能特性的定制,软件包的管理,系统配置的优化,配套工具的设定等,提升用户满意度,降低运营成本。 1. 下一代云内核子项目 团队来源:云产品部CVM团队,5人;云架平OS团队,8人 团队成员: jasperwang,lidongchen,ivanren,benbjiang,brookxu,herberthbli,zgpeng,shookliu 2. 网络和IO隔离强化子项目 团队来源: 数平: 3人;云架构平台部:5人; 团队成员:newtongao,kendyzhao,fuhaiwang,herberthbli,zhipingdu 3. CPU离在线调度应用子项目 团队来源: 数平/CDG:2人;微信技术架构部:3人; IEG技术运营部:2人; 云架构平台部:4人 团队成员:zgpeng,kendyzhao,francowu,levyliu,shookliu,xiaoggchen 4. ARM容器子项目 团队来源: IEG 技术运营部,3人;云架构平台部,5人 团队成员: levyliu,newtongao,zgpeng,shookliu,xiaoggchen,heddchen 5. TencentOS运营管理子项目 团队来源:安全平台部,2人;网络平台部,2人;云架构平台部,4人 团队成员:joeytao,bghostzhu,marsyi,nicyou,joshuahu,honglinli,ring 6. TencentJDK子项目 团队来源:数据平台部,3人;云架构平台部,2人 团队成员:felixxfyang,daisyqhuang,joshuahu,joeytao,