Commit Graph

70 Commits

Author SHA1 Message Date
Xiangyu Chen
e15a5484e4 lxc: update ptest cases in black list
Released lxc-test-shutdowntest and lxc-test-state-server due to
those back to normal since lxc upgraded to 6.0.0.

lxc-test-no-new-privs and lxc-test-checkpoint-restore are broken test,
already reported to upstream[1][2], move them to blacklist until
upstream fix them.

lxc-test-usernic always fails when use ptest-runner, but normal with
run-ptest by manual.

Ref:
[1] https://github.com/lxc/lxc/issues/4296
[2] https://github.com/lxc/lxc/issues/4435

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-07-10 15:59:26 +00:00
Bruce Ashfield
f487ea4aa0 lxc: update to v6.0.0
Bumping lxc to version v6.0.0, which comprises the following commits:

    3dee5fb88 Release LXC 6.0.0
    17ac6f691 lxc.spec: Align SPDX license id
    5fe2de84c Makefile: Align SPDX license id
    97f93be72 meson: Align SPDX license id
    d4cd3741d COPYING: Clarify licensing of files without SPDX
    8e67eb07c doc: Add SPDX headers and remove Author field
    cb94edf53 src/include: Add SPDX headers
    7bc33ef6e src/tests: Add SPDX headers
    007642c89 hooks: Add SPDX headers
    1e9e66be3 lxc.spec: Clear default changelog
    202d649d1 lxc.spec: Use SPDX
    85abd4026 template: Use SPDX
    a074b3d27 config/yum: Use SPDX header
    7ed43e5e9 COPYING: Remove whitespace
    522721216 MAINTAINERS: Remove Dwight from the maintainer list
    08bf8b9e2 lxc-checkconfig: Fix shellcheck
    0f18db543 lxc-checkconfig: Show namespace limits
    f71b8e3f8 lxc-ls: list names with whitespaces in `--active`.
    816b8973d lxc/tools: set default log_priority to ERROR
    989ea3969 tools/lxc_autostart: don't fail when there are no containers
    dc4df2335 lxc/lxccontainer: specify file mode in open() call inside mod_rdep
    630b46ed2 lxc/confile: do not print excess space before scale suffix for time.offset.boot
    796f2ccb7 lxc/confile: do not print newline symbol in getter for lxc.time.offset.*
    dcc4fb929 tests/parse_config_file: fix some typos
    6fea67429 tests/parse_config_file: add tests for lxc.time.offset.*
    ad8f55445 tree-wide: replace multiply_overflow with check_mul_overflow
    4464cee19 lxccontainer: rework copy_file()
    9d1aa932d lxccontainer: improve mod_rdep()
    81c1bbf45 Revert "lxccontainer: fixes"
    82fe01821 src/lxc/syscall_numbers.h: drop define -1
    590a95d83 rexec: Avoid invalid free in rexec failure path
    f9978b179 README: Correct 'armvl7' to 'armv7l'
    046b63cd2 unshare: simplify lookup_name
    7452ee8ab lxc-unshare: fix an buffer overflow issue in lxc_unshare
    e88883445 lxc-net: Enable IPv6 by default
    d78ca00bc tests/meson: attempt to fix ossfuzz builds
    d18f993b3 github: master -> main
    86799f554 meson: link with liblxc dynamically everywhere if possible
    b90fecfda network: use IN_LIBLXC
    9eee450d2 storage_utils: move get_fssize to utils
    6eb0a73e2 storage_utils: unhide and rename is_valid_storage_type to lxc_is_valid_storage_type
    42eeffcb0 confile: unhide lxc_config_parse_arch() helper
    9bb318881 conf: reorganize/split code to utils.c
    863c59dc3 conf: reorganize/split code to idmap_utils.c
    b7591ad49 confile: unhide lxc_config_define*() helpers
    f14656ebf meson: introduce IN_LIBLXC preprocessor macro
    672b2172d confile: move lxc_fill_elevated_privileges() to tools/lxc_attach
    8f9733d75 tests: remove old and broken cgroup handling code from tests
    d51ea224e config: apparmor: add AppArmor profile for lxc-copy
    627bb9460 tests: lxc-test-usernic: use iproute tool instead of brctl
    df0665b6d oci: resolve cross-filesystem blob caching failure
    ec85e5ca4 lxc-test-usernic: drop cgroup handling
    27ec0b0f6 test-usernic: don't use ifconfig
    44e845b3c Add x32 to the list of recognized architectures
    07e3a516e lxc-download, lxc-local: preserve xattrs on unpack
    9ac7c4895 tree-wide: use container_uses_namespace() in less trivial cases
    64341ce7b tree-wide: use container_uses_namespace() helper
    6b40e66c1 Fix error message.
    c8189ee2a Add verbose output in download template.
    84cc3155a Align columns in lxc-download.in template
    872db5424 build: add more options for customizing install
    df17ac417 Add loongarch64 support
    112d5615e build(deps): bump actions/upload-artifact from 3 to 4
    789457f1a config: try to create workdir if not exist
    86f5c1226 lxc-local: Add --no-dev option to exclude /dev from the fstree
    f885a3c56 lxc-local: Re-organize code to use more functions
    7c025072e lxc-local: Improve usage info
    faa38a197 lxc-local: Change LXC_CONFIG to LXC_METADATA to match args and be more clear
    d65fe1b27 Disable IPv6 link-local addresses for bridged veth
    8cff8fa1a don't try to delete vlan 0 from veth
    0e932812a conf: fix ephemeral copies
    abffab441 config/init: Drop upstart files
    79a4a3cf8 doc: remove the warning mentionning upstart
    7bf1695d0 hooks/ubuntu-cloud-prep: remove upstart handling
    fb73c18d2 meson: Remove support for upstart
    cc6819c69 reset root_nsuid_map and root_nsgid_map when idmaps is cleared
    a87d6fcc9 lxc/checkconfig: use multiline `echo`
    f3e01fa80 lxc/checkconfig: replace `echo -n` by printf
    ba4f810bc lxc/checkconfig: minor cosmetic change
    d52c345c8 lxc/checkconfig: avoid subshell (SC2235)
    f84f03d1d lxc/checkconfig: remove superfluous (..) around test command (SC2234)
    74b9faa64 lxc/checkconfig: check exit code directly (SC2181)
    5cc69e440 lxc/checkconfig: replace `! -z` by `-n` (SC2236)
    a4684eb11 lxc/checkconfig: add missing quotes to please shellcheck
    8a611c0b2 lxc/checkconfig: remove some unneeded `echo -n`
    cb2574319 lxc/checkconfig: replace `type` by `command`
    003efe6db lxc/checkconfig: replace `cat | grep` with `grep`
    adadfa372 lxc/lxccontainer: fix do_lxcapi_set_timeout retval
    c02367e59 containers in the FREEZING state also need to be unfreeze
    aca53bcf7 build(deps): bump actions/checkout from 3 to 4
    84169158f lxccontainer.h: Move new fields to the end
    e2696df93 Remove references to LXD
    7cec54455 Update console perms to 0600
    3f45443fd Fix start api call to split quoted strings in execute or init command.
    fbc31691e github: Update for main branch
    69e51b919 CONTRIBUTING: add a note on AI generated code
    84cfe9772 get_hierarchy: dont WARN about no usable controller
    64167f906 Add libarchive tar support for lxc download
    213e2f68d github: Add DCO/target tests
    cf2b20209 explicitly convert *mainloop_handler to __u64
    8575ffeb7 tests: fix parse_config_file seccomp test
    ca25f3bf6 src/tests: Fix container creation errors
    539c39772 rename functions which clash with libsystemd's
    b670f0e75 commands: support timeout in LXC_CMD_GET_STATE
    0fed82b26 lxccontainer: extend lxccontainer API with set_timeout
    7fd671dbc mainloop: io_uring: disable IORING_POLL_ADD_MULTI
    715fb4eff terminal: make a terminal FDs non-blocking
    7eff16cc4 file_utils: add fd_make_nonblocking helper
    747c4df31 file_utils: rename fd_make_nonblocking to fd_make_blocking
    ebea2b5a9 setproctitle(): Handle potential NULL return from strrchr()
    f7f15b20a make setproctitle()'s /proc/pid/stat parsing safe
    890de0759 lsm: apparmor: allow to change mount propagation
    5894cf310 console-log test: make sure container is stopped before restarting
    820d2a2b3 switch from libsystemd's dbus to dbus-1
    3c1453a38 tree-wide: convert fcntl(FD_CLOEXEC) to SOCK_CLOEXEC
    4ea0b361f Allow fuse mounts in apparmor start-container.
    1a2da75b6 Add support for squashfs images in oci via atomfs
    db3cbfa75 apparmor: don't try to mmap empty files
    304bf58fa initutils: use PRIu64 for uint64_t in setproctitle
    4de047f51 lxc-net.in: fix nftables syntax for IPv6 NAT
    311bb8c53 Fix strlcat's return value checks
    588b53b19 Fix typo: bev_type -> bdev_type
    7914c259f drop broken lxc-test-fuzzers
    849d80877 Fix build error on sparc64 caused by using the gold linker
    43ad7816d lxc-default-cgns apparmor profile: allow overlay mounts
    4fa83282b lxc_user_nic: fix get_mtu() error handling
    1b0469530 Patching an incoming CVE (CVE-2022-47952)
    a8e1070c6 build: force linking against liblxc
    c27ea96f7 checkconfig: Fix filesystem capability check
    3f361da61 checkconfig: Tweak cgroup handling
    3ab04999d checkconfig: Tweak layout
    e027ca711 checkconfig: Hide version if no lxc-start
    914fec51b checkconfig: Fix mixed tabs/spaces
    70b176b0d src/lxc/meson.build: fix build without apparmor
    42b22da6d cgroups: fix cgroup layout detection in __initialize_cgroups
    0072919dd state: additional check in lxc_wait to prevent OOB
    62b94d3ec cgroups: check snprintf retval in unpriv_systemd_create_scope
    93d545e37 cgroups: fix buffer out-of-bounds access in enable_controllers_delegation
    f8aa61f97 network: always initialize struct nl_handler
    6ea4a6c06 apparmor: properly check lxc_strmmap ret value
    b37cce95b github: fix coverity (add libpam-dev)
    a8dcf88d0 github: fix coverity build
    7e7393413 conf: ensure mount tunnel is a dependent mount
    01ae6d471 apparmor: allow shared mounts in start-container.in
    81d94a4ee conf: create separate peer group for container's root
    68020412c cgroups: only allocate user namespace if we have to
    27f69d45b cgroups: use userns_exec_full() during cgroup removal
    1029c2a06 README: remove lgtm
    dcf85308c meson.build: strip newline for variable assignments
    8aac58866 meson.build: strip newlines from git output
    16c6ff226 tests: lxc-test-reboot: Fix build on ia64
    64eb31d02 src/lxc/meson.build: fix the static library path
    c6c705bfa build: drop build-time systemd dependency
    f321cd610 build: use cc.get_define to detect FS_CONFIG_* symbols
    5aff4ea37 build: only build init.lxc.static if libcap is statically linkable
    c1f87c811 build: fix handling of dependancies to fix build on openSUSE
    bc318926d cgroups: fix -Waddress warning
    4deaa28c0 Unroll IN_SET since the max usage is 2 elements check
    73fd9bf55 tests: lxc-test-checkpoint-restore: use trap to do cleanup
    8480c56a4 tools: lxc-destroy: update help message for --force
    3cac3fce4 build: add libsystemd to oss fuzz dependencies
    f7cadaa34 lxc/attach: Detect EACCES from execvp and convert to 126 exit status
    4ebca5a00 lxc-attach: Fix lost return codes of spawned processes that are killed
    09233897b Update README.md
    4a66dabf8 conf: allow cross-device links
    dc4f1220f build(deps): bump actions/checkout from 2 to 3
    2b802090f Update cifuzz.yml
    20cc78456 fix error message when use tools with -? option
    b0abedf60 use sd_bus_call_method_async to replace the asyncv one
    589a930f1 tree-wide: split open helpers into open_utils.h
    7b1836bce build: prevent the inclusion of linux/mount.h with a hack
    da8c29853 mount_utils: remove conf.h include
    74c2f58e1 mount: move mount utilities from syscall_wrappers.h into mount_utils.h
    68cf56489 tree-wide: minimize liburing.h inclusion
    06f99c259 meson: fix docbook2x detection
    133aa416c tree-wide: use struct open_how directly
    63468abd3 tree-wide: use struct clone_args directly
    4771699fd tree-wide: wipe direct or indirect linux/mount.h inclusion
    16ebb29dc meson.build: allow explicit distrosysconfdir
    cbabe8abf build: check for FS_CONFIG_* header symbol in sys/mount.h
    ef1e0607b build: detect sys/pidfd.h availability
    c1115e150 build: detect where struct mount_attr is declared
    e452c8945 gitignore: Simplify
    32a071519 lxc-usernsexec: allow to select which {g,u}id to switch to
    7f6643071 README: update security mails
    5e704fe38 meson.build: fix build without stack-protector
    7d7235489 meson.build: fix build with -Dcapabilities=false
    8ee887908 src/lxc/log.h: fix STRERROR_R_CHAR_P
    353f0f992 meson: add remaining still-in-use config checks
    3d360cf9d Store mount options in correct variable
    df3301046 Fix off-by-one error constructing mount options
    8ee615c27 add check for statvfs
    07a00b78f start: fix namespace sharing
    eae44ce19 conf: fix append_ttyname()
    6c50e09f2 start: record inherited namespaces earlier to make it available for idmapped rootfs setup
    7317d2a8a start: don't overwrite file descriptors during namespace preservation
    fc133a9f3 conf: log file descriptors on error during idmapped mount setup
    26de6cbc8 fix for issue 4026: set broadcast to 0.0.0.0 for /31 and /32
    c55353f84 use systemd dbus StartTransientUnit for unpriv cgroup2
    b203e1a14 Fix uninitialized read in parse_cap when libcap is not used
    e73520adf meson: Set DEVEL flag post release
    f4d02217e tools: Provide multicall lxc binary
    289d6413e meson: Generate compile commands by iterating over an array
    132ff8e28 lxccontainer: rework copy_file()
    f357cb290 lxccontainer: improve mod_rdep()
    b576a47d5 Read list until process exits

