Colin Watson
e639c204e0
* util/grub-script-check.c: Fail on scripts containing no
...
commands, to guard against corrupted grub-mkconfig setups that
produce no useful output.
* tests/grub_script_no_commands.in: New test.
* Makefile.util.def (grub_script_no_commands): Add.
Reported by Hans Putter. Fixes Debian bug #713886 .
2013-06-25 15:08:11 +01:00
Vladimir 'phcoder' Serbinenko
5027af38cf
Support for cbfs. Also factor out the part which is common
...
for all archives to a separate module. This splits tar from cpio
as they are very different but keeps cpio, cpio_be, odc and newc
together since they're very similar.
2013-06-16 00:06:13 +02:00
Vladimir 'phcoder' Serbinenko
3d84cb1793
Move flavour-specific parts out of common cpio.c file and
...
rename remaining to cpio_common.c
2013-06-14 20:44:59 +02:00
Radosław Szymczyszyn
1e908b34a6
* grub-core/partmap/dfly.c: New partition map.
2013-05-15 17:26:49 +02:00
Vladimir 'phcoder' Serbinenko
62b15edfd1
Fix distfiles list.
...
Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2013-05-11 15:48:08 +02:00
Vladimir 'phcoder' Serbinenko
8098f65556
Compressed HFS+ support.
2013-05-07 15:46:17 +02:00
Vladimir 'phcoder' Serbinenko
43fe02cbaf
* tests/gettext_strings_test.in: A test to check for strings not
...
marked for translation.
2013-05-07 11:47:30 +02:00
Vladimir 'phcoder' Serbinenko
1eed0e6ebc
* tests/priority_queue_unit_test.cc: New test.
2013-05-07 11:30:48 +02:00
Vladimir 'phcoder' Serbinenko
daf01d61ff
Fix test -a and -o precedence.
...
Reported by: adrian15.
2013-05-04 13:38:59 +02:00
Vladimir 'phcoder' Serbinenko
5036166022
First automated video test (running videotest and comparing results)
2013-05-02 14:39:03 +02:00
Vladimir 'phcoder' Serbinenko
3f9634e550
Add few more tests.
2013-04-30 17:41:32 +02:00
Vladimir 'phcoder' Serbinenko
f7457fb231
Add few new tests.
2013-04-29 12:25:57 +02:00
Vladimir 'phcoder' Serbinenko
e7b8fd08c5
Core compression test.
2013-04-27 19:44:00 +02:00
Vladimir 'phcoder' Serbinenko
f93e89ef90
Add test to check that different boot mediums work.
2013-04-26 14:33:31 +02:00
Vladimir 'phcoder' Serbinenko
ab1440bd4e
* util/grub-mkrescue.in: Add mips-arc support.
2013-04-24 14:02:58 +02:00
Vladimir 'phcoder' Serbinenko
8ca86b3a03
Support mkrescue on sparc64.
2013-04-14 17:10:55 +02:00
Vladimir 'phcoder' Serbinenko
67ab83538f
Better support Apple Intel Macs on CD.
2013-04-13 00:38:04 +02:00
Vladimir 'phcoder' Serbinenko
e3734b84cf
* tests/grub_cmd_date.in: New test for datetime.
2013-04-12 01:47:38 +02:00
Vladimir 'phcoder' Serbinenko
dbc56d8f0b
Support i386-ieee1275 grub-mkrescue and make check on it.
2013-04-12 01:29:45 +02:00
Vladimir 'phcoder' Serbinenko
a79b8a1584
Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
...
feature for it.
2013-04-11 23:15:26 +02:00
Vladimir 'phcoder' Serbinenko
aa42823871
Unify file copying setup across different install scripts. Add
...
options for performing partial install.
2013-04-04 19:59:59 +02:00
Vladimir 'phcoder' Serbinenko
ce50dbd746
Add new 'proc' filesystem framework and put luks_script into it.
2013-03-24 13:05:59 +01:00
Andrey Borzenkov
b7b78edb1c
* Makefile.util.def: Add partmap/msdos.c to common library.
...
* include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
* grub-core/disk/ldm.c: Check for existence of
GRUB_PC_PARTITION_TYPE_LDM.
2013-02-25 22:11:06 +01:00
Vladimir 'phcoder' Serbinenko
5e3b8dcbb5
Import gcrypt public-key cryptography and implement signature checking.
2013-01-11 21:32:42 +01:00
Vladimir 'phcoder' Serbinenko
d9c48c7b7c
Support big-endian UFS1.
...
* Makefile.util.def (libgrubmods): Add ufs_be.c
* grub-core/Makefile.core.def (ufs1_be): New module.
* grub-core/fs/ufs_be.c: New file.
* grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
the file.
2012-12-08 20:56:58 +01:00
Colin Watson
288c757d70
* Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
...
Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799 .
2012-09-26 13:51:13 +01:00
Colin Watson
794c8c3375
Fix grub-emu build on FreeBSD.
...
* Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
* grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
headers on Linux.
(GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
implementation is currently Linux-specific.
* util/getroot.c (exec_pipe): Define only on Linux or when either
libzfs or libnvpair is unavailable.
(find_root_devices_from_poolname): Remove unused path variable.
2012-09-22 21:19:58 +01:00
Vladimir 'phcoder' Serbinenko
3f2bdd8f55
* Makefile.util.def (grub-mkrescue): Enable on loongson.
...
* util/grub-mkrescue.in: Handle loongson.
2012-06-15 18:35:11 +02:00
Vladimir 'phcoder' Serbinenko
070038f843
* Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
...
ia64.
* util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
quotes while on it.
2012-06-06 12:31:24 +02:00
Vladimir 'phcoder' Serbinenko
ddb7355862
* Makefile.util.def: Remove -Wno-format.
...
* grub-core/Makefile.core.def: Likewise.
2012-05-30 13:56:50 +02:00
Vladimir 'phcoder' Serbinenko
b105df76f4
* configure.ac: Add condition for COND_HOST_XNU.
...
* Makefile.util.def (10_xnu): New script.
* util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2012-05-29 13:56:21 +02:00
Vladimir 'phcoder' Serbinenko
ce41ab7aab
* grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
...
per common usage and preffered in several parts of code.
(grub_memcmp): Likewise.
(grub_strncmp): Likewise.
* include/grub/misc.h (grub_strcasecmp): Likewise.
(grub_strncasecmp): Likewise.
* Makefile.util.def (cmp_test): New test.
(grub_script_strcmp): Likewise.
* tests/cmp_unit_test.c: New file.
* tests/grub_script_strcmp.in: Likewise.
* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2012-05-04 12:08:22 +02:00
Vladimir 'phcoder' Serbinenko
ac66b453df
Handle big-endian minixfs (fixes minixfs tests on bigendian).
...
* grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
modify names. Introduce MODE_BIGENDIAN.
* grub-core/fs/minix_be.c: New file.
* grub-core/fs/minix2_be.c: Likewise
* grub-core/fs/minix3_be.c: Likewise.
* Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
minix3_be.
* grub-core/Makefile.core.def (minix_be): New module.
(minix2_be): Likewise.
(minix3_be): Likewise.
2012-04-01 21:35:18 +02:00
Vladimir 'phcoder' Serbinenko
22e6a774f9
Handle big-endian mdraid.
...
* Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
* grub-core/Makefile.core.def (mdraid09_be): New module.
* grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
rather than grub_le_to_cpu* and grub_cpu_to_le*.
* grub-core/disk/mdraid_linux_be.c: New file.
2012-03-26 16:10:40 +02:00
Vladimir 'phcoder' Serbinenko
ac6fd21803
* grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
...
spaces.
* tests/grub_script_leading_whitespace.in: New file.
* Makefile.util.def (grub_script_leading_whitespace): New test.
2012-03-19 13:29:43 +01:00
Vladimir 'phcoder' Serbinenko
546fbe9b5a
Add variable parsing in $"..." and fix several mismatches with bash.
...
* Makefile.util.def (grub_script_gettext): New test.
* grub-core/script/execute.c (parse_string): New function.
(gettext_append): Likewise.
(grub_script_arglist_to_argv): Use gettext_append.
* grub-core/script/yylex.l: Fix slash and newline handling in $"...".
* tests/grub_script_gettext.in: New file.
2012-03-11 14:46:48 +01:00
Vladimir 'phcoder' Serbinenko
8e56f87007
* configure.ac: Decrease warning level to avoid spurious warnings and
...
to be able to compile with GCC 4.2.
* Makefile.util.def: Remove -Wno-error=logical-op.
2012-03-10 21:30:37 +01:00
Vladimir 'phcoder' Serbinenko
6c21f5d7a1
* Makefile.util.def (grub-ofpathname): Enable on all platforms.
2012-02-27 22:48:29 +01:00
Vladimir 'phcoder' Serbinenko
c36e5cd162
Remove any awareness of *.c util files about target.
...
* Makefile.util.def (grub-setup): Split to ...
(grub-bios-setup): ... and this.
(grub-sparc64-setup): ... and this.
* configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
* docs/man/grub-setup.h2m: Split into ...
* docs/man/grub-sparc64-setup.h2m: ... this.
* docs/man/grub-bios-setup.h2m: ... and this.
* include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
* include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
(GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
(grub_target_addr_t): Remove.
(grub_target_size_t): Remove.
(grub_target_ssize_t): Remove.
* util/grub-install.in: Use new grub-*-setup.
* util/grub-mkimagexx.c (Elf_Word): New define.
(Elf_Half): Likewise.
(Elf_Section): Likewise.
(ELF_ST_TYPE): Likewise.
* util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
2012-02-27 14:24:22 +01:00
Vladimir 'phcoder' Serbinenko
8151bc82f7
Remove improper use of program_transform_name on pkglibrootdir.
...
* configure.ac (pkglibrootdir): Removed.
(grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
* util/grub-mkimage.c: Likewise.
2012-02-27 10:35:37 +01:00
Vladimir 'phcoder' Serbinenko
6a656b0ea5
Convert grub-emu to argp.
...
* grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
emu.
* util/argp_common.c: Rename to ...
* grub-core/kern/emu/argp_common.c: ... this. All users updated.
Add missing includes.
* grub-core/kern/emu/main.c: Convert to argp.
* po/POTFILES.in: Regenerate.
* util/grub-install.in (usage): Make first letter lowcase in messages
for uniformity.
* util/grub-setup.c (options): Likewise.
2012-02-25 01:15:29 +01:00
Vladimir 'phcoder' Serbinenko
2a704ca926
* Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
...
-Wno-error=missing-noreturn.
2012-02-22 05:37:32 +01:00
Vladimir 'phcoder' Serbinenko
8be63f2ef6
* Makefile.util.def (grub-mkdevicemap): Removed.
...
* include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
* include/grub/util/deviceiter.h: Removed.
* util/deviceiter.c: Likewise.
* util/getroot.c (grub_util_get_os_disk): New function.
* util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
replacement for EFI.
* util/grub-mkdevicemap.c: Removed.
* util/grub-probe.c (probe): Handle PRINT_DISK.
(argp_parser): Handle -t disk.
2012-02-03 22:36:51 +01:00
Vladimir 'phcoder' Serbinenko
8e1e4e3903
* util/grub-mkfont.c: Migrate to argp.
...
* util/grub-mklayout.c: Likewise.
* util/grub-mkpasswd-pbkdf2.c: Likewise.
* util/grub-mkrelpath.c: Likewise.
* util/grub-probe.c: Likewise.
* util/grub-script-check.c: Likewise.
2012-02-03 21:45:43 +01:00
Vladimir 'phcoder' Serbinenko
c76899a0ea
Migrate grub-mkimage.c to argp.
...
* Makefile.util.def (grub-mkimage): Add util/argp_common.c.
(grub-setup): Likewise.
* util/grub-setup.c (print_version): Move to ...
* util/argp_common.c (print_version): ... here.
* util/grub-setup.c (argp_program_version_hook): Move to ...
* util/argp_common.c (argp_program_version_hook): ... here.
* util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
safety.
* util/grub-mkimage.c (main): Migrate to argp.
2012-02-03 21:18:37 +01:00
Vladimir 'phcoder' Serbinenko
076e7c0fda
Merge common RAID and LVM logic to an abstract diskfilter.
...
Add LDM support using the same framework.
* Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
(libgrubmods): Remove grub-core/disk/raid.c and
grub-core/partmap/gpt.c.
* grub-core/Makefile.core.def (ldm): New module.
(raid): Renamed to diskfilter. All users updated.
* grub-core/disk/raid.c: Moved to ...
* grub-core/disk/diskfilter.c: ... here.
* grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
(lv_num): New var.
(find_array): Renamed to ...
(find_lv): ... this. Support multi-LV. Skip nameless LVs
(grub_is_array_readable): Renamed to ...
(grub_is_lv_readable): ... this. Support multinode hierarchy.
(insert_array): New argument id.
(is_node_readable): New function.
(scan_device): Rename to ...
(scan_disk): .. this. Restrict to one disk.
(scan_devices): New function.
(grub_diskfilter_iterate): Support multi-LV.
Skip invisible and nameless LVs.
(grub_diskfilter_memberlist): Support multi-LV.
(grub_diskfilter_read_node): New function.
(grub_raid_read): Most of logic moved to ...
(read_segment): ... here
(read_lv): New function.
(grub_diskfilter_get_vg_by_uuid): New function.
(grub_diskfilter_make_raid): Likewise.
* grub-core/disk/ldm.c: New file.
* grub-core/disk/lvm.c (vg_list): Removed.
(lv_count): Likewise.
(scan_depth): Likewise.
(is_lv_readable): Likewise.
(grub_lvm_getvalue): Advance pointer past the number.
(find_lv): Removed.
(do_lvm_scan): Refactored into ...
(grub_lvm_detect): ... this. Support raid.
(grub_lvm_iterate): Removed.
(grub_lvm_memberlist): Likewise.
(grub_lvm_open): Likewise.
(grub_lvm_close): Likewise.
(read_lv): Likewise.
(read_node): Likewise.
(is_node_readable): Likewise.
(is_lv_readable): Likewise.
(grub_lvm_read): Likewise.
(grub_lvm_write): Likewise.
(grub_lvm_dev): Use diskfilter
(GRUB_MOD_INIT): Likewise.
(GRUB_MOD_FINI): Likewise.
* grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
new interface.
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
* grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
grub_diskfilter_read_node.
Fix a bug with xor.
* grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
grub_diskfilter_read_node.
Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
* grub-core/kern/disk.c (grub_disk_dev_list): Make global.
(grub_disk_dev_iterate): Move from here...
* include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
* grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
Make global.
(grub_hostdisk_find_partition_start): Likewise.
(grub_hostdisk_os_dev_to_grub_drive): New function.
(grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
* grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
* util/getroot.c (make_device_name): ... here.
* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
Move to ...
* util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
* grub-core/kern/emu/hostdisk.c
(convert_system_partition_to_system_disk): Move to ...
* util/getroot.c (convert_system_partition_to_system_disk): ...here.
* grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
* util/getroot.c (device_is_wholedisk): ... here.
* grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
* util/getroot.c (find_system_device): ... here.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
Move to ...
* util/getroot.c (grub_util_biosdisk_is_present): ...here.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
Move to ...
* util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
Handle LDM.
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
Move to ...
* util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
* grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
* include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
DISKFILTER.
* include/grub/raid.h: Renamed to ...
* include/grub/diskfilter.h: ... this.
* include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
(GRUB_RAID_LAYOUT_*): Make into array.
(GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
(grub_diskfilter_vg): New struct.
(grub_diskfilter_pv_id): Likewise.
(grub_raid_member): Removed.
(grub_raid_array): Likewise.
(grub_diskfilter_pv): New struct.
(grub_diskfilter_lv): Likewise.
(grub_diskfilter_segment): Likewise.
(grub_diskfilter_node): Likewise.
(grub_diskfilter_get_vg_by_uuid): New proto.
(grub_raid_register): Inline.
(grub_diskfilter_unregister): Likewise.
(grub_diskfilter_make_raid): New proto.
(grub_diskfilter_vg_register): Likewise.
(grub_diskfilter_read_node): Likewise.
(grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
* include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
(grub_util_is_ldm): Likewise.
(grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
(grub_hostdisk_find_partition_start): Likewise.
(grub_hostdisk_os_dev_to_grub_drive): Likewise.
* include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
New definition.
(grub_gpt_partition_map_iterate): New proto.
* include/grub/lvm.h (grub_lvm_vg): Removed.
(grub_lvm_pv): Likewise.
(grub_lvm_lv): Likewise.
(grub_lvm_segment): Likewise.
(grub_lvm_node): Likewise.
* util/getroot.c [...]
* util/grub-probe.c (probe_raid_level): Handle diskfilter.
(probe_abstraction): Likewise.
* util/grub-setup.c (setup): Remove must_embed. Support LDM.
(main): Remove dead logic.
2012-01-29 14:28:01 +01:00
Vladimir 'phcoder' Serbinenko
48b391e9ab
Handle newer autotools. Add some missing quotes while on it.
...
* Makefile.am (pkglib_DATA): Remove update-grub_lib.
(pkglib_DATA): Move grub-mkconfig_lib from here ...
(pkgdata_DATA): ... here.
* Makefile.util.def (update-grub_lib): Removed.
* conf/Makefile.common (pkglib_DATA): Removed.
(pkglib_SCRIPTS): Likewise.
(pkgdata_DATA): New variable.
* tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
needed.
Add missing quotes.
Remove unused variable while on it.
* tests/util/grub-shell.in: Likewise.
* util/grub-install.in: Likewise.
* util/grub-mkconfig.in: Likewise.
* util/grub-mknetdir.in: Likewise.
* util/grub-mkrescue.in: Likewise.
* util/grub-mkstandalone.in: Likewise.
* util/grub.d/00_header.in: Likewise.
* util/grub.d/10_hurd.in: Likewise.
* util/grub.d/10_illumos.in: Likewise.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_linux.in: Likewise.
* util/grub.d/10_netbsd.in: Likewise.
* util/grub.d/10_windows.in: Likewise.
* util/grub.d/20_linux_xen.in: Likewise.
* util/grub.d/30_os-prober.in: Likewise.
* util/update-grub_lib.in: Removed.
2012-01-24 13:17:36 +01:00
Vladimir 'phcoder' Serbinenko
c029da8a89
Various squash4 fixes and LZO and XZ support.
...
* Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
Add xzembed source files.
* grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
* grub-core/fs/squash4.c (grub_squash_super): New field compression.
(grub_squash_inode): New subtype long_dir.
(SQUASH_TYPE_LONG_DIR): New inode type.
(COMPRESSION): New enum.
(XZBUFSIZ): New const.
(grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
(read_chunk): Use data->decompress.
(zlib_decompress): New function.
(lzo_decompress): Likewise.
(xz_decompress): Likewise.
(squash_mount): Set new data fields.
(grub_squash_iterate_dir): Handle long dir.
(squash_unmount): Free xzdec and xzbuf.
(grub_squash_open): Check ino type.
(direct_read): Stylistic fixes. Use data->decompress.
(grub_squash_read_data): Likewise.
* grub-core/io/gzio.c (grub_gzio): Remove disk_input.
(get_byte): Likewise.
(grub_zlib_disk_read): Removed.
* grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
(GRUB_POSIX_BOOL_DEFINED): New define.
* grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
* grub-core/lib/xzembed/xz.h: Addmissing includes.
[!GRUB_POSIX_BOOL_DEFINED]: Define bool.
* include/grub/deflate.h (grub_zlib_disk_read): Removed.
2011-12-26 13:18:01 +01:00
Vladimir 'phcoder' Serbinenko
17785932df
merge mainline into hints
2011-12-23 18:49:00 +01:00
Vladimir 'phcoder' Serbinenko
6babad5e59
Initial integration of hints
2011-12-23 18:19:16 +01:00