curtin-dev team mailing list archive
-
curtin-dev team
-
Mailing list archive
-
Message #03127
[Merge] ~enr0n/curtin:deb822 into curtin:master
Nick Rosbrook has proposed merging ~enr0n/curtin:deb822 into curtin:master.
Commit message:
Turn off migration to deb822 by default, and update appropriate docs/test to reflect this.
When we are actually ready for this, the logic in want_deb822() can be restored.
Requested reviews:
Dan Bungert (dbungert)
For more details, see:
https://code.launchpad.net/~enr0n/curtin/+git/curtin/+merge/451474
--
Your team curtin developers is subscribed to branch curtin:master.
diff --git a/curtin/commands/apt_config.py b/curtin/commands/apt_config.py
index d2a12d5..dd8e250 100644
--- a/curtin/commands/apt_config.py
+++ b/curtin/commands/apt_config.py
@@ -77,6 +77,16 @@ def want_deb822(target=None):
This is determined by the version of Ubuntu: deb822 is the default starting
with Ubuntu 23.10 (Mantic Minotaur).
"""
+<<<<<<< curtin/commands/apt_config.py
+=======
+
+ """
+ FIXME: The deb822-by-default goal was delayed in 23.10.
+ Re-enable/update this code (and the test case in
+ tests/unittests/test_apt_source.py) when we are ready for deb822 by
+ default.
+
+>>>>>>> curtin/commands/apt_config.py
os_release = distro.os_release(target)
if os_release.get('ID') != 'ubuntu':
@@ -91,6 +101,12 @@ def want_deb822(target=None):
return False
return version[0] > 23 or (version[0] >= 23 and version[1] >= 10)
+<<<<<<< curtin/commands/apt_config.py
+=======
+ """
+
+ return False
+>>>>>>> curtin/commands/apt_config.py
class Deb822SourceFormatException(Exception):
@@ -638,11 +654,14 @@ def _generate_sources_deb822(cfg, release, mirrors, target=None, arch=None):
entry['Suites'] = list(set(entry['Suites']) - suites_to_disable)
entry['Components'] = list(set(entry['Components']) - comps_to_disable)
+<<<<<<< curtin/commands/apt_config.py
if not entry['Suites']:
# It is invalid for a stanza to have zero suite configured. In
# practise, it can happen when -security is disabled.
continue
+=======
+>>>>>>> curtin/commands/apt_config.py
stanzas.append(deb822_entry_to_str(entry))
target_path = paths.target_path(target, sources_deb822)
diff --git a/doc/topics/apt_source.rst b/doc/topics/apt_source.rst
index 0dfaa34..2591ca1 100644
--- a/doc/topics/apt_source.rst
+++ b/doc/topics/apt_source.rst
@@ -131,6 +131,7 @@ That would be specified as ::
The file examples/apt-source.yaml holds various further examples that can be configured with this feature.
+<<<<<<< doc/topics/apt_source.rst
deb822 sources on Ubuntu >= 23.10
---------------------------------
@@ -153,6 +154,30 @@ will result in a file on the target system called ``/etc/apt/sources.list.d/prop
URIs: http://archive.ubuntu.com/ubuntu/
Suites: mantic-proposed
Components: main restricted universe multiverse
+=======
+..
+ deb822 sources on Ubuntu >= 23.10
+ ---------------------------------
+
+ By default, Ubuntu 23.10 and newer use the deb822 format for apt sources.
+ When processing the apt configuration for a target system that should use deb822 sources, curtin will migrate legacy one-line sources to deb822 on-the-fly.
+ The resulting configuration is functionally equivalent, but the sources on the target system will be formatted differently than provided in the configuration.
+
+ For example, a configuration snippet that looks like ::
+
+ apt:
+ sources:
+ proposed.list:
+ source: |
+ deb http://archive.ubuntu.com/ubuntu/ mantic-proposed main restricted universe multiverse
+
+ will result in a file on the target system called ``/etc/apt/sources.list.d/proposed.sources`` that looks like ::
+
+ Types: deb
+ URIs: http://archive.ubuntu.com/ubuntu/
+ Suites: mantic-proposed
+ Components: main restricted universe multiverse
+>>>>>>> doc/topics/apt_source.rst
Common snippets
~~~~~~~~~~~~~~~
diff --git a/tests/unittests/test_apt_source.py b/tests/unittests/test_apt_source.py
index 8146c68..3d75274 100644
--- a/tests/unittests/test_apt_source.py
+++ b/tests/unittests/test_apt_source.py
@@ -9,7 +9,7 @@ import re
import socket
-from unittest import mock
+from unittest import (mock, skip)
from unittest.mock import call
from aptsources.sourceslist import SourceEntry
@@ -1269,6 +1269,10 @@ deb-src http://ubuntu.com//ubuntu xenial universe multiverse
filepath = os.path.join(self.target, 'etc/apt/sources.list')
write_file.assert_called_with(filepath, expect, mode=0o644)
+<<<<<<< tests/unittests/test_apt_source.py
+=======
+ @skip('Skipping until ready for migration to deb822 by default')
+>>>>>>> tests/unittests/test_apt_source.py
@mock.patch('curtin.distro.os_release')
def test_want_deb822(self, mock_os_release):
testdata = [
@@ -1306,6 +1310,7 @@ deb-src http://ubuntu.com//ubuntu xenial universe multiverse
'etc/apt/sources.list.d/ubuntu.sources': ((
'Types: deb\n'
'URIs: $MIRROR\n'
+<<<<<<< tests/unittests/test_apt_source.py
'Suites: $RELEASE $RELEASE-updates\n'
'components: main\n'
'signed-by: /usr/share/keyrings/ubuntu-archive-keyring.gpg\n'
@@ -1314,6 +1319,9 @@ deb-src http://ubuntu.com//ubuntu xenial universe multiverse
'Types: deb\n'
'URIs: $MIRROR\n'
'Suites: $RELEASE-backports\n'
+=======
+ 'Suites: $RELEASE $RELEASE-updates $RELEASE-backports\n'
+>>>>>>> tests/unittests/test_apt_source.py
'components: main\n'
'signed-by: /usr/share/keyrings/ubuntu-archive-keyring.gpg\n'
'\n'
Follow ups
-
[Merge] ~enr0n/curtin:deb822 into curtin:master
From: Server Team CI bot, 2023-09-19
-
Re: [Merge] ~enr0n/curtin:deb822 into curtin:master
From: Server Team CI bot, 2023-09-19
-
[Merge] ~enr0n/curtin:deb822 into curtin:master
From: Dan Bungert, 2023-09-19
-
[Merge] ~enr0n/curtin:deb822 into curtin:master
From: Dan Bungert, 2023-09-19
-
Invalid Commit Message
From: Server Team CI bot, 2023-09-19
-
[Merge] ~enr0n/curtin:deb822 into curtin:master
From: Server Team CI bot, 2023-09-19
-
[Merge] ~enr0n/curtin:deb822 into curtin:master
From: Dan Bungert, 2023-09-19
-
[Merge] ~enr0n/curtin:deb822 into curtin:master
From: Dan Bungert, 2023-09-19
-
Re: [Merge] ~enr0n/curtin:deb822 into curtin:master
From: Dan Bungert, 2023-09-19
-
Re: [Merge] ~enr0n/curtin:deb822 into curtin:master
From: Server Team CI bot, 2023-09-15