Sysadmin/EBN: Difference between revisions

From KDE Community Wiki
(add a new section on dealing with the EBN database using the psql command line tool)
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 )
== 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:00, 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 )

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;