summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/package_manager
Commit message (Collapse)AuthorAgeFilesLines
* Convert to new override syntaxRichard Purdie2021-08-022-2/+2
| | | | | | | | | | | | This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: Don't ignore installation failures in ↵Fabio Berton2021-06-291-5/+3
| | | | | | | | | | | | | | | | | | install_complementary When attempt_only flag is set to True all installation failures are ignored. Disable attempt_only, that is the default in install function, to raise error in install_complementary and to prevent do_populate_sdk task to treat errors as warnings. [RP: Historically some of our addtional packages were in bad shape and wouldn't all install. This is no longer the case so we shouldn't need a hack like this any longer.] (From OE-Core rev: 8042ad9ca91ddaaf741366e1068c63c284ff98f5) Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager/rpm: decode systemctl failuresArmin Kuster2021-06-011-0/+3
| | | | | | | | | | | Parse systemctl error to provide more info [Yocto #14395] (From OE-Core rev: 9d33a3ad68aeadd359e978b35097ece507a92b14) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/package_manager: Use shutil.copy instead of bb.utils.copyfile for interceptsRichard Purdie2021-05-061-1/+1
| | | | | | | | | | If the scripts/postinst-intercepts is owned by root/root then the copyfile() calls will fail due to chown issues. We don't care about ownership of these files so use shutil.copy() instead which won't perform any chown. (From OE-Core rev: 1a03c70c282b3445b93a4c70ea6d40a1778750c5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib/scripts: Use bb.utils.rename() instead of os.rename()Devendra Tewari2021-05-062-4/+4
| | | | | | | | | | | | | | | | | | Incremental build in Docker fails with: OSError: [Errno 18] Invalid cross-device link when source and destination are on different overlay filesystems. Rather than adding fallback code to every call site, use a new wrapper in bitbake which detects this case and falls back to shutil.move which is slower but will handtle the overlay docker filesystems correctly. [YOCTO #14301] (From OE-Core rev: 656a65b2b84e7d529b89cf5de7eb838f902d84a2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: apply postinstall on sdkhongxu2021-04-181-0/+4
| | | | | | | | | | | | | | | | | | | | | If not postinstall applied, some nativesdk command could not be found in sdk due to update-alternatives in postinst not be executed, such as chroot: $ which chroot /sbin/chroot $ which chroot.coreutils path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils After applying the fix $ which chroot path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot $ which chroot.coreutils path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils (From OE-Core rev: 2a9bf19502766baa4087456649d5471483d04f6a) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager/deb: Fix image generation with package removalRichard Purdie2021-02-161-0/+4
| | | | | | | | | | | | | | | | When building SDKs with the deb backend you could see errors like: Setting up nativesdk-python3-ndg-httpsclient (0.5.1-r0) ... mkdir: cannot create directory ‘/usr/lib/opkg’: Permission denied dpkg: error processing package nativesdk-python3-ndg-httpsclient (--configure): which is due to environment misconfiguration when removing packages. Fix this by setting the same environment variables as used for installation. (From OE-Core rev: f23c7e319a192ada14bb9a82822ef2967309aaea) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: Do not pass stderr to package manager as an argumentTomasz Dziendzielski2021-01-271-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | The cmd redirected stderr to stdout that was then assigned to variable with pkgs to install. Then this variable was passed to package manager that then tried to install it and generated confusing warnings. For example this variable could contain: | ['(en_US.UTF-8)', 'LC_ALL:', 'bash:', 'cannot', 'change', 'locale', 'setlocale:', 'warning:'] and the warning was: | WARNING: addon-bci-1.0-r0 do_populate_sdk: Unable to install packages. | Command 'PATH/usr/bin/opkg ... install (en_US.UTF-8) LC_ALL: bash: | cannot change locale setlocale: warning:' returned 255: | Collected errors: | * opkg_prepare_url_for_install: Couldn't find anything to satisfy '(en_US.UTF-8)'. In this change I remove stderr redirection to stdout and pass it to bb.note instead. (From OE-Core rev: 70d8ced3d7f53f988c02ff03d8dfa448f088fdf1) Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: ensure repodata is wipedRoss Burton2021-01-231-0/+3
| | | | | | | | | | | | | | | When building package indexes for RPM feeds, delete repodata first to be absolutely sure that the indexes are up to date. We've seen some mysterious failures where the repodata doesn't match the repository, so hopefully this will stop that happening. [ YOCTO #14190 ] (From OE-Core rev: 88cd40c08109bf732934fa4c8d602c701c1eb2a0) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: do not insert feed uris if apt not installedHongxu Jia2021-01-161-4/+9
| | | | | | | | | | | | | | | | | | | | | - The dir /etc/apt was created in package apt, if package apt was not installed, there is no need to insert package feed. Otherwise, it will fail with no such dir - Output the result of apt install - Explicitly trust the deb package repository from build This could avoid apt install warning: ... WARNING: The following packages cannot be authenticated! ... - Also trust the inserted deb package repository from PACKAGE_FEED_URIS (From OE-Core rev: 9ec65b77c9a4a0ba240117edee0e84208c58328e) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_ipk: allow do_populate_sdk in parallel to do_rootfsMichael Ho2021-01-131-0/+6
| | | | | | | | | | | | | | | Switch do_populate_sdk for the ipk package manager to use a separate target opkg config file and separate the lockfiles restricting do_rootfs and do_populate_sdk from running in parallel. This way if an image recipe includes a dependency to do_populate_sdk by default then it will run in parallel to do_rootfs saving time compared to the sequential execution. (From OE-Core rev: 8c210407d07483075a70c8b97ad52b5eae062c9c) Signed-off-by: Michael Ho <Michael.Ho@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager/ipk: improve remove_packaging_dataRoss Burton2020-12-061-2/+2
| | | | | | | | | | /var/cache/opkg wasn't being deleted, and /var/lib/opkg doesn't need to exist as there are no lockfiles that write into it after this step. (From OE-Core rev: 2209cef2cbe5fbdd5562f13f84ae2a3935f4fb61) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager/ipk: neaten OPKGLIBDIR logicRoss Burton2020-12-031-6/+1
| | | | | | | | | oe.path.join handles path components starting with / for us. (From OE-Core rev: ff003e076511fdbe9a6e775e987726dae43e2003) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package management: Allow dynamic loading of PMFredrik Gustafsson2020-11-2412-37/+38
| | | | | | | | | | | | | | | | | | | | | Dynamic loading of package managers will allow other layers to simply add their package manager code in package_manager/ and have bitbake find it according to the package manager configuration. This is useful for adding new (faster) package managers to Open Embedded while not increasing the test scope or require Open Embedded to support more package managers. How this is tested: * Build core-image-minimal with all three package managers * Build the sdk with all three package managers. dpkg fails, but it fails on master as well. * Run the complete test suite, all tests passed except 16 * Run those 16 tests on master and verify that they fail there as well * Fix errors making tests works on master but not with this patch. (From OE-Core rev: 02670501dea192879ddf9f8048eea57a94719fc1) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: export INTERCEPT_DIR for remove actionsRichard Leitner2020-10-311-0/+2
| | | | | | | | | | | | | | | | | During the do_populate_sdk task apt-get purge is called by deb's remove function. This fails with error messages similiar to the following one if any of the included packages uses intercepts as the INTERCEPT_DIR isn't exported: .../*.postinst: line 4: /postinst_intercept: No such file or directory Therefore fix it by exporting the INTERCEPT_DIR variable within the remove function. (From OE-Core rev: f18adf53dd4bf5dd3adef82b2dcc34a6cdfd0c89) Signed-off-by: Richard Leitner <richard.leitner@skidata.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: replace deprecated apt force-yes argumentRichard Leitner2020-10-301-1/+1
| | | | | | | | | | | | | | apt-get deprecated --force-yes in favor of various options starting with --allow [1]. Replace it to avoid the following warning: W: --force-yes is deprecated, use one of the options starting with --allow instead. [1] https://salsa.debian.org/apt-team/apt/-/blob/master/debian/changelog (From OE-Core rev: 4af737e2643f498d1ff4c387207bd8c4f3d405b8) Signed-off-by: Richard Leitner <richard.leitner@skidata.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* IMAGE_LOCALES_ARCHIVE: add option to prevent locale archive creationMichael Thalmeier2020-10-131-6/+7
| | | | | | | | | | | | Under some circumstances it is not desirable to create a combined locale archive (/usr/lib/locale/locale-archive). The new variable IMAGE_LOCALES_ARCHIVE defaults to '1', so the default behaviour is not changed. (From OE-Core rev: 8d78b819c2ec33fce3a34254fa90864ee5fa7617) Signed-off-by: Michael Thalmeier <michael.thalmeier@hale.at> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/package_manager: Fix missing importsRichard Purdie2020-08-018-5/+15
| | | | | | | | | The package_manager code rearranging had some issues with module imports that were now missing. Fix all the ones I could spot from quick inspection. (From OE-Core rev: 287eccd7af7d97604ca68d456c23655fd1b6c40b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: Move package manager to its own dirFredrik Gustafsson2020-07-274-489/+490
| | | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. RP: Fixes to parse/build (From OE-Core rev: 510d5c48c0496f23a3d7aede76ea8735da2d371d) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ipk: Move package manager to its own dirFredrik Gustafsson2020-07-274-434/+504
| | | | | | | | | | | | This is part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. RP: Fixes to parse/build (From OE-Core rev: 3ef5a3c885e1010cddfe7eba1cd3728f15270d78) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Move package manager to its own dirFredrik Gustafsson2020-07-274-400/+403
| | | | | | | | | | | | This is part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. RP: Fixes to parse/build (From OE-Core rev: 8b776ed9ed291dd8e112621561762449c7eb5ee2) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: Move sdk to its own dirFredrik Gustafsson2020-07-271-0/+95
| | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: 2b305d5f48be84b6362be850d6e0b2bd7f4691ce) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ipk: Move sdk to its own dirFredrik Gustafsson2020-07-271-0/+96
| | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: 3f9cec50065eec5a02ffcc8ccc2986f2027b44b5) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Move sdk to its own dirFredrik Gustafsson2020-07-271-0/+114
| | | | | | | | | | | This is part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: 75066e78d92a23516fd9c6d538c4f991d1504839) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: Move rootfs to its own dirFredrik Gustafsson2020-07-271-0/+209
| | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: abadf053371ce863bf21b4a9474eb61761545de1) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ipk: Move rootfs to its own dirFredrik Gustafsson2020-07-271-0/+386
| | | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. RP: Fixes to parse/build (From OE-Core rev: 67fa086589bae484a9beca50b627b007766dcb93) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Move rootfs to its own dirFredrik Gustafsson2020-07-271-0/+148
| | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: e4f07444276a88f336d5fe5e60688fcfb2f22df7) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: Move deb manifest to its own subdirFredrik Gustafsson2020-07-272-0/+29
| | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: f8ee8bc737a982001b9fd0ad441495a52f12e9b4) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ipk: Move ipk manifest to its own subdirFredrik Gustafsson2020-07-272-0/+76
| | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: 405cd8560fed2e05fc82919d728c42516793cc0f) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Move manifest to its own subdirFredrik Gustafsson2020-07-272-0/+57
| | | | | | | | | | | This is a part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: 87a1c8ee406f73e53888df3b682e8a5f0f610c2f) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager: Move to package_manager/__init__.pyFredrik Gustafsson2020-07-271-0/+1863
This is part of a refactor that will split the package manager code so that it's possible to use other package managers in other layers. (From OE-Core rev: 66ccc7a228bf73df0a4dd846bf2c8e99eaa79580) Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>