apt repository

自前で作ったdebian packageを自前のapt repositoryに突っ込む時の問題。

 

# apt update
取得:1 file:/home/debian packages/ InRelease [1,365 B]
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
パッケージはすべて最新です。
W: ディストリビューションが競合しています: file:/home/debian packages/ InRelease (packages/ を期待していたのに  を取得しました)
W: Skipping acquire of configured file 'Packages' as repository 'file:/home/debian packages/ InRelease' does not seem to provide it (sources.list entry misspelt?)

 

この競合の警告が消せなくて悩んでいたが、どうもPackagesを圧縮するのがいけないらしい。

PKGDIR := .
PACKAGE := $(PKGDIR)/Packages
RELEASE := $(PKGDIR)/Release
INRELEASE := $(PKGDIR)/InRelease
COMPRESS :=xz
PKGS := $(wildcard $(PKGDIR)/*.deb)
all: $(INRELEASE)
$(INRELEASE): $(RELEASE).gpg
        -rm $@
        gpg --clearsign -o $@ $(RELEASE)
$(PACKAGE): $(PKGS)
        apt-ftparchive packages $(PKGDIR) > $@
$(RELEASE): $(PACKAGE)
        apt-ftparchive release $(PKGDIR) > $@
$(RELEASE).gpg: $(RELEASE)
        -rm $@
        gpg -abs -o $@ $(RELEASE)
clean:
        rm -f $(PACKAGE) $(RELEASE) $(INRELEASE) $(PACKAGE).gpg $(PACKAGE).$(COMPRESS) $(RELEASE).$(COMPRESS) $(RELEASE).gpg
deb file:/home/debian/packages ./

 

圧縮やめたら警告なくなった

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です