[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#853280: unblock: simple-cdd/0.6.4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: debian-boot@lists.debian.org, simple-cdd-devel@lists.alioth.debian.org

Please unblock package simple-cdd

The source package simple-cdd appears to be blocked due to the
simple-cdd-profiles udeb. This udeb is not used by debian-installer by
default, and the udeb hasn't changed at all since the version
currently in testing.

The new version fixes an issue in boolean handling treating any
specified value, including "false", as if it were True. It also fixes
a compatibility issue with newer versions of debian-cd. And also
supports the BOOT_TIMEOUT variable for generated CD images that use
grub2.

Thanks!

debdiff attached.

live well,
  vagrant

diff -Nru simple-cdd-0.6.3/build-simple-cdd simple-cdd-0.6.4/build-simple-cdd
--- simple-cdd-0.6.3/build-simple-cdd	2016-11-27 17:05:05.000000000 -0800
+++ simple-cdd-0.6.4/build-simple-cdd	2017-01-16 13:40:32.000000000 -0800
@@ -111,13 +111,14 @@
             for pathname in self.find_profile_files(p + ".conf"):
                 self.env.read_config_file(pathname)
 
-        # Set default values for various mirrors
-        if not self.env.get("security_mirror") and self.env.get("use_security_mirror"):
-            self.env.set("security_mirror", "http://security.debian.org/";)
-        if not self.env.get("updates_mirror") and self.env.get("use_updates_mirror"):
-            self.env.set("updates_mirror", self.env.get("debian_mirror"))
-        if not self.env.get("backports_mirror") and self.env.get("backports"):
-            self.env.set("backports_mirror", self.env.get("debian_mirror"))
+        # Disable security and updates mirrors for sid, as they do not exist.
+        if self.env.get("CODENAME") == "sid":
+            if self.env.get("security_mirror"):
+                log.info("Disabling security mirror for sid.")
+                self.env.set("security_mirror", "")
+            if self.env.get("updates_mirror"):
+                log.info("Disabling updates mirror for sid.")
+                self.env.set("updates_mirror", "")
 
         # Set defaults for debian-cd CONTRIB and NONFREE variables based on configured mirror components.
         for component in self.env.get("mirror_components") + self.env.get("mirror_components_extra"):
@@ -172,9 +173,9 @@
         for p in self.env.get("preseed_files"):
             if verify_preseed_file(p): continue
             if self.args.force_preseed:
-                log.warn("preseed file invalid: %s", pathname)
+                log.warn("preseed file invalid: %s", p)
             else:
-                raise Fail("preseed file invalid: %s", pathname)
+                raise Fail("preseed file invalid: %s", p)
 
 
     def paranoid_checks(self):
diff -Nru simple-cdd-0.6.3/debian/changelog simple-cdd-0.6.4/debian/changelog
--- simple-cdd-0.6.3/debian/changelog	2016-11-27 18:40:54.000000000 -0800
+++ simple-cdd-0.6.4/debian/changelog	2017-01-17 15:10:07.000000000 -0800
@@ -1,3 +1,20 @@
+simple-cdd (0.6.4) unstable; urgency=medium
+
+  [ Vagrant Cascadian ]
+  * tools/build/debian-cd: Set wget variable, which is used to download
+    d-i daily images.
+  * Default to enabling security and updates mirrors, and remove
+    use_*_mirror booleans.
+
+  [ Boskovits, Gabriel ]
+  * Add patch to support BOOT_TIMEOUT with grub2.
+
+  [ Enrico Zini ]
+  * Tested reading booleans from .conf files, and fixed parsing their
+    values.
+
+ -- Vagrant Cascadian <vagrant@debian.org>  Tue, 17 Jan 2017 15:10:07 -0800
+
 simple-cdd (0.6.3) unstable; urgency=medium
 
   * Move setting of debian-cd CONTRIB/NONFREE after setting variables from
diff -Nru simple-cdd-0.6.3/simple_cdd/env.py simple-cdd-0.6.4/simple_cdd/env.py
--- simple-cdd-0.6.3/simple_cdd/env.py	2016-11-27 17:05:05.000000000 -0800
+++ simple-cdd-0.6.4/simple_cdd/env.py	2017-01-16 14:23:24.000000000 -0800
@@ -158,7 +158,7 @@
         if isinstance(self.default, bool):
             bval = self.default
         else:
-            bval = bool(super().default_to_string())
+            bval = super().default_to_string() == "true"
         return "true" if bval else ""
 
     def to_python(self):
@@ -305,7 +305,7 @@
 
     def set(self, name, value):
         """
-        Set a value by name, converting value to the type of the variable name.
+        Set a value by name, converting the python value to the type of the variable name.
         """
         cur = self.env.get(name, None)
         if cur is None:
@@ -313,6 +313,16 @@
             cur.automatically_created = True
         cur.from_python(value)
 
+    def set_from_commandline(self, name, value):
+        """
+        Set a value by name, converting the user string value to the type of the variable name.
+        """
+        cur = self.env.get(name, None)
+        if cur is None:
+            self.env[name] = cur = TextVar(name, env=self)
+            cur.automatically_created = True
+        cur.from_commandline(value)
+
     def append(self, name, value):
         """
         Append elements or sequences to a list
@@ -351,11 +361,11 @@
         # Diff our environment and the script one, to see what was set
         for key in new_env.keys() - os.environ.keys():
             log.info("%s: new var %s=%s", pathname, key, shell_quote(new_env[key]))
-            self.set(key, new_env[key])
+            self.set_from_commandline(key, new_env[key])
         for key in new_env.keys() & os.environ.keys():
             if os.environ[key] == new_env[key]: continue
             log.info("%s: changed var %s=%s", pathname, key, shell_quote(new_env[key]))
-            self.set(key, new_env[key])
+            self.set_from_commandline(key, new_env[key])
 
     def export_iter(self):
         """
diff -Nru simple-cdd-0.6.3/simple_cdd/tools/mirror_reprepro.py simple-cdd-0.6.4/simple_cdd/tools/mirror_reprepro.py
--- simple-cdd-0.6.3/simple_cdd/tools/mirror_reprepro.py	2016-11-27 17:05:05.000000000 -0800
+++ simple-cdd-0.6.4/simple_cdd/tools/mirror_reprepro.py	2017-01-16 13:07:41.000000000 -0800
@@ -142,7 +142,7 @@
         if self.env.get("clean_mirror"):
             # invoke reprepro's "magic delete" rule.
             updates_used.append("-")
-        if self.env.get("use_security_mirror"):
+        if self.env.get("security_mirror"):
             updates_used.append("default-security")
         if self.env.get("debian_mirror_extra"):
             updates_used.append("default-extra")
diff -Nru simple-cdd-0.6.3/simple_cdd/variables.py simple-cdd-0.6.4/simple_cdd/variables.py
--- simple-cdd-0.6.3/simple_cdd/variables.py	2016-11-27 17:05:05.000000000 -0800
+++ simple-cdd-0.6.4/simple_cdd/variables.py	2017-01-16 14:21:34.000000000 -0800
@@ -40,9 +40,9 @@
             help="pull simple-cdd-profiles udeb from specified distribution"),
     TextVar("extra_udeb_dist", cmdline="--extra-udeb-dist",
             help="pull in udebs from specified distribution"),
