* [PATCH 0/1] Add the ability to specify a umask per task @ 2011-06-22 17:57 Mark Hatle 2011-06-22 17:57 ` [PATCH 1/1] runqueue.py: Add umask task control Mark Hatle 0 siblings, 1 reply; 5+ messages in thread From: Mark Hatle @ 2011-06-22 17:57 UTC (permalink / raw) To: bitbake-devel Add the ability to spcify a umask per-task. The following changes since commit 5481cc90645e13c4e3cdea41e8e369528a0b1649: doc/usermanual.xml: Tweaks for the manual (2011-06-22 16:30:26 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib mhatle/bitbake http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/bitbake Mark Hatle (1): runqueue.py: Add umask task control lib/bb/build.py | 1 + lib/bb/runqueue.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 0 deletions(-) -- 1.7.3.4 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/1] runqueue.py: Add umask task control 2011-06-22 17:57 [PATCH 0/1] Add the ability to specify a umask per task Mark Hatle @ 2011-06-22 17:57 ` Mark Hatle 2011-06-22 17:49 ` Mark Hatle 2011-06-23 23:22 ` Khem Raj 0 siblings, 2 replies; 5+ messages in thread From: Mark Hatle @ 2011-06-22 17:57 UTC (permalink / raw) To: bitbake-devel The umask for a task can now be set as: task[umask] = 022 task[umask] = '022' If specified as a text string, it must be octal. (This is due to recipe parsing where it's always set to a string.) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> --- lib/bb/build.py | 1 + lib/bb/runqueue.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/lib/bb/build.py b/lib/bb/build.py index 15ba956..4bbf10f 100644 --- a/lib/bb/build.py +++ b/lib/bb/build.py @@ -465,6 +465,7 @@ def add_tasks(tasklist, d): getTask('nostamp') getTask('fakeroot') getTask('noexec') + getTask('umask') task_deps['parents'][task] = [] for dep in flags['deps']: dep = data.expand(dep, d) diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 1f3b54c..e455893 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -1063,8 +1063,17 @@ class RunQueueExecute: # a fork() or exec*() activates PSEUDO... envbackup = {} + umask = -1 taskdep = self.rqdata.dataCache.task_deps[fn] + if 'umask' in taskdep and taskname in taskdep['umask']: + # umask might come in as a number or text string.. + try: + umask = int(taskdep['umask'][taskname],8) + except TypeError: + umask = taskdep['umask'][taskname] + logger.warning("Using umask 0%o %s, %s" % (umask, fn, taskname)) + if 'fakeroot' in taskdep and taskname in taskdep['fakeroot']: envvars = (self.rqdata.dataCache.fakerootenv[fn] or "").split() for key, value in (var.split('=') for var in envvars): @@ -1103,6 +1112,9 @@ class RunQueueExecute: newsi = os.open(os.devnull, os.O_RDWR) os.dup2(newsi, sys.stdin.fileno()) + if umask != -1: + os.umask(umask) + bb.data.setVar("BB_WORKERCONTEXT", "1", self.cooker.configuration.data) bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", self, self.cooker.configuration.data) bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", fn, self.cooker.configuration.data) -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] runqueue.py: Add umask task control 2011-06-22 17:57 ` [PATCH 1/1] runqueue.py: Add umask task control Mark Hatle @ 2011-06-22 17:49 ` Mark Hatle 2011-06-23 23:22 ` Khem Raj 1 sibling, 0 replies; 5+ messages in thread From: Mark Hatle @ 2011-06-22 17:49 UTC (permalink / raw) To: bitbake-devel I just noticed I left in some debug below.. The line: logger.warning("Using umask 0%o %s, %s" % (umask, fn, taskname)) should be either commented out or removed. I'd be happy to re-send the pull request if this is easier. --Mark On 6/22/11 12:57 PM, Mark Hatle wrote: > The umask for a task can now be set as: > > task[umask] = 022 > task[umask] = '022' > > If specified as a text string, it must be octal. (This is due to > recipe parsing where it's always set to a string.) > > Signed-off-by: Mark Hatle <mark.hatle@windriver.com> > --- > lib/bb/build.py | 1 + > lib/bb/runqueue.py | 12 ++++++++++++ > 2 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/lib/bb/build.py b/lib/bb/build.py > index 15ba956..4bbf10f 100644 > --- a/lib/bb/build.py > +++ b/lib/bb/build.py > @@ -465,6 +465,7 @@ def add_tasks(tasklist, d): > getTask('nostamp') > getTask('fakeroot') > getTask('noexec') > + getTask('umask') > task_deps['parents'][task] = [] > for dep in flags['deps']: > dep = data.expand(dep, d) > diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py > index 1f3b54c..e455893 100644 > --- a/lib/bb/runqueue.py > +++ b/lib/bb/runqueue.py > @@ -1063,8 +1063,17 @@ class RunQueueExecute: > # a fork() or exec*() activates PSEUDO... > > envbackup = {} > + umask = -1 > > taskdep = self.rqdata.dataCache.task_deps[fn] > + if 'umask' in taskdep and taskname in taskdep['umask']: > + # umask might come in as a number or text string.. > + try: > + umask = int(taskdep['umask'][taskname],8) > + except TypeError: > + umask = taskdep['umask'][taskname] > + logger.warning("Using umask 0%o %s, %s" % (umask, fn, taskname)) > + > if 'fakeroot' in taskdep and taskname in taskdep['fakeroot']: > envvars = (self.rqdata.dataCache.fakerootenv[fn] or "").split() > for key, value in (var.split('=') for var in envvars): > @@ -1103,6 +1112,9 @@ class RunQueueExecute: > newsi = os.open(os.devnull, os.O_RDWR) > os.dup2(newsi, sys.stdin.fileno()) > > + if umask != -1: > + os.umask(umask) > + > bb.data.setVar("BB_WORKERCONTEXT", "1", self.cooker.configuration.data) > bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", self, self.cooker.configuration.data) > bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", fn, self.cooker.configuration.data) ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] runqueue.py: Add umask task control 2011-06-22 17:57 ` [PATCH 1/1] runqueue.py: Add umask task control Mark Hatle 2011-06-22 17:49 ` Mark Hatle @ 2011-06-23 23:22 ` Khem Raj 2011-06-24 1:11 ` Mark Hatle 1 sibling, 1 reply; 5+ messages in thread From: Khem Raj @ 2011-06-23 23:22 UTC (permalink / raw) To: bitbake-devel On 06/22/2011 10:57 AM, Mark Hatle wrote: > The umask for a task can now be set as: > > task[umask] = 022 > task[umask] = '022' > > If specified as a text string, it must be octal. (This is due to > recipe parsing where it's always set to a string.) > > Signed-off-by: Mark Hatle<mark.hatle@windriver.com> > --- > lib/bb/build.py | 1 + > lib/bb/runqueue.py | 12 ++++++++++++ > 2 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/lib/bb/build.py b/lib/bb/build.py > index 15ba956..4bbf10f 100644 > --- a/lib/bb/build.py > +++ b/lib/bb/build.py > @@ -465,6 +465,7 @@ def add_tasks(tasklist, d): > getTask('nostamp') > getTask('fakeroot') > getTask('noexec') > + getTask('umask') > task_deps['parents'][task] = [] > for dep in flags['deps']: > dep = data.expand(dep, d) > diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py > index 1f3b54c..e455893 100644 > --- a/lib/bb/runqueue.py > +++ b/lib/bb/runqueue.py > @@ -1063,8 +1063,17 @@ class RunQueueExecute: > # a fork() or exec*() activates PSEUDO... > > envbackup = {} > + umask = -1 > > taskdep = self.rqdata.dataCache.task_deps[fn] > + if 'umask' in taskdep and taskname in taskdep['umask']: > + # umask might come in as a number or text string.. > + try: > + umask = int(taskdep['umask'][taskname],8) > + except TypeError: > + umask = taskdep['umask'][taskname] > + logger.warning("Using umask 0%o %s, %s" % (umask, fn, taskname)) > + this will be annoying. It should be made part of verbose messages though > if 'fakeroot' in taskdep and taskname in taskdep['fakeroot']: > envvars = (self.rqdata.dataCache.fakerootenv[fn] or "").split() > for key, value in (var.split('=') for var in envvars): > @@ -1103,6 +1112,9 @@ class RunQueueExecute: > newsi = os.open(os.devnull, os.O_RDWR) > os.dup2(newsi, sys.stdin.fileno()) > > + if umask != -1: > + os.umask(umask) > + > bb.data.setVar("BB_WORKERCONTEXT", "1", self.cooker.configuration.data) > bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", self, self.cooker.configuration.data) > bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", fn, self.cooker.configuration.data) ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] runqueue.py: Add umask task control 2011-06-23 23:22 ` Khem Raj @ 2011-06-24 1:11 ` Mark Hatle 0 siblings, 0 replies; 5+ messages in thread From: Mark Hatle @ 2011-06-24 1:11 UTC (permalink / raw) To: bitbake-devel On 6/23/11 6:22 PM, Khem Raj wrote: > On 06/22/2011 10:57 AM, Mark Hatle wrote: >> The umask for a task can now be set as: >> >> task[umask] = 022 >> task[umask] = '022' >> >> If specified as a text string, it must be octal. (This is due to >> recipe parsing where it's always set to a string.) >> >> Signed-off-by: Mark Hatle<mark.hatle@windriver.com> >> --- >> lib/bb/build.py | 1 + >> lib/bb/runqueue.py | 12 ++++++++++++ >> 2 files changed, 13 insertions(+), 0 deletions(-) >> >> diff --git a/lib/bb/build.py b/lib/bb/build.py >> index 15ba956..4bbf10f 100644 >> --- a/lib/bb/build.py >> +++ b/lib/bb/build.py >> @@ -465,6 +465,7 @@ def add_tasks(tasklist, d): >> getTask('nostamp') >> getTask('fakeroot') >> getTask('noexec') >> + getTask('umask') >> task_deps['parents'][task] = [] >> for dep in flags['deps']: >> dep = data.expand(dep, d) >> diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py >> index 1f3b54c..e455893 100644 >> --- a/lib/bb/runqueue.py >> +++ b/lib/bb/runqueue.py >> @@ -1063,8 +1063,17 @@ class RunQueueExecute: >> # a fork() or exec*() activates PSEUDO... >> >> envbackup = {} >> + umask = -1 >> >> taskdep = self.rqdata.dataCache.task_deps[fn] >> + if 'umask' in taskdep and taskname in taskdep['umask']: >> + # umask might come in as a number or text string.. >> + try: >> + umask = int(taskdep['umask'][taskname],8) >> + except TypeError: >> + umask = taskdep['umask'][taskname] >> + logger.warning("Using umask 0%o %s, %s" % (umask, fn, taskname)) >> + > > this will be annoying. It should be made part of verbose messages though That was a mistake, debugging message that ended up in the pull request. > >> if 'fakeroot' in taskdep and taskname in taskdep['fakeroot']: >> envvars = (self.rqdata.dataCache.fakerootenv[fn] or "").split() >> for key, value in (var.split('=') for var in envvars): >> @@ -1103,6 +1112,9 @@ class RunQueueExecute: >> newsi = os.open(os.devnull, os.O_RDWR) >> os.dup2(newsi, sys.stdin.fileno()) >> >> + if umask != -1: >> + os.umask(umask) >> + >> bb.data.setVar("BB_WORKERCONTEXT", "1", self.cooker.configuration.data) >> bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", self, self.cooker.configuration.data) >> bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", fn, self.cooker.configuration.data) > > > _______________________________________________ > bitbake-devel mailing list > bitbake-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-06-24 1:16 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-06-22 17:57 [PATCH 0/1] Add the ability to specify a umask per task Mark Hatle 2011-06-22 17:57 ` [PATCH 1/1] runqueue.py: Add umask task control Mark Hatle 2011-06-22 17:49 ` Mark Hatle 2011-06-23 23:22 ` Khem Raj 2011-06-24 1:11 ` Mark Hatle
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.