FOSSology
Advancing open source analysis and development

These are taggart’s notes and probably only make sense to him :)

Questions
=========
unrar email SEND, decision made

pathinclude.h.php issue: DONE generated in ui/

does libfossrepo need -g?
 g ok in most places, except for bSAM, filter license DONE

what uses scheduler.conf? just the scheduler DONE in postinst not testes
what uses proxy.conf? the scheduler, the agents, and cli
what uses Depth.conf? anything that uses libfossrepo
what uses Hosts.conf? anything that uses libfossrepo

the scheduler install target checks to see if the scheduler.conf file exists and if it does then it creates a new one. shouldn't that be if it _doesn't_ exist?
yes, fixed

in scheduler/Makefile if the scheduler.conf file doesn't exist we try to create them one, but it seems to fail if it can't open the repository. maybe this should be skipped when using -L or -B? mkschedconf needs the repo, will do this in postinstall
also some agents need to know where the repo is

install.sh removes all licenses, maybe we can have a list of current licenses and then have bSAM complain about them or something? will have the License.bsam part of the postinstall do this

it looks like mkconfig has hard coded references to all the agents, is
this going to become a plugin type system?
eventually scheduler.conf will go in the db and this won't be needed

does License.bsam still need to be created like it is in the install.sh?
if so can we move the creation of the License.bsam file to it's own runtime utility?
yes if taggart does it

do we want to force the person installing to pick a db password rather than setting a default one? eventually

Makefile.conf uses ifndef but doesn't seem to ever use it, can we remove it? yes

we have mixed StudlyCaps and all lowercase, is there a reason? no, can be cleaned as we have time

should the Filter_License usage text get reenabled? was anything else disabled?
  nealk fixed

what is the state of cli/fossjobs.pod? can it be built/installed? yes
what is the state of cli/foss-scheduler.pod? can I move it to scheduler/? yes
  still need to do

what is agents/specagent/rpm.sh for? tool for testing rpm, worth keeping around

cp2foss depends on p.sh, can we eliminate it somehow? rando did

What needs License.bsam and where should it be installed?
ui/plugins/agent-license-once.php OK, this is one shot
ui/plugins/agent-license-reanalyze.php OK? part of one shot?
  depend on $AGENTDIR/bsam-engine but the ui and agents might be on
  separate machines
ui/plugins/admin-check-template.php
  depends on License.bsam but the ui and agents might be on
  separate machines
selftest agent depends on License.bsam, but that's probably ok as it's an agent
  ALL OF THE ABOVE WILL BE SOLVED BY MAKING THE UI DEPEND ON AGENTS
mkschedconf depends on License.bsam OK only prints bsam stuff into scheduler.conf so it can be used at runtime

explain how init.ui is expected to work. it's a semaphore to trigger the ui to initialize things

mkinstall.sh initializes the db for each agent using a hard coded (and probably incomplete) list of agents.
Do we need to do this in a script or could the scheduler do it? NOT NEEDED ANYMORE
If in a script, then can we dynamically generate the agent list? NO NEED

dbinit.sql is currently just a comment, is this the start of a mechanism to initialize a fresh db? yes
what checks should we do before using it in the postinstall? asked bobg for a way to check for existance of the db, answer is "psql -U postgres fossology"

could License.bsam be pregenerated, but a conffile? nealk doesn't think it's a good idea, I agree

how are we going to support licenses installed by the end user? right now we support dropping new files in see
  http://fossology.org/how_to_interpret_the_license_analysis_report#adding_a_license_template
 eventually this will all be done via the ui

we currently blow away the old licenses before installing, but this could stomp on user licenses? right now we require people adding licenses to do it at build time. at some point in the future we could add support for adding licenses at runtime either by having a separate directory for user licenses or eventually it will all be in the database and managed by the ui.

MkCache and mkinstall.sh have different code for generating License.bsam, which is correct? it looks like mkinstall.sh has more options and error checking, am using that version for now. Have nealk review mkbsamcache. DONE (mkinstall.sh was newer)