We also:

   - drop two patches that were backported
   - refresh the context of one

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-05-29 13:23:51 +00:00
Xiangyu Chen
8410846c0b lxc: fix broken test cases
Upstream dropped cgroup handling in lxc-test-usernic lxc-test-unpriv and
lxc-test-apparmor-mount to fix the broken cases.

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-04-09 14:08:26 +00:00
Xiangyu Chen
664e3573d4 lxc: adjust the lxc-test-unpriv running order
Some of lxc test cases can not full clean the system environment, that cause
lxc-test-unpriv cannot execute successfully.

Since those code in lxc are using for tests, so just adjust the cases order.

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-01-19 14:29:24 +00:00
Xiangyu Chen
25bbebeba0 lxc: templates/lxc-busybox.in: if busybox contains init then use it
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-03-17 15:41:16 -04:00
Xiangyu Chen
4d248c7383 lxc: add -L option for curl in templates-use-curl-instead-of-wget.patch
Add support of redirect option for curl, the
linuxcontainers.org sometimes redirect to
other mirror site such like us.lxd.images.canonical.com,
this would cause the lxc-download script report
download failed.

Reproduce and verified on following command:
lxc-create -t download -n test -- --dist archlinux --release current --arch arm64

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-03-17 15:38:36 -04:00
Xiangyu Chen
c3bd301d31 lxc: skip lxc-test-apparmor-mount and lxc-test-get_item in ptest
lxc-test-apparmor-mount and lxc-test-get_item related to apparmor,
since the lxc-test-apparmor has been already skipped, so also skip
those two cases.

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-03-08 17:06:58 -05:00
Bruce Ashfield
2119189361 treewide: bulk update patches with status field
While the insane.bbclass upstream-status check hasn't been made
default, users of meta-virtualization may have it enabled in their
distros .. so the effect is the same. We must have this tracking
tag in out patches.

This is a bulk update to add the tag and silence the QA message.

As packages get updated, the normal/routine process of checking
the patches will continue, and the status fields may (or may not)
get more useful.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-01-27 10:32:06 -05:00
Bruce Ashfield
51a891439b lxc: update to v5.0.2
We drop a patch that has been merged upsream, and also bump the
version to lxc-5.0.2, which comprises the following commits:

    d57173681 Release LXC 5.0.2
    17c85aac6 Fix build error on sparc64 caused by using the gold linker
    b7dfb1312 lxc-default-cgns apparmor profile: allow overlay mounts
    5cde898f4 lxc_user_nic: fix get_mtu() error handling
    80553b5b4 Patching an incoming CVE (CVE-2022-47952)
    1089f49c5 build: force linking against liblxc
    0d2a03118 checkconfig: Fix filesystem capability check
    e17429580 checkconfig: Tweak cgroup handling
    4ab76611d checkconfig: Tweak layout
    0bca9bb18 checkconfig: Hide version if no lxc-start
    957e0a5d9 checkconfig: Fix mixed tabs/spaces
    4916a16bd src/lxc/meson.build: fix build without apparmor
    a330126b4 build: use cc.get_define to detect FS_CONFIG_* symbols
    c89be8325 cgroups: fix cgroup layout detection in __initialize_cgroups
    7802f3647 state: additional check in lxc_wait to prevent OOB
    4b434bf52 cgroups: check snprintf retval in unpriv_systemd_create_scope
    0eca8d2ea cgroups: fix buffer out-of-bounds access in enable_controllers_delegation
    4ce8345d6 network: always initialize struct nl_handler
    28a1591cd apparmor: properly check lxc_strmmap ret value
    bd56c89ea github: fix coverity (add libpam-dev)
    a1ead0dcc github: fix coverity build
    9e35b3ecd conf: ensure mount tunnel is a dependent mount
    2ff447445 apparmor: allow shared mounts in start-container.in
    58e878209 conf: create separate peer group for container's root
    06b4612ee cgroups: only allocate user namespace if we have to
    2662959b8 cgroups: use userns_exec_full() during cgroup removal
    4dcc84c6b README: remove lgtm
    748720ceb tests: lxc-test-reboot: Fix build on ia64
    5749e2e20 Unroll IN_SET since the max usage is 2 elements check
    495b1bbf4 tests: lxc-test-checkpoint-restore: use trap to do cleanup
    77e08b887 tools: lxc-destroy: update help message for --force
    9165ff1ed lxc/attach: Detect EACCES from execvp and convert to 126 exit status
    011faff36 lxc-attach: Fix lost return codes of spawned processes that are killed
    931693945 Update README.md
    a6287882e conf: allow cross-device links
    8fa6d765a build(deps): bump actions/checkout from 2 to 3
    e08c1b740 Update cifuzz.yml
    0e9e64db8 fix error message when use tools with -? option
    f1a61a5f0 use sd_bus_call_method_async to replace the asyncv one
    ca863bd72 tree-wide: split open helpers into open_utils.h
    02900160c build: prevent the inclusion of linux/mount.h with a hack
    51b8763b0 mount_utils: remove conf.h include
    460243f40 mount: move mount utilities from syscall_wrappers.h into mount_utils.h
    d5d7e2036 tree-wide: minimize liburing.h inclusion
    e2b8776bb meson: fix docbook2x detection
    d1dfce9c5 tree-wide: use struct open_how directly
    c9bca3326 tree-wide: use struct clone_args directly
    497479ea3 tree-wide: wipe direct or indirect linux/mount.h inclusion
    02f4bd00f build: check for FS_CONFIG_* header symbol in sys/mount.h
    c222fb567 gitignore: Simplify
    22e8a7941 meson.build: strip newline for variable assignments
    d5600cf76 meson.build: strip newlines from git output
    7d6b53438 src/lxc/meson.build: fix the static library path
    1d5c7e771 build: drop build-time systemd dependency
    59f69162c build: only build init.lxc.static if libcap is statically linkable
    062c2d980 build: fix handling of dependancies to fix build on openSUSE
    2a9743bba cgroups: fix -Waddress warning
    e510d6bd8 build: detect sys/pidfd.h availability
    b7b269680 build: detect where struct mount_attr is declared
    5313e5048 meson.build: allow explicit distrosysconfdir
    0539095ac Release LXC 5.0.1
    a1329fefe README: update security mails
    315d4cec6 meson.build: fix build without stack-protector
    aba631cd4 meson.build: fix build with -Dcapabilities=false
    c2ee9b440 src/lxc/log.h: fix STRERROR_R_CHAR_P
    d441ee585 meson: add remaining still-in-use config checks
    00a79876b Store mount options in correct variable
    da0f35646 Fix off-by-one error constructing mount options
    31bff905a add check for statvfs
    242289b6b start: fix namespace sharing
    41f602361 conf: fix append_ttyname()
    ea4fd7f85 start: record inherited namespaces earlier to make it available for idmapped rootfs setup
    e74fd55bc start: don't overwrite file descriptors during namespace preservation
    dcfd75bb4 conf: log file descriptors on error during idmapped mount setup
    c3e648700 fix for issue 4026: set broadcast to 0.0.0.0 for /31 and /32
    cfcbdb75f use systemd dbus StartTransientUnit for unpriv cgroup2
    28726f215 Fix uninitialized read in parse_cap when libcap is not used
    d663495ee meson: Generate compile commands by iterating over an array

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-01-19 15:42:25 -05:00
Chen Qi
da285876dc lxc: fix compilation error for ARM/ARM64
There's compilation error when building lxc for ARM/ARM64 BSPs.
The error message is as below:

  | ../git/src/lxc/cgroups/cgfsng.c🔢111: error: incompatible
    type for argument 10 of 'sd_bus_call_method_asyncv'

The 10th argument is of type va_list but NULL is supplied, thus causing
compilation error.

So we use sd_bus_call_method_async to replace the asyncv one to
solve this issue.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-08-25 22:55:48 -04:00
Bruce Ashfield
05f316f70a lxc: update to 5.x and meson
This is a significant update to lxc as autotools has been replaced
with meson.

Not all existing autotools options have meson equivalents, so there
may be differences in functionallity.

As part of this update, and unused features have been dropped, mainly
when the meson equivalent was not available.

Basic / core functionality has been tested with systemd, sysvinit
requires more work, and patches will be accepted to restore that
capability.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-08-25 22:55:48 -04:00
Bruce Ashfield
3ca7a147e0 lxc: update to 4.0.12
We refresh our wget -> curl patch for context, but otherwise, no other
changes are required.

Bumping lxc to version lxc-4.0.12-8-g5ba5725cb, which comprises the following commits:

    5ba5725cb cgroups: modify cgroup2 attach logic
    1e4631641 ttys: ensure container_ttys= env variable is set correctly
    8ef019a6c doc: Fix reverse allowlist/denylist in Japanese man page
    f1c4a17e7 cgroups: log fd of newly created cgroup
    f7446b4e1 cgroups: check that opened file descriptor is a cgroup filesystem
    71ba7f656 doc: Fix reverse allowlist/denylist
    f314419d1 lxc-checkconfig: Fix bashism
    ca4c25c6e lxc-net: don't start by default inside lxc
    7e37cc96b Release LXC 4.0.12
    d678aa61e lxccontainer: allow xdev when creating the container dir
    bc61d2354 github: Clear default ACL on /home
    fb0e0b3dd github: add systemd-coredump
    53e0d390c github: more detailed compilation instructions
    db84a8b6b github: log system info
    e9282b6a6 github: ensure system liblxc is wiped
    ad8a3bd68 lxccontainer: properly wrap lxcapi_create()
    bceb81cd2 build: simplify thread local storage handling
    919da35b0 build: only enable LTO for regular builds
    d0a1e9c44 lxccontainer: simplify partial file creation
    62b5c0051 lxccontainer: improve create_partial()
    bfe24cb6a lxccontainer: improve do_lxcapi_create()
    1a5c236ac lxccontainer: improve do_lxcapi_save_config()
    bae0d7196 conf: log termination status
    4eb09aaad conf: improve userns_exec_mapped_root()
    928943280 github: stop installing gnupg now that it's unused
    7c70b0d14 lxc-download: Rely on HTTPS only
    199d2077c Update README.md: Fix broken link (403 Forbidden)
    0b6b230e3 attach: don't pointlessly call cgroup_init()
    dbef704fb commands: log command during file descriptor retrieval
    733f9c909 lxc-checkconfig.in: CONFIG_NF_NAT_IPV4 was removed from the kernel 2019-03-03
    ce392e230 (trivial) Fix error message, failure was connect not bind
    5628bff79 seccomp: close seccomp notifier fd in cleanup handler
    1f2af83a9 seccomp: only guard seccomp notify behind HAVE_DECL_SECCOMP_NOTIFY_FD
    9451303d5 api-extensions: don't advertise seccomp notify support if it's not compiled in
    23d07c315 use 2 sysfs instances for sys:mixed
    0dd3258bd Revert "api: ->save_config() doesn't need to create container dir"
    93edd510a api: ->save_config() doesn't need to create container dir
    28b2e04f1 cgroups: fix compiler warning
    15515f9a3 Revert "initutils: use vfork() in lxc_container_init()"
    41d2530d1 macro: ensure necessary io_uring flags are defined
    fc4e948c9 autotools: Avoid multiple liblxc.so with --enable-pam
    a616a311a build: refuse to compile with unsupported liburing version
    93be4e512 tests: add lxc.proc.* test
    d8027e49c tests: add lxc.sysctls.* test
    6f580343e test: improve logging helpers
    a10ff3418 conf: improve logging setting sysctl and /proc/<pid>/ parameters
    334cf7beb conf: apply /proc/sys and /proc/<pid>/ parameters
    1b74e01ad tests: include config.h
    c36379431 build: move _FILE_OFFSET_BITS to common option
    f24c234ee start: log signal name and number
    4915c9112 process_utils: add signal_name() helper
    78baec37d build: improve liburing support detection
    1a102b310 mainloop: make ifdefs easier to follow
    cf931928f Replace last occurence of 'which' with 'command -v'
    1ec5939b4 Replace deprecated backticks with $() construct
    fdfb4a13d Replace 'which' with 'command -v' in tests too
    71743e811 start: check event loop type before closing fd
    f69e6b4d3 mainloop: make sure that descr->ring is allocated
    1a8895855 Replace 'which' with 'command -v'
    9219277cc build: add io-uring-event-loop option
    d04eb166c build: add static libcap to output
    bc51048b7 confile: don't use path_simplify() on lxc.{execute,init}.cmd
    48728e988 conf: add cgroup2, cgroup2:ro, cgroup2:force, cgroup2:ro:force options
    4d3aad49d AUTHORS: Update to point to git history
    e328a988e conf: handle kernels without or not using SMT
    d40b0deb4 doc: fix typo in English lxc.container.conf(5)
    49fab27fc doc: Add lxc.sched.core to Japanese lxc.container.conf(5)
    1ad1cab80 doc: add loglevels to ja and ko common options
    1505f0780 conf: make it more obvious how auto-mount flags are defined
    429233cf0 criu: support restoring containers with pre-created veth devices
    48e079bf3 Release LXC 4.0.11

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-03-21 17:31:28 -04:00
Xu, Yanfei
3bff112a44 lxc: update to 4.0.11
update to 4.0.11

1.drop two patches that have been integrated to upstream repo.
2.drop tests-add-no-validate-when-using-download-template.patch
  because it is no longer appropriate as the "download" has been
  replaced with "busybox"
3.fix the apply failure of templates-use-curl-instead-of-wget.patch
4.update lxc from 4.0.10 to 4.0.11

Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-11-02 09:57:03 -04:00
sana kazi
807506c777 lxc: Fix -c command for lxc-attach
Added fix_c_command.patch the -c command seems to be broken because
the passed context is ignored and always overwritten by the context
specified in the config file.

Signed-off-by: Sana Kazi <Sana.Kazi@kpit.com>
Signed-off-by: Sana Kazi <sanakazisk19@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-09-16 18:18:28 -04:00
sana kazi
88a8ccb980 lxc: Enable seccomp support for lxc
Enabled seccomp support for lxc.
Also added a patch to enable seccomp.profile only when compiled with
libseccomp. Currently, seccomp.profile is silently ignored. This
could lead to the false impression that the seccomp filter is
applied while it actually isn't.

Signed-off-by: Sana Kazi <Sana.Kazi@kpit.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-09-09 14:44:51 -04:00
Bruce Ashfield
baa8c9cd62 lxc: update to 4.0.9
Bumping lxc to a newer 4.0 -stable release.

We drop two patches that have been integrated to the upstream repo, but
otherwise, things are the same.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-07-12 14:40:23 -04:00
Bruce Ashfield
ac03ddb8b4 lxc: add upstream-status to patch
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-18 22:29:57 -04:00
RameshkrishnanX Geddy Sekar
d65587d727 lxc-recipe: Fix compilation without seccomp when libseccomp is installed
Original URL:  https://github.com/lxc/lxc/pull/3623

Signed-off-by: RameshkrishnanX Geddy Sekar <rameshkrishnanx.geddy.sekar@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-18 20:10:00 -04:00
Bruce Ashfield
d10f21a722 lxc: update to 4.0.6
Updating to the next minor revision in the LTS.

We also drop two patches that are included in the main repository
as partof this bump.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-02-07 07:58:51 -05:00
Mingli Yu
d898bd1ca5 lxc: remove deprecated options in lxc*.service
Remove deprecated options in lxc*.service to silence below warning:
 # systemctl status lxc
 [snip]
 /usr/lib/systemd/system/lxc.service:17: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
 /usr/lib/systemd/system/lxc.service:18: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-10-01 23:08:10 -04:00
Bruce Ashfield
65abc719f3 lxc: update to v4.0.4
While we are updating, we refresh one patch to remove fuzz, otherwise
there are no significant changes.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-08-18 13:53:25 +00:00
Bruce Ashfield
a24ce339fd lxc: refresh patches to remove fuzz
The recent uprev of lxc left some fuzz in a patches. devtool refresh
cleans this up, and no runtime issues have been detected.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-04-14 15:57:19 -04:00
Yanfei Xu
660ffa675e lxc: uprev from 3.2.1 to 4.0.1
Update to the just released 4.0.1. And drop some patches contained
in this released.

Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-04-13 13:53:05 -04:00
Oleksii Kurochko
15e9fc23ec lxc: Backport patch that renames memfd_create() function
When Autotools makes configuration of LXC, the check of
the memfd_create() function fails because __stub_memfd_create and
__stub___memfd_create (The GNU C library defines this for functions
which it implements to always fail with ENOSYS) are defined in Glibc,
which leads to the fact that the macro HAVE_MEMFD_CREATE is not
defined and LXC provides defintion of the memfd_create() function as
static inline which in turn conflicts with a definition from
the <bits/mman-shared.h> file and causes an error:
| In file included from ../../../lxc-3.2.1/src/lxc/conf.c:79:
| <src_path>//lxc/syscall_wrappers.h:77:19: error: static declaration
| of 'memfd_create' follows non-static declaration
| | static inline int memfd_create(const char *name, unsigned int flags) {
| |                   ^~~~~~~~~~~~
| In file included from /usr/include/bits/mman-linux.h:111,
|                  from /usr/include/bits/mman.h:34,
|                  from /usr/include/sys/mman.h:41,
|                  from <src_path>/lxc-3.2.1/src/lxc/conf.c:42:
| /usr/include/bits/mman-shared.h:50:5: note: previous declaration
|  of 'memfd_create' was here
| | int memfd_create (const char *__name, unsigned int __flags) __THROW;
| |     ^~~~~~~~~~~~

Upstream PR: https://github.com/lxc/lxc/pull/3168 (merged)

Signed-off-by: Oleksii Kurochko <olkuroch@cisco.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:54:44 -05:00
Maximilian Blenk
b8c810c608 lxc: Backport patches for keyring options
The added patches allow to set the SELinux context for the session
keyring that is created by lxc. In addition it is possible to disable
the creation of a new session keyring completely.

Upstream PR: https://github.com/lxc/lxc/pull/3260 (merged)

If lxc is executed on a SELinux enabled system, these options can be
used to assign the expected label to the session keyring.

Signed-off-by: Maximilian Blenk <maximilian.blenk@bmw.de>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-13 17:21:41 -05:00
Joakim Roubert
468a24df91 templates/lxc-download.in: Use curl instead of wget
When curl's MIT license is preferable to wget's GPLv3. Which it is in
several situations.

Change-Id: I72ee1ce66493c564557b73fae80f5219ef83af6d
Signed-off-by: Joakim Roubert <joakimr@axis.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-18 13:53:26 -04:00
Yunguo Wei
af40c87298 lxc: restore the ability to move nl80211 device
nl80211 device can't be moved to another namespace due to
e389f2afd8509(start: unify and simplify network creation), and lxc
community has fixed this issue with:

commit 3dd7829433f63b2ec1323a1f237efa7d67ea6e2b lxc upstream

This patch is grabbing the commit above, and should be abandoned with
lxc uprev afterwards.

See more details here: https://github.com/lxc/lxc/issues/3105

Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-14 23:51:13 -04:00
Mingli Yu
87526423d5 lxc: Upgrade to 3.0.2
* Refresh patch to avoid fuzz warnings
* Update to 3.0.2 as lxc-destroy failed when
  system boot in nfs rootfs in lxc 3.0.1 as below:
  # lxc-destroy -n test9
  lxc-destroy: test9: utils.c: _recursive_rmdir: 149 Failed to delete /var/lib/lxc/test9
  lxc-destroy: test9: lxccontainer.c: container_destroy: 2946 Failed to destroy directory "/var/lib/lxc/test9" for "test9"
  Destroying test9 failed

  Update to 3.0.2 to fix the above issue

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-10-22 04:41:50 -04:00
Sinan Kaya
c9c0d5ef20 lxc: make error report compatible with ptest
ptest puts the test status at the beginning of the test. Follow
the style.

BEGIN: /usr/lib/lxc/ptest
 ### Starting LXC ptest ###
SKIPPED: lxc-test-apparmor
FAIL: lxc-test-attach
PASS: lxc-test-automount
FAIL: lxc-test-autostart
PASS: lxc-test-cgpath
PASS: lxc-test-cloneconfig
PASS: lxc-test-clonetest
PASS: lxc-test-concurrent
FAIL: lxc-test-console
PASS: lxc-test-containertests
PASS: lxc-test-createconfig
FAIL: lxc-test-createtest
FAIL: lxc-test-destroytest
PASS: lxc-test-device-add-remove
PASS: lxc-test-get_item
PASS: lxc-test-getkeys
PASS: lxc-test-list
PASS: lxc-test-locktests
PASS: lxc-test-lxcpath
PASS: lxc-test-may-control
PASS: lxc-test-reboot
PASS: lxc-test-saveconfig
SKIPPED: lxc-test-shutdowntest
PASS: lxc-test-snapshot
PASS: lxc-test-startone
PASS: lxc-test-utils

Results:
    PASSED = 19
    FAILED = 5
    SKIPPED = 2
(for details check individual test log in ./logs directory)

 ### LXC ptest complete ###
END: /usr/lib/lxc/ptest

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-10-16 10:25:40 -04:00
Jeremy Puhlman
6c354d1621 lxc: uprev 3.0.1
- Bug fix release
- Fixes gcc8 build failures
- Update patch for fuzz issues.
- remove --disable-python and --disable-lua as they have been removed

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-06-11 12:05:40 -04:00
Mark Asselstine
1a5853f87c lxc: use compiled tests instead of copying source building on target
The tests are already built when we do_compile so we only need to copy
them to the ptest path and create a wrapper script to run them. This
has the added benefit of reducing the size of the lxc package.

We have to manipulate the test sources some to remove gpg validation
and a few other minor changes, none of which actually change what is
being tested (notes are provided in the associated commit logs).

The following are the ptest results currently acheived:

    ### Starting LXC ptest ###
    ./tests/lxc-test-api-reboot FAIL
    ./tests/lxc-test-apparmor SKIPPED
    ./tests/lxc-test-attach PASS
    ./tests/lxc-test-automount PASS
    ./tests/lxc-test-autostart PASS
    ./tests/lxc-test-cgpath PASS
    ./tests/lxc-test-cloneconfig PASS
    ./tests/lxc-test-clonetest PASS
    ./tests/lxc-test-concurrent PASS
    ./tests/lxc-test-config-jump-table PASS
    ./tests/lxc-test-console PASS
    ./tests/lxc-test-console-log PASS
    ./tests/lxc-test-containertests PASS
    ./tests/lxc-test-createconfig PASS
    ./tests/lxc-test-createtest PASS
    ./tests/lxc-test-criu-check-feature PASS
    ./tests/lxc-test-destroytest PASS
    ./tests/lxc-test-device-add-remove PASS
    ./tests/lxc-test-get_item PASS
    ./tests/lxc-test-getkeys PASS
    ./tests/lxc-test-list PASS
    ./tests/lxc-test-locktests PASS
    ./tests/lxc-test-lxcpath PASS
    ./tests/lxc-test-may-control PASS
    ./tests/lxc-test-no-new-privs PASS
    ./tests/lxc-test-parse-config-file PASS
    ./tests/lxc-test-raw-clone PASS
    ./tests/lxc-test-reboot PASS
    ./tests/lxc-test-rootfs PASS
    ./tests/lxc-test-saveconfig PASS
    ./tests/lxc-test-share-ns PASS
    ./tests/lxc-test-shortlived PASS
    ./tests/lxc-test-shutdowntest SKIPPED
    ./tests/lxc-test-snapshot PASS
    ./tests/lxc-test-startone PASS
    ./tests/lxc-test-state-server SKIPPED
    ./tests/lxc-test-utils PASS

    Results:
        PASSED = 33
        FAILED = 1
        SKIPPED = 3
        (for details check individual test log in ./logs directory)

    ### LXC ptest complete ###

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-06-03 23:26:52 -04:00
Mark Asselstine
b6bccf42d1 lxc: fixup 'download' template use
We have a new dependency on 'mountpoint' which is now called in the
download template script. We also hit an upstream bug due to improper
use of 'mktemp', so we apply a patch to fix this and sent the fix
upstream as well.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-06-03 23:26:51 -04:00
Mark Asselstine
0d7cfe8660 lxc: uprev to v3.0.0
Update to the latest lxc release. This requires some minor patch
updates (fuzz and offset, not content) along with dropping a no longer
needed fix for gcc7 (gcc 7.3 is everywhere and is patched).

The ptests were already busted before the uprev so I was not able to
run them but I will follow up with a fix for this. I did run against
our usual usecases 'lxc-create', 'lxc-console', 'lxc-ls',
'lxc-destroy', 'lxc-start', 'lxc-execute', 'lxc-attach'... and there
were no issues (outcomes matched v2.0.8).

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-06-03 23:26:51 -04:00
Mark Asselstine
52f807ef78 lxc: cleanup the lxc-networking package
Adding missing RDEPENDS on iptables, the lxc-net service will fail
without this. Use the new 'pkg_postinst_ontarget_' instead of failing
out to signal runtime postinst scripts, this conforms with the latest
expectation for bitbake. The interfaces file is specific to sysvinit
and unneeded for systemd so block the creation of these files only
when building for sysvinit.

Lastly add a default 'lxc-net' file. Since we have a separate
lxc-networking package we can complete it with this configuration
which is sourced by '/etc/default/lxc' (which is part of the core lxc
package). In doing this we are like Debian when the lxc-networking
package is not installed in the image, and like Ubuntu when it is.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-05-29 10:27:53 -04:00
Mark Asselstine
00a801aee1 dnsmasq: add dnsmasq.d entries for lxc and libvirt
A while ago changes were merged to meta-openembedded to make
/etc/dnsmasq.d (and specifically the files it contains) referenced
when the main instance of dnsmasq is run (see dnsmasq.service and
commit ba665493a0dd [dnsmasq: allow for dnsmasq instances to reuse
default dnsmasq.conf]).

We, however, continued to modify the global configuration
(/etc/dnsmasq.conf) to keep the main instance of dnsmasq from
attaching to virbr0 and lxcbr0, by using 'bind-dynamic'. This approach
is problematic, since it is common that other instances of dnsmasq
will make use of the global configuration file and may have
incompatible options. We see this for example when attempting to start
lxc-net which will attempt to use 'bind-interface' which is
incompatible with 'bind-dynamic' that we were adding to the global
configuration.

Here we remove our change to the global configuration (leaving it
mostly empty as it should be) and instead have lxc and libvirt
packages instruct the global instance not to bind to virbr0 and lxcbr0
by adding configuration files to /etc/dnsmasq.d (setting
except-interface).

The added benefit to this approach is that if lxc or libvirt are not
part of an image the global configuration will not be modified in such
a way as to expect that they are present.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-12-28 11:12:26 -05:00
Mark Asselstine
6987659825 lxc: temporary workaround for gcc 7 issue
gcc 7 has a bug:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11672
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78969

In order to avoid the build failure that this causes we reduce the
range by one. Better to have a slight reduction in the range than
having nobody to be able to build and use lxc.

Once gcc is fixed this can be reverted.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-06-19 08:37:25 -04:00
Huang Qiyu
e73608d56e lxc: 2.0.0 -> 2.0.8
1)Upgrade lxc from 2.0.0 to 2.0.8.

2)Delete two patches, since it is integrated upstream.
  Delete Generate-lxc-restore-net-properly.patch,this script has already been rearchitected out of existence by cba98d127bf490b018a016b792ae05fd2d29c5ee

  Delete Use-AC_HEADER_MAJOR-to-detect-major-minor-makedev.patch,this script has already been rearchitected out of existence by af6824fce9c9536fbcabef8d5547f6c486f55fdf from git://github.com/lxc/lxc.git

3)Modify two patches, since the data has been changed.
  automake-ensure-VPATH-builds-correctly.patch
  runtest.patch

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-06-13 18:26:15 -04:00
Mark Asselstine
a9616ca504 lxc: fixup builds with newer glibc
The poky/oe-core commit [glibc: Upgrade to 2.25 snapshot] brought with
it a change that has apparently been in the works for a while, to move
major() and minor() definitions from <sys/types.h> to
<sys/sysmacros.h>. This version of glibc took the step of adding a
warning about this change which results in the build failure of lxc
since we build with -Werror:

  | lxclvm.c:139:13: error: In the GNU C Library, "major" is defined
  |  by <sys/sysmacros.h>. For historical compatibility, it is
  |  currently defined by <sys/types.h> as well, but we plan to
  |  remove this soon. To use "major", include <sys/sysmacros.h>
  |  directly. If you did not intend to use a system-defined macro
  |  "major", you should undefine it after including <sys/types.h>. [-Werror]
  |     major(statbuf.st_rdev), minor(statbuf.st_rdev));
  |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Instead of dropping -Werror we are opting instead to apply the
