Saturday, 2019-02-23

Thaodanmal: yes exactly that02:45
T4d3v4shish was added by: d3v4shish05:34
*** ChanServ sets mode: +v teleirc07:34
*** teleirc is now known as T407:34
*** OhYash1 is now known as ohyash08:38
mal@adampigg a small fix request in dhv PR13:33
T4<adampigg> Mal, i just saw..classic mal nitpicking 😃😆😉14:04
T4<adampigg> Will fix later, going to a football match with son14:05
mal@adampigg I'll try to do some camera stuff today14:09
* vknecht is on the gallery14:10
T4<adampigg> Mal, nokius has been using it14:15
T4<m_aurel> We have some news from one of our potential ODMs. Their successor model will be based on Octa-Core SC9863 of Spreadtrum. Some experiences with this processor for hardware adaption? It's not Qualcomm. Is this a problem?16:12
T4<NotKit> It may be a problem since there were no Spreadtrum-based ports yet. MediaTek works, but nobody tried Spreadtrum16:21
Mister_Magister>comming back to porting after some time; >hadk says nuke everything; >say what16:21
malMister_Magister: ?16:22
Mister_Magistermal: hadk-hot says to nuke every target and whole sfossdk16:22
Mister_Magisterhadk-hot that is16:23
T4<m_aurel> But it should be the same procedure, if we would get the Android Board Support Packabe with Kernel Source Code, Android Source Tree (Reference) and binaries for drivers?16:23
malMister_Magister: ok, I think there were some changes to how targets are handled, not sure if you have tooling target yet16:24
Mister_Magisteri do have tooling16:24
mal@m_aurel yes, in theory it goes the same way, different manufacturers may need some additional changes, difficult to say before how many changes16:25
T4<NotKit> @m_aurel yes, but you would need to get buildable Android source code for ODM16:25
T4<NotKit> *from16:25
Mister_Magistermal: so i don't have to nuke everything?16:26
Mister_Magisterbut update would come handy anyway16:26
malMister_Magister: not sure, there must be a reason why removing is mentioned, installing those again does not really take any longer than updating16:27
Mister_Magistermal: yee i think i will nuke them16:27
Mister_Magisteri have old toolchain anyway16:28
malMister_Magister: at least if you download the target package and use the same downloaded one when creating the targets16:28
malso you don't always have to download the package for each target16:28
Mister_Magisteryeye i get it16:29
T4<m_aurel> I see. I will look for resources to order a poc with a basic hardware adaption, if the commercial negitiation with the ODM is positive. We have already send out an rfp, but software companies, that have skilled developers for hardware adaption are rare. Recommendations from the community are wellcome. If some freelancers are interested, t16:34
T4hey can send me a private message via Telegram.16:34
Mister_Magistermal: btw any progress with new hybris?16:40
malI once did a port for a NovaThor device16:41
malMister_Magister: sorry, I haven't had time16:41
Mister_Magistermal: don't be sorry thanks for helping me16:41
Mister_Magistermal: lineage is not even out yet so no hurry16:42
malMister_Magister: oh, I thought lineage 16 is out16:43
Mister_Magistermal: i mean not for the phone i want to port16:44
Mister_Magisternow i will be moving motorola x play (lux) to 14.1 base16:44
Mister_Magisteri need to catch spiiroin. ping btw16:45
T4<adampigg> Mal, how goes the focus testing?17:12
Mister_Magister@adampigg i need to finally try ur camera app17:13
mal@adampigg not much done yet, I really start doing it after I have eaten17:14
heroic_1mal: you online? let's discuss here, it's easier18:23
Mister_Magisterwhet there are already changes for treble devices?18:26
Mister_Magisternoice that will come handy18:26
heroic_1what do you mean? android 8 is basically all about treble ^^18:28
heroic_1how so? I find writing glue code for well-defined hals a lot more sane than the insanity that reigned before18:29
heroic_1I have another question: Is it common practice to use something like droid-system-$DEVICE here?18:30
heroic_1I can't find any such repo for latte(which seems to have a lot of dev going on) or fairphone sibon18:31
Mister_Magisterfirst time seeing it18:31
heroic_1I'm building with it and am wondering how you do without it18:31
Mister_Magisteris it just vendor blobs?18:32
heroic_1How do you structure your partitions and folders e.g. for sibon?18:32
heroic_1Mister_Magister: no, vendor blobs live on the odm partition for sony devices18:32
Mister_Magisterim talking about this repo18:33
heroic_1the repo is not blobs, none whatsoever18:33
heroic_1same for droid-system-vendor-tone18:33
Mister_Magisterthen what is this18:33
heroic_1you have to get the android libs onto sailfish somehow18:33
heroic_1In my current config, they end up on the lvm2 image that gets flashed to the userdata partition18:34
Mister_Magisterso it is blobs18:34
Mister_Magister looks like only blobs18:34
heroic_1oh we seem to have a different understanding of blobs18:34
Mister_Magisteris for packaging blobs18:34
heroic_1I guess you mean any android libs or binaries18:35
heroic_1when I hear blobs I hear proprietary18:35
heroic_1ok but I get you18:35
malheroic_1: I was just wondering if building systemimage will cause some other things to build which we don't need, I started a build for a legacy device and will compare droid-hal rpm sizes to see if there is any size difference18:35
heroic_1mal: yes, frankly I don't understand what parts of android are really needed18:36
malheroic_1: about commit message naming, please change to commit message to follow the naming as seen in previous commits to that repo (git commit --amend and force push)18:36
Mister_Magisterdroid-hal-$DEVICE is for packaging android18:36
malheroic_1: I has some understanding what is needed since I have been involved in creating many of the hybris base repos so far18:37
malheroic_1: also do we want to build systemimage for all or only for legacy devices18:38
heroic_1I can only answer that if I know what is needed18:38
heroic_1On android 8, a lot is spread out over both images18:38
heroic_1but on 8, systemimage includes vendorimage (under /system/vendor) for legacy18:39
heroic_1force-pushed, commit msg is now "[hybris-boot] Only build treble targets if needed", is that ok?18:39
malheroic_1: I also noticed issues with legacy device build that fstab and ueventd.rc were missing from out/ and that caused build scripts to fail18:40
heroic_1you can build those separately18:40
malheroic_1: I know but we should make builds generic so people don't need to figure out what extra stuff they might need18:41
heroic_1fstab.$HABUILD_DEVICE should do it, but there are cases where it's named fstab.qcom or similar18:41
malheroic_1: in the beginning is not really needed, see this for example
malheroic_1: wait a moment, I'll see if I can think of a good commit message18:42
heroic_1force-pushed already ^^18:43
malthat is probably fine18:43
heroic_1but to get back again to partitioning: How is a community port supposed to look like? A simply ext4 image for the system partition which holds sailfish rootfs and an ext4 image for the userdata partition to hold /home/nemo?18:44
heroic_1Mister_Magister: this confuses me a bit18:45
Mister_Magisterheroic_1: mal can answer better18:45
heroic_1How does that spec file get all the needed android libs to the target?18:46
heroic_1I'm guessing it's which explicitly copies a lot of stuff?18:46
heroic_1well for that you definitely need to make a systemimage18:48
Mister_Magisterwell wait18:48
Mister_Magisterwe use libs from android base18:48
Mister_Magisterno need to put them in the sfos image18:48
Mister_Magisterofficial sony ports build systemimage iirc18:49
malheroic_1: droid-hal rpms contain the needed android libs from out, which were first built using make hybris-hal in the other env18:50
malheroic_1: sailfish doesn't really need the systemimage to be built at the same time as hybris-hal, most of the android stuff comes from system.img from a clean android build, droid-hal only contains some patched libs which are used to override the ones in system.img18:51
malheroic_1: in official device system.img is not used but instead android side libs are packaged separately to rpms, those devices still have droid-hal rpms also, only difference in that all needed android libs are in the sailfish image, not only the modified18:53
Mister_Magister(that is ofc different in official images)18:53
malheroic_1: sailfish community port is not a ext4 image, it is a zip that you install from recovery, system partition comes from lineageos or aosp18:55
malheroic_1: so community ports do not contain whole userdata but are instead installed to existing userdata to a special subfolder18:56
malheroic_1: the xperia x way of building is different and closer to official devices18:56
malexcept for the system partition stuff18:57
heroic_1the way I see it, it would make sense to keep sailfish on the system partition18:58
malnot in community ports18:58
heroic_1for kagura, it's 7gb. plenty of wasted space otherwise18:58
malheroic_1: that would mean you would have to package system partition content18:59
heroic_1right now my port is pretty much oriented on the official nile images, i.e. one lvm2 image for userdata which holds rootfs(sailfish + "system" and "vendor" folders with android libs) and "home" which holds /home/nemo19:00
malwhich might in theory cause some license issues if that contain vendor blobs19:00
heroic_1for sony, you are 100% allowed to package system and vendor19:00
heroic_1all proprietary content is on /odm19:00
malon some other devices that may not be the case19:01
heroic_1hmm I get that. still a waste of storage, but for consistency's sake I can accept it19:01
malheroic_1: did you really package the system partition already? I assume your device would currently use the system partition for android libs19:02
heroic_1the system partition is currently unused19:02
heroic_1it would hold the factory reset images for sailfish x19:02
heroic_1but I don't need them19:02
malhow did you create the system rpms?19:03
heroic_1via droid-system-kagura19:03
malI mean
malbut how did you build it?19:04
malusing clean sources of what manifest?19:05
heroic_1"./rpm/dhd/helpers/ -b hybris/droid-system-kagura -s rpm/droid-system-kagura.spec -s rpm/droid-system-kagura-f8331.spec"19:05
heroic_1I copied all the items manually, because I needed to tweak a lot19:05
heroic_1Seems the official sailfish images use the helpers from here to do that
malyou still are missing my question, which manifest did you use19:07
heroic_1you need to be careful though, because if you blindly copy, you will have the audioflingerglue and droidmedia libs in your system image19:07
heroic_1mal: you mean the one for repo?19:07
malheroic_1: usually system rpms would contain unpatched libs, not ones built from hybris manifrst19:08
malnot sure why you didn't use the normal way and just leave the system libs to system partition and use that19:08
heroic_1oh yeah I already included the patched ones in my repo manifest19:08
heroic_1the patched libs are in
heroic_1You gotta understand where I'm coming from19:10
heroic_1It's a lot easier to just build aosp for me than to murk around with a prebuilt lineage image19:10
heroic_1because the lineage ports for sony are generally not good and use forbidden blobs19:10
malI find your way very confusing19:10
heroic_1mal: yes, I am used to the android way of doing things19:11
Mister_Magisterheroic_1: can i ask who r u cause ima out of topic19:11
heroic_1who I am? I am ix5 on github if that's what you wanna know19:11
malMister_Magister: Xperia XZ porter19:12
Mister_Magisterthat solves a lot of things19:12
heroic_1normally I do dev work on sony's open devices project. sailfish and mer and rpm and whatever is completely alien to me19:12
heroic_1e.g. the way you use git submodules when you have a perfectly working way of using android's repo tool to structure folders19:13
heroic_1makes a lot more sense to just let repo populate the generic "droid-hal-version" folder
malheroic_1: but a lot of things are build in OBS19:15
Mister_Magisterbtw obs needs more workers19:15
malheroic_1: as separate build, normally droid-hal-version nor droid-config are not needed in manifest if most things are built on OBS19:16
heroic_1mal: I guess all these things are completely normal for you, but from an outsider's perspective make little sense19:16
heroic_1I am slowly seeing why things are the way they are, but when I started a lot confused me19:16
malheroic_1: you probably think from local build point of view19:16
malif you take into account also OBS then things make more sense19:17
heroic_1If you have synced your tree, you need no internet connection for building19:17
Mister_Magisterheroic_1: once we build droid hal we dont need to touch it19:17
heroic_1that's how it is done in android19:17
heroic_1for early porting, you def need local builds19:17
heroic_1and they need to be fast and fast to rebuild19:17
malheroic_1: yes, but that is the android lib part, I only do that locally, everything else on OBS19:17
heroic_1but why? Mister_Magister just said obs is stretched to the max19:18
malheroic_1: for reference
heroic_1I have a good build machine, why not do it locally?19:18
malheroic_1: OBS is needed for OTA updates19:18
Mister_Magistersince im using obs building locally is just pita19:19
heroic_1makes kinda sense19:20
malheroic_1: I have plenty of local build power and do locally only test builds19:20
heroic_1I gotta say, I'm really not a fan of these spec files19:20
malthen finally build stuff on OBS19:20
heroic_1They're very limiting19:20
heroic_1and ugly af19:20
heroic_1so much spagetti19:20
malheroic_1: what would you need in those?19:21
heroic_1e.g. a way for global build variables19:21
malwhen building what?19:21
heroic_1e.g. I set a variable in my device-sony-kagura dir19:22
Mister_Magisteri think heroic_1 is missing the point19:22
heroic_1and it gets picked up in the boot image build dir19:22
* Mister_Magister global variables are bad btw xd19:22
malgive a specific example so I can understand19:22
heroic_1e.g. the created kickstart files19:23
heroic_1android has a notion of a build system19:23
heroic_1where you have build stages and then a clearly defined build image is assembled for you19:23
heroic_1with the kickstart and mic thingy stuff seems to fall apart for me all the time19:23
malI think most of sfos build is designed for automatic builds19:24
heroic_1ye, can see it is mostly geared towards oems19:24
heroic_1which does make sense19:24
heroic_1not trying to shit on you19:24
malheroic_1: usually .ks doesn't need to be regenerated once you have it working19:24
heroic_1mal: my point would be that you shouldn't even need a ks19:25
Mister_Magisteri was building images for my ports like 3 updates with same ks19:25
malI have used the same .ks for a long long time19:25
malheroic_1: yes, mic build stuff is not perfect19:25
heroic_1but since you have so much variety in devices and need to deal with different android-isms and versions, I can see why so much spagetti is needed19:25
* Mister_Magister mic is very old19:25
Mister_Magisterheroic_1: i don't really think that it's spaghetti19:27
heroic_1either way, I have started writing some docs to make sense of it all19:27
heroic_1you gotta understand, for someone not used to rpm, spec, %%%% stuff it's all very confusing19:27
Mister_Magisterin dhd .spec file is super clean most of it is generic for all devices19:27
Mister_Magisterand droid-configs are same only device specific configs19:28
Mister_Magisteri dont think it's spaghetti19:28
Mister_Magisterheroic_1: it can be confusing but it doesn't mean it's bad19:28
heroic_1if that isn't spagetti I don't know what is :P19:28
heroic_1there are bash-style variables ($RPM_BUILD_ROOT) mixed with spec-style (%{_datadir}) mixed with rpm-ish things ("Requires: ")19:30
* Mister_Magister android is a poopoo anyway and we wouldn't need it if there was no android19:30
malheroic_1: don't count .inc as part of spec, only actual spec part is relevant since that is what user sees19:30
malheroic_1: also one things in sailfish is that a lot of things are prebuilt and compared to android it's different, android always builds everything19:30
heroic_1mal: ye I get that you'd want as much shared stuff as possible, but for me a complete rebuild of android with warm ccache is 3 minutes19:31
heroic_1just the zypper refresh stage in mic is already triple that19:31
T4<NotKit> @heroic_1 [because the lineage ports for sony are general …], forbidden blobs? are those better then?19:32
malheroic_1: zypper ref takes no time19:32
heroic_1Mister_Magister: android is here to stay, like it or not. else you'd have to write all those hw drivers yourself, which, to be honest, you will never be able to do with low manpower19:32
malheroic_1: this is the fundamental difference between linux and android19:33
malsailfish does things the linux way using repos and prebuilt stuff19:33
heroic_1mal: yes, I am familiar with it(arch user myself). still doesn't mean the build system has to be only bash scripts19:34
heroic_1android is declarative, mer build is mostly writing the code yourself19:34
heroic_1I think a lot can be learnt from android19:35
* Mister_Magister btw i use arch guy heh19:35
* Mister_Magister doesn't think so19:35
heroic_1Mister_Magister: that's just silly. every platform has things that it gets right that others might do well to copy19:36
Mister_Magisterheroic_1: i'm just android hater don't mind me :P (going afk)19:36
TheKitthe problem I should note with Android build system is that now it requires few hundred of GBs and at least 16 GB of RAM19:36
* Mister_Magister #### make completed successfully (07:50 (mm:ss)) ####19:37
heroic_1TheKit: yes that is true. it's infuriating how bloated it is19:37
heroic_1you can trim it down if you only include the components you need19:37
maleven then it's very big19:37
heroic_1see the remove-X xmls here
heroic_1lots of people don't know that you can omit stuff and then complain how bloated android is19:38
heroic_1(which it is, just not as much)19:38
malheroic_1: on top of which manifest do you use that local manifest?19:38
heroic_1the manifest I just linked :)19:38
heroic_1I had to assemble it myself, which I am kinda grumpy about19:39
heroic_1the mer-hybris/android repo is incomplete19:39
malso you used that for system lib build?19:39
malheroic_1: how is it incomplete?19:39
malit works fine19:40
malfor hybris-hal build19:40
malwhich it's meant for19:40
malnot sure system lib build19:40
heroic_1it's missing droid-hal-version19:40
heroic_1and other stuff which I don't remember off the top of my head19:40
malheroic_1: like I said, those are usually built on OBS19:40
heroic_1ye I know now19:41
heroic_1just as a tip19:41
heroic_1it is much easier to keep the default android manifest and then add other files19:41
malfor local builds you define the needed repos in local manifest19:42
heroic_1see e.g. how omnirom does it
heroic_1they keep the default android manifest(handy for when it gets a bump) and the only change they make is to add an "include" directive for their custom stuff19:42
malbut local manifest way is also used in hybris builds19:42
malthat is where people add needed custom repos like additional device repos etc19:43
heroic_1yes, I would recommend local manifest for device-specific stuff19:43
heroic_1right now it is all mashed together in one single xml19:43
malheroic_1: sony hybris manifests are special19:43
malheroic_1: check lineage hybris manifests and you can see those don't have device repos or stuff like that19:44
heroic_1by "lineage" you mean ?19:44
malheroic_1: I think you have somehow misunderstood some things in hybris manifests19:45
heroic_1all the sailfish-X.xml files can be ripped out if only wanting to build the "hybris-hal" target19:45
heroic_1I keep them because to me it is saner to use repo to manage my droid-X folders instead of messing with git submodules19:46
malfor multidevice build env I have automatic symlinking in shell script to handle adaptation repos19:47
heroic_1see how you had to explain so much in irc here? I think it would be better to have an introduction to the "sailfish way" in the docs19:49
heroic_1it gets especially confusing at the intersection of android and sailfish19:49
malwell that is the HADK pdf19:49
malin my opinion you are overthinking the whole thing, you are not the first one to do so19:50
Mister_Magistersfos is better with documentation about building. on android noone is gonna help you. on sfos we have mal <319:51
heroic_1mal: could very well be. but improvements are always a possibility19:51
malof course19:52
heroic_1and a new perspective is something to be cherished19:52
heroic_1if you're used to a certain way of things, you might not notice some things that are stupid or broken19:52
heroic_1imma go write up some things so we can properly discuss them19:53
heroic_1irc is not a good medium for this19:53
malheroic_1: after dropping systemimage we should think a generic way to make sure fstab and eventd.rc are built19:53
maland build props19:53
malbut build props are not the problem since those come from system partition19:55
malheroic_1: maybe the reason you needed systemimage in there is because you used the same source tree for all android libs and not just for the stuff used in droid-hal rpms?19:56
malthat is not how it's supposed to be done19:56
heroic_1yes I pretty much copy the thing wholesale19:56
heroic_1remember, I started from the nile repos19:56
heroic_1not the hadk way19:56
heroic_1Hence my asking how it's normally done19:56
malyes, but still hybris manifest is used only for hybris-hal build, system.img is built using clean aosp tree19:57
malor lineage tree dependending on which base is used19:57
heroic_1Ok so you get a "clean" regular lineage build that goes onto the system part19:59
heroic_1or aosp for that matter19:59
heroic_1the difference is the boot.img with the kernel and init19:59
heroic_1and that you push the sailfish rootfs onto the userdata part under /data/.sailfish20:00
malhybris manifest has many patched repos20:00
heroic_1do I have that right?20:00
heroic_1ah ok so when you're building lineage/aosp you're already building with patched framework/bionic/etc?20:01
malyes, normal community builds use a clean android base, so system, vendor and such partition, then sailfish creates custom boot image called hybris-boot.img and a zip that is installed via recovery and install the sfos rootfs to userdata partition20:01
malin official way the difference is that system and vendor are in rpms packages inside a flashable sfos image which contains rootfs20:02
malheroic_1: no, patched stuff is built in hybris-hal build, the clean lineage/aosp image is different and built separately using upstream manifest20:03
malit really shouldn't take this long to explain :)20:04
malit's very simple20:04
heroic_1eh wait where does the hybris-hal build go?20:05
heroic_1into /data/.sailfish?20:05
heroic_1afaics hybris-hal is hybris-boot.img and some other stuff20:05
heroic_1(sorry for breaking up your flow) I just checked the available build targets("make modules") and I can't see anything related to build.prop or fstab20:05
heroic_1but you can manually build "fstab.kagura" so now we need a way for uevent.rc and build.prop20:06
heroic_1the fstab target is reliant on having "LOCAL_MODULE := fstab.$(TARGET_DEVICE)" configured in android's device/vendor/$DEVICE tree makefiles20:07
malheroic_1: hybris-hal build goes to droid-hal rpms i.e. to sailfish rootfs20:08
heroic_1ok got it20:08
heroic_1thank you for all the patience20:08
malthis took longer than expected so I didn't get any development done tonight20:08
heroic_1btw are any of you affiliated with jolla?20:09
heroic_1because I think getting sailfish x on kagura is pretty much as easy/difficult as on discovery20:09
heroic_1they are easy to port but also plagued by the same problems20:09
heroic_1so if you're developing for one, might as well dev for the other20:10
heroic_1and get some cash flow easy peasy20:10
Mister_Magisterafaik mal isn't a jolla employee20:15
Mister_Magisterthat's what makes him an angel20:15
Mister_Magisterkrnlyng: ain't i right xd20:16
malMister_Magister: not accurate anymore, I work for Jolla20:16
Mister_Magistermal: but you weren't20:16
Mister_Magistermal: since when20:16
malcouple of months20:17
Mister_Magisteri got outdated info20:17
Mister_Magisteryou changed your job or doing jolla job as second job?20:17
malwell this is the first time I mention that in public20:17
malchanged my job20:17
Mister_Magisteryou are still an angel for me <320:18
Mister_Magistermal: but health problems didn't change like your job?20:18
malnot yet20:18
* Mister_Magister sad beep20:19
heroic_1whatever it is, get well soon!20:19
malprobably it can't get much worse anymore :D20:19
heroic_1and don't spend the weekend arguing with fools like me ;)20:19
Mister_Magisterheroic_1: so go back with me a couple months ago. imagine single guy doing shitload of work for sfos helping shitload of people even total idiots like me20:20
Mister_Magisterain't that angel20:20
Mister_Magisterand doing that just because of passion20:21
malthat was one of the reasons for my problems, helping too much all the time20:22
Mister_Magisterand that is both beautiful and sad how helping others hurts you20:23
Mister_Magisteri guess there is nothing for free if you want to give something to others (help) something needs to be taken from you (health for example)20:23
Mister_Magistercruel world20:23
Mister_Magisterwas there someone who was porting huawei p20?21:00
piggzmal: ?! is the majority! :P21:39
Mister_Magisterpiggz: wdym21:40
malpiggz: ?! is only in vibrator conditionals, of course there are more of those than other probably22:04
malpiggz: doesn't make it any more correct :P22:04
Mister_Magistermal: i see im out of topic :)22:19
malMister_Magister: we are talking about ifs here
maland the PR in that repo22:42

Generated by 2.17.1 by Marius Gedminas - find it at!