New Questions
=============
should bSAM/SeeSam and bsamlist be installed? yes, good debugging tools
should bSAM/docs/* be installed? no, moved to the wiki

how is scheduler/selftest.c supposed to work? the scheduler uses it to
 both test itself and tell the agents to test themselves, this implies that the scheduler needs the agents installed locally
does the selftest agent need to run on the scheduler/db/ui? not the ui

mktar.sh builds the pathinclude, fix that

what machines need to run mkbsamcache? all agent machines (including scheduler too) and the ui needs it for one shot

need to add dbcheck to mkbsamcache

dbinit.c, dbinit.sql, dbclear.sql were removed
what is dbtest for? should it be installed on the system?
what is dbq for? should it be installed on the system?
what systems are they and dbcheck needed on?

have mary look at db/db.cron

if we run fossinit in postinstall, can the init.ui semaphore go away?

ask bobg to minimize the fossology*.sql stuff

what systems do we need to run fossinit on? db? cli? does this imply a
  dependency? is that ok?

ask nealk to have libfossrepo.c read RepPath.conf rather than hardcode

Filter_License.c
* is "ERROR: s Unable" a typo?
* the error case that prints
  fprintf(stderr,"ERROR pfile %s Unable to open database connection\n     ",Pfile_fk);
  doesn't seem to cause Filter_License to exit with a non-zero, why?



postinstall things:
- create scheduler.conf
- initialize database
- add www-data to $PROJECTGROUP
- create/chown/chmod $PROJECTSTATEDIR and $PROJECTHOME (doesn't exist)?
   are they empty to start? does the upstream install need to do this too?
   agents/ununpack/Makefile used to do this, wrong place for it

runtime tests?
check for /etc/default/fossology
check for /etc/init.d/fossology
check for database
Depth.conf
Hosts.conf
RepPath.conf, check for sanity, big chunk in mkinstall.sh does this
scheduler.conf
proxy.conf
maybe all files? have install put a list somewhere?
check for the existance/permissions of the repository and all the files
  in it. can this check be done at runtime? maybe they all can
  should it repair things? no but maybe print instructions?


have scheduler/Makefile:
SCHEDULERCONF="\$AGENTDATADIR/scheduler.conf"
PROXYCONF="\$AGENTDATADIR/proxy.conf"
create scheduler.conf and install CAN'T
create proxy.conf and install

REPOCONF=DATATDIR/repository
create REPOCONF/Depth.conf and install
create REPOCONF/Hosts.conf and install


add www-data user to $PROJECTGROUP, yuck

SRVDATADIR and PROJECTHOME are only used when useradd, find a better way

make sure install doesn't step on conffiles
  depth/hosts/scheduler

user&group stuff:
what utilities need to run as fossy?
do any of the agents run as a group
got answer for this, but what was it? I think no


DONE
====
s/VARDATADIR/PROJECTSTATEDIR/
s/STATEDIR/PROJECTLIBDIR/, not in use currently?
s/SHAREDIR/DATAROOTDIR/, not in use currently?
need to fix LIBEXECDIR and STATEDIR
decide on SYSCONF dir default, given that the sysadmin case is /etc/local
   -> $(PREFIX)/etc/$(PROJECT) cause it's easy
AGENTDATADIR=$(DATADIR)/agents
make sure install doesn't step on conffiles
  /etc/default/fossology
  /etc/init.d/fossology

have scheduler/Makefile:
create default and install
create init script and install

TODO
====
have the user & group checks in a testinstall script
have "make test" check existance, ownership & permissions
add explanation to README about Repo size requirements and how to move
   the location

 
new_build_system/questions.txt · Last modified: 2008/08/27 17:34 by taggart

Copyright (C) 2007-2008 Hewlett-Packard Development Company, L.P.
FOSSology Project documentation is licensed under the GNU Free Documentation License Version 1.2
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki