Sysadmin/EBN
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;