upstream fix for this since it is available and applies relatively
cleanly.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-02 15:55:38 -05:00
Bruce Ashfield
38cdaf39bf lxc: update to 2.0.0
2.0.0 is released, and contains many of the patches we've been carrying for
1.x.

With this updated, we drop upstream backports (and submitted patches), and
refresh on patch. Otherwise, everything is the same.

Sanity tested on x86-64.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2016-04-25 16:26:23 -04:00
fli
23459b9b70 meta-virtualization: enable lxc-start support wlan0
Cherry picked patch from lxc upstream commit:
f2e206ff47<lxc: let lxc-start support wlan phys>
to enable lxc-start command support wlan0 device
and make cube-essential support paththrough wlan
device from host to lxc containers.

Signed-off-by: fli <fupan.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2016-04-22 10:27:40 -04:00
Bogdan Purcareata
bffe56510c lxc: warning fixes in busybox template
Warnings fixes:
- optional mounts when dirs not available
- busybox dynamically linked
- fstab not available in container

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2016-03-29 12:35:41 -04:00
Bogdan Purcareata
f3e5987296 lxc: upstream fixes for lxc-execute
These patches address some warnings that LXC throws when running
an application container. They are currently applied in the official
repository.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2016-03-07 11:30:37 -05:00
Jim Somerville
49e29c7f83 lxc: logs: use base filenames when reporting src files
Problem:  Logs are nice in that they report the source file,
routine, and line number where an issue occurs.  But the
file is printed as the absolute filename.  Users do not
need to see a long spew of path directory names where the package
just happened to have been built on some host somewhere.  It
can be confusing to anyone other than the developer.

Solution:  Introduce a configure option to chop off all leading
directories so that just the source filename ie. basename is printed.

[ Upstream status:  Not needed.  These absolute filenames are a
  consequence of poky/bitbake feeding the absolute filenames to
  the compiler.  If you build lxc outside of poky/bitbake, just
  the basenames are fed to the compiler. ]

Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-10-02 08:52:48 -04:00
Jim Somerville
1e5442714a lxc: doc: fix broken manpage build
docbook2man fails to build the man pages in poky
due to missing the ancient Davenport 3.0 DTD.
Poky meta has the Oasis 3.1 version so upgrade
to use that instead.

Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-08-13 23:39:37 -04:00
Jim Somerville
fb380fd60f lxc: upgrade to version 1.1.2
This version has better support for unprivileged
containers.

Two patches are deleted as they are now included.
One new patch is introduced to fix a file not found error at
the install build step.

Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-07-14 14:32:07 -04:00
Bogdan Purcareata
c59f888d61 lxc: Add OpenSSH support for Busybox containers
Add command line parameter to create Busybox containers
with OpenSSH support. As a prerequisite, OpenSSH needs
to be installed on the host system.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-05-07 14:13:21 -04:00
Dmitry Eremin-Solenikov
23e15f52a0 lxc: fix building when B != S
If lxc is built not in the source dir, upstart files will fail to be
installed, because of Makefile error.

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-04-11 00:20:49 -04:00
Bruce Ashfield
1365af123e lxc: fix systemd init issues
To generate a proper systemd.service file we should use lxc's builtin
configuration option for the initscript type. To support both sysvinit
and systemd, we trigger off the DISTRO var and enable the proper init
system accordingly.

When properly configured, lxc will create helper scripts and install
the service file, so we can delete the explicit copy of the service
file and let the default rules trigger and install what is needed.

The helper files installed by lxc require a lsb function that is not
commonly available in the 'functions' library: "action". To ensure that
the helper scripts operate, we create a local action() routine with
the expected semantics.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-04-11 00:17:55 -04:00
Bogdan Purcareata
055742a99e lxc: Update support for seccomp on PPC architectures
Update the LXC recipe with the upstream-applied version of the patch.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-03-17 09:42:07 -04:00
Bogdan Purcareata
e1b0876fa9 lxc: Add support for seccomp on PPC architectures
Add the necessary bits to enable seccomp support for LXC running on PPC
architectures. libseccomp added support for PPC [1], yet to be applied to
Yocto/meta-security.

[1] https://github.com/seccomp/libseccomp/tree/working-ppc64

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-03-13 14:46:02 -04:00