[Pm-utils] [Fwd: [Bug 14560] New: resume scripts run in incorrect sort order]

Victor Lowther victor.lowther at gmail.com
Tue Feb 19 18:12:49 PST 2008

On Tue, Feb 19, 2008 at 10:46:11AM +0000, Richard Hughes wrote:
> http://bugs.freedesktop.org/show_bug.cgi?id=14560
>            Summary: resume scripts run in incorrect sort order
>            Product: pm-utils
>            Version: unspecified
>           Platform: Other
>         OS/Version: All
>             Status: NEW
>           Severity: normal
>           Priority: medium
>          Component: General
>         AssignedTo: richard at hughsie.com
>         ReportedBy: liblit at acm.org
> The scripts in /usr/lib/pm-utils/sleep.d (or some similar location) are
> supposed to run in reverse order when resuming from suspend.  However, they
> actually run in the same order.  This causes problems with several
> order-sensitive scripts in that directory, such as 05led and 95led.
> The bug is in function pm_main from the /usr/lib/pm-utils/functions script.  It
> sets local variable $sort to either "sort" or "sort -r" depending on the
> desired order.  However, the list of script names is then piped through "sort",
> rather than "$sort".  Thus, setting $sort to "sort -r" has no affect on the
> ordering.
> Suggested fix: near line 139 of /usr/lib/pm-utils/functions, change this:
>                 do [ -O "$f" ] && echo ${f##*/} ; done | sort | uniq) ;
> to this:
>                 do [ -O "$f" ] && echo ${f##*/} ; done | eval $sort | uniq) ;
> Note that the "eval" is necessary because otherwise the shell will try to find
> an executable command named "sort -r" rather than running "sort" with "-r" as
> an argument.

This bug happened because of a thinko when merging in the run_hooks
simplifications.  I have pushed what should have been merged to the fd.o
git repository.  The pushed code runs the hooks in the correct order.

Victor Lowther
Ubuntu Certified Professional

More information about the Pm-utils mailing list