[arch-general] difference between arch-nspawn and mkarchroot?

David C. Rankin drankinatty at suddenlinkmail.com
Thu Jan 16 22:12:59 EST 2014


On 01/16/2014 05:08 PM, Jan Alexander Steffens wrote:
> In the process of reorganizing the code, mkarchroot was split into two
> binaries with complementing functionality.
> 
> arch-nspawn is a thin wrapper around systemd-nspawn, doing some
> pacman-specific stuff like copying config from the host and binding
> the cache.
> 
> mkarchroot (which now just builds the chroot instead of also providing
> chrooting functionality) makes use of arch-nspawn, as do makechrootpkg
> and archbuild.

Thank you Jan,

  Did the ability to use the $CHROOT/root/repo as a CHROOT repository change?  I
am updating the PKGBUILDs for TDE and rebuilding it, and my earlier method of
placing dependency packages in $CHROOT/root/repo, updating
$CHROOT/root/etc/pacman.conf with:

[local]
Server = file:///repo

  Creating the index with:

repo-add local.db.tar.gz *.xz

  Then building the first package with a stub PKGBUILD containing:

<snip>
depends=('apetag-git'
         'libkarma'
         'libnjb'
         'libutempter'
         'mt-daapd'
         'musepack-tools-svn'
         'tde-tqt3'
         'wv2'
         'xmedcon')

no longer works. Attempting to build the stub package to install the
dependencies, with 'sudo makechrootpkg -c -r $CHROOT' I get:

20:31 phoinix:/dat_f/tde/stub> sudo makechrootpkg -r $CHROOT
==> Making package: tde-stub 0.1-1 (Thu Jan 16 20:31:13 CST 2014)
==> WARNING: Using a PKGBUILD without a package() function is deprecated.
==> Retrieving sources...
==> Making package: tde-stub 0.1-1 (Thu Jan 16 20:31:13 CST 2014)
==> WARNING: Using a PKGBUILD without a package() function is deprecated.
==> Checking runtime dependencies...
warning: database file for 'local' does not exist
==> Installing missing dependencies...
warning: database file for 'local' does not exist
error: target not found: apetag-git
error: target not found: libkarma
error: target not found: libnjb
error: target not found: mt-daapd
error: target not found: musepack-tools-svn
error: target not found: tde-tqt3
error: target not found: wv2
error: target not found: xmedcon
==> ERROR: 'pacman' failed to install missing dependencies.
==> ERROR: Build failed, check /dat_e/ch14/david/build


  The error at issue is: warning: database file for 'local' does not exist,
however, I have never seen that before. Especially with:

21:10 phoinix:/dat_e/tmp> l1 /dat_e/ch14/root/repo/
apetag-git-1.13-1-x86_64.pkg.tar.xz
libkarma-0.1.2-1-x86_64.pkg.tar.xz
libnjb-2.2.7-3-x86_64.pkg.tar.xz
libutempter-1.1.6-2-x86_64.pkg.tar.xz
local.db
local.db.tar.gz
mt-daapd-0.2.4.2-7-x86_64.pkg.tar.xz
musepack-tools-svn-r484-1-x86_64.pkg.tar.xz
tde-tqt3-14.0.0-1-x86_64.pkg.tar.xz
tde-tqt3-docs-14.0.0-1-x86_64.pkg.tar.xz
wv2-0.4.2-3-x86_64.pkg.tar.xz
xmedcon-0.13.0-1-x86_64.pkg.tar.xz

  What is now preventing the build from finding the 'local.db' in
/dat_e/ch14/root/repo/?

-- 
David C. Rankin, J.D.,P.E.


More information about the arch-general mailing list