File updategrub.spec of Package updategrub

%define version 2.3.1
%define findgrubVersion 4.4.1

Name: updategrub
Summary: A script to update Legacy Grub menu entries
Version: %version
Release: 122.1
License: GPL-2.0
Source0: %{name}-%{version}.tar.gz
Source1: findgrub-%{findgrubVersion}.tar.gz
BuildArch: noarch
BuildRequires: fdupes
Requires: os-prober >= 1.49
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%if 0%{?mandriva_version}
Requires: cdialog
%else
Requires: dialog
%endif

%if 0%{?rhel_version} || 0%{?fedora} || 0%{?centos_version}
Group: System Environment/Base
%define docdir %{_docdir}/%{name}-%{version}
%else
Group: System/Base
%define docdir %{_docdir}/%{name}
%endif

%description
* updateGrub2 uses os-prober to add boot entries for other OSes to Grub2 menu.
* updateLegacyGrub uses os-prober to add boot entries for other OSes to Legacy Grub menu.
* findgrub looks for Grub/Grub2 stage1 & stage2 and display.
results.  

Authors:
--------

Agnelo de la Crotche <agnelo@unixversal.com>


%prep

%setup -q  -b 1

%build
# nothing to build

%install
install -d -m 0755 %{buildroot}%{_bindir}
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}
install -d -m 0755 %{buildroot}%{_sysconfdir}/grub.d
install -d -m 0755 %{buildroot}%{docdir}
install -d -m 0755 %{buildroot}%{_mandir}/man1
install -m 0755 updateLegacyGrub updateGrub2 findgrub grubmenu installLegacyGrub %{buildroot}%{_bindir}
install -m 0644 defaults %{buildroot}%{_sysconfdir}/%{name}
install -m 0644 30_os-prober_alt %{buildroot}%{_sysconfdir}/grub.d
install -m 0644 %{name}.1.gz %{buildroot}%{_mandir}/man1/%{name}.1.gz
install -m 0644 updateGrub2.1.gz %{buildroot}%{_mandir}/man1/updateGrub2.1.gz

%if 0%{?suse_version}
%fdupes %{buildroot}%{_bindir}
%else
fdupes -H %{buildroot}%{_bindir}
%endif

%if 0%{?fedora} > 15 || 0%{?suse_version} > 1210
ln -s updateGrub2 %{buildroot}%{_bindir}/updategrub
%else
ln -s updateLegacyGrub %{buildroot}%{_bindir}/updategrub
%endif

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%doc README COPYING defaults
%dir %{_sysconfdir}/%{name}
%dir %{_sysconfdir}/grub.d
%config (noreplace) %{_sysconfdir}/%{name}/defaults
%{_sysconfdir}/grub.d/30_os-prober_alt
%{_bindir}/*
%{_mandir}/man1/*

%changelog
* Tue Nov 20 2012 Agnelo de la Crotche <agnelo@unixversal.com> 2.3.1
- added chainloader for Legacy Grub on root partition
* Tue Oct 23 2012 Agnelo de la Crotche <agnelo@unixversal.com> 2.3
- updated to version 2.3
* Mon Oct 15 2012 Agnelo de la Crotche <agnelo@unixversal.com> 2.2
- added option -n in updateLegacyGrub to rewrite menu.lst completely.
- added installLegacyGrub to install Legacy Grub on openSUSE 12.2   
* Sat Oct 13 2012 Agnelo de la Crotche <agnelo@unixversal.com> 2.1
- added compatibility with older Grub2 versions (Fedora 16)
- more conisstant titles from 10_linux with updategrub -a
* Thu Oct 11 2012 Agnelo de la Crotche <agnelo@unixversal.com> 2.0
- added UEFI support
- sort and skip menu entries on BIOS systems
* Thu Sep 20 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.8.3
- updateGrub2 now works on 12.2 (BIOS) 
* Sat Apr 21 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.8.2
- findgrub 3.8
- updateGrub2 1.3
* Mon Mar 19 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.8.1
- replace dev name with UUID in Fedora kernel entries
* Sat Feb 25 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.8
- improved OS detection of Legacy Grub and Grub2 chainloader entries
* Wed Feb 22 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.7.4
- Added Generic Window/SUSE generic MBR detection in findgrub 
* Tue Feb 21 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.7.3
- sorting linux-boot-prober output by kernel version (latest first)
* Fri Jan 20 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.7.2
- added support for Fedora's grub-efi
- added mbr_chainload and efi_chainload
- removed chainload_windows
* Thu Jan 19 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.7.1
- function chainload_windows added in updateGrub2
* Tue Jan 17 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.7
- Added updateGrub2
* Mon Jan 9 2012 Agnelo de la Crotche <agnelo@unixversal.com> 1.6.1
- Added Fedora 16 detection to updategrub and findgrub
* Thu Dec 13 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.6
- added bootchart support to updategrub
- required os-prober 1.49
* Sun Nov 13 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.5.5
- ignore usb floppy disks in findgrub
- chainload Grub 1.99 in updategrub
* Sat Nov 12 2011 Agnelo de la Crotche <agnelo@unixversal.com>
- added support for Grub 1.99 compressed core to findgrub.
* Thu Jul 14 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.5.4
- put findgrub in a separate source
* Thu Jul 14 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.5.3
- exclude usb devices from device mapping in findgrub/cfindgrub
* Tue Jul 12 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.5.2
- improved handling of device mapping in findgrub/cfindgrub
* Mon Jul 4 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.5.1
- fix some bugs and display active partitions in findgrub/cfindgrub
* Fri Jul 1 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.5
- add function checkroot
* Sun Jun 5 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.4.2
- ignore lvm partitions while comparing hds whit device.map
- fix minor bugs
* Mon Apr 25 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.4.1
- Fix SETBOOTFLAG bug 
* Sat Apr 23 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.4
- Add option -m to launch grubmenu without scanning OS.
- Add hardlink 'grubmenu' equivalent to 'updategrub -m'
* Fri Apr 22 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.3.1
- Fix some bugs in grubmenu 
* Thu Apr 21 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.3
- add interactive menu
* Wed Apr 20 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.2.2-35
- apply some fixes to the spec file (thanks to Malcolm).
* Tue Apr 19 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.2.2-34
- add man page
* Fri Apr 15 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.2.2
- identify Legacy Grub/Grub2 
- boot Grub2 installed on partition (not MBR) with core.img rather
  then chainloading if possible.
* Fri Apr  8 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.2.1
- add linux_ignore option
* Thu Apr  7 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.1
- rewrite from scratch
* Mon Apr  4 2011 Agnelo de la Crotche <agnelo@unixversal.com> 1.0
- initial build
 
openSUSE Build Service is sponsored by