[arch-commits] Commit in efibootmgr/trunk (3 files)
Tobias Powalowski
tpowa at nymeria.archlinux.org
Sun Jan 27 09:30:45 UTC 2013
Date: Sunday, January 27, 2013 @ 10:30:45
Author: tpowa
Revision: 176066
upgpkg: efibootmgr 0.6.0-1
bump to latest version
Modified:
efibootmgr/trunk/PKGBUILD
Deleted:
efibootmgr/trunk/efibootmgr_after_0.5.4_git.patch
efibootmgr/trunk/efibootmgr_default_to_grub2.patch
-----------------------------------+
PKGBUILD | 14 ---
efibootmgr_after_0.5.4_git.patch | 159 ------------------------------------
efibootmgr_default_to_grub2.patch | 45 ----------
3 files changed, 4 insertions(+), 214 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2013-01-27 09:20:55 UTC (rev 176065)
+++ PKGBUILD 2013-01-27 09:30:45 UTC (rev 176066)
@@ -4,8 +4,8 @@
# Contributor: Keshav P R <skodabenz at rocketmail dot com>
pkgname=efibootmgr
-pkgver=0.5.4
-pkgrel=3
+pkgver=0.6.0
+pkgrel=1
pkgdesc="Tool to modify UEFI Firmware Boot Manager Variables."
arch=('i686' 'x86_64')
url="http://linux.dell.com/efibootmgr/"
@@ -15,9 +15,7 @@
provides=()
options=(strip purge docs zipman !emptydirs)
-source=("http://linux.dell.com/efibootmgr/permalink/${pkgname}-${pkgver}.tar.gz"
- 'efibootmgr_after_0.5.4_git.patch'
- 'efibootmgr_default_to_grub2.patch')
+source=("http://linux.dell.com/efibootmgr/permalink/${pkgname}-${pkgver}.tar.gz")
build () {
rm -rf ${srcdir}/efibootmgr-${pkgver}_build/ || true
@@ -26,8 +24,6 @@
cd ${srcdir}/efibootmgr-${pkgver}_build/
- patch -Np1 -i ${srcdir}/efibootmgr_after_0.5.4_git.patch
- patch -Np1 -i ${srcdir}/efibootmgr_default_to_grub2.patch
echo
CFLAGS= make
@@ -47,6 +43,4 @@
install -D -m644 ${srcdir}/efibootmgr-${pkgver}_build/src/man/man8/efibootmgr.8 ${pkgdir}/usr/share/man/man8/efibootmgr.8
}
-md5sums=('cfcf24752d6461b73f7ba964bbf73169'
- '29730052de0d6911457a26011f8ddb6e'
- 'b99b8f79842b96c241a0b0fcfb75c778')
+md5sums=('9e9a31d79e579644de83a14139b66d10')
Deleted: efibootmgr_after_0.5.4_git.patch
===================================================================
--- efibootmgr_after_0.5.4_git.patch 2013-01-27 09:20:55 UTC (rev 176065)
+++ efibootmgr_after_0.5.4_git.patch 2013-01-27 09:30:45 UTC (rev 176066)
@@ -1,159 +0,0 @@
-diff --git a/src/efibootmgr/efibootmgr.c b/src/efibootmgr/efibootmgr.c
-index 5db0d9e..199af39 100644
---- a/src/efibootmgr/efibootmgr.c
-+++ b/src/efibootmgr/efibootmgr.c
-@@ -328,6 +328,7 @@ add_to_boot_order(uint16_t num)
- /* Now new_data has what we need */
- memcpy(&(boot_order.Data), new_data, new_data_size);
- boot_order.DataSize = new_data_size;
-+ free(new_data);
- return create_or_edit_variable(&boot_order);
- }
-
-diff --git a/src/include/disk.h b/src/include/disk.h
-index eb93d10..8aa37d7 100644
---- a/src/include/disk.h
-+++ b/src/include/disk.h
-@@ -65,6 +65,9 @@ enum _interface_type {interface_type_unknown,
- ata, atapi, scsi, usb,
- i1394, fibre, i2o, md};
-
-+
-+unsigned int lcm(unsigned int x, unsigned int y);
-+
- int disk_get_pci(int fd,
- unsigned char *bus,
- unsigned char *device,
-diff --git a/src/lib/disk.c b/src/lib/disk.c
-index 883864f..8ad590b 100644
---- a/src/lib/disk.c
-+++ b/src/lib/disk.c
-@@ -55,7 +55,7 @@ disk_info_from_fd(int fd,
- return 1;
- }
- major = buf.st_dev >> 8;
-- minor = buf.st_dev && 0xFF;
-+ minor = buf.st_dev & 0xFF;
-
- /* IDE disks can have up to 64 partitions, or 6 bits worth,
- * and have one bit for the disk number.
-@@ -420,6 +420,27 @@ get_sector_size(int filedes)
- return sector_size;
- }
-
-+/************************************************************
-+ * lcm
-+ * Requires:
-+ * - numbers of which to find the lowest common multiple
-+ * Modifies: nothing
-+ * Returns:
-+ * lowest common multiple of x and y
-+ ************************************************************/
-+unsigned int
-+lcm(unsigned int x, unsigned int y)
-+{
-+ unsigned int m = x, n = y, o;
-+
-+ while ((o = m % n)) {
-+ m = n;
-+ n = o;
-+ }
-+
-+ return (x / n) * y;
-+}
-+
- /**
- * disk_get_partition_info()
- * @fd - open file descriptor to disk
-@@ -442,26 +463,27 @@ disk_get_partition_info (int fd,
- uint8_t *mbr_type, uint8_t *signature_type)
- {
- legacy_mbr *mbr;
-- void *mbr_unaligned;
-+ void *mbr_sector;
-+ size_t mbr_size;
- off_t offset;
- int this_bytes_read = 0;
- int gpt_invalid=0, mbr_invalid=0;
- int rc=0;
- int sector_size = get_sector_size(fd);
-
-- if (sizeof(*mbr) != sector_size)
-- return 1;
-- mbr_unaligned = malloc(sizeof(*mbr)+sector_size-1);
-- mbr = (legacy_mbr *)
-- (((unsigned long)mbr_unaligned + sector_size - 1) &
-- ~(unsigned long)(sector_size-1));
-- memset(mbr, 0, sizeof(*mbr));
-+
-+ mbr_size = lcm(sizeof(*mbr), sector_size);
-+ if ((rc = posix_memalign(&mbr_sector, sector_size, mbr_size)) != 0)
-+ goto error;
-+ memset(mbr_sector, '\0', mbr_size);
-+
- offset = lseek(fd, 0, SEEK_SET);
-- this_bytes_read = read(fd, mbr, sizeof(*mbr));
-+ this_bytes_read = read(fd, mbr_sector, mbr_size);
- if (this_bytes_read < sizeof(*mbr)) {
- rc=1;
- goto error_free_mbr;
- }
-+ mbr = (legacy_mbr *)mbr_sector;
- gpt_invalid = gpt_disk_get_partition_info(fd, num,
- start, size,
- signature,
-@@ -479,7 +501,8 @@ disk_get_partition_info (int fd,
- }
- }
- error_free_mbr:
-- free(mbr_unaligned);
-+ free(mbr_sector);
-+ error:
- return rc;
- }
-
-diff --git a/src/lib/gpt.c b/src/lib/gpt.c
-index d90ddaf..83e7a94 100644
---- a/src/lib/gpt.c
-+++ b/src/lib/gpt.c
-@@ -215,26 +215,24 @@ read_lastoddsector(int fd, uint64_t lba, void *buffer, size_t count)
- static ssize_t
- read_lba(int fd, uint64_t lba, void *buffer, size_t bytes)
- {
-- int sector_size = get_sector_size(fd);
-- off_t offset = lba * sector_size;
-+ int sector_size = get_sector_size(fd);
-+ off_t offset = lba * sector_size;
- ssize_t bytesread;
-- void *aligned;
-- void *unaligned;
--
-- if (bytes % sector_size)
-- return EINVAL;
-+ void *iobuf;
-+ size_t iobuf_size;
-+ int rc;
-
-- unaligned = malloc(bytes+sector_size-1);
-- aligned = (void *)
-- (((unsigned long)unaligned + sector_size - 1) &
-- ~(unsigned long)(sector_size-1));
-- memset(aligned, 0, bytes);
-+ iobuf_size = lcm(bytes, sector_size);
-+ rc = posix_memalign(&iobuf, sector_size, iobuf_size);
-+ if (rc)
-+ return rc;
-+ memset(iobuf, 0, bytes);
-
-
-- lseek(fd, offset, SEEK_SET);
-- bytesread = read(fd, aligned, bytes);
-- memcpy(buffer, aligned, bytesread);
-- free(unaligned);
-+ lseek(fd, offset, SEEK_SET);
-+ bytesread = read(fd, iobuf, iobuf_size);
-+ memcpy(buffer, iobuf, bytes);
-+ free(iobuf);
-
- /* Kludge. This is necessary to read/write the last
- block of an odd-sized disk, until Linux 2.5.x kernel fixes.
Deleted: efibootmgr_default_to_grub2.patch
===================================================================
--- efibootmgr_default_to_grub2.patch 2013-01-27 09:20:55 UTC (rev 176065)
+++ efibootmgr_default_to_grub2.patch 2013-01-27 09:30:45 UTC (rev 176066)
@@ -1,45 +0,0 @@
-diff --git a/src/efibootmgr/efibootmgr.c b/src/efibootmgr/efibootmgr.c
-index 199af39..3826e03 100644
---- a/src/efibootmgr/efibootmgr.c
-+++ b/src/efibootmgr/efibootmgr.c
-@@ -18,7 +18,7 @@
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-- This must tie the EFI_DEVICE_PATH to /boot/efi/elilo.efi
-+ This must tie the EFI_DEVICE_PATH to /boot/efi/EFI/arch_grub/grubx64.efi
- The EFI_DEVICE_PATH will look something like:
- ACPI device path, length 12 bytes
- Hardware Device Path, PCI, length 6 bytes
-@@ -26,7 +26,7 @@
- Media Device Path, Hard Drive, partition XX, length 30 bytes
- Media Device Path, File Path, length ??
- End of Hardware Device Path, length 4
-- Arguments passed to elilo, as UCS-2 characters, length ??
-+ Arguments passed to grub2, as UCS-2 characters, length ??
-
- */
-
-@@ -780,8 +780,8 @@ usage()
- printf("\t-g | --gpt force disk with invalid PMBR to be treated as GPT\n");
- printf("\t-H | --acpi_hid XXXX set the ACPI HID (used with -i)\n");
- printf("\t-i | --iface name create a netboot entry for the named interface\n");
-- printf("\t-l | --loader name (defaults to \\elilo.efi)\n");
-- printf("\t-L | --label label Boot manager display label (defaults to \"Linux\")\n");
-+ printf("\t-l | --loader name (defaults to \\EFI\\arch_grub\\grubx64.efi)\n");
-+ printf("\t-L | --label label Boot manager display label (defaults to \"Arch Linux (GRUB2)\")\n");
- printf("\t-n | --bootnext XXXX set BootNext to XXXX (hex)\n");
- printf("\t-N | --delete-bootnext delete BootNext\n");
- printf("\t-o | --bootorder XXXX,YYYY,ZZZZ,... explicitly set BootOrder (hex)\n");
-@@ -808,8 +808,8 @@ set_default_opts()
- opts.active = -1; /* Don't set it */
- opts.timeout = -1; /* Don't set it */
- opts.edd10_devicenum = 0x80;
-- opts.loader = "\\elilo.efi";
-- opts.label = "Linux";
-+ opts.loader = "\\EFI\\arch_grub\\grubx64.efi";
-+ opts.label = "Arch Linux (GRUB2)";
- opts.disk = "/dev/sda";
- opts.iface = NULL;
- opts.part = 1;
-
More information about the arch-commits
mailing list