Make sure a textclass.lst will exist even when configure.py fails. Part of Bug 2829, port from branch to trunk

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20519 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Bo Peng 2007-09-26 16:26:49 +00:00
parent 3545dc0ee3
commit 7329719bec
2 changed files with 18 additions and 7 deletions

View File

@ -129,10 +129,10 @@
% Initializes the files
\typeout{\prefix Inspecting your LaTeX configuration.}
\newwrite{\layouts} \immediate\openout \layouts = textclass.lst
\newwrite{\layouts} \immediate\openout \layouts = textclass.lst.tmp
\newwrite{\sed} \immediate\openout \sed = chkconfig.sed
\newwrite{\vars} \immediate\openout \vars = chkconfig.vars
\newwrite{\packages} \immediate\openout \packages = packages.lst
\newwrite{\packages} \immediate\openout \packages = packages.lst.tmp
\immediate\write\layouts{%
# This file declares layouts and their associated definition files.^^J%

View File

@ -593,10 +593,14 @@ def processLayoutFile(file, bool_docbook, bool_linuxdoc):
def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc):
''' Explore the LaTeX configuration '''
print 'checking LaTeX configuration... ',
# First, remove the files that we want to re-create
# if --without-latex-config is forced, or if there is no previous
# version of textclass.lst, re-generate a default file.
if not os.path.isfile('textclass.lst') or not check_config:
# remove the files only if we want to regenerate
removeFiles(['textclass.lst', 'packages.lst', 'chkconfig.sed'])
#
if not check_config:
# Then, generate a default textclass.lst. In case configure.py
# fails, we still have something to start lyx.
print ' default values'
print '+checking list of textclasses... '
tx = open('textclass.lst', 'w')
@ -626,7 +630,8 @@ def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc):
tx.write(processLayoutFile(file, bool_docbook, bool_linuxdoc))
tx.close()
print '\tdone'
else:
# the following will generate textclass.lst.tmp, and packages.lst.tmp
if check_config:
print '\tauto'
removeFiles(['wrap_chkconfig.ltx', 'chkconfig.vars', \
'chkconfig.classes', 'chklayouts.tex'])
@ -684,6 +689,12 @@ def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc):
pass
if rmcopy: # remove the copied file
removeFiles( [ 'chkconfig.ltx' ] )
# if configure successed, move textclass.lst.tmp to textclass.lst
# and packages.lst.tmp to packages.lst
if os.path.isfile('textclass.lst.tmp') and len(open('textclass.lst.tmp').read()) > 0 \
and os.path.isfile('packages.lst.tmp') and len(open('packages.lst.tmp').read()) > 0:
shutil.move('textclass.lst.tmp', 'textclass.lst')
shutil.move('packages.lst.tmp', 'packages.lst')
def createLaTeXConfig():