mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-09-21 04:10:37 +02:00
🧹 remove sudo code from build_local_prepare
This commit is contained in:
parent
33687cf41b
commit
1bde8d27b0
@ -19,58 +19,13 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import pathlib
|
import pathlib
|
||||||
import logging
|
# import logging
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from fdroidserver import _
|
from fdroidserver import _
|
||||||
import fdroidserver.common
|
import fdroidserver.common
|
||||||
|
|
||||||
|
|
||||||
def sudo_run(app, build):
|
|
||||||
# before doing anything, run the sudo commands to setup the VM
|
|
||||||
if build.sudo:
|
|
||||||
logging.info("Running 'sudo' commands in %s" % os.getcwd())
|
|
||||||
|
|
||||||
p = fdroidserver.common.FDroidPopen(
|
|
||||||
[
|
|
||||||
'sudo',
|
|
||||||
'DEBIAN_FRONTEND=noninteractive',
|
|
||||||
'bash',
|
|
||||||
'-e',
|
|
||||||
'-u',
|
|
||||||
'-o',
|
|
||||||
'pipefail',
|
|
||||||
'-x',
|
|
||||||
'-c',
|
|
||||||
'; '.join(build.sudo),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
if p.returncode != 0:
|
|
||||||
raise BuildException(
|
|
||||||
"Error running sudo command for %s:%s" % (app.id, build.versionName),
|
|
||||||
p.output,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def sudo_lock_root(app, build):
|
|
||||||
p = fdroidserver.common.FDroidPopen(['sudo', 'passwd', '--lock', 'root'])
|
|
||||||
if p.returncode != 0:
|
|
||||||
raise BuildException(
|
|
||||||
"Error locking root account for %s:%s" % (app.id, build.versionName),
|
|
||||||
p.output,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def sudo_uninstall(app, build):
|
|
||||||
p = fdroidserver.common.FDroidPopen(
|
|
||||||
['sudo', 'SUDO_FORCE_REMOVE=yes', 'dpkg', '--purge', 'sudo']
|
|
||||||
)
|
|
||||||
if p.returncode != 0:
|
|
||||||
raise BuildException(
|
|
||||||
"Error removing sudo for %s:%s" % (app.id, build.versionName), p.output
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def log_tools_version(app, build, log_dir):
|
def log_tools_version(app, build, log_dir):
|
||||||
log_path = os.path.join(
|
log_path = os.path.join(
|
||||||
log_dir, fdroidserver.common.get_toolsversion_logname(app, build)
|
log_dir, fdroidserver.common.get_toolsversion_logname(app, build)
|
||||||
@ -86,24 +41,6 @@ def main():
|
|||||||
"for one specific build"
|
"for one specific build"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
|
||||||
"--sudo-run",
|
|
||||||
action="store_true",
|
|
||||||
default=False,
|
|
||||||
help=_("run commands listed in sudo-metadata"),
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--sudo-uninstall",
|
|
||||||
action="store_true",
|
|
||||||
default=False,
|
|
||||||
help=_("uninstall sudo executing sudo-metadata"),
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--sudo-lock-root",
|
|
||||||
action="store_true",
|
|
||||||
default=False,
|
|
||||||
help=_("lock root user account"),
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"APP_VERSION",
|
"APP_VERSION",
|
||||||
help=_("app id and version code tuple 'APPID:VERCODE'"),
|
help=_("app id and version code tuple 'APPID:VERCODE'"),
|
||||||
@ -114,6 +51,8 @@ def main():
|
|||||||
options = fdroidserver.common.parse_args(parser)
|
options = fdroidserver.common.parse_args(parser)
|
||||||
config = fdroidserver.common.get_config()
|
config = fdroidserver.common.get_config()
|
||||||
|
|
||||||
|
config # silence pyflakes
|
||||||
|
|
||||||
package_name, version_code = fdroidserver.common.split_pkg_arg(options.APP_VERSION)
|
package_name, version_code = fdroidserver.common.split_pkg_arg(options.APP_VERSION)
|
||||||
app, build = fdroidserver.metadata.read_build_metadata(package_name, version_code)
|
app, build = fdroidserver.metadata.read_build_metadata(package_name, version_code)
|
||||||
|
|
||||||
@ -126,17 +65,8 @@ def main():
|
|||||||
for d in (srclib_dir, extlib_dir, log_dir, output_dir):
|
for d in (srclib_dir, extlib_dir, log_dir, output_dir):
|
||||||
d.mkdir(exist_ok=True, parents=True)
|
d.mkdir(exist_ok=True, parents=True)
|
||||||
|
|
||||||
# run sudo stuff
|
|
||||||
fdroidserver.common.set_FDroidPopen_env(build)
|
|
||||||
if options.sudo_run:
|
|
||||||
sudo_run(app, build)
|
|
||||||
if options.sudo_lock_root:
|
|
||||||
sudo_lock_root(app, build)
|
|
||||||
if options.sudo_uninstall:
|
|
||||||
sudo_uninstall(app, build)
|
|
||||||
|
|
||||||
# TODO: in the past this was only logged when running as 'fdroid build
|
# TODO: in the past this was only logged when running as 'fdroid build
|
||||||
# --onserver' is this this output still valuable or can we remove it?
|
# --onserver', is this output still valuable or can we remove it?
|
||||||
log_tools_version(app, build, log_dir)
|
log_tools_version(app, build, log_dir)
|
||||||
|
|
||||||
# do git/vcs checkout
|
# do git/vcs checkout
|
||||||
|
Loading…
Reference in New Issue
Block a user