guadalinex-members team mailing list archive
-
guadalinex-members team
-
Mailing list archive
-
Message #00270
[Merge] lp:~guadalinex-members/gru/gru2 into lp:gru
Mantas Kriaučiūnas has proposed merging lp:~guadalinex-members/gru/gru2 into lp:gru.
Requested reviews:
Guadalinex Members (guadalinex-members)
Please change dependency to grub-pc|grub in debian/control to make gru install correctly into Ubuntu 9.10 or 10.04
--
https://code.launchpad.net/~guadalinex-members/gru/gru2/+merge/24113
Your team Guadalinex Members is subscribed to branch lp:gru.
=== modified file 'gru'
--- gru 2009-03-08 00:31:50 +0000
+++ gru 2010-04-26 10:01:20 +0000
@@ -1,13 +1,14 @@
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
-# gru 1.1
-# GRUB RECOVER UTILITY
+# gru 2.0
+# GRUB RECOVER UTILITY 2
# Reinstall grub menu after another impolite "operative system" overwrites MBR
# author: Alfonso E.M. alfonso@xxxxxxxxxxxxxxxx
# date: 16/Mar/2007
# changelog:
# 21/Mar/2007 chroot is not needed anymore
+# 22/Mar/2010 migrating to grub2
import commands
import sys
@@ -58,7 +59,7 @@
list.close
return disks, partitions
-# tranlate: Converts from hda, sda.. format to human readable (likely)
+# translate: Converts from hda, sda.. format to human readable (likely)
def translate(item):
name = ""
if item[:1] == 's':
@@ -97,24 +98,25 @@
else:
target = origin
-status, output = commands.getstatusoutput("mkdir /mnt/gru")
+tmpdir="/mnt/gru"
+status, output = commands.getstatusoutput("mkdir "+tmpdir)
if status > 0:
- info("No es posible crear un directorio temporal")
+ info("No es posible crear un directorio temporal "+tmpdir)
sys.exit(status)
-status, output = commands.getstatusoutput("mount " + origin + " /mnt/gru")
+status, output = commands.getstatusoutput("mount " + origin + " " + tmpdir)
if status > 0:
info("No es posible acceder a la particion seleccionada")
- status, output = commands.getstatusoutput("rmdir /mnt/gru")
+ status, output = commands.getstatusoutput("rmdir "+tmpdir)
sys.exit(status)
try:
- list = open("/mnt/gru/boot/grub/menu.lst")
+ list = open(tmpdir+"/boot/grub/grub.cfg")
except:
info("En esta partición no hay datos de menú instalables")
- status, output = commands.getstatusoutput("umount /mnt/gru")
- status, output = commands.getstatusoutput("rmdir /mnt/gru")
+ status, output = commands.getstatusoutput("umount "+tmpdir)
+ status, output = commands.getstatusoutput("rmdir "+tmpdir)
sys.exit(status)
menupoints = ""
@@ -123,19 +125,29 @@
line = list.readline()
if line == "":
break
- if re.search("^title\s+", line):
- key, value = re.split("title\s+", line, 1)
- menupoints += value
+ r=re.search('^menuentry\s+"(.*)"\s+',line)
+ if r:
+ title = r.group(1)
+ menupoints += title+"\n"
list.close()
info("Este es el menú que se instalará:\n\n" + menupoints)
+
+#status,output=commands.getstatusoutput("mount --bind /dev "+ tmpdir+"/dev")
+#status,output=commands.getstatusoutput("mount --bind /proc "+tmpdir+"/proc")
+#status,output=commands.getstatusoutput("mount --bind /sys "+ tmpdir+"/sys")
+
#status,output=commands.getstatusoutput("chroot /mnt/gru grub-install "+target)
-status, output = commands.getstatusoutput("/sbin/grub-install " + \
+status, output = commands.getstatusoutput("/usr/sbin/grub-install " + \
"--root-directory=/mnt/gru " + target)
+
+
if status > 0:
info("No es posible instalar el menú en " + target)
print output
status, output = commands.getstatusoutput("umount /mnt/gru")
status, output = commands.getstatusoutput("rmdir /mnt/gru")
+
+info("Menú de inicio recuperado")