← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1645680] Re: apt feature broken on >=Yakkety due to new gpg agent

 

This bug is believed to be fixed in curtin in 17.1. If this is still a
problem for you, please make a comment and set the state back to New

Thank you.

** Changed in: curtin
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1645680

Title:
  apt feature broken on >=Yakkety due to new gpg agent

Status in curtin:
  Fix Released
Status in GnuPG:
  Incomplete
Status in curtin package in Ubuntu:
  Fix Released
Status in curtin source package in Xenial:
  Fix Released
Status in curtin source package in Yakkety:
  Fix Released
Status in curtin source package in Zesty:
  Fix Released

Bug description:
  ----- Begin SRU Template -----
  [Impact]
  The mechanism for adding PPAs during was prone to failure when installing
  16.10 (yakkety) or newer systems.

  A curtin install of yakkety with the following configuration would
  fail:
    apt:
    sources:
      ignored1:
        source: "ppa:paelzer/yourppa"

  [Test Case]
  Install a yakkety or zesty system with the above configuration.
  This can be accomplished by running the vmtest YakketyTestAptConfigCMDCMD
  with the installed version of curtin.

  It has configuration of
      apt:
        sources:
          ignored:
             source: "ppa:curtin-dev/test-archive"
          curtin-test1.list:
             source: "deb $MIRROR $RELEASE-proposed main"

  
  [Regression Potential]

  [Other Info]
  This failure came as a result of change in behavior of gpg.  Curtin
  (indirectly through add-apt-repository) uses GPG to add PPAs into a
  chroot.  GPG2 began daemonizing itself, which meant that unmounts of the
  filesystem would fail due to open filehandles of the daemonized gpg
  process.

  There is further discussion both on the bug and in the upstream
  merge proposal [1] on other ways to do this.  The solution taken was
  a killall of processes named 'dirmgr' or 'gpg-agent' that were spawned
  after the chroot.

  [1] https://code.launchpad.net/~paelzer/curtin/curtin-bug-1645680-gpgagent/+merge/312143
  ----- End   SRU Template -----

  Hi,
  while testing I found that when running apt feature related to add-apt-repository like:

  apt:
    sources:
      ignored1:
        source: "ppa:paelzer/yourppa"

  Or in fact any sort of add-apt-repository (also unrelated to the apt feature itself) like:
  late_commands:
   01_install_ppa: ['curtin', 'in-target --', 'add-apt-repository --yes ppa:paelzer/bug-1645274-multipath-merge']

  Then the installation fails.

  Both use the chroot to execute in target, but recent add-apt-
  repository seems so cause daemons to spawn which then let the umount
  fail.

  Failure is usually around something like:
  "umount: /tmp/tmptmucmfm0/target/dev: target is busy"

  Here an excerpt from a lsof +fg afterwards.
  dirmngr   6771             root    1r   CHR            LG,0x80000    1,9      0t0   11 /tmp/tmptmucmfm0/target/dev/urandom
  dirmngr   6771             root    2w   CHR                  W,LG    1,3      0t0    6 /tmp/tmptmucmfm0/target/dev/null
  gpg-agent 6776             root    0r   CHR                    LG    1,3      0t0    6 /tmp/tmptmucmfm0/target/dev/null
  gpg-agent 6776             root    1w   CHR                  W,LG    1,3      0t0    6 /tmp/tmptmucmfm0/target/dev/null
  gpg-agent 6776             root    2w   CHR                  W,LG    1,3      0t0    6 /tmp/tmptmucmfm0/target/dev/null

  One of them could be shut down by:
  gpg-connect-agent --verbose KILLAGENT
  But not dirmngr, that has to be killed.
  Actually killing them seems ok (does not seem to create and later fallout).

To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/1645680/+subscriptions