> > 1. user_group. The POSIX standard includes the notion of
> > user/group
> > ids, but the only ways it defines to change the uid/gid of
> > processes
> > are C functions. Unfortunately, there's also nothing in the POSIX
> > standard for creating users, though at least `chown` is. At the
> > moment, my plan is to use `useradd`, `groupadd`, `userdel`,
> > `groupdel`, and `su`. (Using 'sudo' like prebuilder does is more
> > complicated and less likely to be supported everywhere.) I'm going
> > to
> > set the ids to something like 20000. This page,
> > http://bhami.com/rosetta.html, indicates that this won't work on
> > FreeBSD or MacOS X, and thatis supported by these pages,
> > http://www.math.utah.edu/~beebe/unix/g/groupadd.html and
> > http://www.math.utah.edu/~beebe/unix/u/useradd.html.
> > - What works on FreeBSD/MacOS X?
> > - Are there any other problems I'm likely to encounter using
> > `su`?
> If the code abstract user creation/removal depending on the system of
> the execution environment, we could implement (more) specific
> when required. Maybe that could be an answer: make it so experts in
> other operation system can easily add support?
This is already done: which context managers get executed depends on
whether a variation is implemented, which build it is (first or
second), whether reprotest has root on the given testbed, and what the
testbed's OS is. I haven't written documentation for it yet, but it's
straightforward-ish to write a new Python context manager for a
I'm going to go ahead and implement the time variation and a flag for
the possibly-system-breaking variations.
Reproducible-builds mailing list