diff --git a/cpupower-2.6.39.tar.bz2 b/cpupower-2.6.39.tar.bz2 deleted file mode 100644 index 3e3f0d1..0000000 --- a/cpupower-2.6.39.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8afb2547a03de078d68d27aa819d1d394fde2929ec031345fa813a0d4abfa249 -size 65620 diff --git a/cpupower-3.2.rc5.tar.bz2 b/cpupower-3.2.rc5.tar.bz2 new file mode 100644 index 0000000..207940b --- /dev/null +++ b/cpupower-3.2.rc5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74b69fc030e79caf654cb5c2a351e0d10479fbbe0b4c29a012e10c6a116a8648 +size 67066 diff --git a/cpupower-use-manpage-on-help-command.patch b/cpupower-use-manpage-on-help-command.patch deleted file mode 100644 index 22b1773..0000000 --- a/cpupower-use-manpage-on-help-command.patch +++ /dev/null @@ -1,657 +0,0 @@ -From: Dominik Brodowski -Subject: cpupower: use man(1) when calling "cpupower help subcommand" -References: fate#310630 -Patch-Mainline: 498ca793d90aef8ad38a852a969c257f62832738 undefined -Git-commit: 498ca793d90aef8ad38a852a969c257f62832738 - - -Signed-off-by: Thomas Renninger - -Instead of printing something non-formatted to stdout, call -man(1) to show the man page for the proper subcommand. - -Signed-off-by: Dominik Brodowski - -diff --git a/man/cpupower-frequency-info.1 b/man/cpupower-frequency-info.1 -index 3194811..bb60a8d 100644 ---- a/man/cpupower-frequency-info.1 -+++ b/man/cpupower-frequency-info.1 -@@ -1,10 +1,10 @@ --.TH "cpufreq-info" "1" "0.1" "Mattia Dongili" "" -+.TH "cpupower-frequency-info" "1" "0.1" "Mattia Dongili" "" - .SH "NAME" - .LP --cpufreq\-info \- Utility to retrieve cpufreq kernel information -+cpupower frequency\-info \- Utility to retrieve cpufreq kernel information - .SH "SYNTAX" - .LP --cpufreq\-info [\fIoptions\fP] -+cpupower [ \-c cpulist ] frequency\-info [\fIoptions\fP] - .SH "DESCRIPTION" - .LP - A small tool which prints out cpufreq information helpful to developers and interested users. -diff --git a/man/cpupower-frequency-set.1 b/man/cpupower-frequency-set.1 -index 26e3e13..685f469 100644 ---- a/man/cpupower-frequency-set.1 -+++ b/man/cpupower-frequency-set.1 -@@ -1,13 +1,13 @@ --.TH "cpufreq-set" "1" "0.1" "Mattia Dongili" "" -+.TH "cpupower-freqency-set" "1" "0.1" "Mattia Dongili" "" - .SH "NAME" - .LP --cpufreq\-set \- A small tool which allows to modify cpufreq settings. -+cpupower frequency\-set \- A small tool which allows to modify cpufreq settings. - .SH "SYNTAX" - .LP --cpufreq\-set [\fIoptions\fP] -+cpupower [ \-c cpu ] frequency\-set [\fIoptions\fP] - .SH "DESCRIPTION" - .LP --cpufreq\-set allows you to modify cpufreq settings without having to type e.g. "/sys/devices/system/cpu/cpu0/cpufreq/scaling_set_speed" all the time. -+cpupower frequency\-set allows you to modify cpufreq settings without having to type e.g. "/sys/devices/system/cpu/cpu0/cpufreq/scaling_set_speed" all the time. - .SH "OPTIONS" - .LP - .TP -diff --git a/man/cpupower.1 b/man/cpupower.1 -index 78c20fe..baf741d 100644 ---- a/man/cpupower.1 -+++ b/man/cpupower.1 -@@ -3,7 +3,7 @@ - cpupower \- Shows and sets processor power related values - .SH SYNOPSIS - .ft B --.B cpupower [ \-c cpulist ] subcommand [ARGS] -+.B cpupower [ \-c cpulist ] [ARGS] - - .B cpupower \-v|\-\-version - -@@ -13,24 +13,24 @@ cpupower \- Shows and sets processor power related values - \fBcpupower \fP is a collection of tools to examine and tune power saving - related features of your processor. - --The manpages of the subcommands (cpupower\-(1)) provide detailed -+The manpages of the commands (cpupower\-(1)) provide detailed - descriptions of supported features. Run \fBcpupower help\fP to get an overview --of supported subcommands. -+of supported commands. - - .SH Options - .PP - \-\-help, \-h - .RS 4 --Shows supported subcommands and general usage. -+Shows supported commands and general usage. - .RE - .PP - \-\-cpu cpulist, \-c cpulist - .RS 4 - Only show or set values for specific cores. --This option is not supported by all subcommands, details can be found in the --manpages of the subcommands. -+This option is not supported by all commands, details can be found in the -+manpages of the commands. - --Some subcommands access all cores (typically the *\-set commands), some only -+Some commands access all cores (typically the *\-set commands), some only - the first core (typically the *\-info commands) by default. - - The syntax for is based on how the kernel exports CPU bitmasks via -diff --git a/utils/builtin.h b/utils/builtin.h -index c870ffb..c10496f 100644 ---- a/utils/builtin.h -+++ b/utils/builtin.h -@@ -8,11 +8,4 @@ extern int cmd_freq_info(int argc, const char **argv); - extern int cmd_idle_info(int argc, const char **argv); - extern int cmd_monitor(int argc, const char **argv); - --extern void set_help(void); --extern void info_help(void); --extern void freq_set_help(void); --extern void freq_info_help(void); --extern void idle_info_help(void); --extern void monitor_help(void); -- - #endif -diff --git a/utils/cpufreq-info.c b/utils/cpufreq-info.c -index 5a1d25f..28953c9 100644 ---- a/utils/cpufreq-info.c -+++ b/utils/cpufreq-info.c -@@ -510,37 +510,6 @@ static int get_latency(unsigned int cpu, unsigned int human) - return 0; - } - --void freq_info_help(void) --{ -- printf(_("Usage: cpupower freqinfo [options]\n")); -- printf(_("Options:\n")); -- printf(_(" -e, --debug Prints out debug information [default]\n")); -- printf(_(" -f, --freq Get frequency the CPU currently runs at, according\n" -- " to the cpufreq core *\n")); -- printf(_(" -w, --hwfreq Get frequency the CPU currently runs at, by reading\n" -- " it from hardware (only available to root) *\n")); -- printf(_(" -l, --hwlimits Determine the minimum and maximum CPU frequency allowed *\n")); -- printf(_(" -d, --driver Determines the used cpufreq kernel driver *\n")); -- printf(_(" -p, --policy Gets the currently used cpufreq policy *\n")); -- printf(_(" -g, --governors Determines available cpufreq governors *\n")); -- printf(_(" -r, --related-cpus Determines which CPUs run at the same hardware frequency *\n")); -- printf(_(" -a, --affected-cpus Determines which CPUs need to have their frequency\n" -- " coordinated by software *\n")); -- printf(_(" -s, --stats Shows cpufreq statistics if available\n")); -- printf(_(" -y, --latency Determines the maximum latency on CPU frequency changes *\n")); -- printf(_(" -b, --boost Checks for turbo or boost modes *\n")); -- printf(_(" -o, --proc Prints out information like provided by the /proc/cpufreq\n" -- " interface in 2.4. and early 2.6. kernels\n")); -- printf(_(" -m, --human human-readable output for the -f, -w, -s and -y parameters\n")); -- printf(_(" -h, --help Prints out this screen\n")); -- -- printf("\n"); -- printf(_("If no argument is given, full output about\n" -- "cpufreq is printed which is useful e.g. for reporting bugs.\n\n")); -- printf(_("By default info of CPU 0 is shown which can be overridden\n" -- "with the cpupower --cpu main command option.\n")); --} -- - static struct option info_opts[] = { - { .name = "debug", .has_arg = no_argument, .flag = NULL, .val = 'e'}, - { .name = "boost", .has_arg = no_argument, .flag = NULL, .val = 'b'}, -@@ -556,7 +525,6 @@ static struct option info_opts[] = { - { .name = "latency", .has_arg = no_argument, .flag = NULL, .val = 'y'}, - { .name = "proc", .has_arg = no_argument, .flag = NULL, .val = 'o'}, - { .name = "human", .has_arg = no_argument, .flag = NULL, .val = 'm'}, -- { .name = "help", .has_arg = no_argument, .flag = NULL, .val = 'h'}, - { }, - }; - -@@ -570,16 +538,12 @@ int cmd_freq_info(int argc, char **argv) - int output_param = 0; - - do { -- ret = getopt_long(argc, argv, "hoefwldpgrasmyb", info_opts, NULL); -+ ret = getopt_long(argc, argv, "oefwldpgrasmyb", info_opts, NULL); - switch (ret) { - case '?': - output_param = '?'; - cont = 0; - break; -- case 'h': -- output_param = 'h'; -- cont = 0; -- break; - case -1: - cont = 0; - break; -@@ -642,11 +606,7 @@ int cmd_freq_info(int argc, char **argv) - return -EINVAL; - case '?': - printf(_("invalid or unknown argument\n")); -- freq_info_help(); - return -EINVAL; -- case 'h': -- freq_info_help(); -- return EXIT_SUCCESS; - case 'o': - proc_cpufreq_output(); - return EXIT_SUCCESS; -diff --git a/utils/cpufreq-set.c b/utils/cpufreq-set.c -index 5f78362..dd1539e 100644 ---- a/utils/cpufreq-set.c -+++ b/utils/cpufreq-set.c -@@ -20,34 +20,11 @@ - - #define NORM_FREQ_LEN 32 - --void freq_set_help(void) --{ -- printf(_("Usage: cpupower frequency-set [options]\n")); -- printf(_("Options:\n")); -- printf(_(" -d FREQ, --min FREQ new minimum CPU frequency the governor may select\n")); -- printf(_(" -u FREQ, --max FREQ new maximum CPU frequency the governor may select\n")); -- printf(_(" -g GOV, --governor GOV new cpufreq governor\n")); -- printf(_(" -f FREQ, --freq FREQ specific frequency to be set. Requires userspace\n" -- " governor to be available and loaded\n")); -- printf(_(" -r, --related Switches all hardware-related CPUs\n")); -- printf(_(" -h, --help Prints out this screen\n")); -- printf("\n"); -- printf(_("Notes:\n" -- "1. Omitting the -c or --cpu argument is equivalent to setting it to \"all\"\n")); -- printf(_("2. The -f FREQ, --freq FREQ parameter cannot be combined with any other parameter\n" -- " except the -c CPU, --cpu CPU parameter\n" -- "3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz\n" -- " by postfixing the value with the wanted unit name, without any space\n" -- " (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n")); -- --} -- - static struct option set_opts[] = { - { .name = "min", .has_arg = required_argument, .flag = NULL, .val = 'd'}, - { .name = "max", .has_arg = required_argument, .flag = NULL, .val = 'u'}, - { .name = "governor", .has_arg = required_argument, .flag = NULL, .val = 'g'}, - { .name = "freq", .has_arg = required_argument, .flag = NULL, .val = 'f'}, -- { .name = "help", .has_arg = no_argument, .flag = NULL, .val = 'h'}, - { .name = "related", .has_arg = no_argument, .flag = NULL, .val='r'}, - { }, - }; -@@ -80,7 +57,6 @@ const struct freq_units def_units[] = { - static void print_unknown_arg(void) - { - printf(_("invalid or unknown argument\n")); -- freq_set_help(); - } - - static unsigned long string_to_frequency(const char *str) -@@ -231,14 +207,11 @@ int cmd_freq_set(int argc, char **argv) - - /* parameter parsing */ - do { -- ret = getopt_long(argc, argv, "d:u:g:f:hr", set_opts, NULL); -+ ret = getopt_long(argc, argv, "d:u:g:f:r", set_opts, NULL); - switch (ret) { - case '?': - print_unknown_arg(); - return -EINVAL; -- case 'h': -- freq_set_help(); -- return 0; - case -1: - cont = 0; - break; -diff --git a/utils/cpuidle-info.c b/utils/cpuidle-info.c -index 70da357..b028267 100644 ---- a/utils/cpuidle-info.c -+++ b/utils/cpuidle-info.c -@@ -139,30 +139,14 @@ static void proc_cpuidle_cpu_output(unsigned int cpu) - } - } - --/* --freq / -f */ -- --void idle_info_help(void) --{ -- printf(_ ("Usage: cpupower idleinfo [options]\n")); -- printf(_ ("Options:\n")); -- printf(_ (" -s, --silent Only show general C-state information\n")); -- printf(_ (" -o, --proc Prints out information like provided by the /proc/acpi/processor/*/power\n" -- " interface in older kernels\n")); -- printf(_ (" -h, --help Prints out this screen\n")); -- -- printf("\n"); --} -- - static struct option info_opts[] = { - { .name = "silent", .has_arg = no_argument, .flag = NULL, .val = 's'}, - { .name = "proc", .has_arg = no_argument, .flag = NULL, .val = 'o'}, -- { .name = "help", .has_arg = no_argument, .flag = NULL, .val = 'h'}, - { }, - }; - - static inline void cpuidle_exit(int fail) - { -- idle_info_help(); - exit(EXIT_FAILURE); - } - -@@ -174,7 +158,7 @@ int cmd_idle_info(int argc, char **argv) - unsigned int cpu = 0; - - do { -- ret = getopt_long(argc, argv, "hos", info_opts, NULL); -+ ret = getopt_long(argc, argv, "os", info_opts, NULL); - if (ret == -1) - break; - switch (ret) { -@@ -182,10 +166,6 @@ int cmd_idle_info(int argc, char **argv) - output_param = '?'; - cont = 0; - break; -- case 'h': -- output_param = 'h'; -- cont = 0; -- break; - case 's': - verbose = 0; - break; -@@ -211,8 +191,6 @@ int cmd_idle_info(int argc, char **argv) - case '?': - printf(_("invalid or unknown argument\n")); - cpuidle_exit(EXIT_FAILURE); -- case 'h': -- cpuidle_exit(EXIT_SUCCESS); - } - - /* Default is: show output of CPU 0 only */ -diff --git a/utils/cpupower-info.c b/utils/cpupower-info.c -index 85253cb..3f68632 100644 ---- a/utils/cpupower-info.c -+++ b/utils/cpupower-info.c -@@ -16,31 +16,16 @@ - #include "helpers/helpers.h" - #include "helpers/sysfs.h" - --void info_help(void) --{ -- printf(_("Usage: cpupower info [ -b ] [ -m ] [ -s ]\n")); -- printf(_("Options:\n")); -- printf(_(" -b, --perf-bias Gets CPU's power vs performance policy on some\n" -- " Intel models [0-15], see manpage for details\n")); -- printf(_(" -m, --sched-mc Gets the kernel's multi core scheduler policy.\n")); -- printf(_(" -s, --sched-smt Gets the kernel's thread sibling scheduler policy.\n")); -- printf(_(" -h, --help Prints out this screen\n")); -- printf(_("\nPassing no option will show all info, by default only on core 0\n")); -- printf("\n"); --} -- - static struct option set_opts[] = { - { .name = "perf-bias", .has_arg = optional_argument, .flag = NULL, .val = 'b'}, - { .name = "sched-mc", .has_arg = optional_argument, .flag = NULL, .val = 'm'}, - { .name = "sched-smt", .has_arg = optional_argument, .flag = NULL, .val = 's'}, -- { .name = "help", .has_arg = no_argument, .flag = NULL, .val = 'h'}, - { }, - }; - - static void print_wrong_arg_exit(void) - { - printf(_("invalid or unknown argument\n")); -- info_help(); - exit(EXIT_FAILURE); - } - -@@ -64,11 +49,8 @@ int cmd_info(int argc, char **argv) - textdomain(PACKAGE); - - /* parameter parsing */ -- while ((ret = getopt_long(argc, argv, "msbh", set_opts, NULL)) != -1) { -+ while ((ret = getopt_long(argc, argv, "msb", set_opts, NULL)) != -1) { - switch (ret) { -- case 'h': -- info_help(); -- return 0; - case 'b': - if (params.perf_bias) - print_wrong_arg_exit(); -diff --git a/utils/cpupower-set.c b/utils/cpupower-set.c -index bc1b391..dc4de37 100644 ---- a/utils/cpupower-set.c -+++ b/utils/cpupower-set.c -@@ -17,30 +17,16 @@ - #include "helpers/sysfs.h" - #include "helpers/bitmask.h" - --void set_help(void) --{ -- printf(_("Usage: cpupower set [ -b val ] [ -m val ] [ -s val ]\n")); -- printf(_("Options:\n")); -- printf(_(" -b, --perf-bias [VAL] Sets CPU's power vs performance policy on some\n" -- " Intel models [0-15], see manpage for details\n")); -- printf(_(" -m, --sched-mc [VAL] Sets the kernel's multi core scheduler policy.\n")); -- printf(_(" -s, --sched-smt [VAL] Sets the kernel's thread sibling scheduler policy.\n")); -- printf(_(" -h, --help Prints out this screen\n")); -- printf("\n"); --} -- - static struct option set_opts[] = { - { .name = "perf-bias", .has_arg = optional_argument, .flag = NULL, .val = 'b'}, - { .name = "sched-mc", .has_arg = optional_argument, .flag = NULL, .val = 'm'}, - { .name = "sched-smt", .has_arg = optional_argument, .flag = NULL, .val = 's'}, -- { .name = "help", .has_arg = no_argument, .flag = NULL, .val = 'h'}, - { }, - }; - - static void print_wrong_arg_exit(void) - { - printf(_("invalid or unknown argument\n")); -- set_help(); - exit(EXIT_FAILURE); - } - -@@ -66,12 +52,9 @@ int cmd_set(int argc, char **argv) - - params.params = 0; - /* parameter parsing */ -- while ((ret = getopt_long(argc, argv, "m:s:b:h", -+ while ((ret = getopt_long(argc, argv, "m:s:b:", - set_opts, NULL)) != -1) { - switch (ret) { -- case 'h': -- set_help(); -- return 0; - case 'b': - if (params.perf_bias) - print_wrong_arg_exit(); -@@ -110,10 +93,8 @@ int cmd_set(int argc, char **argv) - } - }; - -- if (!params.params) { -- set_help(); -- return -EINVAL; -- } -+ if (!params.params) -+ print_wrong_arg_exit(); - - if (params.sched_mc) { - ret = sysfs_set_sched("mc", sched_mc); -diff --git a/utils/cpupower.c b/utils/cpupower.c -index 5844ae0..52bee59 100644 ---- a/utils/cpupower.c -+++ b/utils/cpupower.c -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - #include "builtin.h" - #include "helpers/helpers.h" -@@ -19,13 +20,12 @@ - struct cmd_struct { - const char *cmd; - int (*main)(int, const char **); -- void (*usage)(void); - int needs_root; - }; - - #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) - --int cmd_help(int argc, const char **argv); -+static int cmd_help(int argc, const char **argv); - - /* Global cpu_info object available for all binaries - * Info only retrieved from CPU 0 -@@ -44,55 +44,66 @@ int be_verbose; - static void print_help(void); - - static struct cmd_struct commands[] = { -- { "frequency-info", cmd_freq_info, freq_info_help, 0 }, -- { "frequency-set", cmd_freq_set, freq_set_help, 1 }, -- { "idle-info", cmd_idle_info, idle_info_help, 0 }, -- { "set", cmd_set, set_help, 1 }, -- { "info", cmd_info, info_help, 0 }, -- { "monitor", cmd_monitor, monitor_help, 0 }, -- { "help", cmd_help, print_help, 0 }, -- /* { "bench", cmd_bench, NULL, 1 }, */ -+ { "frequency-info", cmd_freq_info, 0 }, -+ { "frequency-set", cmd_freq_set, 1 }, -+ { "idle-info", cmd_idle_info, 0 }, -+ { "set", cmd_set, 1 }, -+ { "info", cmd_info, 0 }, -+ { "monitor", cmd_monitor, 0 }, -+ { "help", cmd_help, 0 }, -+ /* { "bench", cmd_bench, 1 }, */ - }; - --int cmd_help(int argc, const char **argv) --{ -- unsigned int i; -- -- if (argc > 1) { -- for (i = 0; i < ARRAY_SIZE(commands); i++) { -- struct cmd_struct *p = commands + i; -- if (strcmp(p->cmd, argv[1])) -- continue; -- if (p->usage) { -- p->usage(); -- return EXIT_SUCCESS; -- } -- } -- } -- print_help(); -- if (argc == 1) -- return EXIT_SUCCESS; /* cpupower help */ -- return EXIT_FAILURE; --} -- - static void print_help(void) - { - unsigned int i; - - #ifdef DEBUG -- printf(_("cpupower [ -d ][ -c cpulist ] subcommand [ARGS]\n")); -- printf(_(" -d, --debug May increase output (stderr) on some subcommands\n")); -+ printf(_("Usage:\tcpupower [-d|--debug] [-c|--cpu cpulist ] []\n")); - #else -- printf(_("cpupower [ -c cpulist ] subcommand [ARGS]\n")); -+ printf(_("Usage:\tcpupower [-c|--cpu cpulist ] []\n")); - #endif -- printf(_("cpupower --version\n")); -- printf(_("Supported subcommands are:\n")); -+ printf(_("Supported commands are:\n")); - for (i = 0; i < ARRAY_SIZE(commands); i++) - printf("\t%s\n", commands[i].cmd); -- printf(_("\nSome subcommands can make use of the -c cpulist option.\n")); -- printf(_("Look at the general cpupower manpage how to use it\n")); -- printf(_("and read up the subcommand's manpage whether it is supported.\n")); -- printf(_("\nUse cpupower help subcommand for getting help for above subcommands.\n")); -+ printf(_("\nNot all commands can make use of the -c cpulist option.\n")); -+ printf(_("\nUse 'cpupower help ' for getting help for above commands.\n")); -+} -+ -+static int print_man_page(const char *subpage) -+{ -+ int len; -+ char *page; -+ -+ len = 10; /* enough for "cpupower-" */ -+ if (subpage != NULL) -+ len += strlen(subpage); -+ -+ page = malloc(len); -+ if (!page) -+ return -ENOMEM; -+ -+ sprintf(page, "cpupower"); -+ if ((subpage != NULL) && strcmp(subpage, "help")) { -+ strcat(page, "-"); -+ strcat(page, subpage); -+ } -+ -+ execlp("man", "man", page, NULL); -+ -+ /* should not be reached */ -+ return -EINVAL; -+} -+ -+static int cmd_help(int argc, const char **argv) -+{ -+ if (argc > 1) { -+ print_man_page(argv[1]); /* exits within execlp() */ -+ return EXIT_FAILURE; -+ } -+ -+ print_help(); -+ return EXIT_SUCCESS; - } - - static void print_version(void) -diff --git a/utils/idle_monitor/cpupower-monitor.c b/utils/idle_monitor/cpupower-monitor.c -index 6cb8d9e..0d6571e 100644 ---- a/utils/idle_monitor/cpupower-monitor.c -+++ b/utils/idle_monitor/cpupower-monitor.c -@@ -43,6 +43,12 @@ static struct cpupower_topology cpu_top; - /* ToDo: Document this in the manpage */ - static char range_abbr[RANGE_MAX] = { 'T', 'C', 'P', 'M', }; - -+static void print_wrong_arg_exit(void) -+{ -+ printf(_("invalid or unknown argument\n")); -+ exit(EXIT_FAILURE); -+} -+ - long long timespec_diff_us(struct timespec start, struct timespec end) - { - struct timespec temp; -@@ -56,21 +62,6 @@ long long timespec_diff_us(struct timespec start, struct timespec end) - return (temp.tv_sec * 1000000) + (temp.tv_nsec / 1000); - } - --void monitor_help(void) --{ -- printf(_("cpupower monitor: [-m ,[],.. ] command\n")); -- printf(_("cpupower monitor: [-m ,[],.. ] [ -i interval_sec ]\n")); -- printf(_("cpupower monitor: -l\n")); -- printf(_("\t command: pass an arbitrary command to measure specific workload\n")); -- printf(_("\t -i: time intervall to measure for in seconds (default 1)\n")); -- printf(_("\t -l: list available CPU sleep monitors (for use with -m)\n")); -- printf(_("\t -m: show specific CPU sleep monitors only (in same order)\n")); -- printf(_("\t -h: print this help\n")); -- printf("\n"); -- printf(_("only one of: -l, -m are allowed\nIf none of them is passed,")); -- printf(_(" all supported monitors are shown\n")); --} -- - void print_n_spaces(int n) - { - int x; -@@ -246,7 +237,6 @@ static void parse_monitor_param(char *param) - if (hits == 0) { - printf(_("No matching monitor found in %s, " - "try -l option\n"), param); -- monitor_help(); - exit(EXIT_FAILURE); - } - /* Override detected/registerd monitors array with requested one */ -@@ -343,37 +333,27 @@ static void cmdline(int argc, char *argv[]) - int opt; - progname = basename(argv[0]); - -- while ((opt = getopt(argc, argv, "+hli:m:")) != -1) { -+ while ((opt = getopt(argc, argv, "+li:m:")) != -1) { - switch (opt) { -- case 'h': -- monitor_help(); -- exit(EXIT_SUCCESS); - case 'l': -- if (mode) { -- monitor_help(); -- exit(EXIT_FAILURE); -- } -+ if (mode) -+ print_wrong_arg_exit(); - mode = list; - break; - case 'i': - /* only allow -i with -m or no option */ -- if (mode && mode != show) { -- monitor_help(); -- exit(EXIT_FAILURE); -- } -+ if (mode && mode != show) -+ print_wrong_arg_exit(); - interval = atoi(optarg); - break; - case 'm': -- if (mode) { -- monitor_help(); -- exit(EXIT_FAILURE); -- } -+ if (mode) -+ print_wrong_arg_exit(); - mode = show; - show_monitors_param = optarg; - break; - default: -- monitor_help(); -- exit(EXIT_FAILURE); -+ print_wrong_arg_exit(); - } - } - if (!mode) diff --git a/cpupower.changes b/cpupower.changes index 8e6b68b..169528e 100644 --- a/cpupower.changes +++ b/cpupower.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Dec 15 10:58:25 UTC 2011 - trenn@suse.de + +- Update to 3.2-rc5 version (not much changed, includes the + use-manpage-on-help patch -> removed it) +- Change licence from GPL-2.0+ to GPL-2.0 to fit the kernel + licence where sources are coming from +- Provide a tiny script to quickly export and tar sources from + the git repo + ------------------------------------------------------------------- Thu Dec 15 10:38:07 UTC 2011 - coolo@suse.com diff --git a/cpupower.spec b/cpupower.spec index cf334b0..a50911f 100644 --- a/cpupower.spec +++ b/cpupower.spec @@ -16,23 +16,24 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + + Name: cpupower Url: http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html # Use this as version when things are in mainline kernel %define version %(rpm -q --qf '%{VERSION}' kernel-source) -Version: 2.6.39 +Version: 3.2.rc5 Release: 0 Summary: Tools to determine and set CPU Power related Settings -License: GPL-2.0+ +License: GPL-2.0 Group: System/Base Source: %{name}-%{version}.tar.bz2 -Patch0: cpupower-use-manpage-on-help-command.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gettext-tools BuildRequires: pciutils BuildRequires: pciutils-devel -Obsoletes: cpufrequtils -Provides: cpufrequtils +Obsoletes: cpufrequtils < %version +Provides: cpufrequtils = %version %description This tool is to make access to the Linux kernel's processor power subsystems @@ -58,8 +59,8 @@ Include files and C-libraries for C/C++ development %package bench Summary: CPU frequency micro benchmark Group: System/Benchmark -Obsoletes: cpufrequtils-bench -Provides: cpufrequtils-bench +Obsoletes: cpufrequtils-bench < %version +Provides: cpufrequtils-bench = %version %description bench Helps to test the condition of a given kernel cpufreq @@ -70,7 +71,6 @@ powersave module. %prep %setup -q -%patch0 -p1 %build # This package failed when testing with -Wl,-as-needed being default. diff --git a/cpupower_export_tarball_from_git.sh b/cpupower_export_tarball_from_git.sh new file mode 100644 index 0000000..df1e71e --- /dev/null +++ b/cpupower_export_tarball_from_git.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# Author: Thomas Renninger +# This code is covered and distributed under +# the General Public Licence v2 + +function usage(){ + echo "$(basename $0) [ git_tag ]" + echo + echo "git_tag must be a valid kernel git tag, for example v3.1" + echo " if git_tag is not passed HEAD will be used which" + echo " may produce a package incompatible tarball name" + echo " BEST ALWAYS PASS AN EXISTING TAG" + echo " cpupower got introduced in 3.1-rc1" + echo + echo "export GIT_DIR= environment variable if the git repo is not the current directory" + echo "For example: GIT_DIR=/path_to_git_repo/.git" +} + +if [ $# -eq 1 ];then + if [ "$1" = "-h" ] || [ "$1" == "--help" ];then + usage + exit 0 + fi + GIT_TAG="$1" + echo "Exporting cpupower from kernel version $GIT_TAG" + # convert - to . as package versions do not allow - + VERSION="${GIT_TAG/-/.}" + # remove leading v + VERSION="-${VERSION#v}" +else + GIT_TAG="HEAD" + VERSION="" +fi + +# Tried to do this with one git archive command, but +# --remote= param seem not to be configured for kernel.org gits + +# set -x +DIR=`mktemp -d` +pushd "$DIR" +git archive --format=tar $GIT_TAG tools/power/cpupower |tar -x +mv tools/power/cpupower cpupower${VERSION} +tar -cvjf cpupower${VERSION}.tar.bz2 cpupower${VERSION} +popd +mv "$DIR/cpupower${VERSION}".tar.bz2 . +rm -rf "$DIR" +# set +x +echo cpupower${VERSION}.tar.bz2 \ No newline at end of file