话接上回,上期讲述了在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. 零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount

    今天我们来聊一聊大数据,作为一个Hadoop的新手,我也并不敢深入探讨复杂的底层原理.因此,这篇文章的重点更多是从实际操作和入门实践的角度出发,带领大家一起了解大数据应用的基本过程.我们将通过一个经典 ...

  2. Mybatis中foreach的使用

    首先我们要明白的是foreach的本质就是把数据库能执行的sql在xml中按照一定语法来进行拼接,所以拼接之前,我们了解一下foreach标签中几个常见元素的作用 1.collection ‌List ...

  3. linux 查看进程的bin文件所在路径

    1.获取进程pid ps aux |grep nginx|grep master|grep -v grep|awk '{print $2}' 2.根据进程pid 获取 bin路径 方法a pwdx p ...

  4. Docker Registry之删除镜像、垃圾回收

    Docker仓库在2.1版本中支持了删除镜像的API,但这个删除操作只会删除镜像元数据,不会删除层数据.在2.4版本中对这一问题进行了解决,增加了一个垃圾回收命令,删除未被引用的层数据.本文对这一特性 ...

  5. 话说ReferenceQueue

    也是几年前写的,在内部邮件列表里发过,在这里保存一下. 看到了这篇帖子: <WeakHashMap的神话>http://www.javaeye.com/topic/587995 因为Jav ...

  6. Redis之常用模块Module

    1. Redis-Cell 限流模块 2.RedisBloom 布隆过滤器 https://github.com/RedisBloom/RedisBloom

  7. qnap nas 下的 nasconfig_fs.img.tgz 及相关的一点记录

    QNAP NAS 已安装EntWare(先前的Optware已废弃,不适用),可以使用 opkg 命令安装软件包(如想利用arp命令查看局域网的IP地址及对应物理网卡地址,可使用opkg instal ...

  8. 关于tomcat在idea上的中文编码问题

    一.问题引入 在国内,无论是新手还是有一定码龄的开发人员,汉字编码问题一直都是绕不开的魔咒,本文主要对tomcat在jetbrain系列产品idea上的乱码问题提供解决经验. 二.详情描述 新手在初学 ...

  9. 1.猿人学web爬虫攻防第一题 js混淆源码乱码

    题目链接:http://match.yuanrenxue.com/match/1 1.首先我们打开F12开发者工具,点击..... 我们可以看到在请求中有m的加密参数! 2.根据题目js混淆,我们寻找 ...

  10. ng-alain: 配置开发环境

    配置 ng-alain 开发环境 安装 1. Yarn 官方文档实际上是基于 Yarn 1 的,请从 Yarn 1 开始.在创建项目之后,可以升级到 Yarn 3. 注意:直接通过 npm 安装 ya ...