1 2To Whom it May Concern: 3 4 5What This Is and How to Work It 6------------------------------- 7 8This directory in the FOSSology source tree 9(agents/nomos) contains work for a new license analysis agent. This 10code originated from a standalone license-scanning tool called Nomos. 11 12At this point in time, the code is not integrated with the rest of FOSSology. 13It uses it's own non-standard Makefile to build a single standalone 14executable. 15 16To try it out... 17 18 % make 19 % ./nomos <file_to_be_scanned> 20 21The file to be scanned should be a regular file (binary or text). In 22particular, it should not be an archive. No unpacking is done; the file 23is scanned as is. 24 25There are currently no command-line options. 26 27 28Note About the Source Code and Impending Changes 29------------------------------------------------ 30 31Because this code came from another tool similar to FOSSology, but with 32different structure and conventions, the process of converting it into 33a full-fledged FOSSology agent is ongoing. 34 35With that in mind, comments with "CDB" in them are bread crumbs I've 36left in places where I was unsure about a change I made or to note a potential 37refinement (CDB == my initials). 38 39 40 41To Do's 42------- 43 44- Change all trace calls at beginning of functions to use traceFunc() 45 (defined in util.c) 46 47- Either add a command-line option to set gl.ptswitch or remove all the 48 PROC_TRACE_SWITCH #ifdefs 49 50- Go back and edit CFLAGS options in Makefile to document and accurately 51 represent what is still operable. 52 53- Document all Makefile targets 54 55- Remove all HP_INTERNAL and CUSTOMER_VERSION references. 56 57- Check and remove all unused field of the gl global variable structure. 58 59- Migrate to standard FOSSology makefile structure and system. 60 61 62 63Changes 64------- 65 66[This is not at all complete. There have been a lot of changes.] 67 68- Changed ls_t to licSpec_t. 69- Changed lic_t to licText_t. 70 71 72Questions 73--------- 74 75- Where the hell is checkstrings script? Do we want it? 76- COMMIT_HASH #ifdef stolen from other agent code. Where does this get 77 #defined? 78- Why does nomos set the LANG environment variable? 79- Implications of removing custom magic file? 80- May want to re-add function validateTools someplace? 81- Do we want to keep the Log functionality, but just have the logfile 82 be in another place? (Right now, the log stuff has been removed.) 83- Do we really need the PROC_TRACE_SWITCH compile #define? 84 85 86#defines Used 87------------- 88 89[Also incomplete.] 90 91BRIEF_LIST 92SHOW_LOCATION Extra code to pinpoint license location. Should 93 always be true. 94PROC_TRACE 95PROC_TRACE_SWITCH Gives command option for tracing on/off 96DEBUG 97GLOBAL_DEBUG Debug access to global variable structure 98MEMORY_TRACING Use Debug Malloc wrapper 99STOPWATCH Performance Measurement 100TIMING Performance Measurement (code has to be added to 101places where you want to measure). 102 103 104Changes made from my nomos_experimental version 105----------------------------------------------- 106 107Remove all code #ifdef'd by USE_MMAP 108 109