diff mbox

[Branch,~linaro-maintainers/linaro-image-tools/trunk] Rev 292: Saving of the plain boot script (boot.txt) on the boot partition was failing with a permission er...

Message ID 20110303135550.3754.13391.launchpad@loganberry.canonical.com
State Accepted
Headers show

Commit Message

Guilherme Salgado March 3, 2011, 1:55 p.m. UTC
Merge authors:
  Guilherme Salgado (salgado)
Related merge proposals:
  https://code.launchpad.net/~salgado/linaro-image-tools/fix-saving-plain-boot-script/+merge/52067
  proposed by: Guilherme Salgado (salgado)
  review: Approve - Loïc Minier (lool)
------------------------------------------------------------
revno: 292 [merge]
committer: Guilherme Salgado <guilherme.salgado@linaro.org>
branch nick: trunk
timestamp: Thu 2011-03-03 10:50:23 -0300
message:
  Saving of the plain boot script (boot.txt) on the boot partition was failing with a permission error; this fixes it.
modified:
  linaro_media_create/boards.py
  linaro_media_create/tests/test_media_create.py


--
lp:linaro-image-tools
https://code.launchpad.net/~linaro-maintainers/linaro-image-tools/trunk

You are subscribed to branch lp:linaro-image-tools.
To unsubscribe from this branch go to https://code.launchpad.net/~linaro-maintainers/linaro-image-tools/trunk/+edit-subscription
diff mbox

Patch

=== modified file 'linaro_media_create/boards.py'
--- linaro_media_create/boards.py	2011-03-01 16:23:52 +0000
+++ linaro_media_create/boards.py	2011-03-03 13:44:11 +0000
@@ -24,9 +24,11 @@ 
 board_configs at the bottom of this file.
 """
 
+import atexit
 import glob
 import os
 import re
+import tempfile
 
 from linaro_media_create import cmd_runner
 from linaro_media_create.partitions import SECTOR_SIZE
@@ -496,10 +498,13 @@ 
 def make_boot_script(boot_script_data, boot_script):
     # Need to save the boot script data into a file that will be passed to
     # mkimage.
+    _, tmpfile = tempfile.mkstemp()
+    atexit.register(os.unlink, tmpfile)
     plain_boot_script = os.path.join(
         os.path.dirname(boot_script), 'boot.txt')
-    with open(plain_boot_script, 'w') as fd:
+    with open(tmpfile, 'w') as fd:
         fd.write(boot_script_data)
+    cmd_runner.run(['cp', tmpfile, plain_boot_script], as_root=True).wait()
     return _run_mkimage(
         'script', '0', '0', 'boot script', plain_boot_script, boot_script)
 

=== modified file 'linaro_media_create/tests/test_media_create.py'
--- linaro_media_create/tests/test_media_create.py	2011-03-01 16:23:52 +0000
+++ linaro_media_create/tests/test_media_create.py	2011-03-03 13:44:11 +0000
@@ -606,6 +606,8 @@ 
         self.assertEqual(expected, fixture.mock.calls)
 
     def test_make_boot_script(self):
+        self.useFixture(MockSomethingFixture(
+            tempfile, 'mkstemp', lambda: (-1, '/tmp/random-abxzr')))
         tempdir = self.useFixture(CreateTempDirFixture()).tempdir
         self._mock_get_file_matching()
         fixture = self._mock_Popen()
@@ -613,10 +615,11 @@ 
         plain_boot_script_path = os.path.join(tempdir, 'boot.txt')
         make_boot_script('boot script data', boot_script_path)
         expected = [
-            'sudo', 'mkimage', '-A', 'arm', '-O', 'linux', '-T', 'script',
-            '-C', 'none', '-a', '0', '-e', '0', '-n', 'boot script',
-            '-d', plain_boot_script_path, boot_script_path]
-        self.assertEqual([expected], fixture.mock.calls)
+            ['sudo', 'cp', '/tmp/random-abxzr', plain_boot_script_path],
+            ['sudo', 'mkimage', '-A', 'arm', '-O', 'linux', '-T', 'script',
+             '-C', 'none', '-a', '0', '-e', '0', '-n', 'boot script',
+             '-d', plain_boot_script_path, boot_script_path]]
+        self.assertEqual(expected, fixture.mock.calls)
 
     def test_get_file_matching(self):
         prefix = ''.join(