Bug 228255 - Review Request: grub2 - The GRand Unified Bootloader 2
Review Request: grub2 - The GRand Unified Bootloader 2
Status: CLOSED DUPLICATE of bug 458472
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Package Reviews List
Depends On:
  Show dependency treegraph
Reported: 2007-02-12 03:04 EST by Jerone Young
Modified: 2008-08-08 13:58 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-06-05 20:32:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
mock build log (fedora-6-i386-core) (28.60 KB, text/plain)
2007-02-28 00:19 EST, Chris Mohler
no flags Details
log for failed build for rawhide/x86_64 (5.83 KB, text/plain)
2007-03-01 07:33 EST, manuel wolfshant
no flags Details

  None (edit)
Description Jerone Young 2007-02-12 03:04:09 EST
Spec URL: http://jgotech.net/jerone/grub-1.95/grub2.spec
SRPM URL: http://jgotech.net/jerone/grub-1.95/grub2-1.95-1.src.rpm

Grub 2 is the next generation of grub tools. The rpms I have provided provide a way for grub2 to be installed and coexist with in harmony with a grub legacy installation. By having these package will allow for testing and development of grub2 to accelerate, as well as allow users to try key features while still having the ability to revert back to grub legacy.

So now all commands have "grub2" as  a prefix. So instead of
"grub-install" it's "grub2-install". Also installs files to "/boot/grub2" when run "grub2-install".

Information on writing the config file for grub2 (which is grub.cfg)
can be found:

Grub Dev wiki:

Comment 1 Chris Mohler 2007-02-28 00:12:53 EST
I have not performed many reviews, so I may miss things.  It appears that you
need a sponsor - I will be unable to sponsor you.  If you haven't yet, look here
for more info:

*Source0 should contain the full URL

*Is there a reason for the duplicate Patch1 and Patch2 and the commented lines
in the %prep section?

*rpmlint output:
W: grub2 summary-ended-with-dot GRUB 2 - the Grub Unified Boot Loader.
W: grub2 non-standard-group System Enviroment/Base
W: grub2 setup-not-quiet
W: grub2 patch-not-applied Patch2: grub2-program-name-tranform-i386-pc.patch

*add "%{?dist}" to Version if this is going in more than one branch.

*can you use "make DESTDIR=%{buildroot} install" or "make
DESTDIR=$RPM_BUILD_ROOT install" instead of %makeinstall?

Building in mock hasn't completed yet - I'll post the result in the morning.
Comment 2 Chris Mohler 2007-02-28 00:19:01 EST
Created attachment 148896 [details]
mock build log (fedora-6-i386-core)

Failed to build in mock.
Comment 3 Jerone Young 2007-02-28 00:33:20 EST
Your build system is missing "autoreconf" which I believe is in the autoconf
package. I'll get changes to the grub spec file out shortly.
Comment 4 Jerone Young 2007-02-28 01:25:12 EST
I've updated the spec file to reflect a lot of your suggestions.

 * Source0 now points to a full url
 * fixed up issues from rpmlint
 * fixed duplicate patch, grub2-program-name-tranform-i386-pc.patch should have
been grub2-program-name-tranform-powerpc.patch
*can you use "make DESTDIR=%{buildroot}

Couldn't Add
 *chaning %makeinstall. Actually this will not work with the grub 2 build system.

