话接上回,上期讲述了在OERV安装HMCL的历程,这期讲讲HMCL的打包。

  Show openEuler:24.09 / HMCL - 开源软件构建与测试。在这个网站里,可以看到有好几个文件,这些都跟HMCL打包有关。 第一个是_service文件,这个文件用于从特定仓库里面拉取代码文件到当前平台,可以看见每个文件都有特定前缀,这些都是拉取过来之后平台自动加的。

  如果想自己动手进行打包,只需要把url的git仓库换掉就行。然后上传_service文件,相应的仓库就拉取过来了。

  此外还可以看到有spec文件和一个压缩包,其它的可以暂时不用关注。spec文件用于编写打包脚本,包括包的编译依赖、运行依赖以及编译行为等。压缩文件是源码包文件,从包对应的官方网站下载。接下来重点关注spec文件的编写过程。

  如果对spec文件的规范不熟悉,可以先看这篇:软件包引入前置基础知识(RPM/SPEC/DNF) | openEuler社区

  这么简洁,我一开始也没想到。甚至在编译阶段都不需要写任何脚本,只需要在下载阶段进行相应的文件拷贝和处理就行。BuildRequires是编译依赖,主要用于编译过程,在下载阶段需要通过desktop-file-validate以及desktop-file-install对desktop文件处理。而Requires是运行时依赖,如果编译好HMCL,想要安装则需要jdk17的加持,可以看到上期我为了安装jdk17也是费了不少心思。BuildRequires和Requires填写的包都需要obs平台事先编译过,不然平台会显示unresolvable。

  %files阶段其实和%install阶段差不多,%build和%install都是在临时环境中运行的,为了防止破坏系统,到了%files阶段则列出rpm包里的文件有哪些,下载了之后就可以见到这些文件了,这个阶段是指明文件最终的安装路径的。至于要写哪些文件,则需要自己打开压缩包查看,需要对软件包本身比较熟悉(往往很多时候都是看到编译失败再来改改spec文件,一次性完整写好我做不到)

  压缩包只有这三个文件,所以上面%files阶段也只有三个文件。

  另外,编写spec文件过程运用到了大量的宏,这样可以保证跨平台性,在openEuler 24.09的仓库当中,HMCL的打包算是比较简洁的了,恰好MC又是一款有趣的游戏,打包也简单。

在OERV也可以玩MC(下)的更多相关文章

  1. 玩了下opencv的aruco(python版)

    简单的玩了下opencv里头的aruco,用的手机相机,手机装了个 ip摄像头,这样视频就可以传到电脑上了. 首先是标定,我没打印chessboard,直接在电脑屏幕上显示,拍了17张,大概如下: 又 ...

  2. 最近玩了下linux下的lampp注意一些使用

    最近玩了下linux下的lampp注意一些使用 1 配置文件 /opt/lampp/etc 2 一些命令 mysql命令 /opt/lampp/bin/mysql php命令 /opt/lampp/b ...

  3. 一步步玩pcDuino3--mmc下的裸机流水灯

            第一部分是玩pcduino3下的裸机.这个过程能够让我们更好的理解嵌入式系统,熟悉我们使用的这个平台.         首先介绍下开发环境: 虚拟机:VMware® Workstati ...

  4. 只是想虐下春丽,一不当心玩了下serverless...感觉还不错哟!

    事情是这样的-- 前天下午天太热,我在家看电视,换台突然就看到了正在播<西游记>,窗外蝉声特别响,我一下就有种穿越回小学暑假的感觉.当时,我就特别想把我那台小霸王翻出来,玩两盘街霸--虐一 ...

  5. 玩了下STM8单片机

    偶然的机会,发现STM8真是又便宜又好用啊,哈哈! 买了一个STM8S103F3的小板子,再加一个ST-Link调试器,总共才35块钱!对于我们这种玩习惯了动辄上千上万的FPGA开发板的人来说,就是白 ...

  6. 一步步玩pcDuino3--uboot下的ping,加入命令能够接受来自host的ping

    uboot是一个很优秀的开源项目.不只能够学习bootloader.嵌入式,各种总线协议. 还能够了解网络协议栈.在嵌入式开发中,常常使用uboot的tftp和nfs来加快开发的效率.那么在tftp能 ...

  7. 一步步玩pcDuino3--mmc下的bootloader

    pcDuino3下支持mmc启动.官方的Uboot是採用SPL框架实现的,由于内部的SRAM空间达到32K,我们全然能够在这32K空间内编写一个完整可用小巧的bootloader来完毕引导Linux ...

  8. MinHook测试与分析(x86下 E8,E9,EB,CALL指令测试,且逆推测试微软热补丁)

    依稀记得第一次接触Hook的概念是在周伟民先生的书中-><<多任务下的数据结构与算法>>,当时觉得Hook的本质就是拦截,就算到现在也是如此认为. 本篇文章是在x86下测 ...

  9. [原创]MinHook测试与分析(x64下 E9,EB,CALL指令测试,且逆推测试微软热补丁)

    依稀记得第一次接触Hook的概念是在周伟民先生的书中-><<多任务下的数据结构与算法>>,当时觉得Hook很奇妙,有机会要学习到,正好近段日子找来了MiniHook,就一 ...

  10. 用Python来玩微信跳一跳

    微信2017年12月28日发布了新版本,在小程序里面有一个跳一跳小游戏,试着点一点玩了下.第二天刚好在一篇技术公众号中,看到有大神用Python代码计算出按压时间,向手机发送android adb命令 ...

