gru

Merge lp:~guadalinex-members/gru/gru2 into lp:gru

Proposed by Mantas Kriaučiūnas
Status: Needs review
Proposed branch: lp:~guadalinex-members/gru/gru2
Merge into: lp:gru
Diff against target: 96 lines (+26/-14)
1 file modified
gru (+26/-14)
To merge this branch: bzr merge lp:~guadalinex-members/gru/gru2
Reviewer Review Type Date Requested Status
Guadalinex Members Pending
Review via email: mp+24113@code.launchpad.net

Description of the change

Please change dependency to grub-pc|grub in debian/control to make gru install correctly into Ubuntu 9.10 or 10.04

To post a comment you must log in.

Unmerged revisions

20. By alfem <alfem@alfem-elite>

Grub2 compliant

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'gru'
--- gru 2009-03-08 00:31:50 +0000
+++ gru 2010-04-26 10:01:20 +0000
@@ -1,13 +1,14 @@
1#!/usr/bin/python1#!/usr/bin/python
2# -*- coding: iso-8859-1 -*-2# -*- coding: iso-8859-1 -*-
33
4# gru 1.14# gru 2.0
5# GRUB RECOVER UTILITY5# GRUB RECOVER UTILITY 2
6# Reinstall grub menu after another impolite "operative system" overwrites MBR6# Reinstall grub menu after another impolite "operative system" overwrites MBR
7# author: Alfonso E.M. alfonso@el-magnifico.org7# author: Alfonso E.M. alfonso@el-magnifico.org
8# date: 16/Mar/20078# date: 16/Mar/2007
9# changelog:9# changelog:
10# 21/Mar/2007 chroot is not needed anymore10# 21/Mar/2007 chroot is not needed anymore
11# 22/Mar/2010 migrating to grub2
1112
12import commands13import commands
13import sys14import sys
@@ -58,7 +59,7 @@
58 list.close 59 list.close
59 return disks, partitions60 return disks, partitions
6061
61# tranlate: Converts from hda, sda.. format to human readable (likely)62# translate: Converts from hda, sda.. format to human readable (likely)
62def translate(item):63def translate(item):
63 name = ""64 name = ""
64 if item[:1] == 's':65 if item[:1] == 's':
@@ -97,24 +98,25 @@
97else:98else:
98 target = origin99 target = origin
99100
100status, output = commands.getstatusoutput("mkdir /mnt/gru")101tmpdir="/mnt/gru"
102status, output = commands.getstatusoutput("mkdir "+tmpdir)
101if status > 0:103if status > 0:
102 info("No es posible crear un directorio temporal")104 info("No es posible crear un directorio temporal "+tmpdir)
103 sys.exit(status)105 sys.exit(status)
104106
105status, output = commands.getstatusoutput("mount " + origin + " /mnt/gru")107status, output = commands.getstatusoutput("mount " + origin + " " + tmpdir)
106if status > 0:108if status > 0:
107 info("No es posible acceder a la particion seleccionada")109 info("No es posible acceder a la particion seleccionada")
108 status, output = commands.getstatusoutput("rmdir /mnt/gru")110 status, output = commands.getstatusoutput("rmdir "+tmpdir)
109 sys.exit(status)111 sys.exit(status)
110112
111113
112try:114try:
113 list = open("/mnt/gru/boot/grub/menu.lst")115 list = open(tmpdir+"/boot/grub/grub.cfg")
114except:116except:
115 info("En esta partición no hay datos de menú instalables")117 info("En esta partición no hay datos de menú instalables")
116 status, output = commands.getstatusoutput("umount /mnt/gru")118 status, output = commands.getstatusoutput("umount "+tmpdir)
117 status, output = commands.getstatusoutput("rmdir /mnt/gru")119 status, output = commands.getstatusoutput("rmdir "+tmpdir)
118 sys.exit(status)120 sys.exit(status)
119121
120menupoints = ""122menupoints = ""
@@ -123,19 +125,29 @@
123 line = list.readline()125 line = list.readline()
124 if line == "":126 if line == "":
125 break127 break
126 if re.search("^title\s+", line):128 r=re.search('^menuentry\s+"(.*)"\s+',line)
127 key, value = re.split("title\s+", line, 1)129 if r:
128 menupoints += value130 title = r.group(1)
131 menupoints += title+"\n"
129list.close() 132list.close()
130133
131info("Este es el menú que se instalará:\n\n" + menupoints)134info("Este es el menú que se instalará:\n\n" + menupoints)
132135
136
137#status,output=commands.getstatusoutput("mount --bind /dev "+ tmpdir+"/dev")
138#status,output=commands.getstatusoutput("mount --bind /proc "+tmpdir+"/proc")
139#status,output=commands.getstatusoutput("mount --bind /sys "+ tmpdir+"/sys")
140
133#status,output=commands.getstatusoutput("chroot /mnt/gru grub-install "+target)141#status,output=commands.getstatusoutput("chroot /mnt/gru grub-install "+target)
134status, output = commands.getstatusoutput("/sbin/grub-install " + \142status, output = commands.getstatusoutput("/usr/sbin/grub-install " + \
135 "--root-directory=/mnt/gru " + target)143 "--root-directory=/mnt/gru " + target)
144
145
136if status > 0:146if status > 0:
137 info("No es posible instalar el menú en " + target)147 info("No es posible instalar el menú en " + target)
138 print output148 print output
139149
140status, output = commands.getstatusoutput("umount /mnt/gru")150status, output = commands.getstatusoutput("umount /mnt/gru")
141status, output = commands.getstatusoutput("rmdir /mnt/gru")151status, output = commands.getstatusoutput("rmdir /mnt/gru")
152
153info("Menú de inicio recuperado")

Subscribers

People subscribed via source and target branches