This patch installs lyx2lyx into the path,and places the support .py
into $DATADIR/lyx2lyx

It does NOT fix using non-installed lyx.

Any comments ? the only change to the script is to import the path of
the .py files ? If this is OK I will commit it

regards
john

-- 
"When your name is Winner, that's it. You don't need a nickname."
        - Loser Lane
Index: config/configure.ac
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/config/configure.ac,v
retrieving revision 1.4
diff -u -r1.4 configure.ac
--- config/configure.ac 14 Aug 2002 21:22:27 -0000      1.4
+++ config/configure.ac 28 Aug 2002 19:06:29 -0000
@@ -280,8 +280,9 @@
   LyX binary dir:                 ${real_bindir}\n\
   LyX files dir:                  ${real_datadir}\n"
 
-
 AC_SUBST(VERSION_INFO)
+dnl lyx2lyx needs this
+AC_SUBST(real_datadir)
 
 ### Finish the work.
 AC_CONFIG_SUBDIRS(lib lib/reLyX)
@@ -295,6 +296,8 @@
        config/Makefile \
        development/lyx.spec \
        lib/Makefile \
+       lib/lyx2lyx/Makefile \
+       lib/lyx2lyx/lyx2lyx \
        intl/Makefile \
        po/Makefile.in \
        sourcedoc/Doxyfile \
Index: config/configure.in
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/config/configure.in,v
retrieving revision 1.4
diff -u -r1.4 configure.in
--- config/configure.in 14 Aug 2002 21:22:27 -0000      1.4
+++ config/configure.in 28 Aug 2002 19:06:32 -0000
@@ -283,6 +283,8 @@
 
 
 AC_SUBST(VERSION_INFO)
+dnl lyx2lyx needs this
+AC_SUBST(real_datadir)
 
 ### Finish the work.
 AC_CONFIG_SUBDIRS(lib lib/reLyX)
@@ -296,6 +298,8 @@
        config/Makefile \
        development/lyx.spec \
        lib/Makefile \
+       lib/lyx2lyx/Makefile \
+       lib/lyx2lyx/lyx2lyx \
        intl/Makefile \
        po/Makefile.in \
        sourcedoc/Doxyfile \
Index: lib/Makefile.am
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/lib/Makefile.am,v
retrieving revision 1.46
diff -u -r1.46 Makefile.am
--- lib/Makefile.am     26 Apr 2002 10:32:23 -0000      1.46
+++ lib/Makefile.am     28 Aug 2002 19:06:35 -0000
@@ -2,7 +2,7 @@
 DISTCLEANFILES = *.orig *.rej *~ *.bak core textclass.lst packages.lst \
                lyxrc.defaults doc/LyXConfig.lyx doc/LaTeXConfig.lyx
 MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
-SUBDIRS = reLyX
+SUBDIRS = reLyX lyx2lyx
 
 CHMOD=chmod
 
Index: lib/lyx2lyx/.cvsignore
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/lib/lyx2lyx/.cvsignore,v
retrieving revision 1.1
diff -u -r1.1 .cvsignore
--- lib/lyx2lyx/.cvsignore      2 Aug 2002 15:50:51 -0000       1.1
+++ lib/lyx2lyx/.cvsignore      28 Aug 2002 19:06:41 -0000
@@ -1 +1,4 @@
 *.pyc
+lyx2lyx
+Makefile.in
+Makefile
Index: lib/lyx2lyx/Makefile.am
===================================================================
RCS file: lib/lyx2lyx/Makefile.am
diff -N lib/lyx2lyx/Makefile.am
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ lib/lyx2lyx/Makefile.am     28 Aug 2002 19:06:41 -0000
@@ -0,0 +1,26 @@
+AUTOMAKE_OPTIONS = foreign
+DISTCLEANFILES= *.orig *.rej *~ *.bak
+MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
+LYXDATADIR = lyx2lyx
+bin_SCRIPTS = lyx2lyx
+
+LIBINSTFILES = error.py  lyxconvert_215.py  lyxconvert_217.py  lyxconvert_220.py \
+       lyxconvert_216.py  lyxconvert_218.py  parser_tools.py 
+EXTRA_DIST = $(LIBINSTFILES)
+
+libinstalldirs:
+       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/$(LYXDATADIR)
+
+install-data-local:  libinstalldirs
+       files=`cd $(srcdir) ; echo $(LIBINSTFILES)` ; \
+       for i in $$files ; do \
+          $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(pkgdatadir)/lyx2lyx/$$i ; \
+       done ;
+
+uninstall-local:
+       @$(NORMAL_UNINSTALL)
+       files=`cd $(srcdir) ; echo $(LIBINSTFILES)` ; \
+       for i in $$files ; do \
+         rm -f $(pkgdatadir)/$(LYXDATADIR)/$$i ; \
+       done ; \
+       rm -rf $(pkgdatadir)/$(LYXDATADIR)
Index: lib/lyx2lyx/lyx2lyx
===================================================================
RCS file: lib/lyx2lyx/lyx2lyx
diff -N lib/lyx2lyx/lyx2lyx
--- lib/lyx2lyx/lyx2lyx 27 Aug 2002 20:30:16 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,180 +0,0 @@
-#! /usr/bin/env python
-# Copyright (C) 2002 José Matos <[EMAIL PROTECTED]>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-import getopt, sys, string, re
-from error import error, warning
-from parser_tools import set_comment, set_format, check_token
-
-version = "0.0.2"
-
-# Allow the dummy object to be able to carry related data
-# like a C struct
-class struct:
-    pass
-
-# options object, with default values
-opt = struct()
-
-opt.output = sys.stdout
-opt.input = sys.stdin
-opt.start = None
-opt.end = None
-opt.quiet = 0
-
-format = re.compile(r"(\d)[\.,]?(\d\d)")
-fileformat = re.compile(r"\\lyxformat\s*(\S*)")
-lst_ft = ["210", "215", "216", "217", "218", "220", "221"]
-
-def usage():
-    print """Usage: lyx2lyx [options] file1
-Convert old lyx file <file1> to newer format.
-Options:
-    -h, --help                 this information
-    -v, --version              output version information and exit
-    -l, --list                 list all available formats
-    -d, --debug level          level=0..2 (O_ no debug information,2_verbose)
-                               default: level=1
-    -f, --from version         initial version (optional)
-    -t, --to version           final version (optional)
-    -o, --output name          name of the output file or else goes to stdout
-    -q, --quiet                        same as --debug=0"""
-
-
-def parse_options(argv):
-    _options =  ["help", "version", "list", "from=", "to=", "output=", "quiet"]
-    try:
-       opts, args = getopt.getopt(argv[1:], "f:hlo:qt:v", _options)
-    except getopt.error:
-        usage()
-        sys.exit(2)
-
-    for o, a in opts:
-        if o in ("-h", "--help"):
-            usage()
-            sys.exit()
-        if o in ("-v", "--version"):
-            print "lyxconvert, version %s" %(version)
-            print "Copyright (C) 2002 LyX Team"
-            sys.exit()
-        if o in ("-d", "--debug"):
-            opt.debug = int(a)
-        if o in ("-q", "--quiet"):
-            opt.debug = 0
-        if o in ("-l", "--list"):
-            print lst_ft
-            sys.exit()
-        if o in ("-o", "--output"):
-            opt.output = open(a, "w")
-        if o in ("-f", "--from"):
-            opt.start = lyxformat(a)
-        if o in ("-t", "--to"):
-            opt.end = lyxformat(a)
-
-    if not opt.end:
-        opt.end = lst_ft[len(lst_ft)-1]
-
-    if opt.start and opt.start == opt.end:
-        sys.stderr.write(error.same_format)
-        sys.exit()
-
-    if opt.start > opt.end:
-        sys.stderr.write(error.newer_format)
-        sys.exit(1)
-
-    if args:
-        opt.input = open(args[0])
-
-def lyxformat(fmt):
-    result = format.match(fmt)
-    if result:
-        fmt = result.group(1)+result.group(2)
-    else:
-        sys.stderr.write(fmt + ": " + error.invalid_format)
-        sys.exit(2)
-    if fmt not in lst_ft:
-        sys.stderr.write(fmt + ": " + error.format_not_supported)
-        sys.exit(1)
-    return fmt
-
-def read_file(file, header, body):
-    """Reads a file into the header and body parts"""
-    fmt = None
-    preamble = 0
-
-    while 1:
-        line = file.readline()
-        if not line:
-            sys.stderr.write(error.invalid_file)
-            sys.exit(3)
-
-        line = line[:-1]
-        if check_token(line, '\\begin_preamble'):
-            preamble = 1
-        if check_token(line, '\\end_preamble'):
-            preamble = 0
-
-        if not line and not preamble:
-            break
-
-        header.append(line)
-        result = fileformat.match(line)
-        if result:
-            fmt = lyxformat(result.group(1))
-
-    while 1:
-        line = file.readline()
-        if not line:
-            break
-        body.append(line[:-1])
-
-    if not fmt:
-        sys.stderr.write(error.invalid_file)
-        sys.exit(3)
-    return fmt
-
-def write_file(file, header, body):
-    for line in header:
-        file.write(line+"\n")
-    file.write("\n")
-    for line in body:
-        file.write(line+"\n")
-
-def main(argv):
-    parse_options(argv)
-
-    header, body = [], []
-    fmt =  read_file(opt.input, header, body)
-
-    if opt.start:
-        if opt.start != fmt:
-            print warning.dont_match + ":", opt.start, fmt
-    else:
-        opt.start = fmt
-
-    # Convertion chain
-    start = lst_ft.index(opt.start)
-    end = lst_ft.index(opt.end)
-
-    for fmt in lst_ft[start:end]:
-       __import__("lyxconvert_" + fmt).convert(header,body)
-
-    set_comment(header, opt.end)
-    set_format(header, opt.end)
-    write_file(opt.output, header, body)
-    
-if __name__ == "__main__":
-    main(sys.argv)
Index: lib/lyx2lyx/lyx2lyx.in
===================================================================
RCS file: lib/lyx2lyx/lyx2lyx.in
diff -N lib/lyx2lyx/lyx2lyx.in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ lib/lyx2lyx/lyx2lyx.in      28 Aug 2002 19:06:44 -0000
@@ -0,0 +1,182 @@
+#! /usr/bin/env python
+# Copyright (C) 2002 José Matos <[EMAIL PROTECTED]>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+import getopt, sys, string, re
+sys.path.append('@real_datadir@/lyx2lyx/')
+ 
+from error import error, warning
+from parser_tools import set_comment, set_format, check_token
+
+version = "0.0.2"
+
+# Allow the dummy object to be able to carry related data
+# like a C struct
+class struct:
+    pass
+
+# options object, with default values
+opt = struct()
+
+opt.output = sys.stdout
+opt.input = sys.stdin
+opt.start = None
+opt.end = None
+opt.quiet = 0
+
+format = re.compile(r"(\d)[\.,]?(\d\d)")
+fileformat = re.compile(r"\\lyxformat\s*(\S*)")
+lst_ft = ["210", "215", "216", "217", "218", "220", "221"]
+
+def usage():
+    print """Usage: lyx2lyx [options] file1
+Convert old lyx file <file1> to newer format.
+Options:
+    -h, --help                 this information
+    -v, --version              output version information and exit
+    -l, --list                 list all available formats
+    -d, --debug level          level=0..2 (O_ no debug information,2_verbose)
+                               default: level=1
+    -f, --from version         initial version (optional)
+    -t, --to version           final version (optional)
+    -o, --output name          name of the output file or else goes to stdout
+    -q, --quiet                        same as --debug=0"""
+
+
+def parse_options(argv):
+    _options =  ["help", "version", "list", "from=", "to=", "output=", "quiet"]
+    try:
+       opts, args = getopt.getopt(argv[1:], "f:hlo:qt:v", _options)
+    except getopt.error:
+        usage()
+        sys.exit(2)
+
+    for o, a in opts:
+        if o in ("-h", "--help"):
+            usage()
+            sys.exit()
+        if o in ("-v", "--version"):
+            print "lyxconvert, version %s" %(version)
+            print "Copyright (C) 2002 LyX Team"
+            sys.exit()
+        if o in ("-d", "--debug"):
+            opt.debug = int(a)
+        if o in ("-q", "--quiet"):
+            opt.debug = 0
+        if o in ("-l", "--list"):
+            print lst_ft
+            sys.exit()
+        if o in ("-o", "--output"):
+            opt.output = open(a, "w")
+        if o in ("-f", "--from"):
+            opt.start = lyxformat(a)
+        if o in ("-t", "--to"):
+            opt.end = lyxformat(a)
+
+    if not opt.end:
+        opt.end = lst_ft[len(lst_ft)-1]
+
+    if opt.start and opt.start == opt.end:
+        sys.stderr.write(error.same_format)
+        sys.exit()
+
+    if opt.start > opt.end:
+        sys.stderr.write(error.newer_format)
+        sys.exit(1)
+
+    if args:
+        opt.input = open(args[0])
+
+def lyxformat(fmt):
+    result = format.match(fmt)
+    if result:
+        fmt = result.group(1)+result.group(2)
+    else:
+        sys.stderr.write(fmt + ": " + error.invalid_format)
+        sys.exit(2)
+    if fmt not in lst_ft:
+        sys.stderr.write(fmt + ": " + error.format_not_supported)
+        sys.exit(1)
+    return fmt
+
+def read_file(file, header, body):
+    """Reads a file into the header and body parts"""
+    fmt = None
+    preamble = 0
+
+    while 1:
+        line = file.readline()
+        if not line:
+            sys.stderr.write(error.invalid_file)
+            sys.exit(3)
+
+        line = line[:-1]
+        if check_token(line, '\\begin_preamble'):
+            preamble = 1
+        if check_token(line, '\\end_preamble'):
+            preamble = 0
+
+        if not line and not preamble:
+            break
+
+        header.append(line)
+        result = fileformat.match(line)
+        if result:
+            fmt = lyxformat(result.group(1))
+
+    while 1:
+        line = file.readline()
+        if not line:
+            break
+        body.append(line[:-1])
+
+    if not fmt:
+        sys.stderr.write(error.invalid_file)
+        sys.exit(3)
+    return fmt
+
+def write_file(file, header, body):
+    for line in header:
+        file.write(line+"\n")
+    file.write("\n")
+    for line in body:
+        file.write(line+"\n")
+
+def main(argv):
+    parse_options(argv)
+
+    header, body = [], []
+    fmt =  read_file(opt.input, header, body)
+
+    if opt.start:
+        if opt.start != fmt:
+            print warning.dont_match + ":", opt.start, fmt
+    else:
+        opt.start = fmt
+
+    # Convertion chain
+    start = lst_ft.index(opt.start)
+    end = lst_ft.index(opt.end)
+
+    for fmt in lst_ft[start:end]:
+       __import__("lyxconvert_" + fmt).convert(header,body)
+
+    set_comment(header, opt.end)
+    set_format(header, opt.end)
+    write_file(opt.output, header, body)
+    
+if __name__ == "__main__":
+    main(sys.argv)

Reply via email to