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