Re: 6.1.3. Multiple binary packages question
On Sun, 18 Jun 2023 at 23:18:24 +0000, Holger Levsen wrote:
> On Sun, Jun 18, 2023 at 11:19:06PM +0200, Bill Allombert wrote:
> > The drawback of dh_install is that it requires more diskspace to build than
> > dh_movefiles but is less error prone.
> > So unless your package is very large, it is safer to use dh_install.
>
> interesting, I've never heard of dh_movefiles before.
It's the tool that was used before dh_install existed. Its man page says:
Note: dh_install is a much better program, and you are recommended
to use it instead of dh_movefiles.
> what does "more diskspace" mean, however? kilobytes? terabytes? 100% of
> the diskspace used by the files installed? 200%?
The cost is 100% of the disk space used by the files being installed,
if your filesystem doesn't support reflinks; or 0% if it does.
dh_install does something similar to
cp --reflink=auto debian/tmp/usr/bin/foo debian/foo-bin/usr/bin/foo
whereas dh_movefiles is more like
mv debian/tmp/usr/bin/foo debian/foo-bin/usr/bin/foo
On btrfs and other reflink-capable filesystems, dh_install should be
basically zero-cost, as a result of --reflink=auto.
I'd personally only consider using dh_movefiles for the largest of "data"
packages. Things like openarena-data and nexuiz-data (hundreds of MiB)
are fine with dh_install, but 0ad-data (about 3 GiB) would maybe benefit?
(But if I maintained 0ad-data, I'd probably still use dh_install, and just
make sure that I built it on btrfs or another reflink-capable filesystem
if time and space were a concern.)
> "my" largest package was less than 100mb in size, which can be a bit annoying for
> uploads, but for diskspace during build, several gigabytes (or more) are
> not uncommon, so I'm having a somewhat hard time imaginening that the
> above is a relavant argument in most situations.
If your package's total Installed-Size is 100M and we assume the compressed
size is (say) 60M, then I would expect the build to need:
quite a lot ./configure && make
+ 100M make install DESTDIR=debian/tmp
+ 100M dh_install
+ 60M dh_builddeb
At best, dh_movefiles saves you the second "+ 100M".
smcv
Reply to: