Close #709: Improve user creation (#725)

* Allow to specify a custom username in "pmbootstrap init"
* Build chroots have "pmos" instead of "user" as username now
* Installation user UID is 1000 now (as in all other Linux distributions)
* Adjust autologins
* postmarketos-base: enable wheel group for sudo, removed previous sudoers file
* Implement safe upgrade path:
We save the version of the work folder format now, in $WORK/version.
When this file does not exist, it defaults to 0.
In case it does not match the currently required version
(pmb.config.work_version), then ask the user if it should
automatically be upgraded.
This commit is contained in:
Pablo Castellano 2017-10-12 22:08:10 +02:00 committed by Oliver Smith
parent 75210b5cb5
commit b4dd7a89d2
45 changed files with 229 additions and 106 deletions

View file

@ -74,15 +74,21 @@ def init(args):
Set log format and add the log file descriptor to args.logfd, add the
verbose log level.
"""
# Create work folder (because usually the log file is in there)
if not os.path.exists(args.work):
os.makedirs(args.work)
# Open logfile
# Set log file descriptor (logfd)
if args.details_to_stdout:
setattr(args, "logfd", sys.stdout)
else:
setattr(args, "logfd", open(args.log, "a+"))
# Require containing directory to exist (so we don't create the work
# folder and break the folder migration logic, which needs to set the
# version upon creation)
dir = os.path.dirname(args.log)
if os.path.exists(dir):
setattr(args, "logfd", open(args.log, "a+"))
else:
setattr(args, "logfd", open(os.devnull, "a+"))
if args.action != "init":
print("WARNING: Can't create log file in '" + dir + "', path"
" does not exist!")
# Set log format
root_logger = logging.getLogger()