最近学习了 rpm 和 deb 的打包,虽然只是把已经编译好的程序文件打包成软件包,但也遇到了很多问题。
关于目录结构的问题,一开始不知道 spec 文件的%prep 的工作目录是在%{_builddir},绕了很大弯路。
如果要往/usr/share/icons/hicolor 安装图标的话,需要在 spec 文件添加 BuildRequires: hicolor-icon-theme ,否则可能会提示无权使用文件夹的错误。
deb 打包时处理依赖要比 rpm 打包时麻烦,在打包前还要向.dsc 文件和 debian.control 文件的 Build-Depends 添加相关依赖,不然 dh_shlibdeps 会报错。可以在 https://www.debian.org/distrib/packages 上根据 dh_shlibdeps 的报错信息中的文件名(通常是找不到某共享库)确定相关依赖的包名。不知道有没有更方便的办法。
使用 debtransform 时,还需要在 debian.rules 中添加 echo 12 > debian/compat ,不然很多 deb 打包特有的命令会提示无法满足兼容性要求而拒绝运行(如 Compatibility levels before 5 are no longer supported)。
4赞
zzndb
(zzndb)
2021年05月8日 12:21
3
1赞
小狼毫那几个包是你提交的吧,我不小心过了几个,你赶快把卡着没过的包修好吧。
说实话我还没看懂为什么苏大原来要这样编译 go 的程序,不过还是把原来的部分放上去了。
不是不可以像你那么改,我没有打消积极性的意思…是因为 rime-plum-go 我过年时候重构了一次,然后现在在重构它依赖的 shell pattern matching,只能先用老版本。
我放 brise 里是因为 brise 现在是个数据包,数据是 rime-plum-go 生成的。搞新包已有 Leap 送不进去,送进去数据不送进去 plum 相当于砍了功能…
可以只向 Tumbleweed 提交而不向 Leap 提交吗,我不懂这些发行版对包的管理规定。
可以,然后 Leap 的 brise 更新和修复谁来负责?还是上一个人吗?你接的是一个 package,不是一个 package 从某个时间点开始往后的一段…如果也是你,那随便拆…如果不是就跟上一个人沟通免得来个 surprise…
1赞
懂了,提交 revert 请求了,怎么简单怎么来吧
slbtty
(shenlebantongying)
2021年05月10日 07:54
10
我维护了一小小的没有打包过的软件列表,如果你想找东西练手的话。
这个帖子任何人都可以编辑
All missing!
https://www.reddit.com/r/openSUSE/comments/ncr0nr/what_packages_are_missing_from_opensuse_and_i/
Rustfication!
》GitHub - TaKO8Ki/awesome-rewrite-it-in-rust: A curated list of replacements for existing software written in Rust
ada build system
gprbuild GitHub - AdaCore/gprbuild: GPRbuild is an advanced build system designed to help automate the construction of multi-language systems.
game, written in Lua with LoVE engine
GitHub - a327ex/SNKRX: A replayable arcade shooter where you control a snake of heroes.
up -> Unix pipe preview, life saver like jesus himself.
gimagereader -> OCR frontend
xlpr -> hackable TUI file manager -> 1k stars+ on GitHub
GitHub - sayanarijit/xplr: A hackable, minimal, fast TUI file explorer
chafa
https://hpjansson.org/chafa/
kristall
Gemini:// Gemini protocol viewer written in Qt.
GitHub - MasterQ32/kristall: Graphical small-internet client for windows, linux, MacOS X and BSDs. Supports gemini, http, https, gopher, finger.
Other Gemini:// clients (most of them only have AUR/arch package)
https://gemini.circumlunar.space/clients.html
All apps from Maui project (QML/Qt based)
https://mauikit.org/
GNOME/gtk, (maybe meson based)
Ulancher GitHub - Ulauncher/Ulauncher: Linux Application Launcher
[image]
lounge-gtk-theme -> A none-brain-dead GTK theme GitHub - monday15/lounge-gtk-theme: Simple and clean gtk theme
[image]
bustle - D-bus monitor
Apostrophe
https://somas.pages.gitlab.gnome.org/apostrophe/
[image]
NewsFlash -> FeedReader 的精神继承者。
https://gitlab.com/news-flash/news_flash_gtk
[image]
gaphor
https://gaphor.org/
[image]
Rust-based
skim -> Fuzz 文件搜索 GitHub - lotabout/skim: Fuzzy Finder in rust!
Tokei 時計 -> 代码计数器 GitHub - XAMPPRocky/tokei: Count your code, quickly.
[image]
Dust -> NCDU 的 rust 翻版
GitHub - bootandy/dust: A more intuitive version of du in rust
[image]
rust64 -> Commodore 64 模拟器 GitHub - kondrak/rust64: Commodore 64 emulator…
3赞
@fusionfuture rime-plum-go 我已经写完了,你愿意拆 brise 现在可以拆了