Rev 98 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 98 | Rev 114 | ||
---|---|---|---|
1 | #! /bin/sh |
1 | #! /bin/sh |
2 | # postinst script for pike7.8 |
2 | # postinst script for pike7.8 |
3 | # |
3 | # |
4 | # see: dh_installdeb(1) |
4 | # see: dh_installdeb(1) |
5 | # |
5 | # |
6 | # $Id: pike7.8-core.postinst,v 1.1 2006/01/17 22:37:48 grendel Exp $ |
6 | # $Id: pike7.8-core.postinst,v 1.1 2006/01/17 22:37:48 grendel Exp $ |
7 | # |
7 | # |
8 | 8 | ||
9 | set -e |
9 | set -e |
10 | 10 | ||
11 | PIKE=7.8 |
11 | PIKE=7.8 |
12 | PIKEBIN=pike${PIKE} |
12 | PIKEBIN=pike${PIKE} |
13 | 13 | ||
14 | # summary of how this script can be called: |
14 | # summary of how this script can be called: |
15 | # * <postinst> `configure' <most-recently-configured-version> |
15 | # * <postinst> `configure' <most-recently-configured-version> |
16 | # * <old-postinst> `abort-upgrade' <new version> |
16 | # * <old-postinst> `abort-upgrade' <new version> |
17 | # * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
17 | # * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
18 | # <new-version> |
18 | # <new-version> |
19 | # * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
19 | # * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
20 | # <failed-install-package> <version> `removing' |
20 | # <failed-install-package> <version> `removing' |
21 | # <conflicting-package> <version> |
21 | # <conflicting-package> <version> |
22 | # for details, see http://www.debian.org/doc/debian-policy/ or |
22 | # for details, see http://www.debian.org/doc/debian-policy/ or |
23 | # the debian-policy package |
23 | # the debian-policy package |
24 | # |
24 | # |
25 | # quoting from the policy: |
25 | # quoting from the policy: |
26 | # Any necessary prompting should almost always be confined to the |
26 | # Any necessary prompting should almost always be confined to the |
27 | # post-installation script, and should be protected with a conditional |
27 | # post-installation script, and should be protected with a conditional |
28 | # so that unnecessary prompting doesn't happen if a package's |
28 | # so that unnecessary prompting doesn't happen if a package's |
29 | # installation fails and the `postinst' is called with `abort-upgrade', |
29 | # installation fails and the `postinst' is called with `abort-upgrade', |
30 | # `abort-remove' or `abort-deconfigure'. |
30 | # `abort-remove' or `abort-deconfigure'. |
31 | LOCAL_DIRS="lib/pike${PIKE}/modules lib/pike${PIKE}/include" |
31 | LOCAL_DIRS="lib/pike${PIKE}/modules lib/pike${PIKE}/include" |
32 | 32 | ||
33 | update_modules () { |
33 | update_modules () { |
- | 34 | # Unfortunately we more or less have to delete all .o files and |
|
- | 35 | # redump everything, because although master.pike won't use a .o |
|
- | 36 | # file that is older than its corresponding source, modules often |
|
- | 37 | # contain compile-time conditionals like |
|
- | 38 | # |
|
- | 39 | # #if constant(Mysql.mysql) |
|
- | 40 | # |
|
- | 41 | # If the Mysql module is not installed, the code inside that |
|
- | 42 | # conditional block will not be compiled, and the referring module |
|
- | 43 | # won't be detected as out-of-date if the Mysql module is later |
|
- | 44 | # installed. |
|
34 | find /usr/lib/$PIKEBIN/modules -name '*.o' -delete |
45 | find /usr/lib/$PIKEBIN -name '*.o' -delete |
35 | $PIKEBIN -x dump --distquiet -r /usr/lib/$PIKEBIN/modules |
46 | $PIKEBIN -x dump --distquiet -r /usr/lib/$PIKEBIN |
36 | } |
47 | } |
37 | 48 | ||
38 | case "$1" in |
49 | case "$1" in |
39 | configure) |
50 | configure) |
40 | update-alternatives --install /usr/bin/pike pike /usr/bin/${PIKEBIN} 12 \ |
51 | update-alternatives --install /usr/bin/pike pike /usr/bin/${PIKEBIN} 12 \ |
41 | --slave /usr/share/man/man1/pike.1.gz pike.1.gz /usr/share/man/man1/${PIKEBIN}.1.gz |
52 | --slave /usr/share/man/man1/pike.1.gz pike.1.gz /usr/share/man/man1/${PIKEBIN}.1.gz |
42 | # |
53 | # |
43 | # If the creation fails, so be it, user might have the filesystem mounted r/o |
54 | # If the creation fails, so be it, user might have the filesystem mounted r/o |
44 | # |
55 | # |
45 | for d in $LOCAL_DIRS; do |
56 | for d in $LOCAL_DIRS; do |
46 | if [ ! -d /usr/local/$d ]; then |
57 | if [ ! -d /usr/local/$d ]; then |
47 | install -d -m 755 -o root -g root /usr/local/$d || true |
58 | install -d -m 755 -o root -g root /usr/local/$d || true |
48 | fi |
59 | fi |
49 | done |
60 | done |
50 | 61 | ||
51 | $PIKEBIN -x dump --distquiet /usr/lib/$PIKEBIN/master.pike |
- | |
52 | update_modules |
62 | update_modules |
53 | ;; |
63 | ;; |
54 | 64 | ||
55 | abort-upgrade|abort-remove|abort-deconfigure) |
65 | abort-upgrade|abort-remove|abort-deconfigure) |
56 | 66 | ||
57 | ;; |
67 | ;; |
58 | 68 | ||
59 | triggered) |
69 | triggered) |
60 | update_modules |
70 | update_modules |
61 | ;; |
71 | ;; |
62 | 72 | ||
63 | *) |
73 | *) |
64 | echo "postinst called with unknown argument \`$1'" >&2 |
74 | echo "postinst called with unknown argument \`$1'" >&2 |
65 | exit 1 |
75 | exit 1 |
66 | ;; |
76 | ;; |
67 | esac |
77 | esac |
68 | 78 | ||
69 | # dh_installdeb will replace this with shell code automatically |
79 | # dh_installdeb will replace this with shell code automatically |
70 | # generated by other debhelper scripts. |
80 | # generated by other debhelper scripts. |
71 | 81 | ||
72 | #DEBHELPER# |
82 | #DEBHELPER# |
73 | 83 | ||
74 | exit 0 |
84 | exit 0 |