-    TextVar("security_mirror", cmdline="--security-mirror",
+    TextVar("security_mirror", "http://security.debian.org/";, cmdline="--security-mirror",
             help="security mirror URL"),
-    TextVar("backports_mirror",
+    TextVar("backports_mirror", "{debian_mirror}", cmdline="--backports-mirror",
             help="backports mirror URL"),
     ListVar("profiles", cmdline=("--profiles", "-p"),
             help="select profiles (examples in profiles/ dir)"),
@@ -56,7 +56,7 @@
             help="list the build tools to be used"),
     ListVar("auto_profiles", cmdline=["--auto-profiles", "-a"],
             help="automatically install these profiles"),
-    TextVar("updates_mirror", cmdline="--updates-mirror",
+    TextVar("updates_mirror", "{debian_mirror}", cmdline="--updates-mirror",
             help="specify mirror for $DIST-updates"),
     ListVar("simple_cdd_dirs",
             ["{simple_cdd_dir}", os.path.dirname(os.path.abspath(sys.argv[0])), "/usr/share/simple-cdd"],
@@ -131,8 +131,6 @@
             help="only issue a warning if a preseeding file is invalid"),
     BoolVar("use_serial_console", cmdline=["--serial-console", "-s"],
             help="enable serial console when booting the ISO image"),
-    BoolVar("use_security_mirror", help="merge Debian security updates into mirror"),
-    BoolVar("use_updates_mirror", help="merge Debian updates into mirror"),
     BoolVar("backports",
             help="use Debian backports"),
     ListVar("backports_packages",
diff -Nru simple-cdd-0.6.3/tests/test_env.py simple-cdd-0.6.4/tests/test_env.py
--- simple-cdd-0.6.3/tests/test_env.py	2016-11-27 17:05:05.000000000 -0800
+++ simple-cdd-0.6.4/tests/test_env.py	2017-01-16 17:58:29.000000000 -0800
@@ -1,5 +1,6 @@
 import unittest
 from simple_cdd import env
+import tempfile
 import os
 
 class TestEnv(unittest.TestCase):
@@ -36,13 +37,13 @@
         e = env.Environment([])
         with self.assertRaises(AttributeError):
             e.test
-        self.assertEquals(e.get("test"), "")
+        self.assertEqual(e.get("test"), "")
 
         os.environ["test"] = "somevalue"
         e = env.Environment([])
         with self.assertRaises(AttributeError):
             e.test
-        self.assertEquals(e.get("test"), "somevalue")
+        self.assertEqual(e.get("test"), "somevalue")
 
     def test_expansion(self):
         # Case of expansion that broke in the past
@@ -57,11 +58,27 @@
                     help="directory where the local mirror is stored"),
         ]
         e = env.Environment(VARIABLES)
-        self.assertEquals(e.MIRROR, "test/tmp/mirror")
+        self.assertEqual(e.MIRROR, "test/tmp/mirror")
 
         VARIABLES = [
             env.BoolVar("a", True),
             env.BoolVar("b", "{a}"),
         ]
         e = env.Environment(VARIABLES)
-        self.assertEquals(e.a, True)
+        self.assertEqual(e.a, True)
+
+    def test_configfile(self):
+        VARIABLES = [
+            env.BoolVar("use_security_mirror", help="merge Debian security updates into mirror"),
+        ]
+        e = env.Environment(VARIABLES)
+        self.assertFalse(e.use_security_mirror)
+        e.set("use_security_mirror", True)
+        self.assertTrue(e.use_security_mirror)
+
+        with tempfile.NamedTemporaryFile(mode="wt") as fd:
+            print("use_security_mirror=false", file=fd)
+            fd.flush()
+            e.read_config_file(fd.name)
+        self.assertFalse(e.use_security_mirror)
+
diff -Nru simple-cdd-0.6.3/tools/build/debian-cd simple-cdd-0.6.4/tools/build/debian-cd
--- simple-cdd-0.6.3/tools/build/debian-cd	2016-11-27 17:05:05.000000000 -0800
+++ simple-cdd-0.6.4/tools/build/debian-cd	2017-01-16 18:41:49.000000000 -0800
@@ -69,6 +69,9 @@
 mv $TASK $TDIR/$CODENAME/tasks/simple-cdd.task
 make packagelists TASK=simple-cdd.task
 
+# Set wget variable, which is used to download d-i daily images.
+export WGET=wget
+
 make image-trees
 
 isolinuxcfg="$TDIR/$CODENAME/boot1/isolinux/isolinux.cfg"
@@ -100,6 +103,14 @@
     fi
 done
 
+grubcfg="$TDIR/$CODENAME/CD1/boot/grub/grub.cfg"
+if [ -f "$grubcfg" ]; then
+    if [ -n "$BOOT_TIMEOUT" ]; then
+        SEC_TIMEOUT=$(( $BOOT_TIMEOUT / 10 ))
+        echo "set timeout=$SEC_TIMEOUT" >> $grubcfg
+    fi
+fi
+
 extras_base_dir="$simple_cdd_temp/extras"
 
 if [ -n "$extras_base_dir" ] && [ -d "$extras_base_dir" ]; then
unblock simple-cdd/0.6.4

Attachment: signature.asc
Description: PGP signature


Reply to: