diff mbox series

[v4,2/2] wic: rename wks flag --extra-space to --extra-filesystem-space

Message ID 20250902075901.1550357-2-pierre-loup.gosse@smile.fr
State New
Headers show
Series [v4,1/2] wic: add --extra-partition-space option to set unused space | expand

Commit Message

pierre-loup.gosse@smile.fr Sept. 2, 2025, 7:59 a.m. UTC
From: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr>

Makes a clear distinction with --extra-partition-space flag.

Signed-off-by: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr>

CC: Alexander Kanavin <alex.kanavin@gmail.com>
CC: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
---
changes in v3:
- adding this patch

changes in v4:
- no change
---
 meta/lib/oeqa/selftest/cases/wic.py |  4 ++--
 scripts/lib/wic/help.py             | 12 ++++++------
 scripts/lib/wic/ksparser.py         | 25 +++++++++++++------------
 scripts/lib/wic/partition.py        |  6 +++---
 4 files changed, 24 insertions(+), 23 deletions(-)

Comments

Alexander Kanavin Sept. 2, 2025, 8:52 a.m. UTC | #1
Thanks, please also prepare and send documentation updates,
particularly in documentation/ref-manual/kickstart.rst (mentions
--extra-space and needs to be fixed/new option added) and
documentation/migration-guides/ (option rename is a breaking change,
new option is a new feature).

Alex

On Tue, 2 Sept 2025 at 09:59, <pierre-loup.gosse@smile.fr> wrote:
>
> From: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr>
>
> Makes a clear distinction with --extra-partition-space flag.
>
> Signed-off-by: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr>
>
> CC: Alexander Kanavin <alex.kanavin@gmail.com>
> CC: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
> ---
> changes in v3:
> - adding this patch
>
> changes in v4:
> - no change
> ---
>  meta/lib/oeqa/selftest/cases/wic.py |  4 ++--
>  scripts/lib/wic/help.py             | 12 ++++++------
>  scripts/lib/wic/ksparser.py         | 25 +++++++++++++------------
>  scripts/lib/wic/partition.py        |  6 +++---
>  4 files changed, 24 insertions(+), 23 deletions(-)
>
> diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
> index c9c9ceb0f2..3f75411059 100644
> --- a/meta/lib/oeqa/selftest/cases/wic.py
> +++ b/meta/lib/oeqa/selftest/cases/wic.py
> @@ -1270,12 +1270,12 @@ run_wic_cmd() {
>              p, _ = self._get_wic_partitions(tempf.name, ignore_status=True)
>              self.assertNotEqual(p.status, 0, "wic exited successfully when an error was expected:\n%s" % p.output)
>
> -    def test_extra_space(self):
> +    def test_extra_filesystem_space(self):
>          native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
>
>          with NamedTemporaryFile("w", suffix=".wks") as tempf:
>              tempf.write("bootloader --ptable gpt\n" \
> -                        "part /     --source rootfs --ondisk hda --extra-space 200M --fstype=ext4\n")
> +                        "part /     --source rootfs --ondisk hda --extra-filesystem-space 200M --fstype=ext4\n")
>              tempf.flush()
>
>              _, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
> diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py
> index 800c0abf0f..6b49a67de9 100644
> --- a/scripts/lib/wic/help.py
> +++ b/scripts/lib/wic/help.py
> @@ -1013,12 +1013,12 @@ DESCRIPTION
>           --no-fstab-update: This option is specific to wic. It does not update the
>                              '/etc/fstab' stock file for the given partition.
>
> -         --extra-space: This option is specific to wic. It adds extra
> -                        space after the space filled by the content
> -                        of the partition. The final size can go
> -                        beyond the size specified by --size.
> -                        By default, 10MB. This option cannot be used
> -                        with --fixed-size option.
> +         --extra-filesystem-space: This option is specific to wic. It adds extra
> +                                   space after the space filled by the content
> +                                   of the partition. The final size can go
> +                                   beyond the size specified by --size.
> +                                   By default, 10MB. This option cannot be used
> +                                   with --fixed-size option.
>
>           --extra-partition-space: This option is specific to wic. It adds extra
>                                    empty space after the space filled by the
> diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py
> index e86e1069f5..dbf0cf2dc3 100644
> --- a/scripts/lib/wic/ksparser.py
> +++ b/scripts/lib/wic/ksparser.py
> @@ -132,7 +132,7 @@ def systemidtype(arg):
>  class KickStart():
>      """Kickstart parser implementation."""
>
> -    DEFAULT_EXTRA_SPACE = 10*1024
> +    DEFAULT_EXTRA_FILESYSTEM_SPACE = 10*1024
>      DEFAULT_OVERHEAD_FACTOR = 1.3
>
>      def __init__(self, confpath):
> @@ -153,7 +153,7 @@ class KickStart():
>          part.add_argument('--exclude-path', nargs='+')
>          part.add_argument('--include-path', nargs='+', action='append')
>          part.add_argument('--change-directory')
> -        part.add_argument("--extra-space", type=sizetype("M"))
> +        part.add_argument('--extra-filesystem-space', type=sizetype("M"))
>          part.add_argument('--extra-partition-space', type=sizetype("M"))
>          part.add_argument('--fsoptions', dest='fsopts')
>          part.add_argument('--fspassno', dest='fspassno')
> @@ -175,9 +175,9 @@ class KickStart():
>          part.add_argument('--hidden', action='store_true')
>
>          # --size and --fixed-size cannot be specified together; options
> -        # ----extra-space and --overhead-factor should also raise a parser
> -        # --error, but since nesting mutually exclusive groups does not work,
> -        # ----extra-space/--overhead-factor are handled later
> +        # ----extra-filesystem-space and --overhead-factor should also raise a
> +        # parser error, but since nesting mutually exclusive groups does not work,
> +        # ----extra-filesystem-space/--overhead-factor are handled later
>          sizeexcl = part.add_mutually_exclusive_group()
>          sizeexcl.add_argument('--size', type=sizetype("M"), default=0)
>          sizeexcl.add_argument('--fixed-size', type=sizetype("M"), default=0)
> @@ -264,12 +264,13 @@ class KickStart():
>                              parsed.extra_partition_space = 0
>                          # using ArgumentParser one cannot easily tell if option
>                          # was passed as argument, if said option has a default
> -                        # value; --overhead-factor/--extra-space cannot be used
> -                        # with --fixed-size, so at least detect when these were
> -                        # passed with non-0 values ...
> +                        # value; --overhead-factor/--extra-filesystem-space
> +                        # cannot be used with --fixed-size, so at least detect
> +                        # when these were passed with non-0 values ...
>                          if parsed.fixed_size:
> -                            if parsed.overhead_factor or parsed.extra_space:
> -                                err = "%s:%d: arguments --overhead-factor and --extra-space not "\
> +                            if parsed.overhead_factor or parsed.extra_filesystem_space:
> +                                err = "%s:%d: arguments --overhead-factor and "\
> +                                      "--extra-filesystem-space not "\
>                                        "allowed with argument --fixed-size" \
>                                        % (confpath, lineno)
>                                  raise KickStartError(err)
> @@ -280,8 +281,8 @@ class KickStart():
>                              # with value equal to 0)
>                              if '--overhead-factor' not in line_args:
>                                  parsed.overhead_factor = self.DEFAULT_OVERHEAD_FACTOR
> -                            if '--extra-space' not in line_args:
> -                                parsed.extra_space = self.DEFAULT_EXTRA_SPACE
> +                            if '--extra-filesystem-space' not in line_args:
> +                                parsed.extra_filesystem_space = self.DEFAULT_EXTRA_FILESYSTEM_SPACE
>
>                          self.partnum += 1
>                          self.partitions.append(Partition(parsed, self.partnum))
> diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
> index d358aabbd6..0c9b1a5b96 100644
> --- a/scripts/lib/wic/partition.py
> +++ b/scripts/lib/wic/partition.py
> @@ -28,7 +28,7 @@ class Partition():
>          self.align = args.align
>          self.disk = args.disk
>          self.device = None
> -        self.extra_space = args.extra_space
> +        self.extra_filesystem_space = args.extra_filesystem_space
>          self.extra_partition_space = args.extra_partition_space
>          self.exclude_path = args.exclude_path
>          self.include_path = args.include_path
> @@ -104,8 +104,8 @@ class Partition():
>                                 (actual_rootfs_size, rootfs_size))
>          else:
>              extra_blocks = self.get_extra_block_count(actual_rootfs_size)
> -            if extra_blocks < self.extra_space:
> -                extra_blocks = self.extra_space
> +            if extra_blocks < self.extra_filesystem_space:
> +                extra_blocks = self.extra_filesystem_space
>
>              rootfs_size = actual_rootfs_size + extra_blocks
>              rootfs_size = int(rootfs_size * self.overhead_factor)
> --
> 2.34.1
>
diff mbox series

Patch

diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index c9c9ceb0f2..3f75411059 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -1270,12 +1270,12 @@  run_wic_cmd() {
             p, _ = self._get_wic_partitions(tempf.name, ignore_status=True)
             self.assertNotEqual(p.status, 0, "wic exited successfully when an error was expected:\n%s" % p.output)
 
-    def test_extra_space(self):
+    def test_extra_filesystem_space(self):
         native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
 
         with NamedTemporaryFile("w", suffix=".wks") as tempf:
             tempf.write("bootloader --ptable gpt\n" \
-                        "part /     --source rootfs --ondisk hda --extra-space 200M --fstype=ext4\n")
+                        "part /     --source rootfs --ondisk hda --extra-filesystem-space 200M --fstype=ext4\n")
             tempf.flush()
 
             _, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py
index 800c0abf0f..6b49a67de9 100644
--- a/scripts/lib/wic/help.py
+++ b/scripts/lib/wic/help.py
@@ -1013,12 +1013,12 @@  DESCRIPTION
          --no-fstab-update: This option is specific to wic. It does not update the
                             '/etc/fstab' stock file for the given partition.
 
-         --extra-space: This option is specific to wic. It adds extra
-                        space after the space filled by the content
-                        of the partition. The final size can go
-                        beyond the size specified by --size.
-                        By default, 10MB. This option cannot be used
-                        with --fixed-size option.
+         --extra-filesystem-space: This option is specific to wic. It adds extra
+                                   space after the space filled by the content
+                                   of the partition. The final size can go
+                                   beyond the size specified by --size.
+                                   By default, 10MB. This option cannot be used
+                                   with --fixed-size option.
 
          --extra-partition-space: This option is specific to wic. It adds extra
                                   empty space after the space filled by the
diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py
index e86e1069f5..dbf0cf2dc3 100644
--- a/scripts/lib/wic/ksparser.py
+++ b/scripts/lib/wic/ksparser.py
@@ -132,7 +132,7 @@  def systemidtype(arg):
 class KickStart():
     """Kickstart parser implementation."""
 
-    DEFAULT_EXTRA_SPACE = 10*1024
+    DEFAULT_EXTRA_FILESYSTEM_SPACE = 10*1024
     DEFAULT_OVERHEAD_FACTOR = 1.3
 
     def __init__(self, confpath):
@@ -153,7 +153,7 @@  class KickStart():
         part.add_argument('--exclude-path', nargs='+')
         part.add_argument('--include-path', nargs='+', action='append')
         part.add_argument('--change-directory')
-        part.add_argument("--extra-space", type=sizetype("M"))
+        part.add_argument('--extra-filesystem-space', type=sizetype("M"))
         part.add_argument('--extra-partition-space', type=sizetype("M"))
         part.add_argument('--fsoptions', dest='fsopts')
         part.add_argument('--fspassno', dest='fspassno')
@@ -175,9 +175,9 @@  class KickStart():
         part.add_argument('--hidden', action='store_true')
 
         # --size and --fixed-size cannot be specified together; options
-        # ----extra-space and --overhead-factor should also raise a parser
-        # --error, but since nesting mutually exclusive groups does not work,
-        # ----extra-space/--overhead-factor are handled later
+        # ----extra-filesystem-space and --overhead-factor should also raise a
+        # parser error, but since nesting mutually exclusive groups does not work,
+        # ----extra-filesystem-space/--overhead-factor are handled later
         sizeexcl = part.add_mutually_exclusive_group()
         sizeexcl.add_argument('--size', type=sizetype("M"), default=0)
         sizeexcl.add_argument('--fixed-size', type=sizetype("M"), default=0)
@@ -264,12 +264,13 @@  class KickStart():
                             parsed.extra_partition_space = 0
                         # using ArgumentParser one cannot easily tell if option
                         # was passed as argument, if said option has a default
-                        # value; --overhead-factor/--extra-space cannot be used
-                        # with --fixed-size, so at least detect when these were
-                        # passed with non-0 values ...
+                        # value; --overhead-factor/--extra-filesystem-space
+                        # cannot be used with --fixed-size, so at least detect
+                        # when these were passed with non-0 values ...
                         if parsed.fixed_size:
-                            if parsed.overhead_factor or parsed.extra_space:
-                                err = "%s:%d: arguments --overhead-factor and --extra-space not "\
+                            if parsed.overhead_factor or parsed.extra_filesystem_space:
+                                err = "%s:%d: arguments --overhead-factor and "\
+                                      "--extra-filesystem-space not "\
                                       "allowed with argument --fixed-size" \
                                       % (confpath, lineno)
                                 raise KickStartError(err)
@@ -280,8 +281,8 @@  class KickStart():
                             # with value equal to 0)
                             if '--overhead-factor' not in line_args:
                                 parsed.overhead_factor = self.DEFAULT_OVERHEAD_FACTOR
-                            if '--extra-space' not in line_args:
-                                parsed.extra_space = self.DEFAULT_EXTRA_SPACE
+                            if '--extra-filesystem-space' not in line_args:
+                                parsed.extra_filesystem_space = self.DEFAULT_EXTRA_FILESYSTEM_SPACE
 
                         self.partnum += 1
                         self.partitions.append(Partition(parsed, self.partnum))
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
index d358aabbd6..0c9b1a5b96 100644
--- a/scripts/lib/wic/partition.py
+++ b/scripts/lib/wic/partition.py
@@ -28,7 +28,7 @@  class Partition():
         self.align = args.align
         self.disk = args.disk
         self.device = None
-        self.extra_space = args.extra_space
+        self.extra_filesystem_space = args.extra_filesystem_space
         self.extra_partition_space = args.extra_partition_space
         self.exclude_path = args.exclude_path
         self.include_path = args.include_path
@@ -104,8 +104,8 @@  class Partition():
                                (actual_rootfs_size, rootfs_size))
         else:
             extra_blocks = self.get_extra_block_count(actual_rootfs_size)
-            if extra_blocks < self.extra_space:
-                extra_blocks = self.extra_space
+            if extra_blocks < self.extra_filesystem_space:
+                extra_blocks = self.extra_filesystem_space
 
             rootfs_size = actual_rootfs_size + extra_blocks
             rootfs_size = int(rootfs_size * self.overhead_factor)