bob prohaska wrote:
> but AIUI apt-get triggers a complete download/overwrite of whatever
> got downloaded before. That's likely to be wasteful, slow and hard on flash.
> Is there an option switch like CVS or subversion that fetches changes only?
apt-get source fetches:
- the 'upstream' source code, as a tarball
- the patches applied to the upstream source to make the specific version of
the debian package you're fetching
- the control files that allow building the debian package
It'll only download and unpack the things it needs to:
$ apt-get source hello
Reading package lists... Done
Need to get 734 kB of source archives.
Get:1 http://www-uxsup.csx.cam.ac.uk/pub/linux/ubuntu bionic-updates/main hello
2.10-1build3 (dsc) [1,707 B]
Get:2 http://www-uxsup.csx.cam.ac.uk/pub/linux/ubuntu bionic-updates/main hello
2.10-1build3 (tar) [726 kB]
Get:3 http://www-uxsup.csx.cam.ac.uk/pub/linux/ubuntu bionic-updates/main hello
2.10-1build3 (diff) [6,224 B]
Fetched 734 kB in 0s (26.0 MB/s)
dpkg-source: info: extracting hello in hello-2.10
dpkg-source: info: unpacking hello_2.10.orig.tar.gz
dpkg-source: info: unpacking hello_2.10-1build3.debian.tar.xz
$ apt-get source hello
Reading package lists... Done
Skipping already downloaded file 'hello_2.10-1build3.dsc'
Skipping already downloaded file 'hello_2.10.orig.tar.gz'
Skipping already downloaded file 'hello_2.10-1build3.debian.tar.xz'
Need to get 0 B of source archives.
Skipping unpack of already unpacked source in hello-2.10
You can also ask it to compile the sources:
$ apt-get source --compile hello
Reading package lists... Done
Skipping already downloaded file 'hello_2.10-1build3.dsc'
Skipping already downloaded file 'hello_2.10.orig.tar.gz'
Skipping already downloaded file 'hello_2.10-1build3.debian.tar.xz'
Need to get 0 B of source archives.
Skipping unpack of already unpacked source in hello-2.10
dpkg-buildpackage: info: source package hello
dpkg-buildpackage: info: source version 2.10-1build3
dpkg-buildpackage: info: source distribution bionic-security
dpkg-buildpackage: info: source changed by Marc Deslauriers
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build hello-2.10
fakeroot debian/rules clean
dh clean
debian/rules override_dh_auto_clean
make[1]: Entering directory '/tmp/hello-2.10'
[ ! -f Makefile ] || /usr/bin/make distclean
make[1]: Leaving directory '/tmp/hello-2.10'
dh_clean
debian/rules build
dh build
dh_update_autotools_config
dh_auto_configure
./configure --build=x86_64-linux-gnu --prefix=/usr
--includedir=\${prefix}/include --mandir=\${prefix}/share/man
--infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var
--disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-
gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode
--disable-dependency-tracking
configure: WARNING: unrecognized options: --disable-maintainer-mode
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
[etc]
(turns out 'GNU hello' is a surprisingly complicated package)
Theo
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|