制作netease-cloud-music-gtk的debian包
要创建一个deb包,只需要有一个基于 debian 的操作系统即可。(不管你用的是什么 Linux 发行版,你可以使用虚拟机或者 systemd-nspawn 来创建构建 DEB 包的环境)
下载上游的包,或者手动打一个上游的包。这个上游的包是源代码的仓库或者文件夹,打包的时候不要 .git 目录,也不要 rust 插件自动生成的 target/ 目录
要使用debain 安装的 rustc,因为 debuild 会移除一些环境变量。https://unix.stackexchange.com/questions/630447/debuild-cant-find-rustc 因此必须使用通过 apt 安装的 rustc.
源代码文件的压缩包文件的名字应该是这样的:netease-cloud-music-gtk-2.3.1.tar.gz。也就是 <package>-<version>.tar.gz 的形式。解压出来的文件夹应该也保持这样的形式,也就是文件夹名字应该是 netease-cloud-music-gtk-2.3.1。
假设从 https://github.com/wngtk/netease-cloud-music-gtk/releases 下载上游包(.tar.gz结尾的文件)。
mv v2.3.1.tar.gz netease-cloud-music-gtk-2.3.1.tar.gz
tar xvf netease-cloud-music-gtk-2.3.1.tar.gz
cd netease-cloud-music-gtk-2.3.1
修改好名字并解压,进入源代码的目录,生成 debian 目录的模板。
debmake
因为项目是使用 meson 构建而且 dh 是可以直接支持的,要生成 deb 包直接 debuild 就可以。但是直接 debuild 会失败,因为 screenshot 标签中的一个小问题,因此我们还需要打个补丁。参照 https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html#diff-u 制作一个这样的补丁,名为 000-screenshots-image.patch。
From: Wang Tiaoke <wngtk@outlook.com>
Description: Add <image> tag in <screenshots>
diff -Nru netease-cloud-music-gtk-2.3.1.orig/data/com.gitee.gmg137.NeteaseCloudMusicGtk4.metainfo.xml.in netease-cloud-music-gtk-2.3.1/data/com.gitee.gmg137.NeteaseCloudMusicGtk4.metainfo.xml.in
--- netease-cloud-music-gtk-2.3.1.orig/data/com.gitee.gmg137.NeteaseCloudMusicGtk4.metainfo.xml.in 2024-04-09 02:13:37.000000000 +0800
+++ netease-cloud-music-gtk-2.3.1/data/com.gitee.gmg137.NeteaseCloudMusicGtk4.metainfo.xml.in 2024-04-11 13:04:12.699998049 +0800
@@ -19,7 +19,9 @@
<p xml:lang="zh_TW">使用網易雲音樂 API 的 Gtk4 音樂播放器</p>
</description>
<screenshots>
- <screenshot type="default">https://gitee.com/gmg137/netease-cloud-music-gtk/raw/master/screenshots/discover.png</screenshot>
+ <screenshot type="default">
+ <image>https://gitee.com/gmg137/netease-cloud-music-gtk/raw/master/screenshots/discover.png</image>
+ </screenshot>
</screenshots>
<content_rating type="oars-1.1" />
</component>
然后我们需要将补丁文件放到对应的位置。
echo '000-screenshots-image.patch' > debian/patch/seris
cp 000-screenshots-image.patch debian/patch
准备好补丁后执行:
debuild
就会在上一级生成netease-cloud-music-gtk_2.3.1-1_amd64.deb 。
因为项目使用了 meson, dh 可以自动完成一些任务,要对这样的一个 meson 项目创建一个 deb 包就比较容易了。
制作netease-cloud-music-gtk的debian包的更多相关文章
- ubuntu 安装Elasticsearch5.0(Debian包)
通过Debian包安装Elasticsearch Elasticsearch的Debian包可以从downloaded from our website或APT repository 它可以用于在任何 ...
- 如何构建debian包
1)安装dh_make如下: sudo apt-get intasll aptitude sudo aptitude install dh_make 2)以jsoncpp为例,说明如何生 ...
- debian包之间的关系
1 debian包之间存在两大类关系 第一,依赖 第二,冲突 2 依赖类关系 2.1 depends 2.2 pre-depends 2.3 recommends 2.4 suggests 2.5 e ...
- debian包管理
常用的包管理工具有:apt.apt-get.apt-cache.apt-file.aptitude.dpkg等.功能有重复的,挑顺手的即可. 1.apt # apt --help list - lis ...
- debian包的补丁管理工具:quilt
最近项目是改pam软件包,给里面添加一些功能.其中遇到了更改后,代码提交方式的问题.这里转载的文章介绍了使用quilt管理补丁的详细方法: 转自:http://blog.csdn.net/fmddlm ...
- RPM包制作教程
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
- 烂泥:Linux源码包制作RPM包之Apache
本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能 ...
- [转]Debian 安装与卸载包命令(APT&&DPKG)
转自:zhangjunhd 的BLOG 1.APT主要命令apt-cache search ------package 搜索包sudo apt-get install ------package 安 ...
- (转)Debian 安装与卸载包命令
1.APT主要命令apt-cache search ------package 搜索包sudo apt-get install ------package 安装包sudo apt-get remov ...
- RPM包制作方法
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
随机推荐
- Luogu P8112 [Cnoi2021] 符文破译 题解 [ 蓝 ] [ KMP ] [ 线性 dp ] [ 决策单调性 dp ]
符文破译:KMP + dp 的好题. 暴力 dp 不难打出一个暴力 dp:设计 \(dp_i\) 表示当前前 \(i\) 位全部完成了匹配,所需的最小分割数. 转移也是简单的,我们在 KMP 的过程中 ...
- hibernate基础查询语句使用
hibernate最新文档 项目仓库地址项目201102-hibernateSelect 数据准备 -- 创建数据表 drop table if exists t_book; create table ...
- go实现设计模式(1)——简介
六大原则 开闭原则(Open Close Principle) 对扩展开放,对修改关闭.对程序进行拓展时,尽量不去修改原有的代码,应该通过扩展实体的行为来实现. 里氏替换原则(Liskov Subst ...
- 安川YASKAWA机器人主板维修方法合集
安川机械手板卡故障分析与YASKAWA机械臂主板维修步骤 1. 确认故障现象:首先,我们需要详细了解安川机器人主板故障现象,包括但不限于工作异常.运行错误.速度变慢等. 2. 拆卸主板:根据故障现象, ...
- 5090D-deepseek-Anythingllm-Ollama运行测试
ollama ollama配置环境变量 ollama地址与镜像 C:\Users\DK>curl http://10.208.10.240:11434 Ollama is running C:\ ...
- docker - [04] 常用命令
官方文档:https://docs.docker.com/reference/ 一.帮助命令 1.1.docker version 查看docker的版本信息 1.2.docker info 显示do ...
- DW002 - 数据仓库模型设计
数据模型 关系模型与维度模型 常见数据模型设计方法 数据模型 1. 什么是数据模型 模型 - Model 模型是指对于某个实际问题或者客观事物.规律进行抽象后的一种形式化表达方式 比如地图.建筑设计沙 ...
- Scala List集合 List 有序不唯一,元素可重复
package com.wyh.day01 import scala.collection.mutable.ListBuffer /** * List 有序不唯一,元素可重复 */ object Sc ...
- 基于 Trae Claude-3.7 从0到1 打造加密货币钱包Dompet-App
从0到1:用Trae Claude-3.7打造加密货币钱包Dompet-App 项目介绍 大家好!今天我要分享如何使用强大的AI助手Trae Claude-3.7,从零开始构建一款功能丰富的加密货币钱 ...
- halo配置踩坑过程小记
写在最前: 终于搞定了最后的一步域名解析配置,其实动态博客的折腾程度也不低于当时的hexo吧,也可能当时的痛苦过程已经忘了..整理一下思路,记录一下配置过程走过的坑. 我是从hexo用了半年想 ...