]> git.donarmstrong.com Git - lilypond.git/blob - cygwin/mknetrel.split
e804e545ec0d9aa8843d7f52453c09a11bfeec8f
[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     rmdir $inst/prefix/bin || true
30     rmdir $inst/prefix/lib || true
31     rmdir $inst/prefix/share || true
32     true
33 }
34    
35 devel_split () {
36     mkdir -p ./$prefix/bin || exit 1
37     tar -C $inst -cf - ./$prefix/include | tar -xf -
38     rm -rf $inst/$prefix/include
39     # Only static .a libs in devel, load time .la files go in LIB or
40     # BIN package.
41     mkdir -p ./$prefix/lib || exit 1
42     mv $inst/$prefix/lib/*.a ./$prefix/lib
43     mkdir -p ./$prefix/share || exit 1
44     tar -C $inst -cf - ./$prefix/share/aclocal | tar -xf -
45     rm -rf $inst/$prefix/share/aclocal
46     rmdir $inst/prefix/lib || true
47     rmdir $inst/prefix/share || true
48     true
49 }
50
51 doc_split () {
52     mkdir -p ./$docprefix || exit 1
53     mkdir -p ./$infodir || exit 1
54     tar -C $inst -cf - ./$infodir | tar -xf -
55     rm -rf $inst/$infodir
56     true
57 }
58
59 prebuild () {
60     for i in $sub_packages; do
61         rm -rf $inst-$i
62         mkdir -p $inst-$i || exit 1
63     done
64 }
65     
66 domkdist() {
67     #
68     # Fix up installation slightly
69     #
70     cd $inst || exit 1
71     chmod -R u+w,og-w,a+rX .
72     cd usr 2>/dev/null && dousrstuff
73
74     # Split off any sub-packages.  The actual splitting is handled by
75     # a package's specific code in extra/.
76
77     # To package `foo' in foo, foo-doc and foo-devel, set
78     # sub_packages='doc devel'.
79
80     # Then provide functions doc_name and devel_name, that return the
81     # full name of the sub-package.  Also provide functions doc_split
82     # and devel_split, that mv part of foo's installation in $inst to
83     # the sub-packages' installation roots $inst-doc and $inst-devel.
84
85     cd $inst || exit 1
86     presplit
87
88     for i in $sub_packages; do
89         subname=$(${i}_name)
90         cd $inst-$i || exit 1
91         ${i}_split || exit 1
92     done
93     
94     cd $inst || exit 1
95     prepackage
96
97     cd $inst || exit 1
98     hard2soft
99
100     #
101     # Make tar balls
102     #
103
104     # The base package
105     echo creating $tarstem.tar.bz2
106     cd $inst || exit 1
107
108     f=$src/cygwin/setup.hint && test -r $f && cp $f $uploads
109     f=$src/cygwin/$base.hint && test -r $f && cp $f $uploads/setup.hint
110     find * -print | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf $tarstem.tar.bz2
111
112     # Any sub-packages
113     for i in $sub_packages; do
114         subname=$(${i}_name)
115         subload=$uploads/$subname
116         subtarstem=$subload/$subname-$ver
117         mkdir -p $subload || exit 1
118         echo creating $subtarstem.tar.bz2
119         f=$src/cygwin/$subname.hint && test -r $f && cp $f $subload/setup.hint
120         cd $inst-$i
121         hard2soft
122         find * -print | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf $subtarstem.tar.bz2
123     done
124
125     # The source package
126     cd $src/.. || exit 1
127     echo creating "$tarstem"-src.tar.bz2
128     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
129     postpackage
130 }
131
132
133