Sysadmin/EBN

From KDE Community Wiki
Revision as of 16:00, 22 December 2013 by Awinterz (talk | contribs) (add a new section on dealing with the EBN database using the psql command line tool)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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;