Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / 2005 / 05 / los178570intpac.html
1 <!DOCTYPE html>
2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
3   <head>
4     <meta charset="utf-8">
5     <meta name="description" content=" Attempting to build LOS178 - CR 570 (Posix) Tried to make changes for package.sh. Problems are: Waiting for CR fom Moscow to address including of libstdc++ for LOS 2.1.0 GD lacks libstdc++ from ppc.cdksol.tar.gz! Entered CR #38 for that...">
6     <meta name="generator" content="Movable Type 5.2.3">
7     <title>LOS178-570/int/package and check - Status</title>
8     <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://defaria.com/blogs/Status/atom.xml">
9     <link rel="canonical" href="http://defaria.com/blogs/Status/2005/05/los178570intpac.html">
10     <meta name="viewport" content="width=device-width,initial-scale=1">
11     <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
12     <!--[if lt IE 9]>
13     <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles_ie.css">
14     <script src="/mt/mt-static/support/theme_static/rainier/js/html5shiv.js"></script>
15     <![endif]-->
16     
17     <link rel="start" href="http://defaria.com/blogs/Status/">
18
19     <link rel="prev" href="http://defaria.com/blogs/Status/2005/05/los178-tot.html" title="LOS178 TOT">
20     <link rel="next" href="http://defaria.com/blogs/Status/2005/05/los178-tot-1.html" title="LOS178 TOT">
21     <!-- Open Graph Protocol -->
22     <meta property="og:type" content="article">
23     <meta property="og:locale" content="en-us">
24     <meta property="og:title" content="LOS178-570/int/package and check">
25     <meta property="og:url" content="http://defaria.com/blogs/Status/2005/05/los178570intpac.html">
26     <meta property="og:description" content=" Attempting to build LOS178 - CR 570 (Posix) Tried to make changes for package.sh. Problems are: Waiting for CR fom Moscow to address including of libstdc++ for LOS 2.1.0 GD lacks libstdc++ from ppc.cdksol.tar.gz! Entered CR #38 for that...">
27     <meta property="og:site_name" content="Status">
28     <meta property="og:image" content="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
29     <!-- Metadata -->
30     <meta itemprop="description" content=" Attempting to build LOS178 - CR 570 (Posix) Tried to make changes for package.sh. Problems are: Waiting for CR fom Moscow to address including of libstdc++ for LOS 2.1.0 GD lacks libstdc++ from ppc.cdksol.tar.gz! Entered CR #38 for that...">
31     <link itemprop="url" href="http://defaria.com/blogs/Status/2005/05/los178570intpac.html">
32     <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
33     
34   </head>
35   <body>
36     <div id="container">
37       <div id="container-inner">
38         <header id="header" role="banner">
39           <div id="header-inner">
40             <div id="header-content">
41               <h1>
42                 <a href="http://defaria.com/blogs/Status/">
43
44                   Status
45
46                 </a>
47               </h1>
48               
49             </div>
50
51             <nav role="navigation">
52           <ul>
53             <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
54
55
56           </ul>
57         </nav>
58
59           </div>
60         </header>
61         <div id="content">
62           <div id="content-inner">
63             <ul class="breadcrumb breadcrumb-list">
64               <li class="breadcrumb-list-item"><a href="http://defaria.com/blogs/Status/">Home</a></li>
65               <li class="breadcrumb-list-item">LOS178-570/int/package and check</li>
66             </ul>
67             <div id="individual-main" class="main" role="main">
68               <article id="entry-1631" class="entry entry-asset asset hentry">
69                 <div class="asset-header">
70                   <h2 itemprop="name" class="asset-name entry-title">LOS178-570/int/package and check</h2>
71                   <footer class="asset-meta">
72                     <ul class="asset-meta-list">
73                       <li class="asset-meta-list-item">Posted on <time datetime="2005-05-18T18:27:23-08:00" itemprop="datePublished">May 18, 2005</time></li>
74                       <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
75
76   
77                       <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks</a></li>
78   
79
80                    </ul>
81                 </footer>
82                 </div>
83                 <div class="entry-content asset-content" itemprop="articleBody">
84                   <ul>
85   <li>Attempting to build LOS178 - CR 570 (Posix)</li>
86
87   <li>Tried to make changes for package.sh. Problems are:</li>
88
89   <ol>
90     <li>Waiting for CR fom Moscow to address including of libstdc++ for LOS 2.1.0</li>
91
92     <li>GD lacks libstdc++ from ppc.cdksol.tar.gz! Entered CR #38 for that</lii>
93
94     <li>It was thought that changes to package.sh could be made without the need for a CR. Unfortunately the CVS setup is such that a CR is required, even for comitting changes to toolbox</li>
95   </ol>
96
97   <li>Described new scripts for check and package. Check can be used to help tally the number of growing warnings</li>
98
99   <li>Described plan for a /int area so as to centralized our tools and scripts</li>
100 </ul>
101                   <h3>Check and Package</h3>
102
103 <p>I've done a little work on trying to come up with more generic scripts that can be used across build machines or indeed the organization. Specifically I've been targeting things like packaging and checking. My scripting language of choice is Perl.</p>
104
105 <p>All scripts are relative to my machine at present at saturn:/int. You are free to mount this file system from my machine to your machine to check out the code. In the future I plan on putting this all into a cvs repository and making if available to all who want/need it via a global file system such that adding /int/bin and perhaps /int/adm/bin to one's PATH is all that is needed to gain access to these scripts on any machine. Details of this will be forthcoming in another email.</p>
106
107 <p>In this message I will only describe the check and package scripts. Other scripts, including such things as cvs_report, ecrc as well as web pages and scripts will eventually be documented probably through a series of web pages.</p>
108
109 <h4>Check script</h4>
110
111 <p>Jas had asked me to enhance the checking of install.logs so as to keep track of the growing number of warnings. The check script does this. It will check for errors using the common error strings of other check like scripts as well as warning and optionally issue a total number of errors and warnings. The check script is in /int/bin/check. Here's a short usage:</p>
112 <div class="code"><pre>
113     Usage: check [-u] [-v] [-d] [-t] [-w] <logfile [logfile]>
114
115     Where:
116
117             -u              Display usage
118             -v              Turn on verbose mode
119             -d              Turn on debug mode
120             -t              Display total line
121             -w              Include warnings
122             <logfile>       One or more log files to check
123 </pre</div>
124 <p>With no options except logfile(s) check will output nothing but set the return status to the number of errors encountered. This allows future script to be able to use this in their script and just check the return status.</p>
125
126 <h4>Package script</h4>
127
128 <p>The idea here is to separate the definition of a package from the packaging code itself. The hope is to hand the package definition over to the developers themselves so that they can maintain that - after all they know better what goes where than we do.</p>
129
130 <p>Packaging is implemented as a module, specifically a Perl module and as a Perl object itself. The idea is to encapsulate what can be done with a package into an object. The object module is at /int/lib/LWPackage.pm. The "LW" stands for "LynuxWorks". An LWPackage object currently has 3 methods: new, list and package. The new method is called to create a new package object. One parameter must be specified, that being a pathname to a package spec file. That package spec file is parsed and the package object is populated. The list method will list all of the information about the package including the file list. Finally the package method produces the package image itself.</p>
131
132 <p>Here is a small Perl snippet that utilizes the LWPackage methods:</p>
133 <div class="code"><pre>
134     my $pkg = LWPackage->new (spec => $spec);
135     $pkg->list if get_verbose;
136     $pkg->package;
137 </pre></div>
138 <p>In fact that's the main code for /int/bin/package, the packaging script. It creates a new LWPackage using the filename in $spec, calls the list method if verbose is turned on (get_verbose is part of the Display package) then calls the package method to create the package image.</p>
139
140 <h4>Package spec file</h4>
141
142 <p>Package spec files are denoted by the .lwp extension convention. The format of the spec file is pretty simple. As usual "#" indicate comments, etc. Look at /int/spec/* for example files. Basically the format is similar to:</p>
143 <div class="code"><pre>
144     Name:       int
145     Version:    1.0
146     ProductNbr: 1000
147     Release:    00
148     Base:       /int
149     Fileset:
150         *
151         -data
152     EndFileset
153 </pre></div>
154 <p>Name, ProductNbr, etc. are used in the creation of the image file name ($ProductNbr-$Release.$Name.$Version.tar.gz). The Fileset section defines the file sets included in the package relative to Base. An "*" denotes the usual connotation of "everything". Other path names could be listed one by one. For example, I could have:</p>
155 <div class="code"><pre>
156     Fileset:
157         adm
158         bin
159         spec
160         -data
161         -web
162     EndFileset
163 </pre></div>
164 <p>A minus sign does what you'd think - remove files denoted by this. So the above says, "everything under $Base except everything under $Base/data".</p>
165
166 <p>As for Fileset lines you can list multiple lines and they are processed in the order that they are entered. Duplicate filenames are removed and the Fileset list is ultimately sorted. You can list either directory names for whole directories (that are recursively processed) or individual file pathnames. Regex's are not supported (yet but should be).</p>
167
168 <p>The idea of a package spec is to define the Fileset from where they stand thus eliminating the need to copy large quantities of data into an alternate area so that that alternate area is "clean". IOW it should be able to pull only those necessary files from even a CVS or build tree directly. To that extend future arrangement of things into distinct areas will make writing packaging specs easier.</p>
169
170 <h3>A plan for /int</h4>
171
172 <p>We are seeking an NFS mountable global area where we can place various tools and scripts that will help us do our job. A previous email about the check and packaging scripts are an example of this. The basic idea is to be able to mount a global file system area to a short named path on the local system so that scripts like package and check, etc are accessible and readily available when needed.</p>
173
174 <p>So, for example, if t3:/export/int were that globally accessible file system one would mount t3:/export/int /int and then add /int/bin and perhaps /int/adm/bin to their path and these scripts would be available.</p>
175
176 <p>As these scripts will be used in business processes they are as valuable as our products themselves and thus should be placed under CVS. Let's assume that t3:/cvs/int-cvs were the CVS repository for these scripts. We could check out and modify our own scripts as we further develop them. A nightly cronjob could be set up to cvs export -r &gt;RELTAG&lt; /export/int to make sure that /export/int reflects <RELTAG> where &gt;RELTAG&lt; is some release tag. Then people could check out and enhance/modify our scripts in a test like environment and when "released" simply move the &gt;RELTAG&lt; to the committed version. The updated version would be available the next day (or we could force it by hand if necessary).</p>
177
178 <p>As for what gets put into /int I see the following directory structure:</p>
179
180 <blockquote>
181 <b>adm:</b> Administrative area
182   <blockquote>
183   <b>bin:</b> Administrative bin scripts<br>
184   <b>data:</b> Any adm data files that you might need<br>
185   <b>etc:</b> Rough equivalent of /etc<br>
186   <b>functions:</b> bash script functions (currently symlinked to ../functions)
187   </blockquote>
188 <b>bin:</b> Scripts and apps for int<br>
189 <b>data:</b> Any data you might want<br>
190 <b>functions:</b> bash script functions<br>
191 <b>lib:</b> For Perl and other library modules<br>
192 <b>spec:</b> Spec files (may get rid of this)<br>
193 <b>test:</b> Any test scripts. For example, test script to test the functionality of the modules in ../lib<br>
194 <b>web:</b> Might want to move this elsewhere. Basically a replica of the web pages and scripts I've been doing (so as to have a copy)
195 </blockquote>
196
197 <p>Of course this can change and evolve over time. The main idea is to have a standard place that is globally accessible and short pathed (you could easily type /int/bin/check if /int/bin is not in your path) at a well known path name. Also to sort of replicate or mimic the OS's standard directories like bin, etc, and the like so that it's easily understandable and "natural".</p>
198                 </div>
199                 <nav class="page-navigation entry-navigation pagination content-nav">
200                   <ul class="page-navigation-list">
201
202                     <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2005/05/los178-tot.html" title="LOS178 TOT">Previous entry</a></li>
203
204
205                     <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2005/05/los178-tot-1.html" title="LOS178 TOT">Next entry</a></li>
206
207                   </ul>
208                 </nav>
209                 <!--
210 <aside id="zenback" class="zenback feedback">
211   Please paste Zenback script code here.
212 </aside>
213 -->
214                 
215                 
216               </article>
217             </div>
218             <aside class="widgets related" role="complementary">
219               <nav class="widget-search widget">
220   <div class="widget-content">
221     <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
222       <div>
223         <input type="text" name="search" value="" placeholder="Search...">
224
225         <input type="hidden" name="IncludeBlogs" value="8">
226
227         <input type="hidden" name="limit" value="20">
228         <button type="submit" name="button">
229           <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
230         </button>
231       </div>
232     </form>
233   </div>
234 </nav>
235 <nav class="widget-archive-category widget">
236   <h3 class="widget-header">Categories</h3>
237   <div class="widget-content">
238     
239       
240     <ul class="widget-list">
241       
242       
243       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
244       
245       
246       </li>
247       
248     
249       
250       
251       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
252       
253       
254       </li>
255       
256     
257       
258       
259       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
260       
261       
262       </li>
263       
264     
265       
266       
267       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
268       
269       
270       </li>
271       
272     
273       
274       
275       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
276       
277       
278       </li>
279       
280     
281       
282       
283       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
284       
285       
286       </li>
287       
288     
289       
290       
291       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
292       
293       
294       </li>
295       
296     
297       
298       
299       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
300       
301       
302       </li>
303       
304     
305       
306       
307       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
308       
309       
310       </li>
311       
312     
313       
314       
315       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
316       
317       
318       </li>
319       
320     
321       
322       
323       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
324       
325       
326       </li>
327       
328     
329       
330       
331       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
332       
333       
334       </li>
335       
336     </ul>
337       
338     
339   </div>
340 </nav>
341   
342
343 <nav class="widget-archive-dropdown widget">
344   <h3 class="widget-header">Archives</h3>
345   <div class="widget-content">
346     <select>
347       <option>Select a Month...</option>
348     
349       <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
350     
351   
352     
353       <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
354     
355   
356     
357       <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
358     
359   
360     
361       <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
362     
363   
364     
365       <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
366     
367   
368     
369       <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
370     
371   
372     
373       <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
374     
375   
376     
377       <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
378     
379   
380     
381       <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
382     
383   
384     
385       <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
386     
387   
388     
389       <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
390     
391   
392     
393       <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
394     
395   
396     
397       <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
398     
399   
400     
401       <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
402     
403   
404     
405       <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
406     
407   
408     
409       <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
410     
411   
412     
413       <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
414     
415   
416     
417       <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
418     
419   
420     
421       <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
422     
423   
424     
425       <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
426     
427   
428     
429       <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
430     
431   
432     
433       <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
434     
435   
436     
437       <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
438     
439   
440     
441       <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
442     
443   
444     
445       <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
446     
447   
448     
449       <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
450     
451   
452     
453       <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
454     
455   
456     
457       <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
458     
459   
460     
461       <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
462     
463   
464     
465       <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
466     
467   
468     
469       <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
470     
471   
472     
473       <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
474     
475   
476     
477       <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
478     
479   
480     
481       <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
482     
483   
484     
485       <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
486     
487   
488     
489       <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
490     
491   
492     
493       <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
494     
495   
496     
497       <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
498     
499   
500     
501       <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
502     
503   
504     
505       <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
506     
507   
508     
509       <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
510     
511   
512     
513       <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
514     
515   
516     
517       <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
518     
519   
520     
521       <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
522     
523   
524     
525       <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
526     
527   
528     
529       <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
530     
531   
532     
533       <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
534     
535   
536     
537       <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
538     
539   
540     
541       <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
542     
543   
544     
545       <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
546     
547   
548     
549       <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
550     
551   
552     
553       <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
554     
555   
556     
557       <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
558     
559   
560     
561       <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
562     
563   
564     
565       <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
566     
567   
568     
569       <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
570     
571   
572     
573       <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
574     
575   
576     
577       <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
578     
579   
580     
581       <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
582     
583   
584     
585       <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
586     
587   
588     
589       <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
590     
591   
592     
593       <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
594     
595   
596     
597       <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
598     
599   
600     
601       <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
602     
603   
604     
605       <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
606     
607   
608     
609       <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
610     
611   
612     
613       <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
614     
615   
616     
617       <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
618     
619   
620     
621       <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
622     
623   
624     
625       <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
626     
627   
628     
629       <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
630     
631   
632     
633       <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
634     
635     </select>
636   </div>
637 </nav>
638     
639   
640
641 <div class="widget-syndication widget section">
642   <div class="widget-content">
643     <p><img src="http://defaria.com/mt/mt-static/images/status_icons/feed.gif" alt="Subscribe to feed" width="9" height="9" /> <a href="http://defaria.com/blogs/Status/atom.xml">Subscribe to this blog's feed</a></p>
644
645   </div>
646 </div>
647
648             </aside>
649           </div>
650         </div>
651         <footer id="footer" role="contentinfo">
652           <div id="footer-inner">
653             <div id="footer-content">
654   <nav role="navigation">
655           <ul>
656             <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
657
658
659           </ul>
660         </nav>
661
662   <p class="license">&copy; Copyright 2016.</p>
663   <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
664 </div>
665           </div>
666         </footer>
667       </div>
668     </div>
669     <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
670     <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>
671   </body>
672 </html>