1aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo#
2aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# Copyright (C) 2012 The Android Open Source Project
3aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo#
4aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# Licensed under the Apache License, Version 2.0 (the "License");
5aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# you may not use this file except in compliance with the License.
6aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# You may obtain a copy of the License at
7aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo#
8aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo#      http://www.apache.org/licenses/LICENSE-2.0
9aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo#
10aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# Unless required by applicable law or agreed to in writing, software
11aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# distributed under the License is distributed on an "AS IS" BASIS,
12aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# See the License for the specific language governing permissions and
14aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo# limitations under the License.
15aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo#
1601ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET
1701ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETdescription     "System software update service"
1801ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETauthor          "chromium-os-dev@chromium.org"
1901ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET
2001ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET# N.B. The chromeos-factoryinstall ebuild edits the 'start on' line so as
2101ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET# to disable update_engine in factory images.  Do not change this without
2201ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET# also updating that reference.
2301ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETstart on starting system-services
2401ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETstop on stopping system-services
2501ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETrespawn
2601ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET
2701ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETexpect fork
2801ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET
2901ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET# Runs the daemon at low/idle IO priority so that updates don't
3001ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET# impact system responsiveness.
3101ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETexec ionice -c3 update_engine
3201ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET
3301ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET# Put update_engine process in its own cgroup.
3401ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET# Default cpu.shares is 1024.
3501ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETpost-start script
3601ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET  cgroup_dir="/sys/fs/cgroup/cpu/${UPSTART_JOB}"
3701ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET  mkdir -p "${cgroup_dir}"
3801ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNET  echo $(status | cut -f 4 -d ' ') > "${cgroup_dir}/tasks"
3901ca1fb1603701e2073ad92c56fd0a83685c7caeBertrand SIMONNETend script
40