随机推荐

  1. 一个基于.Net Core 开源的物联网基础平台

    在智慧工厂领域,智慧城市领域,都需要对设备进行监控.比如工厂需要对周围环境温度.湿度.气压.电压,灯的开关进行监控.这时候就需要物联网平台来进行管理. 在智慧工厂领域,宝马集团通过英伟达的Omnive ...

  2. 7.Kubernetes集群YAML文件详解

    Kubernetes集群YAML文件详解 概述 k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到YAML 格式文件中,我们把这种 ...

  3. 推荐一个.NetCore开源的CMS项目,功能强大、扩展性强、支持插件的系统!

    推荐一个基于.Net Core开发的开源CMS项目,该项目功能完善.涉及知识点比较多,不管是作为二次开发.还是学习都是不错的选择. 01 项目简介 Cofoundry是基于.Net开发的.代码优先开发 ...

  4. Linux系统之Ubuntu

    常用命令: #查看安装包 dpkg -l 1)切换镜像源 本身的镜像都是国外的,下载依赖包太慢, 需要替换成国内镜像地址 国内镜像源推荐阿里 OPSX 源: https://opsx.alibaba. ...

  5. CSS3 背景图片

    1.背景图大小(background-size) 这个属性设置单张背景图的大小,默认是原图的大小 当同时指定宽高时,会造成图片失真,如果要保持宽高比,可以使用 auto 字段让宽或者高自适应 值类型 ...

  6. 攻防世界:web习题之xff_referer

    攻防世界:web习题之xff_referer 题目内容 https://adworld.xctf.org.cn/challenges/list 这道题的网页会首先会显示: 当成功修改ip地址之后会提示 ...

  7. 前端每日一知之web攻击方式

    脑图在线链接 本文内容依据[js每日一题]公众号精彩文章总结而来

  8. influxdb group by(1d) 查询注意事项

    转载请注明出处: 在 InfluxDB 中,默认的时区是 UTC(协调世界时).所有的时间戳在数据写入时默认视为 UTC.这意味着如果没有在插入数据时指定其他时区,InfluxDB 会将所有时间数据处 ...

  9. 【报错解决】【人工智能】【深度学习】验证cuda和tensorflow之间的版本对应关系时遇到的问题

    验证环境B 验证成功,没有问题 验证环境A 得到结果false 检查是否与CUDA关联成功 tf.test.is_built_with_cuda() 发现没有关联成功 根据查询可知道,失败的原因是1. ...

  10. 解决pip命令报错及Python环境配置指南:从安装到优化

    1. 错误日志 当我在 Linux 机器(使用 Debian 或 Ubuntu 或衍生发行版)上运行 pip install xyz 时,会出现这样的错误: error: externally-man ...