[coreboot] #92: Add --version option
Bernhard Walle
bernhard.walle at gmx.de
Sun Jan 20 15:45:09 CET 2008
* coreboot <svn at openbios.org> [2008-01-20 12:20]:
> #92: Add --version option
> ---------------------------------+------------------------------------------
> Reporter: uwe | Owner: somebody
> Type: defect | Status: new
> Priority: major | Milestone: Enhance the flashrom utility
> Component: flashrom | Version:
> Keywords: | Dependencies:
> Patchstatus: there is no patch |
> ---------------------------------+------------------------------------------
> Flashrom should have a --version option too, similar to superiotool (based
> on svn revision).
Good idea, what about this one:
-----
This patch adds version information to flashrom. Because 'v' and 'V'
are already in use, the patch uses 'R' (for release) and, of course,
'--version'.
Signed-off-by: Bernhard Walle <bwalle at suse.de>
Index: Makefile
===================================================================
--- Makefile (Revision 3064)
+++ Makefile (Arbeitskopie)
@@ -28,6 +28,12 @@
all: pciutils dep $(PROGRAM)
+# Set the superiotool version string from the highest revision number
+# of the checked out superiotool files.
+SVNDEF := -D'FLASHROM_VERSION="$(shell svnversion -cn . \
+ | sed -e "s/.*://" -e "s/\([0-9]*\).*/\1/")"'
+CFLAGS += $(SVNDEF)
+
$(PROGRAM): $(OBJS)
$(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS)
$(STRIP) $(STRIP_ARGS) $(PROGRAM)
Index: flashrom.c
===================================================================
--- flashrom.c (Revision 3064)
+++ flashrom.c (Arbeitskopie)
@@ -206,11 +206,17 @@
" -f | --force: force write without checking image\n"
" -l | --layout <file.layout>: read rom layout from file\n"
" -i | --image <name>: only flash image name from flash layout\n"
+ " -R | --version: print the version (release)\n"
"\n" " If no file is specified, then all that happens"
" is that flash info is dumped.\n\n");
exit(1);
}
+void print_version(void)
+{
+ printf("flashrom r%s\n", FLASHROM_VERSION);
+}
+
int main(int argc, char *argv[])
{
uint8_t *buf;
@@ -236,6 +242,7 @@
{"layout", 1, 0, 'l'},
{"image", 1, 0, 'i'},
{"help", 0, 0, 'h'},
+ {"version", 0, 0, 'R'},
{0, 0, 0, 0}
};
@@ -253,7 +260,7 @@
}
setbuf(stdout, NULL);
- while ((opt = getopt_long(argc, argv, "rwvVEfc:s:e:m:l:i:h",
+ while ((opt = getopt_long(argc, argv, "rRwvVEfc:s:e:m:l:i:h",
long_options, &option_index)) != EOF) {
switch (opt) {
case 'r':
@@ -306,6 +313,9 @@
tempstr = strdup(optarg);
find_romentry(tempstr);
break;
+ case 'R':
+ print_version();
+ exit(0);
case 'h':
default:
usage(argv[0]);
More information about the coreboot
mailing list