Hôm trước tôi đã thử cài đặt opencv-gittừ AUR với makepkgtrên Arch Linux. Tất nhiên nó lấy từ kho git như tên chỉ ra. Điều này kéo 1Gb. Tôi đang đọc về việc làm một bản sao nông với git. Khi tôi nhìn vào PKGBUILDtập tin, sử dụng grep git PKGBUILD, tôi thấy:
pkgname="opencv-git"
makedepends=('git' 'cmake' 'python2-numpy' 'mesa' 'eigen2')
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=("${pkgname%-git}::git+http://github.com/Itseez/opencv.git"
cd "${srcdir}/${pkgname%-git}"
git describe --long | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
cd "${srcdir}/${pkgname%-git}"
cd "${srcdir}/${pkgname%-git}"
cd "${srcdir}/${pkgname%-git}"
install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname%-git}/LICENSE"
Có cách nào để sửa đổi công thức hoặc makepkglệnh chỉ lấy một bản sao nông (phiên bản mới nhất của nguồn là thứ tôi muốn) và không phải là kho lưu trữ đầy đủ để tiết kiệm không gian và băng thông? Đọc man 5 PKGBUILDkhông cung cấp cái nhìn sâu sắc mà tôi đang tìm kiếm. Cũng xem nhanh qua makepkgvà các pacman trang - dường như không thể tìm ra cách để làm điều đó.
git+http://github.com/Itseez/opencv.gittrong công thức AUR bằng tên đường dẫn cục bộ. Bạn đã thử chưa? Nếu hệ thống xây dựng này buộc bạn phải sao chép một repos ngay cả khi bạn có sẵn nó ở địa phương, thì đó là một điều thú vị.