Total size of Fedora source

Alek Paunov alex at
Sat May 19 17:36:14 UTC 2012

Bunch of random strings somewhat related to your proposal:


  * Assuming loaded source DB (during distribution build)

  * Source query: 

    (All string "line" [1] literals used in calls (direct and 
transitive) to gkm_rpc_log [**])

  * Filling the err-message grammar (snippet from [3]):

     err-message = "WARNING: " "gnome-keyring" ":: " (
         | "couldn't secure socket: " everything
         | "couldn't connect to: " everything ": " everything
         | "couldn't send socket credentials: " everything

     (the grammar is needed for parsing the user input for points 1st 
and 3rd of your note (see also [***] alternative))


  * parse the user/service query "WARNING: gnome-keyring:: couldn...": 
applying the above gremmar and rendering part of the syntax tree in 

Kind Regards,

[*] Let's forget for a minute about the fact of hundreds different 
patters in the whole codebase, let's pretend that we have to handle just 
the sample error message from your propsal ;-)

[**] Imaginary xpath/xquery-like language for code queries ([4,5,6] - 
leading large scale implementation AFAIK):
   pkg: pacakges namespace
   3f7ff7: 3f7ff7289907d2a27912909e63908eadb16d97bf == 3.2.1-3: Current 
F16 git for gnome-keyring - implies upstream 6d5818 [2]
   cfunc: C functions namespace
   trans-calls: transitive calls axis (like ancestor-or-self but for 
"calling" relation instead of "nesting" tree relation)
   arg: argument names namespace
   c: C language constructs namespace
   string(): in xpath string() function tries to convert the context 
tree node to string scalar

[***] Less elegant, but also less complicated (we do not need grammar 
and parsing, but just code-point _key_ matching) option is to convince 
Tomas to include build instrumentation in the spec (David's gcc plugin 
based in case of gnome-keyring) for hard error messages pre-enumeration 
with the following effect:
  [3] L250 becomes: "[FGKR0TK] couldn't secure socket: %s"
  [3] L256 becomes: "[FGKR0TL] couldn't connect to: %s: %s"
  [3] L262 becomes: "[FGKR0TM] couldn't send socket credentials: %s"


More information about the devel mailing list