← Back to team overview

touch-packages team mailing list archive

[Bug 1165569] Re: add-apt-repository crashes in non-UTF locale with UTF in key description

 

On a default 14.04.2 server install one can do the following to get
around this issue:

****** THE FOLLOWING FAILS ********

$ sudo add-apt-repository --yes ppa:ts.sch.gr/ppa
gpg: keyring `/tmp/tmp72b1dl0x/secring.gpg' created
gpg: keyring `/tmp/tmp72b1dl0x/pubring.gpg' created
gpg: requesting key 03AFA832 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp72b1dl0x/trustdb.gpg: trustdb created
gpg: key 03AFA832: public key "\xce\x91\xcf\x80\xce\xbf\xce\xb8\xce\xb5\xcf\x84\xce\xae\xcf\x81\xce\xb9\xce\xbf \xce\xa4\xce\xb5\xcf\x87\xce\xbd\xce\xb9\xce\xba\xce\xae\xcf\x82 \xce\xa3\xcf\x84\xce\xae\xcf\x81\xce\xb9\xce\xbe\xce\xb7\xcf\x82 \xce\xa3\xce\x95\xce\xa0\xce\x95\xce\x97\xce\xa5" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.4/threading.py", line 868, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 687, in addkey_func
    func(**kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 370, in add_key
    return apsk.add_ppa_signing_key()
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 261, in add_ppa_signing_key
    tmp_export_keyring, signing_key_fingerprint, tmp_keyring_dir):
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 210, in _verify_fingerprint
    got_fingerprints = self._get_fingerprints(keyring, keyring_dir)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 202, in _get_fingerprints
    output = subprocess.check_output(cmd, universal_newlines=True)
  File "/usr/lib/python3.4/subprocess.py", line 605, in check_output
    output, unused_err = process.communicate(inputdata, timeout=timeout)
  File "/usr/lib/python3.4/subprocess.py", line 936, in communicate
    stdout = _eintr_retry_call(self.stdout.read)
  File "/usr/lib/python3.4/subprocess.py", line 487, in _eintr_retry_call
    return func(*args)
  File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 71: ordinal not in range(128)


***** THE FOLLOWING SUCCEEDS *******


$ export LANG=C.UTF-8
$ sudo add-apt-repository --yes ppa:ts.sch.gr
gpg: keyring `/tmp/tmp07_sm4eg/secring.gpg' created
gpg: keyring `/tmp/tmp07_sm4eg/pubring.gpg' created
gpg: requesting key 03AFA832 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp07_sm4eg/trustdb.gpg: trustdb created
gpg: key 03AFA832: public key "Αποθετήριο Τεχνικής Στήριξης ΣΕΠΕΗΥ" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to software-properties in
Ubuntu.
https://bugs.launchpad.net/bugs/1165569

Title:
  add-apt-repository crashes in non-UTF locale with UTF in key
  description

Status in software-properties package in Ubuntu:
  Triaged

Bug description:
  When using add-apt-repository under non-UTF locale to add a PPA with
  non-ascii characters, the following crash happens:

  gpg: keyring `/tmp/tmp01qdlw/secring.gpg' created
  gpg: keyring `/tmp/tmp01qdlw/pubring.gpg' created
  gpg: requesting key 95BF72AD from hkp server keyserver.ubuntu.com
  gpg: /tmp/tmp01qdlw/trustdb.gpg: trustdb created
  gpg: key 95BF72AD: public key "Launchpad PPA for Micha\xc5\x82 Sawicz" imported
  gpg: Total number processed: 1
  gpg:               imported: 1  (RSA: 1)
  Exception in thread Thread-1:
  Traceback (most recent call last):
    File "/usr/lib/python3.3/threading.py", line 639, in _bootstrap_inner
      self.run()
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 141, in run
      self.add_ppa_signing_key(self.ppa_path)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 238, in add_ppa_signing_key
      tmp_export_keyring, signing_key_fingerprint, tmp_keyring_dir):
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 190, in _verify_fingerprint
      got_fingerprints = self._get_fingerprints(keyring, keyring_dir)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 182, in _get_fingerprints
      output = subprocess.check_output(cmd, universal_newlines=True)
    File "/usr/lib/python3.3/subprocess.py", line 575, in check_output
      output, unused_err = process.communicate(timeout=timeout)
    File "/usr/lib/python3.3/subprocess.py", line 909, in communicate
      stdout = _eintr_retry_call(self.stdout.read)
    File "/usr/lib/python3.3/subprocess.py", line 476, in _eintr_retry_call
      return func(*args)
    File "/usr/lib/python3.3/encodings/ascii.py", line 26, in decode
      return codecs.ascii_decode(input, self.errors)[0]
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 94: ordinal not in range(128)

  ProblemType: Bug
  DistroRelease: Ubuntu 13.04
  Package: software-properties-common 0.92.17
  ProcVersionSignature: Ubuntu 3.8.0-7.16-generic 3.8.0
  Uname: Linux 3.8.0-7-generic x86_64
  NonfreeKernelModules: wl nvidia
  ApportVersion: 2.9.2-0ubuntu5
  Architecture: amd64
  Date: Sun Apr  7 00:19:57 2013
  MarkForUpload: True
  PackageArchitecture: all
  SourcePackage: software-properties
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/1165569/+subscriptions