58 lines
2.9 KiB
Python
58 lines
2.9 KiB
Python
|
|
#
|
||
|
|
# Copyright OpenEmbedded Contributors
|
||
|
|
#
|
||
|
|
# SPDX-License-Identifier: MIT
|
||
|
|
#
|
||
|
|
|
||
|
|
import os
|
||
|
|
import shutil
|
||
|
|
from oeqa.selftest.case import OESelftestTestCase
|
||
|
|
from oeqa.utils.commands import bitbake
|
||
|
|
from oeqa.utils.commands import bitbake, get_bb_var, get_test_layer
|
||
|
|
|
||
|
|
class UserGroupTests(OESelftestTestCase):
|
||
|
|
def test_group_from_dep_package(self):
|
||
|
|
self.logger.info("Building creategroup2")
|
||
|
|
bitbake(' creategroup2 creategroup1')
|
||
|
|
bitbake(' creategroup2 creategroup1 -c clean')
|
||
|
|
self.logger.info("Packaging creategroup2")
|
||
|
|
self.assertTrue(bitbake(' creategroup2 -c package'))
|
||
|
|
|
||
|
|
def test_add_task_between_p_sysroot_and_package(self):
|
||
|
|
# Test for YOCTO #14961
|
||
|
|
self.assertTrue(bitbake('useraddbadtask -C fetch'))
|
||
|
|
|
||
|
|
def test_postinst_order(self):
|
||
|
|
self.logger.info("Building dcreategroup")
|
||
|
|
self.assertTrue(bitbake(' dcreategroup'))
|
||
|
|
|
||
|
|
def test_static_useradd_from_dynamic(self):
|
||
|
|
metaselftestpath = get_test_layer()
|
||
|
|
self.logger.info("Building core-image-minimal to generate passwd/group file")
|
||
|
|
bitbake(' core-image-minimal')
|
||
|
|
self.logger.info("Setting up useradd-staticids")
|
||
|
|
repropassdir = os.path.join(metaselftestpath, "conf/include")
|
||
|
|
os.makedirs(repropassdir)
|
||
|
|
etcdir=os.path.join(os.path.join(os.path.join(get_bb_var("TMPDIR"), "work"), \
|
||
|
|
os.path.join(get_bb_var("MACHINE").replace("-","_")+"-poky-linux", "core-image-minimal/1.0/rootfs/etc")))
|
||
|
|
shutil.copy(os.path.join(etcdir, "passwd"), os.path.join(repropassdir, "reproducable-passwd"))
|
||
|
|
shutil.copy(os.path.join(etcdir, "group"), os.path.join(repropassdir, "reproducable-group"))
|
||
|
|
# Copy the original local.conf
|
||
|
|
shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf'), os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf.orig'))
|
||
|
|
|
||
|
|
self.write_config("USERADDEXTENSION = \"useradd-staticids\"")
|
||
|
|
self.write_config("USERADD_ERROR_DYNAMIC ??= \"error\"")
|
||
|
|
self.write_config("USERADD_UID_TABLES += \"conf/include/reproducible-passwd\"")
|
||
|
|
self.write_config("USERADD_GID_TABLES += \"conf/include/reproducible-group\"")
|
||
|
|
self.logger.info("Rebuild with staticids")
|
||
|
|
bitbake(' core-image-minimal')
|
||
|
|
shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf.orig'), os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf'))
|
||
|
|
self.logger.info("Rebuild without staticids")
|
||
|
|
bitbake(' core-image-minimal')
|
||
|
|
self.write_config("USERADDEXTENSION = \"useradd-staticids\"")
|
||
|
|
self.write_config("USERADD_ERROR_DYNAMIC ??= \"error\"")
|
||
|
|
self.write_config("USERADD_UID_TABLES += \"files/static-passwd\"")
|
||
|
|
self.write_config("USERADD_GID_TABLES += \"files/static-group\"")
|
||
|
|
self.logger.info("Rebuild with other staticids")
|
||
|
|
self.assertTrue(bitbake(' core-image-minimal'))
|