Comment 3 for bug 775037

Revision history for this message
Fumihito YOSHIDA (hito) wrote :

This bug has two mechanism,

1) apt_clone.py::rewrite_sources_list() supports only pockets of dist-{updates, backports, security}.
----------------------------------------------
Quote from apt_clone.py::rewrite_sources_list()::

       for entry in sources.list[:]:
           if entry.invalid or entry.disabled:
               continue
           replacement = ''
           for pocket in ('updates', 'security', 'backports'):
               if entry.dist.endswith('-%s' % pocket):
                   replacement = '%s-%s' % (new_distro, pocket)
                   break
           if replacement:
               entry.dist = replacement
           else:
               entry.dist = new_distro
----------------------------------------------
That replaces:
   a) "dist-{updates, backports, security}" => new_distro-{updates, backports, security}
   b) Any "non-a)" pattern => new_distro

So, apt-clone breaks the third-party apt-line (that has different naming , e.g.: pocket = "natty-non-free").

2) apt-clone runs apt-get, but apt-line has broken by 1), that cause crash with "E:Malformed line N" messages.