Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
openeuler_risc-v_obs [2022/02/24 15:32] misaka00251openeuler_risc-v_obs [2024/07/30 08:13] (current) – Change URL misaka00251
Line 1: Line 1:
 ====== OBS 笔记 ====== ====== OBS 笔记 ======
  
-OBS 主页是: https://build.openeuler.org/+:!: openEuler 官方已经全面切换到 [[https://eulermaker.compass-ci.openeuler.openatom.cn/|EBS]],https://build.openeuler.openatom.cn/ 和 https://build.openeuler.org/ 均已无法访问。本教程**不是** EBS 的教程。
  
-查看 Mainline : https://build.openeuler.org/project/show/openEuler:Mainline:RISC-V+openEuler RISC-V 的 OBS 主页是: https://build.tarsier-infra.isrc.ac.cn/
  
 +本文章是[[https://www.bilibili.com/video/BV1YK411H7E2/|【玩转openEuler系列直播 5】openEuler构建之OBS使用指导]]这个影片的总结。
  
 ===== 重要概念 ===== ===== 重要概念 =====
Line 16: Line 17:
   * 架构(Arch): OBS 采用本地架构进行编译,没有提供交叉编译。   * 架构(Arch): OBS 采用本地架构进行编译,没有提供交叉编译。
  
-[[https://build.openeuler.org/project/show/home:misaka00251:VersionUpgrade|比如这个链接]]里的 **home:misaka00251:VersionUpgrade** 是工程名,Packages 则是工程里所有的包,旁边 Build Results 里的 **AmogOS** 是仓库名,**riscv64** 是我要编译出来的架构。+[[https://build.tarsier-infra.isrc.ac.cn/project/show/home:misaka00251|比如这个链接]]里的 **home:misaka00251** 是工程名,Packages 则是工程里所有的包,旁边 Build Results 里的 **AmogOS** 是仓库名,**riscv64** 是我要编译出来的架构。
  
 上方有个 Meta,此处就是我的工程 Metadata 文件。里面有 description 以及我要编译哪些架构的说明。 上方有个 Meta,此处就是我的工程 Metadata 文件。里面有 description 以及我要编译哪些架构的说明。
  
 <code> <code>
-<project name="home:misaka00251:VersionUpgrade">+<project name="home:misaka00251">
   <title/>   <title/>
   <description>Packages need to upgrade version</description>   <description>Packages need to upgrade version</description>
Line 29: Line 30:
   </useforbuild>   </useforbuild>
   <repository name="AmogOS">   <repository name="AmogOS">
-    <path project="openEuler:Mainline:RISC-V" repository="standard_riscv64"/>+    <path project="openEuler:22.03" repository="22.03"/>
     <arch>riscv64</arch>     <arch>riscv64</arch>
   </repository>   </repository>
Line 45: Line 46:
 首先安装 osc 软件包: ''dnf install osc'' 首先安装 osc 软件包: ''dnf install osc''
  
-osc 的凭据位置为 ''~/.oscrc'',进行以下配置:+osc 的凭据位置为 ''~/.config/osc/oscrc'',进行以下配置:
  
 <file oscrc .oscrc> <file oscrc .oscrc>
 [general] [general]
-apiurl = https://build.openeuler.org/+apiurl = https://build.tarsier-infra.isrc.ac.cn/
 no_verify = 1 no_verify = 1
  
-[https://build.openeuler.org]+[https://build.tarsier-infra.isrc.ac.cn/]
 user=<你的用户名> user=<你的用户名>
 pass=<你的密码> pass=<你的密码>
Line 87: Line 88:
         <param name="archive">*.tar</param>         <param name="archive">*.tar</param>
         <param name="files">*/*</param>         <param name="files">*/*</param>
 +    </service>
 +</services>
 +</code>
 +
 +这里还有另一种更好的写法:
 +
 +<code>
 +<services>
 +    <service name="tar_scm">
 +      <param name="scm">git</param>
 +      <param name="url">git@gitee.com:misaka00251/nano.git</param>
 +      <param name="revision">master</param>
 +      <param name="exclude">*</param>
 +      <param name="extract">*</param>
     </service>     </service>
 </services> </services>
Line 155: Line 170:
 </code> </code>
  
-修改源代码和 spec 文件之后,提交刀 OBS 服务器进行构建:+修改源代码和 spec 文件之后,提交到 OBS 服务器进行构建:
  
 <code> <code>
Line 211: Line 226:
 </code> </code>
  
 +==== 创建 subproject ====
 +
 +假设我要在 home:misaka00251 下创建一个 Subproject 叫 NewMeta,可以新建一个文件:
 +
 +<file test>
 +<project name="home:misaka00251:NewMeta">
 +  <title/>
 +  <description/>
 +  <person userid="misaka00251" role="maintainer"/>
 +  <publish>
 +    <enable/>
 +  </publish>
 +  <useforbuild>
 +    <disable/>
 +  </useforbuild>
 +  <repository name="AmogOS">
 +    <path project="openEuler:Mainline:RISC-V" repository="standard_riscv64"/>
 +    <arch>riscv64</arch>
 +  </repository>
 +</project>
 +</file>
  
 +然后使用 ''osc meta prj home:misaka00251:NewMeta --file=test'' 就可以啦~