[Librem-5-dev] Building and testing your own kernel

Andy Green andy at warmcat.com
Fri Dec 28 15:13:35 PST 2018



On 29/12/2018 07:03, Dorota Czaplejewicz wrote:
> On Sat, 29 Dec 2018 06:49:31 +0800
> Andy Green via Librem-5-dev <librem-5-dev at lists.community.puri.sm> wrote:
> 
>> On 28/12/2018 20:01, Andy Green via Librem-5-dev wrote:
>>>
>>>
>>> On 28/12/2018 19:48, Guido Günther wrote:
>>>> Hi,
>>>> On Fri, Dec 28, 2018 at 09:48:24AM +0100, Guido Günther wrote:
>>>>> Hi,
>>>>> On Fri, Dec 28, 2018 at 10:04:16AM +0800, Andy Green via Librem-5-dev
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>> On 28/12/2018 07:18, David Boddie via Librem-5-dev wrote:
>>>>>>> On Thu Dec 27 03:43:39 PST 2018, Dorota Czaplejewicz wrote:
>>>>>>>   
>>>>>>>> Hi Andy,
>>>>>>>>
>>>>>>>> thank you for doing that work. We're normally building the kernel
>>>>>>>> using image-builder [0], and we're currently using .debs for the
>>>>>>>> kernel.
>>>>>>>
>>>>>>> Thanks, Andy!
>>>>>>>   
>>>>>>>> I feel like this information belongs on some wiki, but we don't
>>>>>>>> have one set up yet. I've started putting random useful info on
>>>>>>>> my own page [1]. David, do you have any ideas?
>>>>>>>
>>>>>>> I have been using my fork of the documentation for stashing notes
>>>>>>> about things:
>>>>>>> https://source.puri.sm/david.boddie/developer.puri.sm/wikis/home
>>>>>>>
>>>>>>> We could just enable the wiki for the documentation:
>>>>>>> https://source.puri.sm/Librem5/developer.puri.sm/wikis/home
>>>>>>>
>>>>>>> Andy, does that sound like it might be a useful place for you to
>>>>>>> put stuff? We could use it as a staging area for things that
>>>>>>> should end up in the documentation.
>>>>>>
>>>>>> Yes I think you're going to need the wiki.  Many developers will stay
>>>>>> on-piste and just follow the blessed, existing flow, but part of the
>>>>>> whole
>>>>>> idea is some won't.  Then it will get expensive doing 1:1 chat for
>>>>>> every
>>>>>> detail needed to get them started.
>>>>>>
>>>>>> Information rots quickly but even so it usually doesn't all rot at
>>>>>> the same
>>>>>> rate and is worth keeping for a while.  At least information in the
>>>>>> wiki
>>>>>> that is rotting can be updated by others when they see it's out of
>>>>>> date,
>>>>>> which is harder to do for "documentation".
>>>>>>
>>>>>> I cloned it, added an article .md by hand, and registered my ssh
>>>>>> pubkey with
>>>>>> the site, but I can't push it back.
>>>>>>
>>>>>> $ git push
>>>>>> ssh://warmcat@source.puri.sm/Librem5/developer.puri.sm.wiki.git
>>>>>> +master:master
>>>>>> warmcat at source.puri.sm's password:
>>>>>
>>>>> For changes to the official docs (which you're trying to push directly
>>>>> to when using the above URL) you want to fork the repo first
>>>>>
>>>>>        https://source.puri.sm/Librem5/developer.puri.sm/forks/new
>>>>>
>>>>> to get your own copy. If you then push changes to that repo on a branch
>>>>> different than master gitlab will show you an URL to create a merge
>>>>> request. More details are here:
>>>>>
>>>>>        https://docs.gitlab.com/ee/gitlab-basics/add-merge-request.html
>>>>>
>>>>> The upside is that the CI tests run on the MRs right away making sure
>>>>> the sphinx docs still build correctly.
>>>>
>>>> As Dorota pointed out to me you wanted to push to the wiki not the dev
>>>> docs repo. The URL there is
>>>>
>>>>       git at source.puri.sm:Librem5/developer.puri.sm.wiki.git
>>>>       ^^^
>>>
>>> Ah got it, thanks.
>>>
>>> I'll give this another go in the morning.
>>
>> The wiki stuff is pretty opaque for casual use.  It ends well but there
>> are some hidden steps...
>>
>> 1) Initially you must git clone the wiki as it advises [1]
>>
>>    $ git clone ssh://git@source.puri.sm:/Librem5/developer.puri.sm.wiki.git
>>
>> 2) Then you push it to your own account blind, like a manual fork
>> (because there is no fork UI for the wiki...)
>>
>> $ git push ssh://git@source.puri.sm:/warmcat/developer.puri.sm.wiki.git
>>
>> 3) In your own account, this git repo does not have any UI footprint as
>> would a logical forked repo.  If you try to synthesize the appropriate
>> URL to see it like other git repos, it's a 404.
>>
>> 4) The trick is it has logically become "the wiki" on your account.
>> Click the wiki button on the left-hand vertical navigation bar on your
>> pages, it will go to:
>>
>> https://source.puri.sm/your-account/developer.puri.sm/wikis
>>
>> 5) From here, since it's "your" wiki, you have extra buttons for "New
>> page", "Edit" etc, and you can edit and preview the markdown how you
>> like in the browser.
>>
>> 6) Since this is changing the remote git repo, editing in that way loses
>> sync with your local cloned copy.  But you can sync your local copy with
>> the changes made in the browser UI
>>
>> $ git pull ssh://git@source.puri.sm:/your-account/developer.puri.sm.wiki.git
>>
>>
>> The end result is you can see my changes here
>>
>> https://source.puri.sm/your-account/developer.puri.sm/wikis
>>
>> I have also written up these steps there (and moved the information
>> about wiki style there off the main page).
>>
>> -Andy
>>
>> [1] https://source.puri.sm/Librem5/developer.puri.sm/wikis/git_access
>> [2] https://source.puri.sm/warmcat/developer.puri.sm.wiki/  and ...
>> .sm.wiki.git
> 
> Thanks for figuring that all out. Did you manage to affect the "main" wiki using your account? It'd be rather underwhelming if user changes all need manual approval.

No I couldn't push back to the main wiki... it's the intentional flow 
from gitlab:

$ git push ssh://git@source.puri.sm:/Librem5/developer.puri.sm.wiki.git
GitLab: You are not allowed to write to this project's wiki.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


 From a wikipedia and like perspective that's not how it should be, but 
from the perspective of people used to github "pull requests" or gerrit 
review or whatever that's what feels like a normal flow.

But it implies someone has the job to maintain the wiki, collating and 
vetting "pull requests" to add stuff to the official wiki manually... if 
that's a job that should be, then it can be, if it's not a job that 
should be, it means making the main wiki editable by all if you want a 
wiki-style wiki.

It being based on git means you can use normal git-fu to snip vandalism 
out of the history or meddle with wording etc.

-Andy

> Cheers,
> Dorota
> 


More information about the Librem-5-dev mailing list