话接上回,上期讲述了在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. 8.Kubernetes核心技术Pod

    Kubernetes核心技术Pod Pod概述 Pod是K8S系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在K8S上运行容器化应用的资源对象,其它的资源对象 ...

  2. OpenCV开发笔记(八十二):两图拼接使用渐进色蒙版场景过渡缝隙

    前言   对于图像拼接,前面探讨了通过基于Stitcher进行拼接过渡和基于特征点进行拼接过渡,这2个过渡的方式是摄像头拍摄角度和方向不应差距太大.  对于特定的场景,本身摄像头拍摄角度差距较大,拉伸 ...

  3. Flink CDC 实时同步 Oracle

    Flink CDC 系列文章 Flink CDC 实时同步 MySQL Flink CDC 实时同步 Oracle 准备工作 Oracle 数据库(version: 11g) 开启归档日志 sqlpl ...

  4. 【一步步开发AI运动小程序】三、运动识别处理流程

    随着人工智能技术的不断发展,阿里体育等IT大厂,推出的"乐动力"."天天跳绳"AI运动APP,让云上运动会.线上运动会.健身打卡.AI体育指导等概念空前火热.那 ...

  5. csv导出特殊字符问题

    昨天听到隔壁组讨论说按照逗号分割implode导出到csv文件,传递文件数据给别人的时候,别人按照都好explode分割回来多一个单元格,他们调查了一下发现是内容里面就是有逗号导致的,居然就这么卡住了 ...

  6. 痞子衡嵌入式:利用i.MXRT10xx系列内部DCP引擎计算CRC32值时需注意数据对齐

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是利用i.MXRT10xx系列内部DCP引擎计算CRC32值时需注意数据对齐. MCU 开发里常常需要 CRC 校验来检查数据完整性,CR ...

  7. java4~6次大作业全面总结

    一:前言: 知识点总结: 面向对象设计: 智能家居强电电路模拟系统:设计了多种控制设备(开关.分档调速器.连续调速器)和受控设备(灯.风扇)的类,并通过继承和多态实现设备的特有行为. 答题判题程序:设 ...

  8. Collections Framework中的算法(之三)--不可变装饰器相关

    本篇主要讲述Collections类中的unmodifiable相关的方法!这些方法都有一个共同含义就是使用此方法创建的对象都是不可变的!典型的装饰器模式的应用!下面的几篇都是装饰器模式在Java C ...

  9. Java单例对象同步问题探讨

    在本文中,作者向大家讲述了Single Call 模式的原理,同时也介绍了Single Call 模式的实现问题.  评论: 邓明 (dengming@cn.ibm.com), 高级信息系统工程师, ...

  10. Win10多用户同时登陆

    1. 说明: (1)Win服务器版默认是支持多用户登陆的,甚至可以在主机上用不同用户自己远程登陆自己,如window server 2016. (2)Win10正常情况下是不允许用户同时远程的,即一个 ...