]> git.donarmstrong.com Git - lilypond.git/blob - cygwin/mknetrel.split
f9361cd323e85d0dd0bbb45ce2f42f2f71bb7e6b
[lilypond.git] / cygwin / mknetrel.split
1 # -*- shell-script -*-
2
3 #
4 # mknetrel.split -- split subpackages
5 #
6
7 presplit () { true; }
8
9 lib_name () {
10     echo lib$base$sover
11 }
12
13 devel_name () {
14     echo $base-devel
15 }
16
17 doc_name () {
18     echo $base-doc
19 }
20
21 lib_split () {
22     mkdir -p ./$prefix/bin || exit 1
23     mv $inst/$prefix/bin/*.dll ./$prefix/bin
24     # dlopen-able .la files go in BIN dir, BIN OR LIB package
25     mkdir -p ./$prefix/bin || exit 1
26     mv $inst/$prefix/lib/lib*[0-9]*.la ./$prefix/bin
27     mkdir -p ./$prefix/share || exit 1
28     mv $inst/$prefix/share/$base ./$prefix/share
29     true
30 }
31    
32 devel_split () {
33     mkdir -p ./$prefix/bin || exit 1
34     mv $inst/$prefix/include ./$prefix/include
35     # Only static .a libs in devel, load time .la files go in LIB or
36     # BIN package.
37     mkdir -p ./$prefix/lib || exit 1
38     mv $inst/$prefix/lib/*.a ./$prefix/lib
39     mkdir -p ./$prefix/share || exit 1
40     mv $inst/$prefix/share/aclocal ./$prefix/share
41     true
42 }
43
44 doc_split () {
45     mkdir -p ./$docprefix || exit 1
46     mv $inst/$infodir ./$infodir
47     true
48 }
49
50 prebuild () {
51     for i in $sub_packages; do
52         rm -rf $inst-$i
53         mkdir -p $inst-$i || exit 1
54     done
55 }
56     
57 domkdist() {
58     #
59     # Fix up installation slightly
60     #
61     cd $inst || exit 1
62     chmod -R u+w,og-w,a+rX .
63     cd usr 2>/dev/null && dousrstuff
64
65     # Split off any sub-packages.  The actual splitting is handled by
66     # a package's specific code in extra/.
67
68     # To package `foo' in foo, foo-doc and foo-devel, set
69     # sub_packages='doc devel'.
70
71     # Then provide functions doc_name and devel_name, that return the
72     # full name of the sub-package.  Also provide functions doc_split
73     # and devel_split, that mv part of foo's installation in $inst to
74     # the sub-packages' installation roots $inst-doc and $inst-devel.
75
76     cd $inst || exit 1
77     presplit
78
79     for i in $sub_packages; do
80         subname=$(${i}_name)
81         cd $inst-$i || exit 1
82         ${i}_split || exit 1
83     done
84     
85     cd $inst || exit 1
86     prepackage
87
88     cd $inst || exit 1
89     hard2soft
90
91     #
92     # Make tar balls
93     #
94
95     # The base package
96     echo creating $tarstem.tar.bz2
97     cd $inst || exit 1
98
99     f=$src/cygwin/setup.hint && test -r $f && cp $f $uploads
100     f=$src/cygwin/$base.hint && test -r $f && cp $f $uploads/setup.hint
101     find * -print | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf $tarstem.tar.bz2
102
103     # Any sub-packages
104     for i in $sub_packages; do
105         subname=$(${i}_name)
106         subload=$uploads/$subname
107         subtarstem=$subload/$subname-$ver
108         mkdir -p $subload || exit 1
109         echo creating $subtarstem.tar.bz2
110         f=$src/cygwin/$subname.hint && test -r $f && cp $f $subload/setup.hint
111         cd $inst-$i
112         hard2soft
113         find * -print | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf $subtarstem.tar.bz2
114     done
115
116     # The source package
117     cd $src/.. || exit 1
118     echo creating "$tarstem"-src.tar.bz2
119     find $package_src/* -print -follow | egrep -v '\.cvsignore|\.bak$|\.orig$|\.o$|~$|^.#|CVS|%redact|/tags$' | egrep -v "$src_exclude" | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf "$tarstem"-src.tar.bz2
120     postpackage
121 }
122
123
124