diff options
author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2015-08-11 18:27:16 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-16 22:40:52 +0100 |
commit | 00b7ea65463af32d610ebdff6fcdd2d7a0877666 (patch) | |
tree | a09c1ef9bee63e730ddee399697ff370cb81bc0f /meta/recipes-bsp/apmd/apmd | |
parent | 5b9f4512f6d6f07ce90754552c912c62d86ce3b0 (diff) | |
download | poky-00b7ea65463af32d610ebdff6fcdd2d7a0877666.tar.gz |
apmd: update to 3.2.2-15
This basically means replacing a "-14" Debian patch with "-15" patch.
(From OE-Core rev: cc636032617964818211ccb47a9fb6d6163af8c0)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-bsp/apmd/apmd')
-rw-r--r-- | meta/recipes-bsp/apmd/apmd/apmd.service | 7 | ||||
-rw-r--r-- | meta/recipes-bsp/apmd/apmd/apmd_proxy | 91 | ||||
-rw-r--r-- | meta/recipes-bsp/apmd/apmd/apmd_proxy.conf | 16 | ||||
-rw-r--r-- | meta/recipes-bsp/apmd/apmd/default | 8 | ||||
-rwxr-xr-x | meta/recipes-bsp/apmd/apmd/init | 51 | ||||
-rw-r--r-- | meta/recipes-bsp/apmd/apmd/legacy.patch | 133 | ||||
-rw-r--r-- | meta/recipes-bsp/apmd/apmd/libtool.patch | 33 | ||||
-rw-r--r-- | meta/recipes-bsp/apmd/apmd/unlinux.patch | 25 |
8 files changed, 364 insertions, 0 deletions
diff --git a/meta/recipes-bsp/apmd/apmd/apmd.service b/meta/recipes-bsp/apmd/apmd/apmd.service new file mode 100644 index 0000000000..ffab82334f --- /dev/null +++ b/meta/recipes-bsp/apmd/apmd/apmd.service | |||
@@ -0,0 +1,7 @@ | |||
1 | [Unit] | ||
2 | Description=Advanced Power Management daemon | ||
3 | After=remote-fs.target | ||
4 | |||
5 | [Service] | ||
6 | EnvironmentFile=-@SYSCONFDIR@/default/apmd | ||
7 | ExecStart=@SBINDIR@/apmd -P @SYSCONFDIR@/apm/apmd_proxy $APMD | ||
diff --git a/meta/recipes-bsp/apmd/apmd/apmd_proxy b/meta/recipes-bsp/apmd/apmd/apmd_proxy new file mode 100644 index 0000000000..c48ee4e5d5 --- /dev/null +++ b/meta/recipes-bsp/apmd/apmd/apmd_proxy | |||
@@ -0,0 +1,91 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # apmd_proxy - program dispatcher for APM daemon | ||
4 | # | ||
5 | # Written by Craig Markwardt (craigm@lheamail.gsfc.nasa.gov) 21 May 1999 | ||
6 | # Modified for Debian by Avery Pennarun | ||
7 | # | ||
8 | # This shell script is called by the APM daemon (apmd) when a power | ||
9 | # management event occurs. Its first and second arguments describe the | ||
10 | # event. For example, apmd will call "apmd_proxy suspend system" just | ||
11 | # before the system is suspended. | ||
12 | # | ||
13 | # Here are the possible arguments: | ||
14 | # | ||
15 | # start - APM daemon has started | ||
16 | # stop - APM daemon is shutting down | ||
17 | # suspend critical - APM system indicates critical suspend (++) | ||
18 | # suspend system - APM system has requested suspend mode | ||
19 | # suspend user - User has requested suspend mode | ||
20 | # standby system - APM system has requested standby mode | ||
21 | # standby user - User has requested standby mode | ||
22 | # resume suspend - System has resumed from suspend mode | ||
23 | # resume standby - System has resumed from standby mode | ||
24 | # resume critical - System has resumed from critical suspend | ||
25 | # change battery - APM system reported low battery | ||
26 | # change power - APM system reported AC/battery change | ||
27 | # change time - APM system reported time change (*) | ||
28 | # change capability - APM system reported config. change (+) | ||
29 | # | ||
30 | # (*) - APM daemon may be configured to not call these sequences | ||
31 | # (+) - Available if APM kernel supports it. | ||
32 | # (++) - "suspend critical" is never passed to apmd from the kernel, | ||
33 | # so we will never see it here. Scripts that process "resume | ||
34 | # critical" events need to take this into account. | ||
35 | # | ||
36 | # It is the proxy script's responsibility to examine the APM status | ||
37 | # (via /proc/apm) or other status and to take appropriate actions. | ||
38 | # For example, the script might unmount network drives before the | ||
39 | # machine is suspended. | ||
40 | # | ||
41 | # In Debian, the usual way of adding functionality to the proxy is to | ||
42 | # add a script to /etc/apm/event.d. This script will be called by | ||
43 | # apmd_proxy (via run-parts) with the same arguments. | ||
44 | # | ||
45 | # If it is important that a certain set of script be run in a certain | ||
46 | # order on suspend and in a different order on resume, then put all | ||
47 | # the scripts in /etc/apm/scripts.d instead of /etc/apm/event.d and | ||
48 | # symlink to these from /etc/apm/suspend.d, /etc/apm/resume.d and | ||
49 | # /etc/apm/other.d using names whose lexicographical order is the same | ||
50 | # as the desired order of execution. | ||
51 | # | ||
52 | # If the kernel's APM driver supports it, apmd_proxy can return a non-zero | ||
53 | # exit status on suspend and standby events, indicating that the suspend | ||
54 | # or standby event should be rejected. | ||
55 | # | ||
56 | # ******************************************************************* | ||
57 | |||
58 | set -e | ||
59 | |||
60 | # The following doesn't yet work, because current kernels (up to at least | ||
61 | # 2.4.20) do not support rejection of APM events. Supporting this would | ||
62 | # require substantial modifications to the APM driver. We will re-enable | ||
63 | # this feature if the driver is ever modified. -- cph@debian.org | ||
64 | # | ||
65 | #SUSPEND_ON_AC=false | ||
66 | #[ -r /etc/apm/apmd_proxy.conf ] && . /etc/apm/apmd_proxy.conf | ||
67 | # | ||
68 | #if [ "${SUSPEND_ON_AC}" = "false" -a "${2}" = "system" ] \ | ||
69 | # && on_ac_power >/dev/null; then | ||
70 | # # Reject system suspends and standbys if we are on AC power | ||
71 | # exit 1 # Reject (NOTE kernel support must be enabled) | ||
72 | #fi | ||
73 | |||
74 | if [ "${1}" = "suspend" -o "${1}" = "standby" ]; then | ||
75 | run-parts -a "${1}" -a "${2}" /etc/apm/event.d | ||
76 | if [ -d /etc/apm/suspend.d ]; then | ||
77 | run-parts -a "${1}" -a "${2}" /etc/apm/suspend.d | ||
78 | fi | ||
79 | elif [ "${1}" = "resume" ]; then | ||
80 | if [ -d /etc/apm/resume.d ]; then | ||
81 | run-parts -a "${1}" -a "${2}" /etc/apm/resume.d | ||
82 | fi | ||
83 | run-parts -a "${1}" -a "${2}" /etc/apm/event.d | ||
84 | else | ||
85 | run-parts -a "${1}" -a "${2}" /etc/apm/event.d | ||
86 | if [ -d /etc/apm/other.d ]; then | ||
87 | run-parts -a "${1}" -a "${2}" /etc/apm/other.d | ||
88 | fi | ||
89 | fi | ||
90 | |||
91 | exit 0 | ||
diff --git a/meta/recipes-bsp/apmd/apmd/apmd_proxy.conf b/meta/recipes-bsp/apmd/apmd/apmd_proxy.conf new file mode 100644 index 0000000000..751145c522 --- /dev/null +++ b/meta/recipes-bsp/apmd/apmd/apmd_proxy.conf | |||
@@ -0,0 +1,16 @@ | |||
1 | # /etc/apm/apmd_proxy.conf: configuration file for apmd. | ||
2 | # | ||
3 | # This file is managed by debconf when installing or reconfiguring the | ||
4 | # package. It is generated by merging the answers gathered by debconf | ||
5 | # into the template file "/usr/share/apmd/apmd_proxy.conf". | ||
6 | |||
7 | # The following doesn't yet work, because current kernels (up to at least | ||
8 | # 2.4.20) do not support rejection of APM events. Supporting this would | ||
9 | # require substantial modifications to the APM driver. We will re-enable | ||
10 | # this feature if the driver is ever modified. -- cph@debian.org | ||
11 | # | ||
12 | # Set the following to "false" if you want to reject system suspend or | ||
13 | # system standby requests when the computer is running on AC power. | ||
14 | # Otherwise set this to "true". Such requests are never rejected when | ||
15 | # the computer is running on battery power. | ||
16 | #SUSPEND_ON_AC=true | ||
diff --git a/meta/recipes-bsp/apmd/apmd/default b/meta/recipes-bsp/apmd/apmd/default new file mode 100644 index 0000000000..4b7965abf8 --- /dev/null +++ b/meta/recipes-bsp/apmd/apmd/default | |||
@@ -0,0 +1,8 @@ | |||
1 | # | ||
2 | # Default for /etc/init.d/apmd | ||
3 | # | ||
4 | |||
5 | # As apmd can be called with arguments, we use the following variable | ||
6 | # to store them, e.g., APMD="-w 5 -p 2". | ||
7 | # See the manual page apmd(8) for details. | ||
8 | APMD="--proxy-timeout 30" | ||
diff --git a/meta/recipes-bsp/apmd/apmd/init b/meta/recipes-bsp/apmd/apmd/init new file mode 100755 index 0000000000..c0b41aa9d1 --- /dev/null +++ b/meta/recipes-bsp/apmd/apmd/init | |||
@@ -0,0 +1,51 @@ | |||
1 | #!/bin/sh | ||
2 | ### BEGIN INIT INFO | ||
3 | # Provides: apmd | ||
4 | # Required-Start: $remote_fs | ||
5 | # Required-Stop: $remote_fs | ||
6 | # Default-Start: 2 3 4 5 | ||
7 | # Default-Stop: 0 1 6 | ||
8 | # Short-Description: Advanced Power Management daemon | ||
9 | ### END INIT INFO | ||
10 | |||
11 | # Source function library. | ||
12 | . /etc/init.d/functions | ||
13 | |||
14 | PATH=/bin:/usr/bin:/sbin:/usr/sbin | ||
15 | |||
16 | [ -f /etc/default/rcS ] && . /etc/default/rcS | ||
17 | [ -f /etc/default/apmd ] && . /etc/default/apmd | ||
18 | |||
19 | case "$1" in | ||
20 | start) | ||
21 | echo -n "Starting advanced power management daemon: " | ||
22 | start-stop-daemon -S -x /usr/sbin/apmd -- \ | ||
23 | -P /etc/apm/apmd_proxy $APMD | ||
24 | if [ $? = 0 ]; then | ||
25 | echo "apmd." | ||
26 | else | ||
27 | echo "(failed.)" | ||
28 | fi | ||
29 | ;; | ||
30 | stop) | ||
31 | echo -n "Stopping advanced power management daemon: " | ||
32 | start-stop-daemon -K \ | ||
33 | -x /usr/sbin/apmd | ||
34 | echo "apmd." | ||
35 | ;; | ||
36 | status) | ||
37 | status /usr/sbin/apmd; | ||
38 | exit $? | ||
39 | ;; | ||
40 | restart|force-reload) | ||
41 | $0 stop | ||
42 | $0 start | ||
43 | exit | ||
44 | ;; | ||
45 | *) | ||
46 | echo "Usage: /etc/init.d/apmd {start|stop|status|restart|force-reload}" | ||
47 | exit 1 | ||
48 | ;; | ||
49 | esac | ||
50 | |||
51 | exit 0 | ||
diff --git a/meta/recipes-bsp/apmd/apmd/legacy.patch b/meta/recipes-bsp/apmd/apmd/legacy.patch new file mode 100644 index 0000000000..5db895e8fe --- /dev/null +++ b/meta/recipes-bsp/apmd/apmd/legacy.patch | |||
@@ -0,0 +1,133 @@ | |||
1 | From 3595933d221f0ba836917debc0776b8723972ec9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Tue, 11 Aug 2015 17:40:50 +0300 | ||
4 | Subject: [PATCH 1/3] Patch with fixes provided by Debian. | ||
5 | |||
6 | This patch is taken from | ||
7 | ftp://ftp.debian.org/debian/pool/main/a/apmd/apmd_3.2.2-15.debian.tar.xz | ||
8 | |||
9 | Upstream-Status: Inappropriate [upstream is dead] | ||
10 | Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> | ||
11 | |||
12 | --- | ||
13 | Makefile | 2 +- | ||
14 | apm.c | 3 ++- | ||
15 | apm.h | 9 +++++++++ | ||
16 | apmd.c | 15 ++++++++------- | ||
17 | 4 files changed, 20 insertions(+), 9 deletions(-) | ||
18 | |||
19 | diff --git a/Makefile b/Makefile | ||
20 | index bf346d9..92fc0fd 100644 | ||
21 | --- a/Makefile | ||
22 | +++ b/Makefile | ||
23 | @@ -43,7 +43,7 @@ DESTDIR= | ||
24 | |||
25 | CC=gcc | ||
26 | CFLAGS=-O -g | ||
27 | -XTRACFLAGS=-Wall -pipe -I. -I/usr/src/linux/include \ | ||
28 | +XTRACFLAGS=-Wall -pipe -I. -I/usr/src/linux/include -I/usr/X11R6/include \ | ||
29 | -I/usr/src/linux-2.2/include -I /usr/src/linux-2.0/include \ | ||
30 | -DVERSION=\"$(VERSION)\" \ | ||
31 | -DDEFAULT_PROXY_NAME=\"$(PROXY_DIR)/apmd_proxy\" | ||
32 | diff --git a/apm.c b/apm.c | ||
33 | index b21c057..0359b1c 100644 | ||
34 | --- a/apm.c | ||
35 | +++ b/apm.c | ||
36 | @@ -219,12 +219,13 @@ int main(int argc, char **argv) | ||
37 | } | ||
38 | } | ||
39 | |||
40 | - | ||
41 | +#if 0 | ||
42 | if (!(i.apm_flags & APM_32_BIT_SUPPORT)) | ||
43 | { | ||
44 | fprintf(stderr, "32-bit APM interface not supported\n"); | ||
45 | exit(1); | ||
46 | } | ||
47 | +#endif | ||
48 | |||
49 | if (verbose && (i.apm_flags & 0x10)) | ||
50 | printf("APM BIOS Power Management is currently disabled\n"); | ||
51 | diff --git a/apm.h b/apm.h | ||
52 | index fb24dfd..824cc06 100644 | ||
53 | --- a/apm.h | ||
54 | +++ b/apm.h | ||
55 | @@ -20,6 +20,13 @@ | ||
56 | * $Id: apm.h,v 1.7 1999/07/05 22:31:11 apenwarr Exp $ | ||
57 | * | ||
58 | */ | ||
59 | +#ifndef _APM_H | ||
60 | +#define _APM_H 1 | ||
61 | + | ||
62 | +#ifndef __KERNEL_STRICT_NAMES | ||
63 | +#define __KERNEL_STRICT_NAMES | ||
64 | +#endif | ||
65 | + | ||
66 | #include <linux/apm_bios.h> | ||
67 | #include <sys/types.h> | ||
68 | |||
69 | @@ -93,3 +100,5 @@ extern int apm_reject(int fd); | ||
70 | #else | ||
71 | #define apm_reject(fd) (-EINVAL) | ||
72 | #endif | ||
73 | + | ||
74 | +#endif | ||
75 | diff --git a/apmd.c b/apmd.c | ||
76 | index 49ed3a1..560f536 100644 | ||
77 | --- a/apmd.c | ||
78 | +++ b/apmd.c | ||
79 | @@ -343,7 +343,7 @@ static int call_proxy(apm_event_t event) | ||
80 | /* parent */ | ||
81 | int status, retval; | ||
82 | ssize_t len; | ||
83 | - time_t time_limit; | ||
84 | + time_t countdown; | ||
85 | |||
86 | if (pid < 0) { | ||
87 | /* Couldn't fork */ | ||
88 | @@ -356,8 +356,9 @@ static int call_proxy(apm_event_t event) | ||
89 | /* Capture the child's output, if any, but only until it terminates */ | ||
90 | close(fds[1]); | ||
91 | fcntl(fds[0], F_SETFL, O_RDONLY|O_NONBLOCK); | ||
92 | - time_limit = time(0) + proxy_timeout; | ||
93 | + countdown = proxy_timeout; | ||
94 | do { | ||
95 | + countdown -= 1; | ||
96 | while ((len = read(fds[0], line, sizeof(line)-1)) > 0) { | ||
97 | line[len] = 0; | ||
98 | APMD_SYSLOG(LOG_INFO, "+ %s", line); | ||
99 | @@ -372,16 +373,16 @@ static int call_proxy(apm_event_t event) | ||
100 | goto proxy_done; | ||
101 | } | ||
102 | |||
103 | - sleep(1); | ||
104 | + while (sleep(1) > 0) ; | ||
105 | } while ( | ||
106 | - (time(0) < time_limit) | ||
107 | + (countdown >= 0) | ||
108 | || (proxy_timeout < 0) | ||
109 | ); | ||
110 | |||
111 | APMD_SYSLOG(LOG_NOTICE, "Proxy has been running more than %d seconds; killing it", proxy_timeout); | ||
112 | |||
113 | kill(pid, SIGTERM); | ||
114 | - time_limit = time(0) + 5; | ||
115 | + countdown = 5; | ||
116 | do { | ||
117 | retval = waitpid(pid, &status, WNOHANG); | ||
118 | if (retval == pid) | ||
119 | @@ -392,9 +393,9 @@ static int call_proxy(apm_event_t event) | ||
120 | goto proxy_done; | ||
121 | } | ||
122 | |||
123 | - sleep(1); | ||
124 | + while (sleep(1) > 0) ; | ||
125 | |||
126 | - } while (time(0) < time_limit); | ||
127 | + } while (countdown >= 0); | ||
128 | |||
129 | kill(pid, SIGKILL); | ||
130 | status = __W_EXITCODE(0, SIGKILL); | ||
131 | -- | ||
132 | 2.1.4 | ||
133 | |||
diff --git a/meta/recipes-bsp/apmd/apmd/libtool.patch b/meta/recipes-bsp/apmd/apmd/libtool.patch new file mode 100644 index 0000000000..834ee080a1 --- /dev/null +++ b/meta/recipes-bsp/apmd/apmd/libtool.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | Add by RP to address "unable to infer tagged configuration" error: | ||
2 | commit 35de05e61b88c0808a5e885bb0efdf420555d5ad | ||
3 | Author: Richard Purdie <rpurdie@rpsys.net> | ||
4 | Date: Sun Jun 1 16:13:38 2008 +0000 | ||
5 | |||
6 | apmd: Use libtool --tag options to avoid problems with libtool 2.2.4 (from poky) | ||
7 | |||
8 | However I didn't see same issue with current libtool-2.2.10. Also per my understanding, | ||
9 | the default tag, if not specified, falls back to CC. So disable it from patching, but | ||
10 | keep it here. If we encounter similar issue in the future, we could then push upstream | ||
11 | |||
12 | Comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-16 | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | |||
16 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
17 | |||
18 | Index: apmd-3.2.2.orig/Makefile | ||
19 | =================================================================== | ||
20 | --- apmd-3.2.2.orig.orig/Makefile 2004-01-04 08:13:18.000000000 +0000 | ||
21 | +++ apmd-3.2.2.orig/Makefile 2008-04-21 17:10:03.000000000 +0100 | ||
22 | @@ -58,9 +57,8 @@ | ||
23 | #CFLAGS=-O3 -m486 -fomit-frame-pointer | ||
24 | #LDFLAGS=-s | ||
25 | |||
26 | -LIBTOOL=libtool --quiet | ||
27 | -LT_COMPILE = $(LIBTOOL) --mode=compile $(CC) | ||
28 | -LT_LINK = $(LIBTOOL) --mode=link $(CC) | ||
29 | +LT_COMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) | ||
30 | +LT_LINK = $(LIBTOOL) --tag=CC --mode=link $(CC) | ||
31 | LT_INSTALL = $(LIBTOOL) --mode=install install | ||
32 | LT_CLEAN = $(LIBTOOL) --mode=clean rm | ||
33 | |||
diff --git a/meta/recipes-bsp/apmd/apmd/unlinux.patch b/meta/recipes-bsp/apmd/apmd/unlinux.patch new file mode 100644 index 0000000000..ec8206cf17 --- /dev/null +++ b/meta/recipes-bsp/apmd/apmd/unlinux.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | copy OE commit message here: | ||
2 | commit 9456cdc1cf43e3ba9e6d88c63560c1b6fdee4359 | ||
3 | Author: Michael Krelin <hacker@klever.net> | ||
4 | Date: Tue May 29 12:27:45 2007 +0000 | ||
5 | |||
6 | apmd: prevent build from interferring with host kernel headers. Closes #1257 | ||
7 | |||
8 | comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-13 | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | ||
13 | |||
14 | --- apmd-3.2.2.orig/Makefile | ||
15 | +++ apmd-3.2.2/Makefile | ||
16 | @@ -43,8 +43,7 @@ | ||
17 | |||
18 | CC=gcc | ||
19 | CFLAGS=-O -g | ||
20 | -XTRACFLAGS=-Wall -pipe -I. -I/usr/src/linux/include -I/usr/X11R6/include \ | ||
21 | - -I/usr/src/linux-2.2/include -I /usr/src/linux-2.0/include \ | ||
22 | +XTRACFLAGS=-Wall -pipe -I. \ | ||
23 | -DVERSION=\"$(VERSION)\" \ | ||
24 | -DDEFAULT_PROXY_NAME=\"$(PROXY_DIR)/apmd_proxy\" | ||
25 | LDFLAGS= | ||