<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR>
<STYLE>@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        COLOR: windowtext; FONT-FAMILY: Arial; mso-style-type: personal-compose
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff 
size=2></FONT>&nbsp;</DIV><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> 
  lsb-discuss-bounces@lists.freestandards.org 
  [mailto:lsb-discuss-bounces@lists.freestandards.org] <B>On Behalf Of </B>Camp, 
  TracyX E<BR><B>Sent:</B> Monday, October 23, 2006 11:47 AM<BR><B>To:</B> 
  lsb-discuss@lists.freestandards.org<BR><B>Subject:</B> [lsb-discuss] lsb 
  version and the specdb ModCmd and ModLib tables<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I&#8217;ve been working on fixing up 
  various things about the lsb dev environment that bug me.&nbsp; As those that 
  know me well can attest, it&#8217;s the little things that bug me and one of them is 
  repeatability.&nbsp; In this context I would like to be able to produce an 
  lsbcc binary that can tell you what version of LSB it was built from and then 
  correctly link binaries for that version.&nbsp; Please note I didn&#8217;t claim 
  &#8216;correctly produce&#8217; binaries.&nbsp; This is just an incremental solution I&#8217;m 
  seeking.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">For reasons of sanity and quality 
  I think it would be best if this was not dependant on forking lsbcc.c and 
  specdb for each and every LSB release (though that might and probably does 
  happen for other entirely legitimate reasons).<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">There are actually two parts of 
  this issue, one of them is at a header level (what interfaces, constants, 
  macros and associated ABI information are allowed in this LSB version?) and 
  the other is at a larger grained lsbcc link fixup level (what shared libs are 
  allowed in this LSB version?).&nbsp; It is this latter problem I would like to 
  address here.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">From looking at the specdb it 
  appears that the ModCmd and ModLib tables might be the place to add the 
  missing lsb version information so that lsbcc would know what to link shared 
  for a given LSB version.&nbsp; <o:p></o:p></SPAN></FONT></P></DIV></BLOCKQUOTE>
<P class=MsoNormal dir=ltr><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;<SPAN 
class=035332718-23102006><FONT color=#0000ff>why not directly in the Module, 
Command and Library tables?</FONT></SPAN></o:p></SPAN></P>
<P class=MsoNormal dir=ltr><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p><SPAN 
class=035332718-23102006><FONT 
color=#0000ff></FONT></SPAN></o:p></SPAN>&nbsp;</P>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I&#8217;m thinking of a schema change 
  that would add two columns to each table, one called &#8216;LSB_Version_Appeared&#8217;, 
  and another called &#8216;LSB_Version_Removed&#8217;<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Since I&#8217;m new around here I&#8217;d 
  probably populate the current contents of specdb with &#8216;3.0&#8217; for all things not 
  desktop and &#8216;3.1&#8217; for all things desktop as the appeared version and provide a 
  magic value for the its-never-been-removed 
  version.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=#0000ff size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p></o:p></SPAN></FONT>&nbsp;</P></BLOCKQUOTE>
<P class=MsoNormal dir=ltr><FONT color=#0000ff><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p><SPAN 
class=035332718-23102006>for libraries at least, we do have better information 
than that but it's</SPAN></o:p></SPAN></FONT></P>
<P class=MsoNormal dir=ltr><FONT color=#0000ff><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p><SPAN 
class=035332718-23102006>not a terrible approximation in terms of what we "care" 
about.</SPAN></o:p></SPAN></FONT></P>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">To complete the picture, I would 
  then at build-time use a build-time supplied LSB version number to generate 
  the currently in-line tables of LSB shared libs in lsbcc from the 
  specdb.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Upside: one less change to forget 
  when adding a new lib to LSB, one small step towards complete LSB version data 
  in the specdb, and one less thing that bugs me.&nbsp; It might also be 
  possible to pre-flight new libs in the production DB w/o perturbing the 
  current LSB version builds.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Downside: 
  Uncertain: would this collide with other work going on someplace?&nbsp; 
  Libtodb would need another update and command line parameter to insert the 
  records.<SPAN class=035332718-23102006><FONT 
  color=#0000ff>&nbsp;</FONT></SPAN></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN 
  class=035332718-23102006></SPAN></SPAN>&nbsp;</P></BLOCKQUOTE>
<P class=MsoNormal dir=ltr><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN class=035332718-23102006><FONT 
color=#0000ff>There's a large list of scripts that&nbsp;know something about the 
schema - </FONT></SPAN></SPAN></P>
<P class=MsoNormal dir=ltr><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN class=035332718-23102006><FONT 
color=#0000ff>see email from Vladimir Rubanov from earlier this month in this 
list's archive.</FONT></SPAN></SPAN></P>
<P class=MsoNormal dir=ltr><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN class=035332718-23102006><FONT 
color=#0000ff></FONT></SPAN></SPAN>&nbsp;</P>
<P class=MsoNormal dir=ltr><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN class=035332718-23102006><FONT 
color=#0000ff>dbadmin (its own project in the version control 
sense)&nbsp;certainly ought</FONT>&nbsp;<FONT 
color=#0000ff>to</FONT></SPAN></SPAN></P>
<P class=MsoNormal dir=ltr><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN class=035332718-23102006><FONT 
color=#0000ff>know about such a change.</FONT></SPAN></SPAN></P>
<P class=MsoNormal dir=ltr><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN 
class=035332718-23102006></SPAN></SPAN>&nbsp;</P></BODY></HTML>