summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tl-update-asy
blob: a4eed40b30e4ecd2ca797337f8c232ff5d5c577e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/bin/sh
# $Id$
# Public domain.  Originally written 2008, Karl Berry.
# Info about updating asymptote.
# 
# Do not run this script.  It won't work.  It is necessary to run the
# commands one at a time and think about what is being done.  It's
# checked in so that when I get hit by a truck, at least the procedure I
# used will be there as a starting point.
# 
# The script uses various paths and convenience variables that I define
# for myself; feel free to peruse tug.org:~karl/.bash_login, etc.
# --karl

ver=...   # the newly-released version

test "x$1" = x--build || exit 1

# 
if false && $update_sources_from_ctan; then
  # this part is about copying the sources from CTAN to TL.
  cd $B/source/utils/
  edit README for asymptote$ver
  (cd asymptote && make distclean; sup && sat)  # be sure no dregs
  \cp -arf /home/ftp/tex-archive/graphics/asymptote/ .

  cd asymptote
  # get list of new files to add:
  svn status | sed -n 's/^\?//p' | fgrep -v binaries
  svn add `!!`
  
  # get list of files to remove:
  diff -qr . /home/ftp/tex-archive/graphics/asymptote/ \
  | egrep -v ' differ' | egrep -v '\.svn|gc-'
  svn rm ...

  # final check and commit:
  svn status # don't worry about binaries.
  svn commit -m"asy $ver sources" . ../README
  exit $?

# 
elif test "x$1" = x--build; then
  # this part is about building the i386-linux asymptote on tug.org.
  # Despite all the dire warnings above, this part actually can be run
  # as a script, because it's so often necessary to redo.
  set -e
  PATH=/usr/bin:/bin:/sbin; export PATH  # system gcc for sake of shared libs
  unset GREP_OPTIONS
  
  cd /home/texlive/karl/Build/source/utils/asymptote
  test -r dot.svn && mv dot.svn .svn
  /usr/local/bin/svn update
  /usr/local/bin/svn revert asy-keywords.el
  mv .svn dot.svn
  if test -f Makefile; then
    make clean
    svn revert doc/asy-latex.pdf
    rm -f Makefile config.h config.log config.status errors.temp
    rm -rf autom4te.cache
  fi
  rm -rf /tmp/ainst
  ./configure --with-latex=/tmp/ainst/latex --with-context=/tmp/ainst/context \
              --enable-texlive-build --prefix=/tmp/ainst #CFLAGS=-g
  nice make
  make install-prebuilt
  mv dot.svn .svn
  exit 0


# 
elif false && $update_runtime_from_ainst; then
  # this part is about copying the results of a successful build 
  # and install (from the previous section) into the Master/texmf runtime.
  cp="cp -af"

  xu=$B/source/utils
  xy=$xu/asymptote
  cd $xy
  $cp binaries/i386-win32/texlive/asy.exe $pg/asymptote/

  cd /tmp/ainst
  $cp share/info/{*/,}*.info $xist/doc/info
  $cp share/man/man1/asy.1 $xist/doc/man/man1/asy.1
  $cp share/man/man1/xasy.1x $xist/doc/man/man1/xasy.1
  $cp -r share/doc/asymptote $xist/doc
  #
  $cp -r share/asymptote $xist
  #
  $cp latex/asymptote/* $xist/tex/latex/asymptote/
  $cp context*/asymptote/* $xist/tex/context/asymptote/
  #
  $cp bin/asy $lb/
  strip $lb/asy

  cd $xist/doc/man
  make
  
  ci="$xu/README \
    $xy \
    $lb/asy $pg/asymptote/ \
    $xist/doc/info/  $xist/doc/man $xist/doc/asymptote \
    $xist/asymptote/ $xist/tex/*/asymptote"

  svn status $ci | sed -n 's/^\?//p'
  svn add `!!`

  cd /tmp/ainst
  xmf=/home/texlive/karl/Master/texmf-dist
  diff -qr share/asymptote/ $xmf/asymptote/ | fgrep -v .svn
  #svn rm ...

  diff -qr share/doc/asymptote/ $xmf/doc/asymptote/ | fgrep -v .svn
  #svn rm ...

  scom -m"asymptote $ver" $ci
fi