**** BEGIN LOGGING AT Thu Aug 04 02:59:58 2016 Aug 04 04:50:59 Thanks Ulfalizer! That makes sens. I played around with appending and prepending the new package ${PN}-ptest-dbg. The result was that either all debug files ended up in ${PN}-ptest-dbg or all of them in ${PN}-dbg (whichever happened to be found first) Aug 04 07:19:06 hi #yocto, exists a tool for reformat of bb recipes? Astyle is too language specific and ident is more for c files. Aug 04 07:30:29 silviof, check meta-openembedded/contrib/oe-stylize.py Aug 04 07:31:05 melonipoika: hey thanks! Aug 04 08:49:57 Hey, I have a short question about bitbake: Is there a simpler way to being able to include "$" f.e. a variable assignment without expansion? Only found this so far: http://stackoverflow.com/questions/37744110/how-do-i-escape-a-in-bitbake-yocto Aug 04 08:53:15 manuel_: what context? shell or python? Aug 04 08:53:34 A value included in a recipe... Aug 04 08:54:45 i'm looking for a patch on the ml that provided a way to template wks files... anybody would have a pointer ? I can't find it... Aug 04 08:55:41 ok, I got it Aug 04 08:56:42 I'm about to add a user and wanted to (at least) not store the password directly -> I want to store the hash + salt, but the format includes $... so for readability I would store the hash in some variable and then use it in the 'USERADD_PARAM_${PN} = ' statement... Aug 04 08:59:02 Anyway, I assume there might be other cases where it would be convenient to prevent variable expansion (like in bash using '${NO_EXPANSION}') ; however, I couldn't find anything in the documentation... Aug 04 09:06:12 manuel_: shells usually also understand $varname - versus ${varname} - so if that is an option? Aug 04 09:07:12 That's what I do. Furthermore, bitbake leaves unknown vars unexpanded, shells replace them with "". Aug 04 09:09:00 That stackoverflow question was about preventing bitbake *and* shell expansion. Aug 04 09:18:08 day #3, attempt #3: can I be sure when opkg finishes the upgrade of init-ifupdown, the network interface is brought up? Aug 04 09:18:17 because it brings it down as part of the installation process. Aug 04 09:22:07 good morning Aug 04 09:23:29 Well my problem is that for 'password' I get following hash + salt: $1$iwZkm.NY$qn14SagT4IINij2J5n6/K0 and I would like to put this into a variable in the recipe.. but bitbake does expand $ -> is there some simple way to prevent this? Aug 04 09:25:37 So basically only .NY/K0 will remain... (I haven't checked with this hash) Aug 04 09:41:19 Hi all Aug 04 09:41:41 it seems that for some reason DEPLOY_DIR_IMAGE="${TOPDIR}/../images/${MACHINE}" Aug 04 09:41:56 is not working correctly when generating initramfs image Aug 04 09:42:02 (in local.conf) Aug 04 09:42:17 any suggestion? Should I open a issue on bugzilla? Aug 04 09:42:39 given the content of SRC_URI, how do I get the name of a file once it's copied to WORKDIR ? Aug 04 09:43:12 fech.localpath returns a path in meta- for sources in file:// which is not what I want Aug 04 09:45:37 hi guys, there is anyone? Aug 04 09:49:36 xplod: hey Aug 04 09:50:01 hey Aug 04 09:51:16 i'm a newby of yocto world, i have a little problem with native python execution... there is not an official yocto forum? Aug 04 09:51:48 what i've to do when i need help? Aug 04 09:53:06 xplod: ask your question here :) Aug 04 09:53:20 ok :) Aug 04 09:53:34 i've built my image and my sdk Aug 04 09:54:12 when i run native python stuff happens this: Aug 04 09:54:22 Traceback (most recent call last): File "/opt/poky/1.8.1/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/site.py", line 553, in main() File "/opt/poky/1.8.1/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/site.py", line 535, in main known_paths = addusersitepackages(known_paths) File "/opt/poky/1.8.1/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/site.py", line 266, in addusersitepackages user_site = getusersi Aug 04 09:54:45 File "/opt/poky/1.8.1/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/sysconfig.py", line 10, in 'stdlib': '{base}/'+sys.lib+'/python{py_version_short}', AttributeError: 'module' object has no attribute 'lib' Aug 04 09:55:17 it seems to be a problem related to sysconfig.py Aug 04 09:55:44 when check for sys.lib Aug 04 09:56:47 env PYTHONHOME seems to be ok: /opt/poky/1.8.1/sysroots/x86_64-pokysdk-linux/usr Aug 04 09:57:26 which python: /opt/poky/1.8.1/sysroots/x86_64-pokysdk-linux/usr/bin/python Aug 04 09:59:23 if i run: python /opt/poky/1.8.1/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/sysconfig.py it give me no errors Aug 04 10:00:47 what can i do in order to solve? Aug 04 10:10:40 the problem with DEPLOY_DIR_IMAGE is the relative link Aug 04 10:10:48 not the TOPDIR variable usage Aug 04 10:11:28 ERROR: The recipe linux-.... is trying to install files into a shared area when those files already exist. Those files and their manifest location are: ..../README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt Aug 04 10:34:18 is it possible to have bitbake read shell env variables ? I'd like to set DEPLOY_DIR_IMAGE from a shell export, for example Aug 04 10:37:27 pivi: it is, you just need to add the variable to the BB_ENV_EXTRAWHITE environment variable (i.e. in the external environment before running bitbake) Aug 04 10:39:06 thanks Aug 04 10:40:40 mm, this way it will read the variable from shell everytime Aug 04 10:40:53 for me it would be enough to read when sourcing the oe init env Aug 04 10:40:59 however it will work, thanks Aug 04 11:56:23 manuel_: I suspect that actually the shell is expanding your var, not bitbake, can you paste the exact line you want to use? Aug 04 11:58:25 maybe use something like "${@'$1$iwZkm.NY$qn14SagT4IINij2J5n6/K0'.replace('$', '\x24')}" Aug 04 11:59:32 shell generally expands stuff in ", is setting it in ' not enough? Aug 04 12:02:46 MYVAR = "$1$iwZkm.NY$qn14SagT4IINij2J5n6/K0" Aug 04 12:03:35 Well it's not documented what '' does in a recipe... I can try... \$ seems to work which is okay for me... Aug 04 12:04:43 Is there a more complete version than this: http://www.yoctoproject.org/docs/2.1/bitbake-user-manual/bitbake-user-manual.html Aug 04 12:06:13 The actual line is like that: USERADD_PARAM_${PN} = "-u 1000 -d /home/some-user -r -s /bin/bash -p '${MYVAR}' some-user" Aug 04 12:07:01 So I assume shell-expansion is not the problem (as I use single quotes)... Aug 04 12:16:03 okay.... strange... so bbnote '${MYVAR}' works, but outputting bbnote '${USERADD_PARAM_${PN}}' expands all 'variables'... Aug 04 12:29:43 okay... for now, I will just use following command to generated hashes: cat | openssl passwd -1 -stdin | sed 's/\$/\\\$/g' which seems to work... Thanks for your help. When I have time, I will investigate what useradd class exactly does... Aug 04 12:40:48 manuel_: depends on how USERADD_PARAM_${PN} is used internally, like you said. -p '${@'${MYVAR}'.replace('\$', '\\\$')}' might also work... Aug 04 12:45:33 which configuration option i need to add to ask bitbake to generate .vmdk file Aug 04 12:51:56 RP: around (or anybody which could help me a bit with how a task can tell the sstate cache what variables it needs to depend on) ? Aug 04 12:52:56 boucman_work: there is a section in the manual about this, did you read that? Aug 04 12:53:43 yes, but it's a bit suscint... Aug 04 12:54:00 from what I see, d.getVar in a task will mark the variable as being a dependency Aug 04 12:54:26 but d.expend(string) doesn't, and I don't know the content of my string, so I can't add them to do_task[vardep] Aug 04 12:54:55 Hello. If I want to execute 'gcc' from do_compile_append, what is the correct way to refer to it? If I simply do "gcc something", it does not compile for the target architecture. Aug 04 12:54:59 $(CC) Aug 04 12:55:06 well, ${CC} Aug 04 12:55:10 thanks Aug 04 12:57:39 Hello together :-) Just a small question about handling of kernel modules in my image: How can I control which kernel modules (in tree) are installed in my rootfs? I would like to have many of them built and available in the package feed but not all of them in the rootfs by default. Aug 04 12:58:11 I didn't find (yet) a possibility to control that Aug 04 13:10:40 RP: I just reread the whole thing, i'm still confused... do I need to set som BB_SOMETHING variable from the do_task function ? what variable ? Aug 04 13:13:17 Anyone seen ARM performance issues with yocto 2.1-4.4 kernel (from older 3.12)? Aug 04 13:31:34 boucman_work: the do_task function references variables and functions. Bitbake knows (or at least tries very hard) to know which variables and functions these are and includes them in the checksum for the task. If the function or variable changes, the checksum changes and the task reruns Aug 04 13:32:17 boucman_work: in general it should be automatic however there are convoluted python expressions bitbake has no way to figure out Aug 04 13:34:04 yeah, i'm probably one of those cases... Aug 04 13:34:41 I read a file, and expand it as a BB variable, then write it back... so my task should logically depend on whatever variable that file contains. i'm not sure how to specify that Aug 04 13:35:54 the code i am copying is adding the file's content to a BB var, then using getVar to get it back expanded... Aug 04 13:36:16 that would work but it's ugly (and the code I am copying os probably not doing that on purpose) Aug 04 13:36:33 is there a cleaner way to do that ? Aug 04 13:37:12 boucman_work: does it have bitbake variable references in the file? Aug 04 13:38:17 i'd do it manually in that case. have some syntax for referencing a variable in the file, and search for those references and replace them (e.g. with the values of bitbake variables, if that's the right thing to do in this case). Aug 04 13:38:26 Ulfalizer: yes Aug 04 13:38:50 that seems much cleaner than tricking the bitbake code into doing stuff Aug 04 13:38:52 Ulfalizer: so basically using getVar on a regex I build myself instead of expand() ? Aug 04 13:39:30 expand() would be a decent solution too i guess. i had temporarily forgotten about it... Aug 04 13:40:04 there the purpose is exactly to substitute values for bitbake variable references, so it doesn't feel as hacky Aug 04 13:40:14 rolling your own could still be more flexible though... Aug 04 13:40:15 Ulfalizer: but expand doesn't add variable it expands to the signature Aug 04 13:40:27 (I'm still confused on how the signature generation code wors) Aug 04 13:40:42 so I need to roll my own indeed Aug 04 13:40:45 ah, yeah, that sounds like it might be messy Aug 04 13:41:17 ok, i'll go for the manually-made egex, then... Aug 04 13:41:49 there might be some handy python template libraries you could use too Aug 04 13:42:00 if i know python :P Aug 04 13:42:26 hehe Aug 04 13:42:32 i'll find a way :) Aug 04 13:55:13 boucman_work: if you look in image.bbclass, there's an anon python function that does e.g. d.appendVarFlag('do_image', 'vardeps', ' '.join(vardeps)) to dynamically add vardeps. if you don't need to be able to reference all bitbake variables in the file, it seems cleaner to just switch over the ones you need and doing manual d.getVar('FOO', True)s for them though. Aug 04 13:55:14 boucman_work: there is actually a way to make bitbake checksum a file and include that in the task checksum Aug 04 13:55:49 then the signature generation will be automatic. being able to reference arbitrary bitbake variables in files feels hackish to me too. Aug 04 13:56:10 RP: you also need the variables referenced in the file in the checksum though Aug 04 13:56:30 if the file references FOO, changing FOO should trigger a rebuild Aug 04 13:56:43 RP: the file is assumed to come from SRC_URI, so changes in that file are already taken into account Aug 04 13:57:01 Ulfalizer: interesting, i'll have a look at that Aug 04 13:57:03 boucman_work: ok, if its in SRC_URI then yes, you're covered Aug 04 13:57:50 Ulfalizer: is it safe to add do_template[vardeps] within do_template (i.e is the sig calculated after the task is run) Aug 04 13:57:53 I assume yes... Aug 04 13:57:54 boucman_work: i'd still just replace %FOO% with d.getVar('FOO', True) or whatever though, for a fixed set of needed values. much neater, imo. Aug 04 13:58:43 boucman_work: i don't think so. bitbake would probably need the full signature to determine if it should run the task. Aug 04 13:58:46 Ulfalizer: that breaks the point of the whole thing, though... having a generic way to override files in /etc and using bitbake variables to fill the value in those files Aug 04 13:58:50 boucman_work: no, its not going to work. vardeps needs to be set independently of the function in question Aug 04 13:59:04 the idea is you can calculate the checksum without running the task or its pointless Aug 04 13:59:17 boucman_work: i think madness might lie that way. feels unclean. :S Aug 04 13:59:53 RP: hmm, I see your point, i'll have to think about it some more... Aug 04 14:00:01 boucman_work: you could just load the whole thing into a variable and then depend on that variable. bitbake would then recuse the variables Aug 04 14:00:29 i'd leave bitbake's stuff to bitbake, and the external file's stuff to the external file, instead of trying to drag the file into the bitbake universe and force the parser to deal with it Aug 04 14:00:30 RP: yes, that was one of my ideas, and probably the simplest way to do it... Aug 04 14:00:50 Ulfalizer: I don't understand what you mean Aug 04 14:01:16 you know what... i'll just pastebin what I have. it's working code except for sstate-handling. it'll help us discuss Aug 04 14:01:20 boucman_work: feels unclean for the same reason 'eval' in a lot of languages is usually a hack Aug 04 14:01:33 but it's mostly gutfeel Aug 04 14:01:44 http://pastebin.com/Fka9MqRy Aug 04 14:06:38 boucman_work: going on RP's suggestion, FILE_CONTENTS := "${@read_file()}" do_foo[vardeps] += "FILE_CONTENTS" might work Aug 04 14:06:56 := instead of = prevents the file from being read each time FILE_CONTENTS is expanded Aug 04 14:07:15 gotta make sure the file is there during parsing though Aug 04 14:09:29 not sure though. maybe that depends on FILE_CONTENTS getting the right vardeps, which it might not get automatically. Aug 04 14:10:07 Ulfalizer: the file might not be here... ideally it comes from SRC_URI so it's put in place by do_unpack Aug 04 14:11:10 boucman_work: basically you therefore have no idea what the dependencies are until do_unpack time then :( Aug 04 14:11:12 in that case it might get super messy i think. the vardeps won't even be known at parse time, and they might be needed by then already. Aug 04 14:11:27 RP: yes :( Aug 04 14:11:31 and yes, dependencies need to be known at parse time Aug 04 14:11:47 hmm Aug 04 14:11:50 else how does it know if it needs to run the task or not Aug 04 14:12:10 * Ulfalizer still thinks a switch over "supported" variables with manual getVar's for each would be the simple/safe thing Aug 04 14:12:25 In theory it's possible... if the source file has changed, the task needs to be rebuilt Aug 04 14:12:28 and no feeding the file into bitbake's parser Aug 04 14:12:52 if the file hasn't changed, the variables are the same as the ones that were needed last time, so we can check the ones we used to generate the last signature Aug 04 14:13:05 but that's theory. I don't know if the sig system can deal with that... Aug 04 14:13:28 i think you're setting yourself up for pain :S Aug 04 14:13:53 indeed Aug 04 14:21:07 boucman_work: does the SRC_URI entry have an md5sum val? Or is it local? Aug 04 14:22:39 jubr: I'm not sure I understand your question... Aug 04 14:24:48 boucman_work: another option would be to store the template directly in the layer in an .inc file with e.g. FILE_TEMPLATE = "...". then everything would be automatically safe. having bitbake-syntax code in an external repo is weird too. Aug 04 14:25:00 I just read back a bit further, nevermind, your challenge goes a bit deeper. You could use the md5sum of the file in the sig if it would not refer to vars.. Aug 04 14:25:22 but that depends on the template being available at parse time Aug 04 14:27:15 Ulfalizer: that kinda work, but let me explain what I am trying to do Aug 04 14:27:53 I work on deep-embedded system where we are trying to have the images generated by yocto be completely ready... i.e all config files for all packages should have their value set etc... Aug 04 14:28:35 so I end up writing lots of .bbappend that replace files in /etc Aug 04 14:29:39 when we do a whole family of product, it would be handy to use the bitbake env system to "build" those config files from information from bitbake... there are actually quite a few package that do some sed on config files to set variables from BB vars Aug 04 14:29:59 would having CONFIG_FILE_CONTENTS = "foo bar ${SOME_VALUE} baz" and writing ${CONFIG_FILE_CONTENTS} out to a file work? Aug 04 14:30:07 i'm trying to solve that problem once and for all. I expect my files to come from file:// most of the time, but I can't guarantee it... Aug 04 14:30:53 Ulfalizer: putting the whole file content in the recipe ? that would be a bit ugly... think of stuff like apache config files Aug 04 14:31:12 moreover, can BB have multi-line variables ? Aug 04 14:31:15 Im trying to deploy Toaster following the steps in the production server guide. Im running into an issue with where toasterconf.json is missing any thoughts? Aug 04 14:31:50 boucman_work: could have it in an .inc file. not sure about multiline variables. Aug 04 14:32:31 nevermind, path was just wrong: ./bitbake/lib/toaster/manage.py loadconf ./meta-poky/conf/toasterconf.js is what is should be Aug 04 14:32:58 Ulfalizer: I could enforce (somehow, i'm not sure) that file comes from a file:// source... Aug 04 14:33:00 i'd avoid manually feeding files into the bitbake parser at least. i don't think things are meant to be done that way. file:// stuff is for data, not for code. Aug 04 14:33:25 yeah... I'm at an ambiguous place where i'm both file and code... Aug 04 14:33:30 r0r0: out of curiosity, are you using the krogoth release? Aug 04 14:33:39 trying to use Krogoth with toaster Aug 04 14:33:45 correct Aug 04 14:34:50 boucman_work: the safer thing is to manually replace some placeholders in the template file. that's pretty common. Aug 04 14:35:01 r0r0: right. If correcting the path doesn't solve the issue, let us know Aug 04 14:35:20 looks like I hit another error on: TOASTER_DIR=/var/www/toaster/poky/ ./bitbake/lib/toaster/manage.py checksettings Aug 04 14:35:25 Ulfalizer: yeah, that's so common that I wanted to provide a more generic way to do it :P thus my attempt Aug 04 14:35:30 Importing file: None Aug 04 14:35:30 Failure while trying to import the toaster config file None: coercing to Unicode: need string or buffer, NoneType found Aug 04 14:35:30 r0r0: we updated instructions recently, and we think they are right, but you never know ;) Aug 04 14:36:14 boucman_work: not trying to be annoying, but i think it might be more painful than the problem it solves Aug 04 14:37:06 r0r0: michaelw_ might be able to help with that one Aug 04 14:37:27 r0r0: try with $ TOASTER_CONF=/var/www/toaster/poky/meta-poky/conf/toasterconf.json TOASTER_DIR=/var/www/toaster/poky/ ./bitbake/lib/toaster/manage.py checksettings Aug 04 14:37:28 depends on the problem you are trying to solve... but I am starting to think the same. Again I'll look how the code I copy deals with that Aug 04 14:37:37 http://lists.openembedded.org/pipermail/openembedded-core/2016-July/123434.html Aug 04 14:37:54 ^ that one does it for .wks file, I "just" want to do it for all files Aug 04 14:41:10 the commands are the same as the ones in the guide, looks it worked the second time but it didnt do any validation... anyway to confirm? Aug 04 14:41:23 boucman_work: that one reads the template at parse time Aug 04 14:42:33 yeah... I'm starting to think I'll have to do the same. Not as clean as I hoped, but it'll do I guess Aug 04 14:42:50 (assuming the yocto core devs are interested in the feature) Aug 04 14:42:58 r0r0: it only outputs if there is a problem so if it's silent that is a good sign. When you run lsupdates next it will use that configuration so if that works you will know Aug 04 14:43:51 once parsing is complete, it'll go through the values of all the variables and add the required vardeps. by that time, _WKS_TEMPLATE is already set to the template contents including all its variable references, so it's safe. Aug 04 14:46:50 (parsing being "complete" includes all the anonymous python functions having run.) Aug 04 14:47:05 this normal michaelw_ : The system will start. Aug 04 14:47:05 /var/www/toaster/poky/bitbake/bin/toaster:243: = not found | when I ran: source toaster noweb start Aug 04 14:47:53 ok, I think I understand the problem well... maybe I should write my own signature generator :P Aug 04 14:48:03 (that's more complicated that what I feel I can master) Aug 04 14:48:56 you'd still need to generate the signatures at parse time Aug 04 14:48:59 looks like toaster lives in that path but says not found assuming 243 is a line number? Aug 04 14:49:28 once parsing is done, the signatures are used to figure out what tasks to run. once those tasks are running, signature stuff no longer matters. Aug 04 14:49:42 r0r0: isn't it "source toaster start noweb" ? Aug 04 14:50:24 https://wiki.yoctoproject.org/wiki/Setting_up_a_production_instance_of_Toaster | Guide reads: source toaster noweb start Aug 04 14:50:44 same message the other way around Aug 04 14:51:09 r0r0: do you have oe-init-build-env sourced? Aug 04 14:52:03 yea I believe so it said I had no local.conf or bblayers.conf and generated them Aug 04 14:53:51 Ulfalizer: can't I get from the cache the list of vars that were used last time ? (the answer might be no, I don't see a good reason for the cache to keep that info) Aug 04 14:54:39 boucman_work: nope. that's something i've been missing as a debugging aid. it would be handy to easily be able to tell what other variables bitbake thinks a variable/function depends on. Aug 04 14:55:46 boucman_work: https://lists.yoctoproject.org/pipermail/yocto/2016-April/029756.html Aug 04 14:55:53 there's a hackish way i found to do it Aug 04 14:56:14 r0r0: are you using bash? I wonder if we rely on bash for some reason Aug 04 14:56:22 that anonymous python function at the end will list all the variables do_compile depends on Aug 04 14:56:50 maybe that's not what you're after though Aug 04 14:57:37 dropping into bash instead of zsh fixed it Aug 04 14:57:43 :-) Aug 04 14:58:12 michaelw_: might be worth adding a "is this shell sane" check to the script that gets sourced Aug 04 14:58:23 yeah, if you want the "previous" set of variable dependencies, i don't know of a way Aug 04 14:58:27 :: agrees :: Aug 04 14:59:05 rburton: r0r0 yeah, we did actually get a patch from Liam yesterday who fixed up a ZSH issue Aug 04 14:59:25 thats awesome Aug 04 15:00:00 might be good to add instructions for creating a systemd service for noobs in the wiki Aug 04 15:02:00 r0r0: our latest official instructions have an example in step 8 http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#toaster-installation-steps Aug 04 15:02:26 perfect Aug 04 15:02:50 should quilt have any problem applying a standard git.patch ? Aug 04 15:06:16 not really Aug 04 15:20:13 thought not Aug 04 15:38:17 can anybody please fix a typo in ./resources/poky/meta/recipes-core/udev/udev-extraconf/network.sh? Aug 04 15:38:23 # b) /var has not been populated yet so /etc/resolv,conf points to Aug 04 15:38:30 sed s/,/./g Aug 04 17:28:26 can anyone tell me how to add : meta-raspberrypi to toaster so I can select it from machine type Aug 04 17:29:24 nm may have figured it out: https://www.yoctoproject.org/blogs/belenbarrospena/2015/it-builds-you-can-now-configure-and-run-your-builds-toaster Aug 04 18:01:38 Can anybody tell me how to enable use of ccache with a Yocto SDK? I've *used* some SDK's in past that were set up for it (and really appreciated the speed), but now I'm working with one that isn't. Aug 04 18:01:47 I assume I'll need to: Aug 04 18:01:49 IMAGE_INSTALL_append = " ccache " Aug 04 18:02:00 somewhere or other, but... is that enough? Aug 04 18:03:53 I guess I'm just gonna try adding it that way and running the `populate_sdk` command. If anybody sees this and can tell me I'm barking up the wrong tree, please let me know! Aug 04 18:10:05 I think that would install ccache on the target system, which doesn't seem immediately relevant. Aug 04 18:14:43 Hmm. I suppose not, but... I've been assuming I couldn't just install ccache on my build host and use it. Now that I think about it, though... Aug 04 18:15:24 if ccache just hashes the compile command line args and stores the resultant objects, maybe it doesn't matter. Aug 04 18:15:59 why wouldn't you be able to install ccache on the host and use it? that's the whole point of ccache :) Aug 04 18:16:58 I've used other SDKS where ccache was part of the cross toolchain, i.e., it was down alongside the cross compiler. And since we weren't compiling on the target, it would have been kind of a waste if it wasn't actually necessary. `:-] Aug 04 18:17:24 But now that I think about, yeah, why would ccache care? Aug 04 18:17:40 in my somewhat recent experience, we've found ccache not all that useful -- unless you are building a large project over and over and over.. (this doesn't mean the build system -- it's really about building something with the SDK) Aug 04 18:18:22 if you try to use it with the build system you end up having a huge cache -- and there turns out to be very little re-use. The IO overhead of the ccache definitely is worse then just rebuilding the few re-usable objects Aug 04 18:19:51 Last time I used ccache, it made a pretty big difference. A full build went from about 7 minutes to 57 seconds. Aug 04 18:21:03 systems I am using -- 64 GB ram, 24 core (48 thread), and fairly slow disks (in comparison).. everything is I/O bound.. I can often compile the code faster then ccache can look it up, retrieve it and return it.. Aug 04 18:21:15 this is on a poky build that takes about 30 minutes.. Aug 04 18:21:33 enabling ccache it's still in the 30 minute range... and now I have a disk full of ccache objects.. the sstate-cache is more useful.. Aug 04 18:21:46 on a project that uses the SDK though, there is a lot more value, because the caching level can be much smaller Aug 04 18:22:12 Yeah, I'm really talking about using the SDK to compile a slew of Qt apps. Aug 04 18:22:32 ya, in that case -- with ccaceh having a large enough defined cache space -- it can be useful Aug 04 18:22:47 Right now, 'make clean' followed by 'make' takes about 12 minutes. Aug 04 19:04:00 do failed builds have a way of being cleared besides using cli? Aug 04 19:04:02 in toaster Aug 04 19:46:08 hello Aug 04 19:47:09 anyone knows how to remove connman from core-image-sato ? Aug 04 19:47:38 it conflicts with init-ifupdown Aug 04 19:59:55 iskander: core-image-sato uses connman. use your own image recipe? Aug 04 20:00:05 besides that Aug 04 20:00:39 core-image-sato is an example, you're encouraged to write your own Aug 04 20:00:57 i know that i can make my own image without connman, but is there a way to remove it from core-image-sato without any patches ? Aug 04 20:01:47 iirc, setting NETWORK_MANAGER Aug 04 20:02:32 indeed, this variable is set to 'connman-gnome', would it work if i set it to empty string ? Aug 04 20:03:32 Oh, _now_ I see why the cross-SDKs I worked with previously had `ccache` in them: it was just a convenience, because all developers on the project (by definition) were _required_ to have the SDK, but they wouldn't necessarily all have ccache installed. Aug 04 20:04:10 By including it in the SDK (compiled for the _host_), the symlinks could be preconfigured so they would Just Work t.m. for everybody. Aug 04 20:04:40 So (rephrasing a question I asked earlier), how can I make Yocto include `ccache` in the SDK as a 'host tool'? Aug 04 20:05:36 This isn't really helping me much: http://stackoverflow.com/questions/35183532/how-to-add-packages-to-populate-sdk-as-a-host-tool Aug 04 20:06:24 Scratch that, the OP's item #2 probably helps (I don't mind if it's image-specific, we only have one, anyway). Aug 04 20:06:51 > Add a bbappend file for nativesdk-packagegroup-sdk-host which includes "ccache" in RDEPENDS Aug 04 20:07:11 I can probably figure out what that mean. Aug 04 20:07:13 s Aug 04 20:07:47 Sure that's ccache and not nativesdk-ccache? Aug 04 20:10:40 Oh, hey--there's a 'nativesdk-ccache'? :-} Aug 04 20:10:56 Sounds like what I want! Aug 04 20:11:09 How do I go about adding it? Aug 04 20:11:10 A copy of ccache that's built for the SDK architecture would be called nativesdk-ccache Aug 04 20:11:31 Check the recipe for ccache, it might contain BBCLASSEXTEND += "nativesdk", in which case you already have it Aug 04 20:11:53 (or there might be a separate nativesdk-ccache recipe) Aug 04 20:12:09 Checking... Aug 04 20:16:28 Well, the only `.bb` file with `ccache` in the name is `poky/meta/recipes-devtools/ccache/ccache_3.2.3.bb`. It includes a file `ccache.inc`, whose last line reads `BBCLASSEXTEND = "native"`. Aug 04 20:20:36 evadeflow: sounds like you'd need a ccache_%.bbappend that includes BBCLASSEXTEND += "nativesdk" then Aug 04 20:24:00 @neverpanic, can you give me a hint as to where I ought to add that for a quick-and-dirty test? `build/conf/ccache_3.2.3.bbappend`? Aug 04 20:24:35 do i need a time machine to get a Davinci DM355 EVM board to work with yocto and toaster? Aug 04 20:24:45 Another guy on my team is primarily responsible for this SDK, but I just confirmed that `ccache` cuts our build time by 75%, so I'm hot to get this in. Aug 04 20:26:12 Oh... it looks like all the other `*.bbappend` are sitting right alongside the recipes they modify. Aug 04 20:26:22 I'll just do that. Aug 04 20:32:47 looking for resources on how to get a leopardboard working with yocto and toaster if anyone has any ideas Aug 04 21:02:30 evadeflow: if you put the bbappends next to the recipes they modifiy you could just directly modify the recipes as well Aug 04 21:02:51 evadeflow: usually you'd put your adjustements into a separate layer to leave poky as-is, and that's where you'd put your bbappend Aug 04 21:03:00 for a quick and dirty test, that doesn't matter, though. Aug 04 21:04:00 i've placed both recipes and appneds next to one another in a separate layer (*not* oe-core or poky), usually in the case where i had to pull something from current upstream but couldn't update teh upstream layer for reasons relating to risk and release process. keeping the local changes separate from the files copied from upstream can ease maintenance Aug 04 21:04:16 that's about the only good use case for that though, afaik Aug 04 21:07:54 kergoth: one downside is that i've seen a lot of people copy that style without knowing why they do it, creating lots of redundant bbappends that make the code harder to navigate Aug 04 21:08:33 people copying stuff blindly is *always* a danger :) Aug 04 21:08:35 especially new people might assume it must be in a bbappend :/ Aug 04 21:08:43 just look at all the random crap in some of the layers in the layer index Aug 04 21:09:11 yup, cargo culting is more common with beginners though Aug 04 21:09:29 i probably did some when i started out, because investigating everything takes effort until you've figured the system out :) Aug 04 21:10:00 I don't see a problem using that pattern in mentor's layers. folks shoudln't be copying random crap from there anyway. avoiding that in oe-core makes sense, that should be people's baseline for their cargo culting anyway :) Aug 04 21:10:08 and there'd be no need to do it in oe-core anyway.. Aug 04 21:10:09 * kergoth shrugs Aug 04 21:10:30 people probably take inspiration from lots of random places Aug 04 21:12:04 maybe i should add a readme to the directory :) Aug 04 21:12:13 this is weird for *this* reason, at least Aug 04 21:12:23 avoids needing to dig into the commit history for future reference anyway.. Aug 04 21:12:33 even better would be a comment imo. i tend to overlook readmes. Aug 04 21:12:38 ah, true Aug 04 21:20:57 cargo cult? Aug 04 21:21:16 * nerdboy lights incense and dances around the label printer Aug 04 21:21:30 nerdboy: https://en.wikipedia.org/wiki/Cargo_cult_programming :P Aug 04 21:21:57 * nerdboy did not know that was a "methodology" Aug 04 21:22:31 just a fancy term for copying stuff you don't understand because you assume there must be a good reason for it Aug 04 21:23:10 sometimes there is a good reason, only it doesn't apply in your case. sometimes it's just random stuff that no one knows where it came from, but that keeps getting copied around because people assume it might be doing *something*. :P Aug 04 21:24:29 yeah, good page... Aug 04 21:24:44 even has picture of vanuatu Aug 04 21:24:48 heh, definitely common. just look at nearly every open source project's buildsystem for good examples of cargo culted crap Aug 04 21:24:55 * nerdboy dances some more Aug 04 21:25:30 kergoth: are you sure you're not confusing that with "normal" dev behavior? Aug 04 21:25:59 * Ulfalizer thinks all the weird convoluted ways that people compare variables in shell is another example Aug 04 21:25:59 *the build stuff Aug 04 21:26:25 Ulfalizer: and most of them are wrong... Aug 04 21:26:32 it's pretty common to copy the configure.ac/in and makefile.am from other projects with zero understanding of what's there or why, often including unnecessary bits, so i think it fits Aug 04 21:26:33 * kergoth shrugs Aug 04 21:26:49 stuff that might have mattered at some point, but that's no longer relevant. and often people do it wrong too, considering the problem it was originally meant to work around. Aug 04 21:27:16 kergoth: been meaning to catch you, did you see the unset variable syntax patch? Aug 04 21:27:58 okay, that plus not knowing/caring how to actually build/deploy your own code Aug 04 21:27:59 kergoth: seems reasonable to have something, just wanted to get a second opinion before we added new syntax since once its in its hard to remove/change Aug 04 21:28:13 I glanced at it briefly before I went on vacation, only just got back last night. Conceptually it seems reasonable, as it's a clear lack in the file format, but I haven't had a chance to review the code Aug 04 21:28:45 RP: a documentation patch for the BitBake User Manual would be nice too, if it gets added Aug 04 21:28:51 bash pitfalls is full of those examples Aug 04 21:29:09 especially involving brackets and quotes... Aug 04 21:29:28 RP: one possible concern is potential terminology confusion given the python API uses 'del' to unset a variable/flag, not 'unset', but the latter might be more user friendly, so maybe that's not an issue? Aug 04 21:29:33 uh oh Aug 04 21:29:43 * nerdboy has formal test coming up Aug 04 21:30:18 kergoth: I wondered if we wanted to be pythonic or shell like. Our syntax is probably more shell like.. Aug 04 21:31:32 Ulfalizer: agreed Aug 04 21:32:22 * nerdboy reviews operational test plan for the espresso machine Aug 04 21:32:25 that's a good point. Thinking about it now, I do think unset feels more in line with the current format, despite the difference from the api. So I'm on board with the concept and terminology in that case Aug 04 21:33:29 kergoth: cool, thanks. The implementation is less worrisome in that we can change it more easily :) Aug 04 21:33:55 kergoth: it does work as an immediate operation which was my main concern Aug 04 21:33:56 * kergoth nods Aug 04 21:34:04 but there is no other sane way to make it work afaict Aug 04 21:34:52 yeah.. if you need it postponed, you can always use anonymous python. it's in line with the behavior of = Aug 04 21:35:14 kergoth: right Aug 04 21:42:24 RP: what are you adding by the way? a bitbake syntax for doing d.delVar("X")? Aug 04 21:44:09 there's a patch on the list to add that, yes. syntax to the file format for variable deletion, to handle cases where code is conditional upon variable existence rather than their value Aug 04 21:44:16 i.e. setting to the empty string doesn't cut it Aug 04 21:44:51 hi there, how do I check if my image recipe pulls in another recipe? Aug 04 21:45:07 ok Aug 04 21:45:35 Xz: you could bitbake -g and check the .dot file ? Aug 04 21:51:53 RP: that worked, smart Aug 04 21:51:55 RP: thanks! **** ENDING LOGGING AT Fri Aug 05 02:59:58 2016