![]() |
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 FOSSology Project documentation is licensed under the GNU Free Documentation License Version 1.2 | |||