使用 yaourt 從 AUR 安裝 iptux 時,雖顯示安裝成功但找不到執行檔。原因是 PKGBUILD 中 build() 函數直接執行 make install 至 $startdir/pkg,不符合 Arch 打包規範,需改為標準 package() 函數安裝至 $pkgdir。
build() {
cd $srcdir/
msg "Starting make..."
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR=$startdir/pkg install # 錯誤:直接在 build() 中安裝
}
build() {
cd $srcdir/
msg "Starting make..."
./configure --prefix=/usr || return 1
make || return 1
# 不在這裡安裝
}
package() {
make DESTDIR="$pkgdir/" install # 正確:在 package() 階段安裝至 $pkgdir
}
iptux.tar.gz 並解壓PKGBUILD 依上述方式修正makepkg 產生套件檔 (iptux-0.5.3-1-x86_64.pkg.tar.xz)pacman -U iptux-0.5.3-1-x86_64.pkg.tar.xzbuild():編譯階段,產出檔案置於 $srcdir 下package():打包階段,將檔案安裝至 $pkgdir 模擬根目錄結構makepkg 會自動處理 $pkgdir 內容打包成 .pkg.tar.xz$startdir/pkg 為舊式寫法,已棄用