Sysadmin/EBN: Difference between revisions

From KDE Community Wiki
(Initial Version)
 
(new section for manual operations)
(2 intermediate revisions by the same user not shown)
Line 12: Line 12:


Create that branch in the DB like so:
Create that branch in the DB like so:
 
<pre>
       api@zivo:~$ psql -t -h localhost -U kde ebn
       api@zivo:~$ psql -t -h localhost -U kde ebn
       psql (9.1.3)
       psql (9.1.3)
Line 19: Line 19:
       INSERT 993951 1
       INSERT 993951 1
       ebn=> select * from tools order by component;
       ebn=> select * from tools order by component;
 
</pre>
Next we need to create a table for each of our tools corresponding to the newly created branch.
Next we need to create a table for each of our tools corresponding to the newly created branch.


Line 25: Line 25:


Like so:
Like so:
 
<pre>
       ebn=>  insert into tools values (140,'krazy',29,'Code Checking','','/krazy/',0,'t');
       ebn=>  insert into tools values (140,'krazy',29,'Code Checking','','/krazy/',0,'t');
 
</pre>
Notice the 3rd argument is 29.  which is the Id of the new branch.
Notice the 3rd argument is 29.  which is the Id of the new branch.


Similarly for the sanitizer and dox tools do:
Similarly for the sanitizer and dox tools do:
 
<pre>
       ebn=> insert into tools values (141,'sanitizer',29,'Documentation Sanitizer','','/sanitizer/',0,'t');
       ebn=> insert into tools values (141,'sanitizer',29,'Documentation Sanitizer','','/sanitizer/',0,'t');
       ebn=> insert into tools values (142,'dox',29,'API Documentation','','/apidocs/',0,'t');
       ebn=> insert into tools values (142,'dox',29,'API Documentation','','/apidocs/',0,'t');
 
</pre>
Finally, type "quit" and Ctrl-D out of the 'psql' interactive command line interface.
Finally, type "quit" and Ctrl-D out of the 'psql' interactive command line interface.


Line 115: Line 115:


         api@zivo:~$ ( cd /srv/www/api.kde.org; rm -f stable; ln -s 4.10-api stable )
         api@zivo:~$ ( cd /srv/www/api.kde.org; rm -f stable; ln -s 4.10-api stable )
== Manual Operations ==
=== Generate APIDOX for a Component ===
For example, to regenerate all the APIDOX for the entire KDE 4.10 component run:
        api@zivo:~$ cd ~/bin
        api@zivo: ./gendox.sh --version kde-4.10 && ./parsedoxlog.sh --version kde-4.10
== Things you might want to do with the Database ==
=== See the Database Schema Columns ===
<pre>
      ebn=> \d+ components;  # schema the components table
      ebn=> \d+ tools;  # schema for the tools table
</pre>
=== Find the ID of a Component ===
Run this command in psql to see entire components table:
<pre>
      ebn=> select * from components;
</pre>
=== Rename a Component ===
First, get the id of the component you want to modify.  In this example we will change the name and verbose name of id=40
<pre>
      ebn=> update components set name='frameworks-5.x' where id=40;
      ebn=> update components set verbose_name='KDE Frameworks 5.x' where id=40;
</pre>

Revision as of 16:25, 22 December 2013

EBN HowTo

Adding a New Branch to the EBN

Add a new Branch along with Tools to the PostGres DB

Look on http://ebn.kde.org/database.php and find the Id of the current branch.

In this example, the current branch is kde-4.9 and the new branch is kde-4.10

We see in the first table on http://ebn.kde.org/database.php that the kde-4.9 Id is 28. So increment that by one and that makes 29 the Id for kde-4.10.

Create that branch in the DB like so:

       api@zivo:~$ psql -t -h localhost -U kde ebn
       psql (9.1.3)
       Type "help" for help.
       ebn=> insert into components values (29,'kde-4.10','KDE SC 4.10','');
       INSERT 993951 1
       ebn=> select * from tools order by component;

Next we need to create a table for each of our tools corresponding to the newly created branch.

Look down into the second table on http://ebn.kde.org/database.php for the krazy tool listing for the current branch kde-4.9. You'll see the row "130 krazy kde-4.9 Code Checking". By convention, we add 10 to the tool Id for the new branch, meaning the Id for the krazy tool in branch kde-4.10 will be 140.

Like so:

       ebn=>  insert into tools values (140,'krazy',29,'Code Checking','','/krazy/',0,'t');

Notice the 3rd argument is 29. which is the Id of the new branch.

Similarly for the sanitizer and dox tools do:

       ebn=> insert into tools values (141,'sanitizer',29,'Documentation Sanitizer','','/sanitizer/',0,'t');
       ebn=> insert into tools values (142,'dox',29,'API Documentation','','/apidocs/',0,'t');

Finally, type "quit" and Ctrl-D out of the 'psql' interactive command line interface.

If you reload http://ebn.kde.org/database.php you will now see the new table entries.

Start checkout of the new Branch / Stop checkout of the old Branch

First, let's do one final checkout update to make sure we have all the updates for the old branch:

      api@zivo:~$ cd ~/bin; ./update-checkouts

Look for any checkout errors and fix them. Re-run 'update-checkouts' until everything is checked-out ok.

Now setup for the new Branch checkout:

      api@zivo:~$ cd /srv/sources; mkdir kde-4.10

Change the 'update-checkouts' script to checkout kde-4.10 instead of kde-4.9:

      api@zivo:~$ cd ~/bin
      api@zivo:~$ vi update-checkouts
        [change the BRANCH variable at the top of the script from 4.9 to 4.10]

Now do a test run to make sure the kde-4.10 checkout works:

      api@zivo:~$ ./update-checkouts

Once you are satisfied, make sure to commit/push the 'update-checkouts' change accordingly in the quality-kde-org git repo (look in the tools subdir there).

Update APIDOX generation for the new Branch

Change the 'update-apidox' script to checkout kde-4.10 instead of kde-4.9:

      api@zivo:~$ cd ~/bin
      api@zivo:~$ vi update-scripts update-apidox parse-api-logs update-qch-man
        [change the BRANCH variable at the top of the script from 4.9 to 4.10]

Now do a test run to make sure the kde-4.10 APIDOX generation works:

      api@zivo:~$ ./update-scripts
      api@zivo:~$ ./gendox.sh --version kde-4.10 && ./parsedoxlog.sh --version kde-4.10

Create a symbolic link to the new 4.10 docs:

      api@zivo:~$ ( cd /srv/www/api.kde.org; ln -s apidocs/apidox-kde-4.10 4.10-api )

Browse around in http://api.kde.org/4.10-api/kdelibs-apidocs and http://api.kde.org/4.9-api/kdepimlibs-apidocs, etc. and see if the APIDOX look ok.

Once you are satisfied, make sure to commit/push these changed files ('update-scripts', 'update-apidox', 'parse-api-logs' and 'update-qch-man') to the quality-kde-org git repo (look in the tools subdir there).

Update the Classmapper for the new Branch

Change the 'update-mapper' script to checkout kde-4.10 instead of kde-4.9:

      api@zivo:~$ cd ~/bin
      api@zivo:~$ vi update-mapper
        [change the components variable to list 4.10 instead of 4.9]

Now do a test run to make sure the kde-4.10 mapper generation works:

      api@zivo:~$ ./update-mapper

Once you are satisfied, make sure to commit/push the 'update-mapper' change accordingly in the quality-kde-org git repo (look in the tools subdir there).

Update the Web pages

Edit all the following web pages, changing 4.9 to 4.10

       api@zivo:~$ cd /srv/www/api.kde.org
       api@zivo:~$ vi index.php all-search.html includes/search.inc

Add a History section for KDE SC 4.9

       api@zivo:~$ cd /srv/www/api.kde.org
       api@zivo:~$ vi history4.php

Don't forget to commit these changes to the quality-kde-git repo (look in the website/api.kde.org subdir there).

Move the symlink pointing to the stable APIDOX:

       api@zivo:~$ ( cd /srv/www/api.kde.org; rm -f stable; ln -s 4.10-api stable )

Manual Operations

Generate APIDOX for a Component

For example, to regenerate all the APIDOX for the entire KDE 4.10 component run:

       api@zivo:~$ cd ~/bin
       api@zivo: ./gendox.sh --version kde-4.10 && ./parsedoxlog.sh --version kde-4.10

Things you might want to do with the Database

See the Database Schema Columns

       ebn=> \d+ components;   # schema the components table
       ebn=> \d+ tools;  # schema for the tools table

Find the ID of a Component

Run this command in psql to see entire components table:

       ebn=> select * from components;

Rename a Component

First, get the id of the component you want to modify. In this example we will change the name and verbose name of id=40

       ebn=> update components set name='frameworks-5.x' where id=40;
       ebn=> update components set verbose_name='KDE Frameworks 5.x' where id=40;