1 |
james: |
2 |
>>>> PS, where is the latest draft of the devmanual and related |
3 |
>>>> documents, related to EAPI-6. |
4 |
> Between proxy-maint, mentors, gentoostats, GSoC, graduate school and |
5 |
> real life issues, devmanual doesn't get the attention it deserves |
6 |
> unfortunately. I'll try to deprioritize proxy-maint and mentors in the |
7 |
> coming months to pay more attention to the others hopefully. |
8 |
> |
9 |
>> No problem. Is there a suggested reading list to get current with |
10 |
>> proxy-maint, gentoo-github basics and other useful docs for proxy work? |
11 |
> |
12 |
There's a Gentoo Github Guide here: |
13 |
https://wiki.gentoo.org/wiki/Gentoo_Github |
14 |
|
15 |
Let's try to be more goal oriented here and try to establish a |
16 |
development environment first. If you want to learn how to utilize |
17 |
Github for pull requests: |
18 |
|
19 |
- Login to your account, browse to 'https://github.com/gentoo/gentoo' |
20 |
and click the 'Fork' button on the upper right |
21 |
- If you haven't added your SSH key to Github, do so before proceeding: |
22 |
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ |
23 |
- Clicking the fork button should redirect you to the page of your fork |
24 |
of the repository. Click the 'Clone or download' on the screen, copy the |
25 |
URI (should look something like 'git@××××××.com:gktrk/gentoo.git'). |
26 |
- Clone your fork to an appropriate directory in the local machine (I |
27 |
use "~/stuff/gentoo") by typing 'git clone <URI> <DIR>' where <URI> is |
28 |
the URI you obtained from the previous step and <DIR> is the destination |
29 |
directory. For example "git clone git@××××××.com:gktrk/gentoo.git |
30 |
~/stuff/gentoo". |
31 |
|
32 |
Looks like radeontop has a new release (v1.0) according to: |
33 |
https://github.com/clbr/radeontop/releases. Now let's do a dummy |
34 |
practice with this fresh dev environment: |
35 |
|
36 |
- make sure you have app-portage/repoman installed |
37 |
- cd into the radeontop package directory in the repo: |
38 |
$ cd ~/stuff/gentoo/x11-apps/radeontop |
39 |
- For simplicity, copy the 0.9 ebuild as 1.0: |
40 |
$ cp radeontop-0.9.ebuild radeontop-1.0.ebuild |
41 |
It needs more work but we're going to ignore that for now |
42 |
- Regenerate the manifest: |
43 |
$ repoman manifest |
44 |
It will download the tarball for the version 1.0 and record its checksum |
45 |
- Let's do a bare-bone QA check: |
46 |
$ repoman full |
47 |
Uh-oh, it spits 6 'dependency.missingslot' and 1 'ebuild.notadded' |
48 |
warnings for me. Let's worry about fixing them later. |
49 |
- Now let's do a runtest, it'd be nice to know if this thing works out |
50 |
of the box: |
51 |
$ ebuild radeontop-1.0.ebuild install |
52 |
This command will go through all the ebuild phases up until |
53 |
src_install() in the correct order: pkg_pretend() -> pkg_setup() -> |
54 |
src_unpack() -> src_prepare() -> src_configure() -> src_compile() -> |
55 |
src_test() -> src_install(). |
56 |
- Let's eyeball the installation image: |
57 |
$ find /var/tmp/portage/x11-apps/radeontop-1.0/image/ |
58 |
I see 'radeontop' under sbin, there's a so-file in lib etc. |
59 |
- It compiles fine for me, let's perform a clean: |
60 |
$ ebuild radeontop-1.0.ebuild clean |
61 |
It will remove all the stuff under '/var/tmp/portage/x11-apps/radeontop' |
62 |
- Let's commit this. There are two ways to go about it. We prefer the |
63 |
following: |
64 |
$ git add radeontop-1.0.ebuild |
65 |
$ repoman commit |
66 |
If you don't have a PGP key set, repoman will refuse to commit. If you |
67 |
don't know how to set it up, you can commit the following way: |
68 |
$ git add radeontop-1.0.ebuild Manifest |
69 |
$ git commit |
70 |
Either way, it will pop-up an editor for you. Make sure the first line |
71 |
looks like the following: |
72 |
x11-apps/radeontop: bump to 1.0 -- DO NOT MERGE, TEST PURPOSES ONLY |
73 |
- Let's push our changes on our fork back to github: |
74 |
$ git push |
75 |
- We're done with the command line, browse to the page of our fork on |
76 |
github. You should be able to see your commit on that page. Click |
77 |
'Compare' that is under the green 'Clone or download' button. |
78 |
- Now you are looking at the total changes you've made. Click the green |
79 |
'Create pull request' button on the screen. |
80 |
- This will create you a template for the pull request and fill in the |
81 |
title for you. In the body where it says 'Leave a comment', type the |
82 |
following: |
83 |
Not ready for merge yet. Pinging @gktrk. |
84 |
- Click the button 'Create pull request'. |
85 |
|
86 |
Once you get to this stage, I'll help you out with the rest. This setup |
87 |
is far from being optimal and we will need to change many other things |
88 |
in the future. For now, it should give you some of the basics. |
89 |
|
90 |
-- |
91 |
gokturk |