💾 Archived View for pixeldreams.tokyo › technomancy › jihost-slackbuilds.gmi captured on 2024-03-21 at 15:03:56. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-09-08)

➡️ Next capture (2024-05-10)

-=-=-=-=-=-=-

個人用のslackwareパッケージリポジトリを作ってみました

令和5年9月1日

目次

なぜslackware

約一ヶ月前、メインパソコンにslackwareをインストールしました。使いたいと思ったきっかけは主に三つ:

slackwareのパッケージ管理について

なおslackbuildsは優秀ですが、使いたいソフトが入ってなかったりするので最初はホームディレクトリでビルドしていました。しかしそのままですと、別パソコンで再現しにくいので、slackbuildでパッケージングしたいと思いました。

slackbuildの構造

一つのslackbuildに最小でも三つファイルがあります:

所詮shスクリプトですから、かなり柔軟なんです。

aurみたいに、slackbuildを一個一個落としてビルド・インストールすることもできますが、依存パッケージの事前導入や更新チェックすべて自己責任になりますので、ツールを使ったほうが楽だと思います。

その尼をやってくれるプログラムは幾つかありますが、ここではsbopkgというものを使います。

slackbuildsレポジトリの構造

slackbuildsリポジトリが認識されるために最低限で必要なファイルは次二つ:

その他、READMEやPGP-KEYなど含めることも可能、というより一般的のようです。

CHECKSUMS.md5の更新は、次のコマンド使うと便利です:

find . -type f -exec md5sum {} \; > CHECKSUMS.md5

実際建ててみました

うちのサーバーでOpenBSD使ってますので、それにデフォルトで入っているプログラムでリポジトリサーバーをホスティングしています

unbound.conf

	...
	local-zone: "esper." static
	local-data: "slackhax.esper. IN A 10.0.0.1"
	...

httpd.conf

server "slackhax.esper" {
	listen on lo0 port 10010
	no log
	root "/htdocs/slackhax.esper"
	directory auto index
}

rsyncd.conf

uid = _rsync
gid = _rsync

[pub]
path = /var/www/htdocs/slackhax.esper/./

それから、クライアント側でsbopkgが使えるリポジトリを定義しました

$ cat /etc/sbopkg/repos.d/70-esp.repo
SlackHax 15.0 "EsperNet SlackHax Repo" _k rsync slackhax.esper::pub/myslackbuilds/15.0 ""
詳しくは /etc/sbopkg/repos.d/READMEで確認できます!