summaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* wic: Report all ROOTFS_DIR artifactsJoão Henrique Ferreira de Freitas2014-03-303-4/+28
| | | | | | | | | | When a .wks has more than one ROOTFS_DIR it's better to report all ROOTFS_DIR that was used to create the image. (From OE-Core rev: a8762f3be215678a6806cabe49647083f42323a8) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add option --rootfs-dir to --sourceJoão Henrique Ferreira de Freitas2014-03-301-0/+6
| | | | | | | | | | | | | | | The '--rootfs-dir' option is optional and only takes efect is a partition is set up like this: part /standby --source rootfs --rootfs-dir=<special rootfs> ... So '--rootfs-dir' is used instead of bitbake ROOTFS_DIR variable or '-r' param. (From OE-Core rev: d486db593e6643bd10b8fe90257d547a9f341043) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Use partition label to be part of rootfs filenameJoão Henrique Ferreira de Freitas2014-03-301-2/+2
| | | | | | | | | | | | | | | | | | When a partition from .wks file is set up like this: part /standby --source rootfs --rootfs-dir=<special rootfs> ... --label \ --label secondary This means that 'rootfs' must use '<special rootfs>' as rootfs and the default partition filename in /var/tmp/wic/build/ will be create using the '--label' as part of the name. E.g: /var/tmp/wic/build/rootfs_secondary.ext3 (From OE-Core rev: c7efb3a21618ce3069811042279a0d898237ac0f) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add rootfs_dir argument to do_prepare_partition() methodJoão Henrique Ferreira de Freitas2014-03-303-3/+3
| | | | | | | | | | | | | | | The do_prepare_partition() method from RootfsPlugin class need to know what will be the rootfs_dir. This makes sense when .wks file has a partition set up like this: part /standby --source rootfs --rootfs-dir=<special rootfs> ... then do_prepare_partition() will work with the correct rootfs. (From OE-Core rev: 6042b097a8fc24f2b85eb9848fb007a3c6c090a9) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Hook up RootfsPlugin pluginJoão Henrique Ferreira de Freitas2014-03-301-16/+12
| | | | | | | | | | | | | Remove the 'rootfs' case when internal call code is used and replace to call the general-purpose plugin. For now RootfsPluing class continues to invoke prepare_rootfs() method from Wic_PartData. However RootfsPlugin could implement them. (From OE-Core rev: 26cd93b79318cbfaebb971d1e728041904e015f1) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add RootfsPluginJoão Henrique Ferreira de Freitas2014-03-301-0/+58
| | | | | | | | | | | | | Implement RootfsPlugin class. The do_prepare_partition() method is implemented using code in Wic_PartData class. This class have 'rootfs' name, which is the name that should be used in the --source parameters of the .wks partition commands. (From OE-Core rev: 68dd66849bbaca6e3a0cf00beec0dba1c08e9070) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Fix bitbake_env_command for 'None' caseTom Zanussi2014-03-301-1/+4
| | | | | | | | | | bitbake_env_command will choke if it isn't given an image, make sure it does the right thing in that case. (From OE-Core rev: a17f879cd5bc7401597ccee908801f8e3efa34c0) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: Update after addtion of parameter to bitbake -SRichard Purdie2014-03-272-2/+2
| | | | | | (From OE-Core rev: fe2692c1ad1fcdbcdbc0ba419db8ff9ddb390fa7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add SD/MMC-Cards support to '--ondisk' paramJoão Henrique Ferreira de Freitas2014-03-271-2/+6
| | | | | | | | | | | | The special case when wic is set up to use SD/MMC-Cards in place of sdX disks is not handled properly. Append 'p' to the rootdev when disk is SD/MMC-Cards fix this situation. (From OE-Core rev: 3a95c4549f743aa47456c76e687a863c64c7a7f4) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: sync module dependencies from 2.7Paul Eggleton2014-03-211-3/+3
| | | | | | | | | | These have been added recently to 2.7 but were missing in the 3.3 script/inc file. (From OE-Core rev: 4669afac1004a89e6b87ec46136ca3e7448700d4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* generate-manifest-3.3.py: sync descriptions with 2.7 versionPaul Eggleton2014-03-211-55/+55
| | | | | | | (From OE-Core rev: 081bc11c347d11d285f2948127bca81a285ada84) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Add option for custom BIOS directoryRicardo Neri2014-03-211-0/+19
| | | | | | | | | | | | | | | | | | | Add support to specify a directory for custom BIOS, VGA BIOS and keymaps as supported by qemu (-L option). Even though this can be done through qemuparams, having this option provides better user experience by not having to specify a long and cluttered path along with other qemuparams that the user might want to specify. This new options assumes first that the path provided is relative to OECORE_NATIVE_SYSROOT and will check whether it exists before proceeding. If not, it will treat the provided path as absolute. This provides the user flexibility to use BIOS binaries generated inside or outside the OE build environment. (From OE-Core rev: d302f5683dd736ac4cd4b601a046d22000d41e68) Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/cleanup-workdir: Fix a comment typoOtavio Salvador2014-03-211-1/+1
| | | | | | | | | s/Romve/Remove/ (From OE-Core rev: 5f8924a8f76f314e3741dad6ab567452ae117114) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* generate-manifest-2.7.py: sync with python-2.7-manifest.incPaul Eggleton2014-03-211-59/+59
| | | | | | | | | | Some changes were made earlier by me to SUMMARY values in python-2.7-manifest.inc without changing the manifest script. (From OE-Core rev: 45779941cec4f53a8ca7f8350402e5d9e866c916) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* generate-manifest-*.py: set SUMMARY instead of DESCRIPTIONPaul Eggleton2014-03-212-4/+4
| | | | | | | | | | Typically what's being set here is a short description, so it makes much more sense to set SUMMARY. (From OE-Core rev: d3941c88e2639637a8bc0b2c31c1d892d2ae40e3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: add python-mmap to python-multiprocessing RDEPENDSPaul Eggleton2014-03-211-1/+1
| | | | | | | | | | | The multiprocessing module needs the mmap module. We got away with not having this for the build appliance because python-mmap was added to packagegroup-self-hosted, but this is the proper place to have it. (From OE-Core rev: 1c031c627a362b3f18ffa2e9caeb6cfb299b9948) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Use pseudo for ext mkfs commandTom Zanussi2014-03-121-1/+1
| | | | | | | | | | The switchover from populate-exfs.sh to mke2fs forgot to preserve pseudo, add it back. (From OE-Core rev: 032309928f931b32cf63a0ebf174de029ba17401) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Use mke2fs to create the ext2/3/4 imageJoão Henrique Ferreira de Freitas2014-03-121-4/+2
| | | | | | | | | | | OE-core commit f3a95ca6886b55e5819b068bdbd2cceb882d91a6 removed the populate-extfs.sh. So mke2fs should be used to create ext2/3/4 image. (From OE-Core rev: 4dea928eef325364922b1e0cbabc2a581356e804) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-setup-builddir: small reworkMatthieu Crapet2014-03-121-23/+24
| | | | | | | | | | | | | | | | | Changes: - drop useless subshell creation in test: if ! (test -r "$BUILDDIR/conf/local.conf"); then$ - replace "source" builtin by "." (bashsism) - fix indentation 4 spaces (drop some tabs too) - fix return => exit (return is not allowed in main) - drop "sed -i" (doesn't exist in BSD sed) - for homogeneity, always use [ ] (instead of test) - replace old [ "x" = "x$VAR" ] by [ -z "$VAR" ] (From OE-Core rev: 3a116577446f02bda0ef4e035360293ff73c9eef) Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-setup-builddir: Keep track of TEMPLATECONF settingGary Thomas2014-03-111-1/+9
| | | | | | | | | | | | | | | | | Keeping track of the TEMPLATECONF variable in the build tree will let this script produce the same output when listing 'conf-notes.txt' every time the script is run, regardless of whether or not TEMPLATECONF has been provided by the user. Note that the default value for TEMPLATECONF now comes from an easily customizable file $OEROOT/.templateconf (From OE-Core rev: 4474357faf2cbca250e99630d749776fbc80d44b) Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: add lnr (link relative)Ross Burton2014-03-071-0/+21
| | | | | | | | | | | | lnr is a simple script to generate relative symlinks from absolute paths, similar to "ln -r" but without requiring coreutils 8.16 (Ubuntu 12.04 and others currently ship 8.13). (From OE-Core rev: 6ae3b85eaffd1b0b6914422e8de7c1230723157d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management.sh: Don't use echo -nMartin Jansa2014-03-051-9/+9
| | | | | | | | | | * when debug is enabled it causes more confusion than what it's gaining without debug enabled (From OE-Core rev: 53899da20cd439ae53974e507f3dd86cd6879455) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management.sh: Allow to remove old .siginfo and .done files for ↵Martin Jansa2014-03-051-45/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | all tasks * this allows to remove them even for tasks without sstate archives (e.g. rm_work, multilib_install, ..) whole list of tasks found in one of my sstate-cache directories: sstate:xxx_boostconfig.tgz ... 6 sstate:xxx_bundle_initramfs.tgz ... 31 sstate:xxx_compile.tgz ... 47894 sstate:xxx_compile_kernelmodules.tgz ... 31 sstate:xxx_compile_ptest_base.tgz ... 68 sstate:xxx_configure.tgz ... 48247 sstate:xxx_configure_ptest_base.tgz ... 68 sstate:xxx_deploy.tgz ... 8 sstate:xxx_evacuate_scripts.tgz ... 58 sstate:xxx_fetch.tgz ... 7045 sstate:xxx_generate.tgz ... 812 sstate:xxx_generate_qt_config_file.tgz ... 576 sstate:xxx_generate_toolchain_file.tgz ... 219 sstate:xxx_install.tgz ... 48273 sstate:xxx_install_locale.tgz ... 58 sstate:xxx_install_ptest_base.tgz ... 68 sstate:xxx_kernel_checkout.tgz ... 14 sstate:xxx_kernel_configcheck.tgz ... 34 sstate:xxx_kernel_configme.tgz ... 17 sstate:xxx_kernel_link_vmlinux.tgz ... 30 sstate:xxx_make_scripts.tgz ... 42 sstate:xxx_multilib_install.tgz ... 29 sstate:xxx_package.tgz ... 13848 sstate:xxx_package_write_ipk.tgz ... 4615 sstate:xxx_packagedata.tgz ... 4613 sstate:xxx_pam_sanity.tgz ... 3 sstate:xxx_patch.tgz ... 7883 sstate:xxx_populate_adt.tgz ... 28 sstate:xxx_populate_ide_support.tgz ... 33 sstate:xxx_populate_lic.tgz ... 1718 sstate:xxx_populate_sysroot.tgz ... 5094 sstate:xxx_prepare_qmake_symlink.tgz ... 6 sstate:xxx_prepsources.tgz ... 168 sstate:xxx_rm_work.tgz ... 107630 sstate:xxx_rm_work_all.tgz ... 52563 sstate:xxx_rootfs.tgz ... 13 sstate:xxx_sanitize_sources.tgz ... 8 sstate:xxx_sizecheck.tgz ... 31 sstate:xxx_strip.tgz ... 31 sstate:xxx_uboot_mkimage.tgz ... 31 sstate:xxx_unpack.tgz ... 7857 sstate:xxx_unpack_extra.tgz ... 6 sstate:xxx_validate_branches.tgz ... 14 * with this patches most of these files are removed as well Figuring out the sstate:xxx_compile ... (0 from 0 .tgz files for compile suffix will be removed or 42310 from 47795 when counting also .siginfo and .done files) (From OE-Core rev: 66c6505e7ee0ea2efa13d1257982f721b26d83ae) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management: improve shown numbers of removed filesMartin Jansa2014-03-051-22/+26
| | | | | | | | | | | | | | | | | | | | * deleted files were counting .siginfo and .done files, but total_files were counting only .tgz archives so it could show confusing output like: Figuring out the sstate:xxx_packagedata.tgz ... (21098 from 15162 files for packagedata suffix will be removed) * split the counts and show both * fix .sigdata sometimes used instead of .siginfo * this will also show new "suffixes" which have only .siginfo files but no .tgz, e.g.: Figuring out the sstate:xxx_rm_work.tgz ... (0 from 0 .tgz files for rm_work suffix will be removed or 0 from 107630 when counting also .siginfo and .done files) because now we're storing siginfo files from all intermediate tasks, but they are not being removed by this script (From OE-Core rev: ec881997c748ed8bfb3fc75797367ce3599bd5b4) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Use readlink instead of realpathSaul Wold2014-02-251-1/+1
| | | | | | | (From OE-Core rev: 5a4b5c6b8ebd5f8d29888aafcd9608e03717bcd5) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Ensure ROOTFS path is absoluteSaul Wold2014-02-211-1/+3
| | | | | | | | | | | | There is a problem if a relative path is passed to the kernel for NFS usage that it will not correctly find it, so ensure that the ROOTFS path is absolute. [YOCTO #2807] (From OE-Core rev: 5722be0ddda4ec3c96c06b425e5c7e0194326253) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Make exec_native_command() fail if a command isn't foundTom Zanussi2014-02-201-2/+9
| | | | | | | | | | | | | | | | | | Because exec_cmd() return values can in certain cases be non-zero yet non-fatal, we don't want to automatically make them fatal (though there should at least be a warning in such cases, which this patch also does); non-zero return values are definitely fatal however if they mean that a native command wasn't found, so have exec_native_cmd() check the return value of exec_cmd() for that case, and bail out if so. [YOCTO #5835] (From OE-Core rev: 43ac6e3216c5d985d6f90a28e727e397df616267) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Fix exec_native_cmd() pathTom Zanussi2014-02-201-1/+1
| | | | | | | | | | | The path exported in exec_native_cmd() includes bogus 'PATH=' which means the native paths for all but the first will be ignored. (From OE-Core rev: e10c1102d958ffc6b521fb36c6bc51d896503218) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-export-rootfs: Fix missing # in commentSaul Wold2014-02-201-1/+1
| | | | | | | (From OE-Core rev: 38785af0ca0b020574b32b9e3b21129469a35c94) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake-prserv-tool: make help text show .conf suffixKoen Kooi2014-02-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 'export' will accept any output filename, but 'import' needs a '.conf' suffix to work. Otherwise you'll get: koen@beast:/build/v2013.12$ bitbake-prserv-tool import x.txt ERROR: Traceback (most recent call last): File "/build/v2013.12/sources/bitbake/lib/bb/cookerdata.py", line 162, in wrapped return func(fn, *args) File "/build/v2013.12/sources/bitbake/lib/bb/cookerdata.py", line 172, in parse_config_file return bb.parse.handle(fn, data, include) File "/build/v2013.12/sources/bitbake/lib/bb/parse/__init__.py", line 100, in handle raise ParseError("not a BitBake file", fn) ParseError: ParseError in x.txt: not a BitBake file ERROR: Unable to parse x.txt: ParseError in x.txt: not a BitBake file Importing from file x.txt failed! (From OE-Core rev: 704878ba025fda931be6accbb74cfdb14ffb55e9) Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: add ability to skip using an existing tap deviceScott Garman2014-02-171-1/+5
| | | | | | | | | | | | | | Support the sitauation where a user could have another VM running which uses tap devices. To prevent runqemu from trying to use the same tap device, runqemu will skip using a tap device if it finds a filename tapX.skip within its lock directory. This fixes [YOCTO #5815] (From OE-Core rev: 2e490f3b08176b20fe41c64cf17ecf3b5af61f39) Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* report-error.bbclass: new class to save build information when errors occurAndreea Proca2014-02-141-0/+78
| | | | | | | | | | | | | | | | | Class is used to save data about errors after every task that failed. Errors saved as json files in ERROR_REPORT_DIR (defaults to tmp/log/error-report). To use this class one has to add INHERIT += "report-error" to local.conf. scripts/send-error-report is a simple script that sends the json file to a HTTP server that collects data (git://git.yoctoproject.org/error-report-web is a Django web interface that can be used to receive and visualize the error reports). The script will give you an URL where you can find your report. (From OE-Core rev: f186b4c7c6c975638e60b30a512d669dc6dc390f) Signed-off-by: Andreea Proca <andreea.b.proca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: enforce right CPU type for qemux86/x86-64Cristian Iorga2014-02-132-8/+14
| | | | | | | | | | | Set in accordance with qemu machines configs. Fixes [YOCTO #5817]. (From OE-Core rev: 0e5cfef90ff762b33da6dc301dfc9cb3947c8a02) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/postinst-intercepts: do not redirect errors to /dev/nullLaurentiu Palcu2014-02-112-2/+2
| | | | | | | | | | | | | The redirection was necessary with the old bash code because the log checking routine was searching for error strings in the log and abort the build in case failures occured. With the new python code, redirecting the intercept stderr is no longer necessary. This also makes the intercept hooks easier to debug. (From OE-Core rev: e2c3c59b26d84cd4052a953adafcd4d456264c26) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-selftest: return based on the test resultsStefan Stanacar2014-02-091-2/+4
| | | | | | | | | | Regardless if the tests passed or not the script returned 0, which isn't what one would expect. (From OE-Core rev: c38f943c7fbb1fc077c875099dce8f73f41043b9) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Honor --size for --source partititionsTom Zanussi2014-02-094-10/+68
| | | | | | | | | | | | | | Instead of simply creating partitions large enough to contain the contents of a --source partition (and adding a pre-specified amount of padding), use the --size used in the partition .wks statement. If --size isn't used, or is smaller than the actual --source size, retain the current behavior. (From OE-Core rev: 23b6c5ea4d48cdf731e5202991961a0e4b10ff29) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Hook up --debug optionTom Zanussi2014-02-042-9/+7
| | | | | | | | | | | Hook up the existing --debug option to toggle the wic debug loglevel, which is indispensible when things go wrong, and make it easy to use from the command-line. (From OE-Core rev: a5ece6f37656fa56b97fd8faf52917345238d015) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Hook up BootimgEFIPlugin and BootimgPcbiosPlugin pluginsTom Zanussi2014-02-046-279/+86
| | | | | | | | | | | | | | | | | | | Remove all the Wic_PartData and DirectImageCreator code now implemented by the BootimgEFIPlugin and BootimgPcbiosPlugin plugins, as well as all the special-cased boot_type code, significantly cleaning up the code. Replace the calling code with general-purpose plugin invocations, in essence calling the appropriate implementations at run-time based on the --source value in effect. Change the directdisk.wks and mkefidisk.wks scripts to make use of the new plugins. (From OE-Core rev: 43558610a5793888ff2b18bd3a27c7ab558e5ad0) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add BootimgEFIPlugin and BootimgPcbiosPluginTom Zanussi2014-02-042-0/+348
| | | | | | | | | | | | | | | Implement the BootimgPcbiosPlugin and BootimgEFIPlugin SourcePlugin classes. The configure/prepare_partition() methods are implemented using code derived from similar code in the Wic_PartData class. These classes have the corresponding names 'bootimg-pcbios' and 'bootimg-efi', which are the names that should be used in the --source parameters of the .wks partition commands. (From OE-Core rev: 6e147488b40f730e07f1e0f232083ed75388daa0) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add SourcePlugin classTom Zanussi2014-02-042-3/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define the SourcePlugin class, which is the class that should be subclassed to create a 'source' plugin. 'Source' plugins provide a mechanism to customize various aspects of the image generation process in wic, mainly the contents of partitions. The initial version of wic defined a --source param for partitions, which was in the first revision hard-coded to two possible values: rootfs and bootimg. This patch essentially removes the hard-coded --bootimg param and replaces it with a plugin system that maps the value specified as --source to a particular 'source' plugin instead. A 'source' plugin is created as a subclass of SourcePlugin and the plugin file containing it is added to scriptsl/lib/mic/plugins/source/ to make the plugin implementation available to the wic implementation. When the wic implementation needs to invoke a partition-specific implementation, it looks for the plugin that has the same name as the --source param given to that partition. For example, if the partition is set up like this: part /boot --source bootimg-pcbios ... then the methods defined as class members of the plugin having the matching .name class member would be used. To be more concrete, here's the plugin definition that would match a '--source bootimg-pcbios' usage, along with an example method that would be called by the wic implementation when it needed to invoke an implementation-specific partition-preparation function: class BootimgPcbiosPlugin(SourcePlugin): name = 'bootimg-pcbios' @classmethod def do_prepare_partition(self, part, ...) If the subclass itself doesn't implement a function, a 'default' version in a superclass will be located and used, which is why all plugins must be derived from SourcePlugin. This scheme is extensible - adding more hooks is a simple matter of adding more plugin methods to SourcePlugin and derived classes. The code that then needs to call the plugin methods the uses plugin.get_source_plugin_methods() to find the method(s) needed by the call; this is done by filling up a dict with keys containing the methon names of interest - on success, these will be filled in with the actual methods. fPlease see the implementation for examples and details. Note that a source plugin need not restrict itself to methods that apply directly to partitions - methods can also be defined for higher level processing such as at the 'disk' level. The get_default_source_plugin() of DirectImageCreator allows the default source plugin to be retrieved; by default this is set to be the same plugin used for the /boot partition, but that can be overridden by specifying a different --source and therefore different plugin on the 'bootloader' line. This isn't ideal, but it avoids forcing a new high-level object to be defined for that purpose. Note that the '--source rootfs' param remains as its current hard-coded value, which is just the rootfs to be used to populate the partition - by default, that's just the value of the bitbake ROOTFS_DIR variable (or whatever was passed in using the -r param). Note that this also could also be overridden by creating a source plugin using a different name; at this point, unlike with bootimg, there's been no need to do so. (From OE-Core rev: 663833d8ecccb36ab42150bc5c9c00be79fa5b93) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add wic-specific bootloader subclassTom Zanussi2014-02-043-2/+65
| | | | | | | | | | | | | Add a new wic-specific bootloader subclass so we can add a --source param to hang non-partition plugin off of. By default, the bootloader gets the /boot partition source plugin, but this can be overridden by the --source bootloader param if needed. (From OE-Core rev: f90e4097c4e69d4f61c69923cb5d1ebb6b74d2ff) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Create and use new functions for getting bitbake variablesTom Zanussi2014-02-043-5/+37
| | | | | | | | | | Add get_bitbake_var() and bitbake_env_lines() functions for use by plugins, which will need access to them for customization. (From OE-Core rev: f0bb47b0d7ab6520c105ce131844269172de3efd) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Move some common items to oe.miscTom Zanussi2014-02-043-13/+12
| | | | | | | | | | Move a couple items into a more common location since they're going to need to be accessible from source plugins. (From OE-Core rev: 95ca523949e838850b5afa090ba16f91b8557c12) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* generate-manifest-3.3.py: Add script to generate python 3.3 manifestsKhem Raj2014-02-021-0/+380
| | | | | | | | | | | Bases on python 2.7.x generator Package collections/ in python-core (From OE-Core rev: 468115573275d6c32924e56bff660b9f6d38de84) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management.sh: don't remove all packagedata sstate archivesMartin Jansa2014-02-021-1/+1
| | | | | | | | | | | | | | | | * packagedata task was introduced in: commit 6107ee294afde395e39d084c33e8e94013c625a9 Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Wed Jan 23 14:27:33 2013 +0000 Subject: Split do_packagedata task from do_package * rm_by_stamps wasn't using do_packagedata or do_packagedata_setscene stamp files to find which sstate archives to keep, so it was removing all of them (From OE-Core rev: 66ef2e62a7b5fe36c718f56a8ea9d7f6fd77c393) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management.sh: Fix available architecturesMartin Jansa2014-02-021-16/+33
| | | | | | | | | | | | | | | | | | | | * grep for AVAILTUNES isn't enough in cases where AVAILTUNE doesn't match exactly with TUNE_PKGARCH, e.g. AVAILTUNE "cortexa8thf-neon" and TUNE_PKGARCH "cortexa8t2hf-vfp-neon", instead of trying to find dynamically every available TUNE_PKGARCH (we have _a lot_ of them even with oe-core only), add parameter --extra-archs where user can define extra architectures he supports in given build * Don't replace '-' with '_' for extra-archs, it does apply to MACHINE names and some AVAILTUNES, but e.g. cortexa8thf-neon shouldn't be converted to cortexa8thf_neon * Add empty architecture for populate_lic sstate archives * Add ${build_arch}_${arch} combinations for toolchain recipes (e.g. gcc-cross is using x86_64_i586 (From OE-Core rev: a27cc54fb2d0e59f3a800893c1848cb26a7c5335) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management.sh: Show total number of files when showing how many ↵Martin Jansa2014-02-021-2/+8
| | | | | | | | | | | | will be deleted * it's good to see some the ratio of delted files until now it was showing only when all or none files were to be removed (From OE-Core rev: 54e6e25f1a369fa6c21ce0f9db3479b1a481825f) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management.sh: Fix rm_by_stamps() to work after SSTATE_SWSPEC ↵Martin Jansa2014-02-021-3/+3
| | | | | | | | | | | | | | | | | | change * format of filenames for sstate archives was changed in: commit 6f823a23c5f1d0ffa0a27db1c1bc1907de788505 Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Fri Dec 20 12:06:02 2013 +0000 Subject: sstate: Convert to use ':' as a filename sperator and use SSTATE_SWSPEC globally * this one doesn't need special care for old sstate- names they will be removed automatically as they don't match with any checksum in rigth format from stamps directory (From OE-Core rev: aa36f9c9b5abac58de899f98803d1c4375678044) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management.sh: Fix remove_duplicated() to work after ↵Martin Jansa2014-02-021-13/+23
| | | | | | | | | | | | | | | | | | | SSTATE_SWSPEC change * format of filenames for sstate archives was changed in: commit 6f823a23c5f1d0ffa0a27db1c1bc1907de788505 Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Fri Dec 20 12:06:02 2013 +0000 Subject: sstate: Convert to use ':' as a filename sperator and use SSTATE_SWSPEC globally * remove_duplicated() wasn't able to find available architectures and duplicate files since this change * add extra step to remove old sstate archives starting with sstate- (instead of sstate:) (From OE-Core rev: ddb26341611c3dff41ea92a73d93ec01ae2865de) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/cp-noerror: Avoid a raceRichard Purdie2014-02-021-2/+3
| | | | | | | | | | Its possible something can delete $1 (since it may be empty) whilst cp-noerror is starting. Add an exception to handle this issue since if this happens, we shouldn't return an error. (From OE-Core rev: 13061ed1e1f347589d6955d5cc50a50574b00218) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>