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