Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b05570209d | ||
|
ef7f621c15 | ||
|
416f9767cb | ||
|
2b74f69d01 | ||
|
8467631eb2 | ||
|
c731755d49 | ||
|
5ffe81f2a8 |
@ -1 +0,0 @@
|
|||||||
grub2.tar.gz
|
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
grub-1.98.tar.gz
|
21
Makefile
21
Makefile
@ -1,21 +0,0 @@
|
|||||||
# Makefile for source rpm: grub2
|
|
||||||
# $Id$
|
|
||||||
NAME := grub2
|
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
|
||||||
|
|
||||||
define find-makefile-common
|
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
|
||||||
|
|
||||||
ifeq ($(MAKEFILE_COMMON),)
|
|
||||||
# attept a checkout
|
|
||||||
define checkout-makefile-common
|
|
||||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(MAKEFILE_COMMON)
|
|
@ -1,52 +0,0 @@
|
|||||||
http://lists.gnu.org/archive/html/grub-devel/2008-04/msg00079.html
|
|
||||||
|
|
||||||
Self-explainable. Make update-grub ignore rpm leftover files and VIM
|
|
||||||
swap files.
|
|
||||||
|
|
||||||
2008-04-15 Lubomir Kundrak <lkundrak@redhat.com>
|
|
||||||
|
|
||||||
* util/update-grub.in: replace the junk file switch with
|
|
||||||
unconditional call to grub_file_is_not_garbage
|
|
||||||
* util/update-grub_lib.in (grub_file_is_not_garbage): ignore
|
|
||||||
also rpm leftover files and editor backup files
|
|
||||||
|
|
||||||
diff -urp grub-1.96.orig/util/update-grub.in grub-1.96/util/update-grub.in
|
|
||||||
--- grub-1.96.orig/util/update-grub.in 2008-04-15 00:16:12.000000000 +0200
|
|
||||||
+++ grub-1.96/util/update-grub.in 2008-04-15 00:17:06.000000000 +0200
|
|
||||||
@@ -145,18 +145,12 @@ cat << EOF
|
|
||||||
EOF
|
|
||||||
|
|
||||||
for i in ${update_grub_dir}/* ; do
|
|
||||||
- case "$i" in
|
|
||||||
- # emacsen backup files. FIXME: support other editors
|
|
||||||
- *~) ;;
|
|
||||||
- *)
|
|
||||||
- if grub_file_is_not_garbage "$i" && test -x "$i" ; then
|
|
||||||
- echo
|
|
||||||
- echo "### BEGIN $i ###"
|
|
||||||
- "$i"
|
|
||||||
- echo "### END $i ###"
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
+ if grub_file_is_not_garbage "$i" && test -x "$i" ; then
|
|
||||||
+ echo
|
|
||||||
+ echo "### BEGIN $i ###"
|
|
||||||
+ "$i"
|
|
||||||
+ echo "### END $i ###"
|
|
||||||
+ fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# none of the children aborted with error, install the new grub.cfg
|
|
||||||
diff -urp grub-1.96.orig/util/update-grub_lib.in grub-1.96/util/update-grub_lib.in
|
|
||||||
--- grub-1.96.orig/util/update-grub_lib.in 2008-04-15 00:16:12.000000000 +0200
|
|
||||||
+++ grub-1.96/util/update-grub_lib.in 2008-04-15 00:15:04.000000000 +0200
|
|
||||||
@@ -115,6 +115,8 @@ grub_file_is_not_garbage ()
|
|
||||||
if test -f "$1" ; then
|
|
||||||
case "$1" in
|
|
||||||
*.dpkg-dist|*.dpkg-old|*.dpkg-tmp) return 1 ;; # debian dpkg
|
|
||||||
+ *.rpmnew|*.rpmsave) return 1 ;; # Fedora rpm
|
|
||||||
+ *.bak|*~|.*.swp) return 1 ;; # backup and swap files from editors
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
return 1
|
|
@ -1,17 +0,0 @@
|
|||||||
The configuration file can potentially contain sensitive data, ...
|
|
||||||
well, passwords are not yet implemented.
|
|
||||||
|
|
||||||
Lubomir Rintel <lkundrak@v3.sk>
|
|
||||||
|
|
||||||
diff -urp grub2.orig/util/update-grub.in grub2/util/update-grub.in
|
|
||||||
--- grub2.orig/util/update-grub.in 2008-08-07 21:58:17.000000000 +0200
|
|
||||||
+++ grub2/util/update-grub.in 2008-08-07 22:01:44.000000000 +0200
|
|
||||||
@@ -170,7 +170,7 @@ exec > ${grub_cfg}.new
|
|
||||||
|
|
||||||
# Allow this to fail, since /boot/grub/ might need to be fatfs to support some
|
|
||||||
# firmware implementations (e.g. OFW or EFI).
|
|
||||||
-chmod 444 ${grub_cfg}.new || true
|
|
||||||
+chmod 600 ${grub_cfg}.new || true
|
|
||||||
|
|
||||||
echo "Updating ${grub_cfg} ..." >&2
|
|
||||||
|
|
13
grub-1.97.1-initramfs.patch
Normal file
13
grub-1.97.1-initramfs.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -uNr grub-1.97.1-orig/util/grub.d/10_linux.in grub-1.97.1/util/grub.d/10_linux.in
|
||||||
|
--- grub-1.97.1-orig/util/grub.d/10_linux.in 2009-11-09 09:48:16.000000000 -0600
|
||||||
|
+++ grub-1.97.1/util/grub.d/10_linux.in 2009-12-01 15:28:16.000000000 -0600
|
||||||
|
@@ -78,7 +78,8 @@
|
||||||
|
initrd=
|
||||||
|
for i in "initrd.img-${version}" "initrd-${version}.img" \
|
||||||
|
"initrd-${version}" "initrd.img-${alt_version}" \
|
||||||
|
- "initrd-${alt_version}.img" "initrd-${alt_version}"; do
|
||||||
|
+ "initrd-${alt_version}.img" "initrd-${alt_version}" \
|
||||||
|
+ "initramfs-${version}.img" ; do
|
||||||
|
if test -e "${dirname}/${i}" ; then
|
||||||
|
initrd="$i"
|
||||||
|
break
|
60
grub-1.98-follow-dev-mapper-symlinks.patch
Normal file
60
grub-1.98-follow-dev-mapper-symlinks.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
--- a/util/getroot.c 2010-03-06 20:51:37.000000000 +0000
|
||||||
|
+++ b/util/getroot.c 2010-05-28 18:23:19.892788564 +0100
|
||||||
|
@@ -180,7 +180,8 @@ grub_get_prefix (const char *dir)
|
||||||
|
|
||||||
|
static char *
|
||||||
|
find_root_device (const char *dir __attribute__ ((unused)),
|
||||||
|
- dev_t dev __attribute__ ((unused)))
|
||||||
|
+ dev_t dev __attribute__ ((unused))
|
||||||
|
+ int depth __attribute__ ((unused)))
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@@ -188,7 +189,7 @@ find_root_device (const char *dir __attr
|
||||||
|
#elif ! defined(__CYGWIN__)
|
||||||
|
|
||||||
|
static char *
|
||||||
|
-find_root_device (const char *dir, dev_t dev)
|
||||||
|
+find_root_device (const char *dir, dev_t dev, int depth)
|
||||||
|
{
|
||||||
|
DIR *dp;
|
||||||
|
char *saved_cwd;
|
||||||
|
@@ -222,16 +223,27 @@ find_root_device (const char *dir, dev_t
|
||||||
|
/* Ignore any error. */
|
||||||
|
continue;
|
||||||
|
|
||||||
|
- if (S_ISLNK (st.st_mode))
|
||||||
|
+ if (S_ISLNK (st.st_mode)) {
|
||||||
|
+#ifdef __linux__
|
||||||
|
+ /* If we're in /dev/mapper, follow symbolic links. */
|
||||||
|
+ if (depth == 1 && strcmp(dir, "mapper") == 0) {
|
||||||
|
+ if (stat(ent->d_name, &st) == -1)
|
||||||
|
+ continue;
|
||||||
|
+ if (S_ISDIR (st.st_mode))
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+#else
|
||||||
|
/* Don't follow symbolic links. */
|
||||||
|
continue;
|
||||||
|
+#endif
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (S_ISDIR (st.st_mode))
|
||||||
|
{
|
||||||
|
/* Find it recursively. */
|
||||||
|
char *res;
|
||||||
|
|
||||||
|
- res = find_root_device (ent->d_name, dev);
|
||||||
|
+ res = find_root_device (ent->d_name, dev, depth + 1);
|
||||||
|
|
||||||
|
if (res)
|
||||||
|
{
|
||||||
|
@@ -454,7 +466,7 @@ grub_guess_root_device (const char *dir)
|
||||||
|
#else
|
||||||
|
|
||||||
|
/* This might be truly slow, but is there any better way? */
|
||||||
|
- os_dev = find_root_device ("/dev", st.st_dev);
|
||||||
|
+ os_dev = find_root_device ("/dev", st.st_dev, 0);
|
||||||
|
#endif
|
||||||
|
#endif /* !__GNU__ */
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
Until we're able to decide which kernel to make default (e.g with grubby),
|
|
||||||
pick the most recent one.
|
|
||||||
|
|
||||||
Lubomir Rintel <lkundrak@v3.sk>
|
|
||||||
|
|
||||||
Index: util/grub.d/10_linux.in
|
|
||||||
===================================================================
|
|
||||||
--- util/grub.d/10_linux.in (revision 1797)
|
|
||||||
+++ util/grub.d/10_linux.in (working copy)
|
|
||||||
@@ -82,23 +82,9 @@
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
-find_latest ()
|
|
||||||
-{
|
|
||||||
- local a=""
|
|
||||||
- for i in $@ ; do
|
|
||||||
- if test_gt "$i" "$a" ; then
|
|
||||||
- a="$i"
|
|
||||||
- fi
|
|
||||||
- done
|
|
||||||
- echo "$a"
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do
|
|
||||||
- if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
|
|
||||||
- done`
|
|
||||||
-
|
|
||||||
-while [ "x$list" != "x" ] ; do
|
|
||||||
- linux=`find_latest $list`
|
|
||||||
+ls -c /boot/vmlinu[xz]-* /vmlinu[xz]-* 2>/dev/null |while read linux
|
|
||||||
+do
|
|
||||||
+ grub_file_is_not_garbage "$linux" || continue
|
|
||||||
echo "Found linux image: $linux" >&2
|
|
||||||
basename=`basename $linux`
|
|
||||||
dirname=`dirname $linux`
|
|
@ -1,22 +0,0 @@
|
|||||||
We're not GNU/Linux. Tell them.
|
|
||||||
|
|
||||||
Lubomir Rintel <lkundrak@v3.sk>
|
|
||||||
|
|
||||||
diff -urp grub2.orig/util/grub.d/10_linux.in grub2/util/grub.d/10_linux.in
|
|
||||||
--- grub2.orig/util/grub.d/10_linux.in 2008-08-08 07:12:30.000000000 +0200
|
|
||||||
+++ grub2/util/grub.d/10_linux.in 2008-08-08 07:12:53.000000000 +0200
|
|
||||||
@@ -23,11 +23,9 @@ exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
. ${libdir}/`echo grub | sed ${transform}`/update-grub_lib
|
|
||||||
|
|
||||||
-if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
|
|
||||||
- OS=GNU/Linux
|
|
||||||
-else
|
|
||||||
- OS="${GRUB_DISTRIBUTOR} GNU/Linux"
|
|
||||||
-fi
|
|
||||||
+OS=$(sed 's/ release.*//' /etc/redhat-release)
|
|
||||||
+[ -z "$OS" ] && OS=$(uname -o)
|
|
||||||
+[ -z "$OS" ] && OS=Linux
|
|
||||||
|
|
||||||
# loop-AES arranges things so that /dev/loop/X can be our root device, but
|
|
||||||
# the initrds that Linux uses don't like that.
|
|
@ -1,82 +0,0 @@
|
|||||||
This adds a section to the configuration file that persists the updates,
|
|
||||||
so that it's not only grub2-update itself that decides what's in the
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
Lubomir Rintel <lkundrak@v3.sk>
|
|
||||||
|
|
||||||
diff -up grub2/conf/common.rmk.persistent grub2/conf/common.rmk
|
|
||||||
--- grub2/conf/common.rmk.persistent 2008-08-27 10:49:16.000000000 +0200
|
|
||||||
+++ grub2/conf/common.rmk 2008-08-27 13:51:33.000000000 +0200
|
|
||||||
@@ -138,6 +138,12 @@ endif
|
|
||||||
|
|
||||||
CLEANFILES += $(update-grub_SCRIPTS)
|
|
||||||
|
|
||||||
+90_persistent: util/grub.d/90_persistent.in config.status
|
|
||||||
+ ./config.status --file=$@:$<
|
|
||||||
+ chmod +x $@
|
|
||||||
+update-grub_SCRIPTS += 90_persistent
|
|
||||||
+CLEANFILES += 90_persistent
|
|
||||||
+
|
|
||||||
update-grub_DATA += util/grub.d/README
|
|
||||||
|
|
||||||
|
|
||||||
diff -up /dev/null grub2/util/grub.d/90_persistent.in
|
|
||||||
--- /dev/null 2008-08-24 16:09:23.777049452 +0200
|
|
||||||
+++ grub2/util/grub.d/90_persistent.in 2008-08-27 13:51:33.000000000 +0200
|
|
||||||
@@ -0,0 +1,37 @@
|
|
||||||
+#! /bin/sh -e
|
|
||||||
+
|
|
||||||
+# update-grub helper script.
|
|
||||||
+# Copyright (C) 2008 Free Software Foundation, Inc.
|
|
||||||
+#
|
|
||||||
+# GRUB is free software: you can redistribute it and/or modify
|
|
||||||
+# it under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+#
|
|
||||||
+# GRUB is distributed in the hope that it will be useful,
|
|
||||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+# GNU General Public License for more details.
|
|
||||||
+#
|
|
||||||
+# You should have received a copy of the GNU General Public License
|
|
||||||
+# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+# The output of this script is copied from part of grub.cfg
|
|
||||||
+# that correspond to itself. The achievement is that user can
|
|
||||||
+# modify that part of grub.cfg directly, and it will be persistent
|
|
||||||
+# across update-grub runs.
|
|
||||||
+
|
|
||||||
+transform="@program_transform_name@"
|
|
||||||
+
|
|
||||||
+ME=$(echo $0 |sed 's,/,\\/,g')
|
|
||||||
+GRUBCFG=/boot/`echo grub | sed ${transform}`/grub.cfg
|
|
||||||
+
|
|
||||||
+# Exit gracefully if there's no configuration file yet
|
|
||||||
+[ -f ${GRUBCFG} ] || exit 0
|
|
||||||
+
|
|
||||||
+awk "
|
|
||||||
+ BEGIN {echo = 0}
|
|
||||||
+ /### BEGIN $ME ###/ {echo = 1; next}
|
|
||||||
+ /### END $ME ###/ {echo = 0; next}
|
|
||||||
+ {if (echo) print}
|
|
||||||
+" ${GRUBCFG}
|
|
||||||
diff -up grub2/util/update-grub.in.persistent grub2/util/update-grub.in
|
|
||||||
--- grub2/util/update-grub.in.persistent 2008-08-27 13:51:33.000000000 +0200
|
|
||||||
+++ grub2/util/update-grub.in 2008-08-27 13:51:33.000000000 +0200
|
|
||||||
@@ -176,11 +176,12 @@ echo "Updating ${grub_cfg} ..." >&2
|
|
||||||
|
|
||||||
cat << EOF
|
|
||||||
#
|
|
||||||
-# DO NOT EDIT THIS FILE
|
|
||||||
-#
|
|
||||||
-# It is automatically generated by $0 using templates
|
|
||||||
+# This is automatically generated by $0 using templates
|
|
||||||
# from ${update_grub_dir} and settings from ${sysconfdir}/default/grub
|
|
||||||
#
|
|
||||||
+# If you want your changes to persist across updates, add them
|
|
||||||
+# to 90_persistent section
|
|
||||||
+#
|
|
||||||
EOF
|
|
||||||
|
|
||||||
for i in ${update_grub_dir}/* ; do
|
|
@ -1,59 +0,0 @@
|
|||||||
According to POSIX memmove and memcpy can actually be macros or whatever
|
|
||||||
(IIRC). We'd better not play with those in code that uses libc's headers
|
|
||||||
and is to be linked with libc.
|
|
||||||
|
|
||||||
2008-08-08 Lubomir Rintel <lkundrak@fedoraproject.org>
|
|
||||||
|
|
||||||
* include/grub/misc.h: Surround memmove and memcpy prototypes with
|
|
||||||
#ifndef GRUB_UTIL
|
|
||||||
* kern/misc.c: Surround memmove, memcpy and memset prototypes with
|
|
||||||
#ifndef GRUB_UTIL
|
|
||||||
|
|
||||||
Index: kern/misc.c
|
|
||||||
===================================================================
|
|
||||||
--- kern/misc.c (revision 1797)
|
|
||||||
+++ kern/misc.c (working copy)
|
|
||||||
@@ -44,11 +44,15 @@
|
|
||||||
|
|
||||||
return dest;
|
|
||||||
}
|
|
||||||
+#ifdef GRUB_UTIL
|
|
||||||
+#include <string.h>
|
|
||||||
+#else
|
|
||||||
void *memmove (void *dest, const void *src, grub_size_t n)
|
|
||||||
__attribute__ ((alias ("grub_memmove")));
|
|
||||||
/* GCC emits references to memcpy() for struct copies etc. */
|
|
||||||
void *memcpy (void *dest, const void *src, grub_size_t n)
|
|
||||||
__attribute__ ((alias ("grub_memmove")));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
char *
|
|
||||||
grub_strcpy (char *dest, const char *src)
|
|
||||||
@@ -514,8 +518,10 @@
|
|
||||||
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
+#ifndef GRUB_UTIL
|
|
||||||
void *memset (void *s, int c, grub_size_t n)
|
|
||||||
__attribute__ ((alias ("grub_memset")));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
grub_size_t
|
|
||||||
grub_strlen (const char *s)
|
|
||||||
Index: include/grub/misc.h
|
|
||||||
===================================================================
|
|
||||||
--- include/grub/misc.h (revision 1797)
|
|
||||||
+++ include/grub/misc.h (working copy)
|
|
||||||
@@ -39,8 +39,12 @@
|
|
||||||
char *EXPORT_FUNC(grub_strncat) (char *dest, const char *src, int c);
|
|
||||||
|
|
||||||
/* Prototypes for aliases. */
|
|
||||||
+#ifdef GRUB_UTIL
|
|
||||||
+#include <string.h>
|
|
||||||
+#else
|
|
||||||
void *EXPORT_FUNC(memmove) (void *dest, const void *src, grub_size_t n);
|
|
||||||
void *EXPORT_FUNC(memcpy) (void *dest, const void *src, grub_size_t n);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
int EXPORT_FUNC(grub_memcmp) (const void *s1, const void *s2, grub_size_t n);
|
|
||||||
int EXPORT_FUNC(grub_strcmp) (const char *s1, const char *s2);
|
|
@ -1,162 +0,0 @@
|
|||||||
Transformations. Anyone, please tell upstream it's useful not to have
|
|
||||||
them half-baked. This is so that we do not conflict with grub.
|
|
||||||
|
|
||||||
Lubomir Rintel <lkundrak@v3.sk>
|
|
||||||
|
|
||||||
diff -urp grub2.orig/Makefile.in grub2/Makefile.in
|
|
||||||
--- grub2.orig/Makefile.in 2008-08-07 21:37:29.000000000 +0200
|
|
||||||
+++ grub2/Makefile.in 2008-08-08 07:43:10.000000000 +0200
|
|
||||||
@@ -215,12 +215,12 @@ install-local: all
|
|
||||||
dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
|
|
||||||
$(INSTALL_DATA) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
|
|
||||||
done
|
|
||||||
- $(mkinstalldirs) $(DESTDIR)$(libdir)/grub
|
|
||||||
+ $(mkinstalldirs) $(DESTDIR)$(libdir)/`echo grub | sed '$(transform)'`
|
|
||||||
@list='$(lib_DATA)'; \
|
|
||||||
for file in $$list; do \
|
|
||||||
if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
|
|
||||||
dest="`echo $$file | sed 's,.*/,,'`"; \
|
|
||||||
- $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(libdir)/grub/$$dest; \
|
|
||||||
+ $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(libdir)/`echo grub | sed '$(transform)'`/$$dest; \
|
|
||||||
done
|
|
||||||
|
|
||||||
install-strip:
|
|
||||||
diff -urp grub2.orig/util/grub.d/00_header.in grub2/util/grub.d/00_header.in
|
|
||||||
--- grub2.orig/util/grub.d/00_header.in 2008-08-07 21:37:28.000000000 +0200
|
|
||||||
+++ grub2/util/grub.d/00_header.in 2008-08-08 07:43:10.000000000 +0200
|
|
||||||
@@ -23,7 +23,7 @@ exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
grub_prefix=`echo /boot/grub | sed ${transform}`
|
|
||||||
|
|
||||||
-. ${libdir}/grub/update-grub_lib
|
|
||||||
+. ${libdir}/`echo grub | sed ${transform}`/update-grub_lib
|
|
||||||
|
|
||||||
# Do this as early as possible, since other commands might depend on it.
|
|
||||||
# (e.g. the `font' command might need lvm or raid modules)
|
|
||||||
diff -urp grub2.orig/util/grub.d/10_hurd.in grub2/util/grub.d/10_hurd.in
|
|
||||||
--- grub2.orig/util/grub.d/10_hurd.in 2008-08-07 21:37:28.000000000 +0200
|
|
||||||
+++ grub2/util/grub.d/10_hurd.in 2008-08-08 07:44:29.000000000 +0200
|
|
||||||
@@ -16,10 +16,12 @@
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
+transform="@program_transform_name@"
|
|
||||||
+
|
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
-. ${libdir}/grub/update-grub_lib
|
|
||||||
+. ${libdir}/`echo grub |sed ${transform}`/update-grub_lib
|
|
||||||
|
|
||||||
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
|
|
||||||
OS=GNU
|
|
||||||
diff -urp grub2.orig/util/grub.d/10_linux.in grub2/util/grub.d/10_linux.in
|
|
||||||
--- grub2.orig/util/grub.d/10_linux.in 2008-08-07 21:37:28.000000000 +0200
|
|
||||||
+++ grub2/util/grub.d/10_linux.in 2008-08-08 07:43:10.000000000 +0200
|
|
||||||
@@ -16,10 +16,12 @@
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
+transform="@program_transform_name@"
|
|
||||||
+
|
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
-. ${libdir}/grub/update-grub_lib
|
|
||||||
+. ${libdir}/`echo grub | sed ${transform}`/update-grub_lib
|
|
||||||
|
|
||||||
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
|
|
||||||
OS=GNU/Linux
|
|
||||||
diff -urp grub2.orig/util/grub.d/10_windows.in grub2/util/grub.d/10_windows.in
|
|
||||||
--- grub2.orig/util/grub.d/10_windows.in 2008-08-07 21:37:27.000000000 +0200
|
|
||||||
+++ grub2/util/grub.d/10_windows.in 2008-08-08 07:44:13.000000000 +0200
|
|
||||||
@@ -16,10 +16,12 @@
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
+transform="@program_transform_name@"
|
|
||||||
+
|
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
-. ${libdir}/grub/update-grub_lib
|
|
||||||
+. ${libdir}/`echo grub |sed ${transform}`/update-grub_lib
|
|
||||||
|
|
||||||
case "`uname 2>/dev/null`" in
|
|
||||||
CYGWIN*) ;;
|
|
||||||
diff -urp grub2.orig/util/i386/pc/grub-install.in grub2/util/i386/pc/grub-install.in
|
|
||||||
--- grub2.orig/util/i386/pc/grub-install.in 2008-08-07 21:37:28.000000000 +0200
|
|
||||||
+++ grub2/util/i386/pc/grub-install.in 2008-08-08 07:43:10.000000000 +0200
|
|
||||||
@@ -36,7 +36,7 @@ grub_mkimage=${bindir}/`echo grub-mkimag
|
|
||||||
grub_mkdevicemap=${sbindir}/`echo grub-mkdevicemap | sed ${transform}`
|
|
||||||
grub_probe=${sbindir}/`echo grub-probe | sed ${transform}`
|
|
||||||
rootdir=
|
|
||||||
-grub_prefix=`echo /boot/grub | sed ${transform}`
|
|
||||||
+grub_prefix=/boot/`echo grub | sed ${transform}`
|
|
||||||
modules=
|
|
||||||
|
|
||||||
install_device=
|
|
||||||
@@ -118,7 +118,7 @@ for option in "$@"; do
|
|
||||||
done
|
|
||||||
|
|
||||||
# for make_system_path_relative_to_its_root()
|
|
||||||
-. ${libdir}/grub/update-grub_lib
|
|
||||||
+. ${libdir}/`echo grub | sed ${transform}`/update-grub_lib
|
|
||||||
|
|
||||||
if test "x$install_device" = x; then
|
|
||||||
echo "install_device not specified." 1>&2
|
|
||||||
diff -urp grub2.orig/util/powerpc/ieee1275/grub-mkrescue.in grub2/util/powerpc/ieee1275/grub-mkrescue.in
|
|
||||||
--- grub2.orig/util/powerpc/ieee1275/grub-mkrescue.in 2008-08-07 21:37:27.000000000 +0200
|
|
||||||
+++ grub2/util/powerpc/ieee1275/grub-mkrescue.in 2008-08-08 07:43:10.000000000 +0200
|
|
||||||
@@ -100,7 +100,7 @@ grub.img Raw 'UNIX' 'tbxi'
|
|
||||||
EOF
|
|
||||||
|
|
||||||
iso_dir=`mktemp -d`
|
|
||||||
-boot_dir=${iso_dir}/boot/grub
|
|
||||||
+boot_dir=${iso_dir}/boot/`echo grub | sed ${transform}`
|
|
||||||
mkdir ${iso_dir}/boot
|
|
||||||
mkdir ${boot_dir}
|
|
||||||
core_img=${boot_dir}/grub.img
|
|
||||||
diff -urp grub2.orig/util/update-grub.in grub2/util/update-grub.in
|
|
||||||
--- grub2.orig/util/update-grub.in 2008-08-07 21:37:28.000000000 +0200
|
|
||||||
+++ grub2/util/update-grub.in 2008-08-08 07:43:10.000000000 +0200
|
|
||||||
@@ -23,7 +23,7 @@ exec_prefix=@exec_prefix@
|
|
||||||
sbindir=@sbindir@
|
|
||||||
libdir=@libdir@
|
|
||||||
sysconfdir=@sysconfdir@
|
|
||||||
-grub_prefix=`echo /boot/grub | sed ${transform}`
|
|
||||||
+grub_prefix=/boot/`echo /grub | sed ${transform}`
|
|
||||||
grub_cfg=${grub_prefix}/grub.cfg
|
|
||||||
update_grub_dir=${sysconfdir}/grub.d
|
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ for option in "$@"; do
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
-. ${libdir}/grub/update-grub_lib
|
|
||||||
+. ${libdir}/`echo grub | sed ${transform}`/update-grub_lib
|
|
||||||
|
|
||||||
if [ "x$EUID" = "x" ] ; then
|
|
||||||
EUID=`id -u`
|
|
||||||
@@ -107,7 +107,7 @@ fi
|
|
||||||
mkdir -p ${grub_prefix}
|
|
||||||
|
|
||||||
if test -e ${grub_prefix}/device.map ; then : ; else
|
|
||||||
- grub-mkdevicemap
|
|
||||||
+ ${grub_mkdevicemap}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Device containing our userland. Typically used for root= parameter.
|
|
||||||
diff -urp grub2.orig/util/update-grub_lib.in grub2/util/update-grub_lib.in
|
|
||||||
--- grub2.orig/util/update-grub_lib.in 2008-08-07 21:37:28.000000000 +0200
|
|
||||||
+++ grub2/util/update-grub_lib.in 2008-08-08 07:43:10.000000000 +0200
|
|
||||||
@@ -145,7 +145,8 @@ prepare_grub_to_access_device ()
|
|
||||||
|
|
||||||
font_path ()
|
|
||||||
{
|
|
||||||
- for dir in ${pkgdatadir} /boot/grub /usr/share/grub ; do
|
|
||||||
+ for dir in ${pkgdatadir} ${pkgdatadir}/`echo grub | sed ${transform}` \
|
|
||||||
+ /boot/`echo grub | sed ${transform}`; do
|
|
||||||
# FIXME: We prefer ascii because loading complete fonts is too slow (and
|
|
||||||
# we don't yet provide the gettext magic that would make unicode useful).
|
|
||||||
for basename in ascii unicode unifont ; do
|
|
@ -1,30 +0,0 @@
|
|||||||
2008-05-07: Lubomir Rintel <lkundrak@fedoraproject.org>
|
|
||||||
|
|
||||||
* kern/dl.c (grub_dl_resolve_symbols): Let the
|
|
||||||
grub_gdb_trapvec symbol be resolved correctly (instead of 0).
|
|
||||||
|
|
||||||
--- grub2/kern/dl.c 2008-01-26 21:34:58.000000000 +0100
|
|
||||||
+++ grub2-gdb/kern/dl.c 2008-05-07 09:27:08.000000000 +0200
|
|
||||||
@@ -352,16 +352,18 @@ grub_dl_resolve_symbols (grub_dl_t mod,
|
|
||||||
{
|
|
||||||
case STT_NOTYPE:
|
|
||||||
/* Resolve a global symbol. */
|
|
||||||
- if (sym->st_name != 0 && sym->st_shndx == 0)
|
|
||||||
+ if (sym->st_name == 0)
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ if (sym->st_shndx == 0) /* external */
|
|
||||||
{
|
|
||||||
sym->st_value = (Elf_Addr) grub_dl_resolve_symbol (name);
|
|
||||||
if (! sym->st_value)
|
|
||||||
return grub_error (GRUB_ERR_BAD_MODULE,
|
|
||||||
"the symbol `%s' not found", name);
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- sym->st_value = 0;
|
|
||||||
break;
|
|
||||||
+ }
|
|
||||||
+ /* nonexternal, same as STT_OBJECT */
|
|
||||||
|
|
||||||
case STT_OBJECT:
|
|
||||||
sym->st_value += (Elf_Addr) grub_dl_get_section_addr (mod,
|
|
@ -1,38 +0,0 @@
|
|||||||
2008-05-07: Lubomir Rintel <lkundrak@fedoraproject.org>
|
|
||||||
|
|
||||||
* genmk.rb: replace strip with objcopy, so unstripped files are
|
|
||||||
left untouched for debugging purposes.
|
|
||||||
|
|
||||||
diff -urp grub2.orig/genmk.rb grub2/genmk.rb
|
|
||||||
--- grub2.orig/genmk.rb 2008-08-07 21:37:29.000000000 +0200
|
|
||||||
+++ grub2/genmk.rb 2008-08-07 23:31:19.000000000 +0200
|
|
||||||
@@ -101,10 +101,11 @@ class PModule
|
|
||||||
mod_obj = mod_src.suffix('o')
|
|
||||||
defsym = 'def-' + @name.suffix('lst')
|
|
||||||
undsym = 'und-' + @name.suffix('lst')
|
|
||||||
+ exec = @name.suffix('elf')
|
|
||||||
mod_name = File.basename(@name, '.mod')
|
|
||||||
symbolic_name = mod_name.sub(/\.[^\.]*$/, '')
|
|
||||||
|
|
||||||
- "CLEANFILES += #{@name} #{mod_obj} #{mod_src} #{pre_obj} #{objs_str} #{undsym}
|
|
||||||
+ "CLEANFILES += #{@name} #{mod_obj} #{mod_src} #{pre_obj} #{objs_str} #{undsym} #{exec}
|
|
||||||
ifneq ($(#{prefix}_EXPORTS),no)
|
|
||||||
CLEANFILES += #{defsym}
|
|
||||||
DEFSYMFILES += #{defsym}
|
|
||||||
@@ -112,11 +113,14 @@ endif
|
|
||||||
MOSTLYCLEANFILES += #{deps_str}
|
|
||||||
UNDSYMFILES += #{undsym}
|
|
||||||
|
|
||||||
-#{@name}: #{pre_obj} #{mod_obj} $(TARGET_OBJ2ELF)
|
|
||||||
+#{@name}: #{exec}
|
|
||||||
+ -rm -f $@
|
|
||||||
+ $(OBJCOPY) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $^ $@
|
|
||||||
+
|
|
||||||
+#{exec}: #{pre_obj} #{mod_obj} $(TARGET_OBJ2ELF)
|
|
||||||
-rm -f $@
|
|
||||||
$(TARGET_CC) $(#{prefix}_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS) -Wl,-r,-d -o $@ #{pre_obj} #{mod_obj}
|
|
||||||
if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
|
|
||||||
- $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
|
|
||||||
|
|
||||||
#{pre_obj}: $(#{prefix}_DEPENDENCIES) #{objs_str}
|
|
||||||
-rm -f $@
|
|
81
grub2.spec
81
grub2.spec
@ -12,40 +12,39 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: grub2
|
Name: grub2
|
||||||
|
Epoch: 1
|
||||||
Version: 1.98
|
Version: 1.98
|
||||||
Release: 0.6.20090911svn%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Bootloader with support for Linux, Multiboot and more
|
Summary: Bootloader with support for Linux, Multiboot and more
|
||||||
|
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: http://www.gnu.org/software/grub/
|
URL: http://www.gnu.org/software/grub/
|
||||||
#Source0: http://alpha.gnu.org/pub/gnu/grub/grub-%{version}.tar.gz
|
Source0: ftp://alpha.gnu.org/gnu/grub/grub-%{version}.tar.gz
|
||||||
# svn -r2587 co svn://svn.sv.gnu.org/grub/trunk/grub2
|
|
||||||
# tar czf grub2.tar.gz --exclude .svn grub2
|
|
||||||
Source0: grub2.tar.gz
|
|
||||||
Source1: 90_persistent
|
Source1: 90_persistent
|
||||||
Source2: grub.default
|
Source2: grub.default
|
||||||
Source3: README.Fedora
|
Source3: README.Fedora
|
||||||
Patch0: grub-1.95-grubdir.patch
|
Patch0: grub-1.95-grubdir.patch
|
||||||
Patch1: http://fedorapeople.org/~lkundrak/grub2/grub2-dlsym-v4.patch
|
Patch1: grub-1.97.1-initramfs.patch
|
||||||
|
Patch2: grub-1.98-follow-dev-mapper-symlinks.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
BuildRequires: flex bison ruby binutils
|
BuildRequires: flex bison ruby binutils
|
||||||
BuildRequires: ncurses-devel lzo-devel
|
BuildRequires: ncurses-devel lzo-devel
|
||||||
BuildRequires: freetype2-devel libusb-devel
|
BuildRequires: freetype-devel libusb-devel
|
||||||
%ifarch %{sparc}
|
%ifarch %{sparc}
|
||||||
BuildRequires: /usr/lib64/crt1.o glibc-static
|
BuildRequires: /usr/lib64/crt1.o glibc-static
|
||||||
%else
|
%else
|
||||||
BuildRequires: /usr/lib/crt1.o glibc-static
|
BuildRequires: /usr/lib/crt1.o glibc-static
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: autoconf automake
|
BuildRequires: autoconf automake gettext-devel
|
||||||
|
|
||||||
# grubby
|
# grubby
|
||||||
Requires(pre): mkinitrd
|
Requires(pre): dracut
|
||||||
Requires(post): mkinitrd
|
Requires(post): dracut
|
||||||
|
|
||||||
# TODO: ppc and sparc
|
# TODO: ppc
|
||||||
ExclusiveArch: %{ix86} x86_64 %{sparc}
|
ExclusiveArch: %{ix86} x86_64 %{sparc}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -62,10 +61,11 @@ file that is part of this package's documentation for more information.
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n grub2
|
%setup -q -n grub-%{version}
|
||||||
|
|
||||||
%patch0 -p1 -b .grubdir
|
%patch0 -p1 -b .grubdir
|
||||||
%patch1 -p1 -b .dlsym
|
%patch1 -p1 -b .initramfs
|
||||||
|
%patch2 -p1 -b .follow-symlinks
|
||||||
|
|
||||||
# README.Fedora
|
# README.Fedora
|
||||||
cp %{SOURCE3} .
|
cp %{SOURCE3} .
|
||||||
@ -81,7 +81,6 @@ sh autogen.sh
|
|||||||
%else
|
%else
|
||||||
--with-platform=pc \
|
--with-platform=pc \
|
||||||
%endif
|
%endif
|
||||||
--enable-grub-emu \
|
|
||||||
--program-transform-name=s,grub,%{name},
|
--program-transform-name=s,grub,%{name},
|
||||||
# TODO: Other platforms. Use alternatives system?
|
# TODO: Other platforms. Use alternatives system?
|
||||||
# --with-platform=ieee1275 \
|
# --with-platform=ieee1275 \
|
||||||
@ -126,6 +125,7 @@ done
|
|||||||
# Defaults
|
# Defaults
|
||||||
install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/grub
|
install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/grub
|
||||||
|
|
||||||
|
%find_lang grub
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
@ -168,22 +168,33 @@ exec >/dev/null 2>&1
|
|||||||
%{name}-mkconfig
|
%{name}-mkconfig
|
||||||
|
|
||||||
|
|
||||||
%files
|
%files -f grub.lang
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/%{name}
|
%{_libdir}/%{name}
|
||||||
%{_libdir}/grub/
|
%{_libdir}/grub/
|
||||||
%{_sbindir}/%{name}-mkdevicemap
|
%{_sbindir}/%{name}-mkdevicemap
|
||||||
%{_sbindir}/%{name}-install
|
%{_sbindir}/%{name}-install
|
||||||
%{_sbindir}/%{name}-emu
|
|
||||||
%{_sbindir}/%{name}-probe
|
%{_sbindir}/%{name}-probe
|
||||||
%{_sbindir}/%{name}-setup
|
%{_sbindir}/%{name}-setup
|
||||||
%{_sbindir}/%{name}-dumpbios
|
|
||||||
%{_sbindir}/%{name}-mkconfig
|
%{_sbindir}/%{name}-mkconfig
|
||||||
%{_sbindir}/%{name}-ofpathname
|
%{_sbindir}/%{name}-reboot
|
||||||
|
%{_sbindir}/%{name}-set-default
|
||||||
%{_bindir}/%{name}-mkimage
|
%{_bindir}/%{name}-mkimage
|
||||||
%{_bindir}/%{name}-mkelfimage
|
%{_bindir}/%{name}-mkelfimage
|
||||||
%{_bindir}/%{name}-editenv
|
%{_bindir}/%{name}-editenv
|
||||||
%{_bindir}/%{name}-fstest
|
%{_bindir}/%{name}-fstest
|
||||||
|
%{_bindir}/%{name}-mkfont
|
||||||
|
%{_bindir}/%{name}-bin2h
|
||||||
|
%{_bindir}/%{name}-mkisofs
|
||||||
|
%{_bindir}/%{name}-mkpasswd-pbkdf2
|
||||||
|
%{_bindir}/%{name}-mkrelpath
|
||||||
|
%{_bindir}/%{name}-script-check
|
||||||
|
%ifnarch %{sparc}
|
||||||
|
%{_bindir}/%{name}-mkrescue
|
||||||
|
%endif
|
||||||
|
%ifarch %{sparc}
|
||||||
|
%{_sbindir}/%{name}-ofpathname
|
||||||
|
%endif
|
||||||
%dir %{_sysconfdir}/grub.d
|
%dir %{_sysconfdir}/grub.d
|
||||||
%config %{_sysconfdir}/grub.d/??_*
|
%config %{_sysconfdir}/grub.d/??_*
|
||||||
%{_sysconfdir}/grub.d/README
|
%{_sysconfdir}/grub.d/README
|
||||||
@ -196,12 +207,40 @@ exec >/dev/null 2>&1
|
|||||||
%doc COPYING INSTALL NEWS README THANKS TODO ChangeLog README.Fedora
|
%doc COPYING INSTALL NEWS README THANKS TODO ChangeLog README.Fedora
|
||||||
%exclude %{_mandir}
|
%exclude %{_mandir}
|
||||||
|
|
||||||
%{_includedir}/grub/
|
|
||||||
%{_includedir}/multiboot*.h
|
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Sep 11 2009 Dennis Gilmore <dennis@ausil.us - 1.9-0.6.20090911svn
|
* Fri May 28 2010 Dennis Gilmore <dennis@ausil.us> - 1:1.98-2
|
||||||
|
- add patch so grub2-probe works with lvm to detect devices correctly
|
||||||
|
|
||||||
|
* Wed Apr 21 2010 Dennis Gilmore <dennis@ausil.us> - 1:1.98-1
|
||||||
|
- update to 1.98
|
||||||
|
|
||||||
|
* Fri Feb 12 2010 Dennis Gilmore <dennis@ausil.us> - 1:1.97.2-1
|
||||||
|
- update to 1.97.2
|
||||||
|
|
||||||
|
* Wed Jan 20 2010 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-5
|
||||||
|
- drop requires on mkinitrd
|
||||||
|
|
||||||
|
* Tue Dec 01 2009 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-4
|
||||||
|
- add patch so that grub2 finds fedora's initramfs
|
||||||
|
|
||||||
|
* Tue Nov 10 2009 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-3
|
||||||
|
- no mkrescue on sparc arches
|
||||||
|
- ofpathname on sparc arches
|
||||||
|
- Requires dracut, not sure if we should just drop mkinitrd for dracut
|
||||||
|
|
||||||
|
* Tue Nov 10 2009 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-2
|
||||||
|
- update filelists
|
||||||
|
|
||||||
|
* Tue Nov 10 2009 Dennis Gilmore <dennis@ausil.us> - 1:1.97.1-1
|
||||||
|
- update to 1.97.1 release
|
||||||
|
- introduce epoch for upgrades
|
||||||
|
|
||||||
|
* Tue Nov 10 2009 Dennis Gilmore <dennis@ausil.us> - 1.98-0.7.20090911svn
|
||||||
|
- fix BR
|
||||||
|
|
||||||
|
* Fri Sep 11 2009 Dennis Gilmore <dennis@ausil.us> - 1.98-0.6.20090911svn
|
||||||
- update to new svn snapshot
|
- update to new svn snapshot
|
||||||
- add sparc support
|
- add sparc support
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
grub2-1_98-0_2_20080807svn_el5:HEAD:grub2-1.98-0.2.20080807svn.el5.src.rpm:1219824412
|
|
Loading…
Reference in New Issue
Block a user