Do I need to make autoconf a depenency?
Comment 5 Ville Skyttä 2007-02-28 02:31:19 EST
(In reply to comment #4)
> Do I need to make autoconf a depenency?

If you use autoreconf during build, yes, the build dependency is needed. 
Depending on what stuff autoreconf itself needs to run, you may actually need to
pull in automake or libtool instead of autoconf.  By the way, running autoreconf
(if it's needed) would be better done in %prep, not %build.

Potential reviewers will also find it easier to track progress if you bump the
release tag *always* when making changes, even during the review.
Comment 6 Jerone Young 2007-02-28 12:19:40 EST
Thanks for the comments guys. I've added autoconf as a dependency as well as
moved the use of autoreconf to %prep. New rpms and specs can be found below:


Have not had a chance to test that new rpms build on powerpc just yet. Though it
Comment 7 Chris Mohler 2007-02-28 20:24:59 EST
Sorry, I steered you wrong!

*%{?dist} should be appended to Release, not Version.

My fault!

Comment 8 Jerone Young 2007-03-01 00:30:13 EST
It's no problem. Another update to reflect this change.

Comment 9 Chris Mohler 2007-03-01 01:14:51 EST
- It builds cleanly in mock fc6 i386.

- It passes rpmlint

- Spec file looks OK

Building it in mock devel now - as long as that goes as expected, I see no
blockers.  I have no x86_64 or ppc devel environment to build on though.

Comment 10 manuel wolfshant 2007-03-01 07:33:54 EST
Created attachment 149014 [details]
log for failed build for rawhide/x86_64
Comment 11 manuel wolfshant 2007-03-01 07:35:50 EST
just a note: make should use smp_flags, if possible (or add a comment if it is not).
build on x86_64/devel failed in mock, I have attached the build log.
Comment 12 Jerone Young 2007-03-05 03:11:54 EST
I'm looking into the the _start being missing now (not sure exactly what this
is, or why it's now gone in x86-64 fc7 gcc). I've update the spec though to add
smp to building. It appears to work fine (tried up to -j4 and it worked).



I'm going to see how grub cvs works under x86 and x86-64 fc7. Though currently
grub 2 cvs needs a little kicking into shape. I'll see what I can do about it
this week.
Comment 13 Jason Tibbitts 2007-06-09 14:57:08 EDT
Any progress here?
Comment 14 Rudolf Kastl 2007-06-10 01:30:28 EDT
build breaks with smpflags on a multiprocessor box.

#5: why is it better to run autoreconf in %prep? this is definitely the first
time i hear and even see it placed there at all. The usual place to do every
thing build related (processing/parsing files and generate outputfiles) is done
in %build
Comment 15 Jerone Young 2007-06-10 02:59:30 EDT
Spent some time tonight and figured out the issue with x86-64 compiling under
Fedora. The package glibc-devel.i386 needs to be made a dependency. I'll prep a
new set of rpms based on cvs build (which has all the patches that I had in the rpm)

Thanks for poking me on this one.

My guess with autoreconf not being apart of build is because you really are not
building the source when you do an autoreconf. You are rebuilding the config
files to build the source. So being in %prep makes since from this stand point.
Comment 16 Jerone Young 2007-06-10 04:46:07 EDT
Ok I rebased on latest CVS. 



One problem though .. I can't make "glibc-devel.i386" a build requirement on
x86-64. I could only put "glibc-devel". It seems to install both when doing a
yum install. Anyone have any idea how to specify an architecture package (that
isn't the primary) as a Build Requirement? 
Comment 17 Rudolf Kastl 2007-06-10 12:18:13 EDT
like i said, parallel building is broken (package doesent build with smpflags on
a dual core box), but works fine without:

gcc -Ikern -I./kern -I. -Iinclude -I./include -Wall -W  -Wall -W -Wshadow
-Wpointer-arith -Wmissing-prototypes                  -Wundef
-Wstrict-prototypes -g -Os -falign-jumps=1 -falign-loops=1 -falign-functions=1
-fno-stack-protector -fno-builtin -mrtd -mregparm=3 -m32 -MD -c -o
kernel_img-kern_device.o kern/device.c
util/grub-emu.c:41:31: error: grub_modules_init.h: No such file or directory
util/grub-emu.c: In function 'main':
util/grub-emu.c:188: warning: implicit declaration of function 'grub_init_all'
util/grub-emu.c:211: warning: implicit declaration of function 'grub_fini_all'

Comment 18 Jerone Young 2007-06-10 12:50:04 EDT
I added grub-emu back in and that does work with smpflags. Thanks! I've got new
build up now removing the smp flags while compiling which should solve that problem.

Comment 19 Till Maas 2007-08-29 07:18:30 EDT
- GPL is not a valid license tag anymore:

- instead of /etc you should use %{_sysconfdir}
- maybe the file in /etc should be marked with %config, is it intended, that
they are not?
- Why is this update-grub_lib in %{_libdir}/grub and not in %{_libdir}/grub2?
Also in case it is intentional, the directory %{_libdir}/grub/ is not owned by
any package afaics.

- I guess %{_libdir}/grub2/* should be just %{_libdir}/grub2/ because otherwise
the directory %{_libdir}/grub2/ is not owned by any package.
- /etc/grub.d/ is also not owned by the package but created
- /boot/grub2 should be /boot/grub2/ imho to make it more obvious that it is an
- the conditionals in %files can be simplified because there is a
"ExclusiveArch: i386 x86_64 ppc ppc64" tag and everything in the package for 
ppc(64), is also in the package for i386 and x86_64, so this should produce the
same rpms:

%ifarch i386 x86_64

- What do you mean with this comment: #All apart of update-grub2 tool?
Comment 20 Alexander Kahl 2007-11-09 14:50:07 EST
Is this still being worked on?
Comment 21 Jerone Young 2007-11-18 11:31:49 EST
Sadly no. This is no longer being worked on. At the time I was trying to get it
in. But grub2 development is still slowly moving along. I also have little time
anymore to maintain the package and rpm spec file so someone else can refrence
it if they would like.
Comment 22 Lubomir Kundrak 2008-04-11 09:16:33 EDT
Work in progress still, gladly accepting patches. Just so that this won't rot on
my hdd:

Comment 23 Dennis Gilmore 2008-04-11 11:43:24 EDT
for kicks i tried building in mock on rawhide

checking if C symbols get an underscore after compilation...
checking if start is defined by the compiler...
checking if _start is defined by the compiler...
configure: error: neither start nor _start is defined

Seems horribly broken
Comment 24 Lubomir Kundrak 2008-04-12 10:52:21 EDT
(In reply to comment #23)
> for kicks i tried building in mock on rawhide
> checking if C symbols get an underscore after compilation...
> no
> checking if start is defined by the compiler...
> no
> checking if _start is defined by the compiler...
> no
> configure: error: neither start nor _start is defined

I am not reproduce on Fedora 9/i386, nor Fedora 8/x86_64.
Did you build on something else? Have complete build.log and root.log somewhere?
> Seems horribly broken

What does "horribly" stand here for?
Comment 25 Lubomir Kundrak 2008-04-12 11:58:09 EDT
Oh, this is that on x86_64, 32 bit glibc devel that provides crt1.o is not
buildrequired. Add this BuildRequires: /usr/lib/crt1.o to fix.
Comment 27 Lubomir Rintel 2008-04-30 19:48:14 EDT
Doh. I am wondering whether anyone has a copy of the source package or SPEC file?
Comment 28 Jason Tibbitts 2008-06-05 20:32:45 EDT
If there's no package to review and the submitter has indicated that they no
longer want to submit this, there's no reason to keep this ticket open.  If
someone later wants to submit a grub2 package for review, please open a fresh
Comment 29 Jason Tibbitts 2008-08-08 13:57:45 EDT

*** This bug has been marked as a duplicate of bug 458472 ***

Note You need to log in before you can comment on or make changes to this bug.