1. 12 Feb, 2012 1 commit
  2. 25 Dec, 2011 1 commit
  3. 06 May, 2010 1 commit
  4. 05 May, 2010 1 commit
  5. 27 Mar, 2010 1 commit
  6. 22 Jan, 2010 1 commit
  7. 23 Nov, 2009 1 commit
    • Robert Millan's avatar
      2009-11-23 Robert Millan <rmh.grub@aybabtu.com> · f515aa62
      Robert Millan authored
              * script/sh/execute.c: Move from here ...
              * script/execute.c: ... to here.  Update all users.
              * script/sh/function.c: Move from here ...
              * script/function.c: ... to here.  Update all users.
              * script/sh/lexer.c: Move from here ...
              * script/lexer.c: ... to here.  Update all users.
              * script/sh/main.c: Move from here ...
              * script/main.c: ... to here.  Update all users.
              * script/sh/parser.y: Move from here ...
              * script/parser.y: ... to here.  Update all users.
              * script/sh/script.c: Move from here ...
              * script/script.c: ... to here.  Update all users.
      f515aa62
  8. 25 Aug, 2009 1 commit
    • phcoder's avatar
      2009-08-24 Vladimir Serbinenko <phcoder@gmail.com> · 48e40bff
      phcoder authored
      	* script/sh/function.c (grub_script_function_find): Cut error message
      	not to flood terminal.
      	* script/sh/lexer.c (grub_script_yylex): Remove command line length
      	limit.
      	* script/sh/script.c (grub_script_arg_add): Duplicate string.
      48e40bff
  9. 11 Jun, 2009 1 commit
  10. 04 Jun, 2009 1 commit
    • phcoder's avatar
      2009-06-04 Vladimir Serbinenko <phcoder@gmail.com> · fda6cb98
      phcoder authored
      	Script fixes
      
      	* include/grub/script_sh.h (grub_script_cmdline): remove cmdline
      	(grub_lexer_param): add tokenonhold
      	(grub_script_create_cmdline): remove cmdline. All callers updated
      	(grub_script_function_create): make functionname
      	grub_script_arg. All callers updated
      	(grub_script_execute_argument_to_string): new prototype
      	* kern/parser.c (state_transitions): reorder
      	(grub_parser_cmdline_state): fix a bug and make more compact
      	* script/sh/execute.c (grub_script_execute_argument_to_string): 
      	make global
      	(grub_script_execute_cmdline): use new format
      	* script/sh/function.c (grub_script_function_create): make functionname
      	grub_script_arg. All callers updated
      	* script/sh/lexer.c (grub_script_lexer_init): initilaize tokenonhold
      	(grub_script_yylex): remove
      	(grub_script_yylex2): renamed to ...
      	(grub_script_yylex): ...renamed
      	parse the expressions like a${b}c
      	* script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
      	(GRUB_PARSER_TOKEN_VAR): remove
      	(GRUB_PARSER_TOKEN_NAME): likewise
      	("if"): declare as typeless
      	("while"): likewise
      	("function"): likewise
      	("else"): likewise
      	("then"): likewise
      	("fi"): likewise
      	(text): remove
      	(argument): likewise
      	(script): accept empty scripts and make exit on error
      	(arguments): use GRUB_PARSER_TOKEN_ARG
      	(function): likewise
      	(command): move error handling to script
      	(menuentry): move grub_script_lexer_ref before
      	* script/sh/script.c (grub_script_create_cmdline): remove cmdline 
      	argument. All callers updated
      fda6cb98
  11. 03 May, 2009 1 commit
    • bean's avatar
      2009-05-02 Bean <bean123ch@gmail.com> · d558e6b5
      bean authored
      	* conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
      	script/sh/parser.y.
      	(pkglib_MODULES): Add normal.mod and sh.mod.
      	(normal_SOURCES): New variable.
      	(normal_mod_CFLAGS): Likewise.
      	(normal_mod_LDFLAGS): Likewise.
      	(sh_mod_SOURCES): Likewise.
      	(sh_mod_CFLAGS): Likewise.
      	(sh_mod_LDFLAGS): Likewise.
      
      	* conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
      	script/sh/lexer.c_DEPENDENCIES.
      	(kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
      	kern/rescue_reader.c and kern/rescue_parser.c.
      	(kernel_img_HEADERS): Remove rescue.h, add reader.h.
      	(grub_emu_SOURCES): Change source files.
      	(pkglib_MODULES): Remove normal.mod.
      	(normal_SOURCES): Removed.
      	(normal_mod_CFLAGS): Likewise.
      	(normal_mod_LDFLAGS): Likewise.
      	* conf/i386-coreboot.rmk: Likewise.
      	* conf/i386-efi.rmk: Likewise.
      	* conf/i386-ieee1276.rmk: Likewise.
      	* conf/powerpc-ieee1275.rmk: Likewise.
      	* conf/sparc64-ieee1275.rmk: Likewise.
      	* conf/x86_64-efi.rmk: Likewise.
      
      	* include/grub/command.h (grub_command_execute): New inline function.
      
      	* include/grub/menu.h (grub_menu_entry): Removed commands field.
      
      	* include/grub/normal.h: Remove <grub/setjmp.h>.
      	(grub_fs_module_list): Moved to normal/autofs.c.
      	(grub_exit_env): Removed.
      	(grub_command_execute): Likewise.
      	(grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
      	parameter script.
      	(read_command_list): New function declaration.
      	(read_fs_list): Likewise.
      
      	* include/parser.h: Include <grub/reader.h>.
      	(grub_parser_split_cmdline): Change type of getline parameter.
      	(grub_parser): New structure.
      	(grub_parser_class): New variable.
      	(grub_parser_execute): New function declaration.
      	(grub_register_rescue_parser): Likewise.
      	(grub_parser_register): New inline function.
      	(grub_parser_unregister): Likewise.
      	(grub_parser_get_current): Likewise.
      	(grub_parser_set_current): Likewise.
      
      	* include/grub/reader.h: New file.
      	* kern/reader.c: Likewise.
      	* kern/rescue_parser.c: Likewise.
      	* kern/rescue_reader.c: Likewise.
      	* normal/autofs.c: Likewise.
      	* normal/dyncmd.c: Likewise.
      
      	* include/grub/rescue.h: Removed.
      	* normal/command.h: Likewise.
      
      	* include/grub/script.h: Moved to ...
      	* include/grub/script_sh.h: ... Moved here.
      	* normal/execute.c: Moved to ...
      	* script/sh/execute.c: ... Moved here.
      	* normal/function.c: Moved to ...
      	* script/sh/function.c: ... Moved here.
      	* normal/lexer.c: Moved to ...
      	* script/sh/lexer.c: ... Moved here.
      	* normal/parser.y: Moved to ...
      	* script/sh/parser.y: ... Moved here.
      	* normal/script.c: Moved to ...
      	* script/sh/script.c: ... Moved here.
      
      	* normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
      	<grub/reader.h>.
      	(grub_exit_env): Removed.
      	(fs_module_list): Moved to normal/autofs.c.
      	(grub_file_getline): Don't handle comment here.
      	(free_menu): Skip removed field entry->commands.
      	(grub_normal_menu_addentry): Removed as grub_menu_entry, removed
      	script parameter.
      	(read_config_file): Removed nested parameter, change getline function.
      	(grub_enter_normal_mode): Removed.
      	(grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
      	(read_command_list): Likewise.
      	(autoload_fs_module): Moved to normal/autofs.c.
      	(read_fs_list): Likewise.
      	(reader_nested): New variable.
      	(grub_normal_execute): Run parser.sh to switch to sh parser.
      	(grub_cmd_rescue): Removed.
      	(cmd_normal): Removed.
      	(grub_cmd_normal): Unregister itself at the beginning. Don't register
      	rescue command.
      	(grub_cmdline_run): New function.
      	(grub_normal_reader_init): Likewise.
      	(grub_normal_read_line): Likewise.
      	(grub_env_write_pager): Likewise.
      	(cmdline): New variable.
      	(grub_normal_reader): Likewise.
      	(GRUB_MOD_INIT): Register normal reader and set as current, register
      	pager hook, register normal command with grub_register_command_prio,
      	so that it won't show up in command.lst.
      	(GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
      	grub_fs_autoload_hook.
      
      	* normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
      	(grub_menu_execute_entry): Replace grub_script_execute with
      	grub_parser_execute, change parameter to grub_command_execute.
      
      	* normal/menu_text.c: Remove <grub/script.h>.
      
      	* normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
      	and <grub/parser.h>.
      	(run): Change editor_getline to use new parser interface. Change
      	parameter to grub_command_execute.
      
      	* kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
      	<grub/reader.h> and <grub/parser.h>.
      	(grub_load_normal_mode): Execute normal command.
      	(grub_main): Call grub_register_core_commands,
      	grub_register_rescue_parser and grub_register_rescue_reader, use
      	grub_reader_loop to enter input loop.
      
      	* kern/parser.c (grub_parser_spli_cmdline): Change type of getline
      	parameter.
      	(grub_parser_class): New variable.
      	(grub_parser_execute): New function.
      
      	* loader/i386/multiboot.c: Remove <grub/rescue.h>.
      	* loader/multiboot2.c: Likewise.
      	* loader/sparc64/ieee1275/linux.c: Likewise.
      
      	* util/grub-emu.c (read_command_list): New dummy function.
      d558e6b5
  12. 22 Jul, 2007 1 commit
    • okuji's avatar
      2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> · 5a79f472
      okuji authored
          Migrate to GNU General Public License Version 3.
      
          * COPYING: Replaced with the plain text version of GPLv3.
      
          * config.guess: Updated from gnulib.
          * config.sub: Likewise.
      
          * geninit.sh: Output a GPLv3 copyright notice.
          * geninitheader.sh: Likewise.
          * genmodsrc.sh: Likewise.
          * gensymlist.sh.in: Likewise.
      
          * boot/i386/pc/boot.S: Upgraded to GPLv3.
          * boot/i386/pc/diskboot.S: Likewise.
          * boot/i386/pc/pxeboot.S: Likewise.
          * commands/blocklist.c: Likewise.
          * commands/boot.c: Likewise.
          * commands/cat.c: Likewise.
          * commands/cmp.c: Likewise.
          * commands/configfile.c: Likewise.
          * commands/echo.c: Likewise.
          * commands/help.c: Likewise.
          * commands/ls.c: Likewise.
          * commands/search.c: Likewise.
          * commands/terminal.c: Likewise.
          * commands/test.c: Likewise.
          * commands/videotest.c: Likewise.
          * commands/i386/cpuid.c: Likewise.
          * commands/i386/pc/halt.c: Likewise.
          * commands/i386/pc/play.c: Likewise.
          * commands/i386/pc/reboot.c: Likewise.
          * commands/i386/pc/vbeinfo.c: Likewise.
          * commands/i386/pc/vbetest.c: Likewise.
          * commands/ieee1275/halt.c: Likewise.
          * commands/ieee1275/reboot.c: Likewise.
          * commands/ieee1275/suspend.c: Likewise.
          * disk/loopback.c: Likewise.
          * disk/lvm.c: Likewise.
          * disk/raid.c: Likewise.
          * disk/efi/efidisk.c: Likewise.
          * disk/i386/pc/biosdisk.c: Likewise.
          * disk/ieee1275/ofdisk.c: Likewise.
          * font/manager.c: Likewise.
          * fs/affs.c: Likewise.
          * fs/ext2.c: Likewise.
          * fs/fat.c: Likewise.
          * fs/fshelp.c: Likewise.
          * fs/hfs.c: Likewise.
          * fs/hfsplus.c: Likewise.
          * fs/iso9660.c: Likewise.
          * fs/jfs.c: Likewise.
          * fs/minix.c: Likewise.
          * fs/sfs.c: Likewise.
          * fs/ufs.c: Likewise.
          * fs/xfs.c: Likewise.
          * hello/hello.c: Likewise.
          * include/grub/acorn_filecore.h: Likewise.
          * include/grub/arg.h: Likewise.
          * include/grub/bitmap.h: Likewise.
          * include/grub/boot.h: Likewise.
          * include/grub/cache.h: Likewise.
          * include/grub/device.h: Likewise.
          * include/grub/disk.h: Likewise.
          * include/grub/dl.h: Likewise.
          * include/grub/elfload.h: Likewise.
          * include/grub/env.h: Likewise.
          * include/grub/err.h: Likewise.
          * include/grub/file.h: Likewise.
          * include/grub/font.h: Likewise.
          * include/grub/fs.h: Likewise.
          * include/grub/fshelp.h: Likewise.
          * include/grub/gzio.h: Likewise.
          * include/grub/hfs.h: Likewise.
          * include/grub/kernel.h: Likewise.
          * include/grub/loader.h: Likewise.
          * include/grub/lvm.h: Likewise.
          * include/grub/misc.h: Likewise.
          * include/grub/mm.h: Likewise.
          * include/grub/net.h: Likewise.
          * include/grub/normal.h: Likewise.
          * include/grub/parser.h: Likewise.
          * include/grub/partition.h: Likewise.
          * include/grub/pc_partition.h: Likewise.
          * include/grub/raid.h: Likewise.
          * include/grub/rescue.h: Likewise.
          * include/grub/script.h: Likewise.
          * include/grub/setjmp.h: Likewise.
          * include/grub/symbol.h: Likewise.
          * include/grub/term.h: Likewise.
          * include/grub/terminfo.h: Likewise.
          * include/grub/tparm.h: Likewise.
          * include/grub/types.h: Likewise.
          * include/grub/video.h: Likewise.
          * include/grub/efi/api.h: Likewise.
          * include/grub/efi/chainloader.h: Likewise.
          * include/grub/efi/console.h: Likewise.
          * include/grub/efi/console_control.h: Likewise.
          * include/grub/efi/disk.h: Likewise.
          * include/grub/efi/efi.h: Likewise.
          * include/grub/efi/pe32.h: Likewise.
          * include/grub/efi/time.h: Likewise.
          * include/grub/i386/linux.h: Likewise.
          * include/grub/i386/setjmp.h: Likewise.
          * include/grub/i386/types.h: Likewise.
          * include/grub/i386/efi/kernel.h: Likewise.
          * include/grub/i386/efi/loader.h: Likewise.
          * include/grub/i386/efi/time.h: Likewise.
          * include/grub/i386/pc/biosdisk.h: Likewise.
          * include/grub/i386/pc/boot.h: Likewise.
          * include/grub/i386/pc/chainloader.h: Likewise.
          * include/grub/i386/pc/console.h: Likewise.
          * include/grub/i386/pc/init.h: Likewise.
          * include/grub/i386/pc/kernel.h: Likewise.
          * include/grub/i386/pc/loader.h: Likewise.
          * include/grub/i386/pc/memory.h: Likewise.
          * include/grub/i386/pc/multiboot.h: Likewise.
          * include/grub/i386/pc/serial.h: Likewise.
          * include/grub/i386/pc/time.h: Likewise.
          * include/grub/i386/pc/vbe.h: Likewise.
          * include/grub/i386/pc/vbeblit.h: Likewise.
          * include/grub/i386/pc/vbefill.h: Likewise.
          * include/grub/i386/pc/vbeutil.h: Likewise.
          * include/grub/i386/pc/vga.h: Likewise.
          * include/grub/ieee1275/ieee1275.h: Likewise.
          * include/grub/ieee1275/ofdisk.h: Likewise.
          * include/grub/powerpc/libgcc.h: Likewise.
          * include/grub/powerpc/setjmp.h: Likewise.
          * include/grub/powerpc/types.h: Likewise.
          * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
          * include/grub/powerpc/ieee1275/console.h: Likewise.
          * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
          * include/grub/powerpc/ieee1275/kernel.h: Likewise.
          * include/grub/powerpc/ieee1275/loader.h: Likewise.
          * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
          * include/grub/powerpc/ieee1275/time.h: Likewise.
          * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
          * include/grub/sparc64/libgcc.h: Likewise.
          * include/grub/sparc64/setjmp.h: Likewise.
          * include/grub/sparc64/types.h: Likewise.
          * include/grub/sparc64/ieee1275/console.h: Likewise.
          * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
          * include/grub/sparc64/ieee1275/kernel.h: Likewise.
          * include/grub/sparc64/ieee1275/time.h: Likewise.
          * include/grub/util/biosdisk.h: Likewise.
          * include/grub/util/getroot.h: Likewise.
          * include/grub/util/lvm.h: Likewise.
          * include/grub/util/misc.h: Likewise.
          * include/grub/util/raid.h: Likewise.
          * include/grub/util/resolve.h: Likewise.
          * io/gzio.c: Likewise.
          * kern/device.c: Likewise.
          * kern/disk.c: Likewise.
          * kern/dl.c: Likewise.
          * kern/elf.c: Likewise.
          * kern/env.c: Likewise.
          * kern/err.c: Likewise.
          * kern/file.c: Likewise.
          * kern/fs.c: Likewise.
          * kern/loader.c: Likewise.
          * kern/main.c: Likewise.
          * kern/misc.c: Likewise.
          * kern/mm.c: Likewise.
          * kern/parser.c: Likewise.
          * kern/partition.c: Likewise.
          * kern/rescue.c: Likewise.
          * kern/term.c: Likewise.
          * kern/efi/efi.c: Likewise.
          * kern/efi/init.c: Likewise.
          * kern/efi/mm.c: Likewise.
          * kern/i386/dl.c: Likewise.
          * kern/i386/efi/init.c: Likewise.
          * kern/i386/efi/startup.S: Likewise.
          * kern/i386/pc/init.c: Likewise.
          * kern/i386/pc/lzo1x.S: Likewise.
          * kern/i386/pc/startup.S: Likewise.
          * kern/ieee1275/ieee1275.c: Likewise.
          * kern/powerpc/cache.S: Likewise.
          * kern/powerpc/dl.c: Likewise.
          * kern/powerpc/ieee1275/cmain.c: Likewise.
          * kern/powerpc/ieee1275/crt0.S: Likewise.
          * kern/powerpc/ieee1275/init.c: Likewise.
          * kern/powerpc/ieee1275/openfw.c: Likewise.
          * kern/sparc64/cache.S: Likewise.
          * kern/sparc64/dl.c: Likewise.
          * kern/sparc64/ieee1275/init.c: Likewise.
          * kern/sparc64/ieee1275/openfw.c: Likewise.
          * loader/efi/chainloader.c: Likewise.
          * loader/efi/chainloader_normal.c: Likewise.
          * loader/i386/efi/linux.c: Likewise.
          * loader/i386/efi/linux_normal.c: Likewise.
          * loader/i386/pc/chainloader.c: Likewise.
          * loader/i386/pc/chainloader_normal.c: Likewise.
          * loader/i386/pc/linux.c: Likewise.
          * loader/i386/pc/linux_normal.c: Likewise.
          * loader/i386/pc/multiboot.c: Likewise.
          * loader/i386/pc/multiboot_normal.c: Likewise.
          * loader/powerpc/ieee1275/linux.c: Likewise.
          * loader/powerpc/ieee1275/linux_normal.c: Likewise.
          * normal/arg.c: Likewise.
          * normal/cmdline.c: Likewise.
          * normal/command.c: Likewise.
          * normal/completion.c: Likewise.
          * normal/execute.c: Likewise.
          * normal/function.c: Likewise.
          * normal/lexer.c: Likewise.
          * normal/main.c: Likewise.
          * normal/menu.c: Likewise.
          * normal/menu_entry.c: Likewise.
          * normal/misc.c: Likewise.
          * normal/parser.y: Likewise.
          * normal/script.c: Likewise.
          * normal/i386/setjmp.S: Likewise.
          * normal/powerpc/setjmp.S: Likewise.
          * normal/sparc64/setjmp.S: Likewise.
          * partmap/acorn.c: Likewise.
          * partmap/amiga.c: Likewise.
          * partmap/apple.c: Likewise.
          * partmap/gpt.c: Likewise.
          * partmap/pc.c: Likewise.
          * partmap/sun.c: Likewise.
          * term/gfxterm.c: Likewise.
          * term/terminfo.c: Likewise.
          * term/efi/console.c: Likewise.
          * term/i386/pc/console.c: Likewise.
          * term/i386/pc/serial.c: Likewise.
          * term/i386/pc/vesafb.c: Likewise.
          * term/i386/pc/vga.c: Likewise.
          * term/ieee1275/ofconsole.c: Likewise.
          * util/biosdisk.c: Likewise.
          * util/console.c: Likewise.
          * util/genmoddep.c: Likewise.
          * util/getroot.c: Likewise.
          * util/grub-emu.c: Likewise.
          * util/grub-mkdevicemap.c: Likewise.
          * util/grub-probe.c: Likewise.
          * util/lvm.c: Likewise.
          * util/misc.c: Likewise.
          * util/raid.c: Likewise.
          * util/resolve.c: Likewise.
          * util/update-grub.in: Likewise.
          * util/update-grub_lib.in: Likewise.
          * util/grub.d/00_header.in: Likewise.
          * util/grub.d/10_hurd.in: Likewise.
          * util/grub.d/10_linux.in: Likewise.
          * util/i386/efi/grub-install.in: Likewise.
          * util/i386/efi/grub-mkimage.c: Likewise.
          * util/i386/pc/grub-install.in: Likewise.
          * util/i386/pc/grub-mkimage.c: Likewise.
          * util/i386/pc/grub-mkrescue.in: Likewise.
          * util/i386/pc/grub-setup.c: Likewise.
          * util/i386/pc/misc.c: Likewise.
          * util/powerpc/ieee1275/grub-install.in: Likewise.
          * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
          * util/powerpc/ieee1275/misc.c: Likewise.
          * video/bitmap.c: Likewise.
          * video/video.c: Likewise.
          * video/i386/pc/vbe.c: Likewise.
          * video/i386/pc/vbeblit.c: Likewise.
          * video/i386/pc/vbefill.c: Likewise.
          * video/i386/pc/vbeutil.c: Likewise.
          * video/readers/tga.c: Likewise.
      5a79f472
  13. 07 Nov, 2005 1 commit
    • marco_g's avatar
      2005-11-06 Marco Gerards <mgerards@xs4all.nl> · daac212a
      marco_g authored
      	Add initial scripting support.
      
      	* commands/test.c: New file.
      	* include/grub/script.h: Likewise.
      	* normal/execute.c: Likewise.
      	* normal/function.c: Likewise.
      	* normal/lexer.c: Likewise.
      	* normal/parser.y: Likewise.
      	* normal/script.c: Likewise.
      
      	* configure.ac: Add `AC_PROG_YACC' test.
      
      	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
      	`normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
      	`normal/function.c' and `normal/script.c'.
      	(normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
      	`grub_script.tab.c', `normal/function.c' and `normal/script.c'.
      	(test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New variables.
      	(pkgdata_MODULES): Add `test.mod'.
      	(grub_script.tab.c): New rule.
      	(grub_script.tab.h): Likewise.
      
      	* include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
      
      	* include/grub/normal.h (grub_test_init): New prototype.
      	(grub_test_fini): Likewise.
      
      	* normal/command.c: Include <grub/script.h>.
      	(grub_command_execute): Rewritten.
      
      	* util/grub-emu.c (main): Call `grub_test_init' and
      	`grub_test_fini'.
      daac212a