DSCURL="$(wget -qO- "https://packages.debian.org/${SUITE}/${PKG}" \
| grep -o 'http.*\.dsc">\[' | cut -d'"' -f1)"
[ -z "$DSCURL" ] && die 2 "no .dsc"
dget ${ALLOW_UNAUTH} -x "$DSCURL" 2> "$TEMP"
我正在寻找 Debain 方式从 jessie 获取源包,然后通过 下载dget -x $DSCURL
。向后移植所以apt-get source
不是一个解决方案,它会干扰 wheezy 上的 apt 系统。我现在通过解析 Debian 网页来做到这一点。我找不到正确的Debian API。
答案1
apt-get source -t jessie dpkg
是一种方式去:
引用手册页中的相关章节
Source packages are tracked separately from binary packages via
deb-src lines in the sources.list(5) file. This means that you will
need to add such a line for each repository you want to get sources
from; otherwise you will probably get either the wrong (too old/too
new) source versions or none at all.
并且:
-t, --target-release, --default-release
This option controls the default input to the policy engine; it
creates a default pin at priority 990 using the specified release
string. This overrides the general settings in
/etc/apt/preferences. Specifically pinned packages are not affected
by the value of this option. In short, this option lets you have
simple control over which distribution packages will be retrieved
from. Some common examples might be -t '2.1*', -t unstable or -t
sid. Configuration Item: APT::Default-Release; see also the
apt_preferences(5) manual page.
另一个选择是使用debootstrap
并创建一个完整的 chroot。
不要忘记使用类似的东西pbuilder
以获得可靠的软件包构建。