]> git.donarmstrong.com Git - lilypond.git/blob - cygwin/mknetrel.split
a64822b2addd3a277fa9aaca04f13e375f975f0d
[lilypond.git] / cygwin / mknetrel.split
1 # -*- shell-script -*-
2 # mknetrel.split -- split subpackages
3
4 extras_preinstall () {
5     :;
6 }
7
8 extras_presplit () {
9     :;
10 }
11
12 presplit () {
13     :;
14 }
15
16 devel_name () {
17     if ! libdev 2> /dev/null ; then
18         echo $base-devel
19     else
20         if expr "$base" : "\(lib\)" > /dev/null 2>&1; then
21             echo $base-dev
22         else
23             echo lib$base-dev
24         fi
25     fi
26 }
27
28 doc_name () {
29     echo $base-doc
30 }
31
32 lib_name () {
33     if expr "$base" : "\(lib\)" > /dev/null 2>&1; then
34         echo $base$sover
35     else
36         echo lib$base$sover
37     fi
38 }
39
40 extras_lib_split () {
41     mkdir -p ./$prefix/bin || exit 1
42     mv $inst/$prefix/bin/*.dll ./$prefix/bin
43     # better move dlls to bin, see gmp
44     mkdir -p ./$prefix/lib || exit 1
45     mv $inst/$prefix/lib/*.dll ./$prefix/lib
46     mkdir -p ./$prefix/lib || exit 1
47     mv $inst/$prefix/lib/lib*.la ./$prefix/lib
48     mkdir -p ./$prefix/share || exit 1
49     mv $inst/$prefix/share/$base ./$prefix/share
50     rmdir $inst/$prefix/bin || true
51     rmdir $inst/$prefix/lib || true
52     rmdir $inst/$prefix/share || true
53     true
54 }
55    
56 extras_devel_split () {
57     mkdir -p ./$prefix/bin || exit 1
58     mv $inst/bin/*-config ./$prefix/bin
59     tar -C $inst -cf - ./$prefix/include | tar -xf -
60     rm -rf $inst/$prefix/include
61     # Only static .a libs in devel, load time .la files go in LIB or
62     # BIN package.
63     mkdir -p ./$prefix/lib || exit 1
64     mv $inst/$prefix/lib/*.a ./$prefix/lib
65     mv $inst/$prefix/lib/pkgconfig ./$prefix/lib
66     mkdir -p ./$prefix/share || exit 1
67     tar -C $inst -cf - ./$prefix/share/aclocal | tar -xf -
68     rm -rf $inst/$prefix/share/aclocal
69     tar -C $inst -cf - ./$prefix/share/libtool | tar -xf -
70     rm -rf $inst/$prefix/share/libtool
71     rmdir $inst/$prefix/lib || true
72     rmdir $inst/$prefix/share || true
73     true
74 }
75
76 extras_doc_split () {
77     mkdir -p ./$docprefix || exit 1
78     mkdir -p ./$infodir || exit 1
79     tar -C $inst -cf - ./$infodir | tar -xf -
80     rm -rf $inst/$infodir
81     if [ "$cygwin" == "mingw" ]; then
82         mkdir -p ./$mandir || exit 1
83         tar -C $inst -cf - ./$mandir | tar -xf -
84         rm -rf $inst/$mandir
85     fi
86     true
87 }
88
89 extras_prebuild () {
90     for i in $sub_packages; do
91         rm -rf $inst-$i
92         mkdir -p $inst-$i || exit 1
93     done
94 }
95
96 extras_postinstall () {
97     fixdoc
98     fix_libtool_la
99     
100     mkdir -p $inst-doc/$docprefix
101     cd $build || exit 1
102
103     cd $src || exit 1
104     install -d -m755 $inst/$packagedocdir
105
106     readmes="$(find . -maxdepth 1 -type f -a -name '[A-Z]*' | egrep -v 'Makefile|GNUmakefile')"
107     install -m644 $readmes $inst/$packagedocdir
108
109     ## Cygwin readmes
110     cd $src || exit 1
111     install -d -m755 $inst/$cygdocdir
112     install -m644 $cygwin/changelog $inst/$cygdocdir/changelog.$Cygwin
113
114     cd $src || exit 1
115     install -m644 $cygwin/README $inst/$packagedocdir/README.$Cygwin
116     install -m644 $cygwin/README $inst/$cygdocdir/$package.README
117     cd $build || exit 1
118     install -m644 $cygwin/out/README $inst/$packagedocdir/README.$Cygwin
119     install -m644 $cygwin/out/README $inst/$cygdocdir/$package.README
120 }
121
122 hint () {
123     if [ -r $shint ]; then
124         cp $shint $hint
125     else
126         cat > $hint <<EOF
127 sdesc: "$subname"
128 ldesc: "$subname - no description (missing $package/$(dirname $shint) file)"
129 EOF
130     fi
131     grep ^requires: $hint || echo "requires: $depends" >> $hint
132     grep ^build-requires: $hint || echo "build-requires: $build_depends" >> $hint
133 }
134
135 domkdist () {
136     #
137     # Fix up installation slightly
138     #
139     cd $inst || exit 1
140     chmod -R u+w,og-w,a+rX .
141     cd usr 2>/dev/null && dousrstuff
142
143     # Split off any sub-packages.  The actual splitting is handled by
144     # a package's specific code in extra/.
145
146     # To package `foo' in foo, foo-doc and foo-devel, set
147     # sub_packages='doc devel'.
148
149     # Then provide functions doc_name and devel_name, that return the
150     # full name of the sub-package.  Also provide functions doc_split
151     # and devel_split, that mv part of foo's installation in $inst to
152     # the sub-packages' installation roots $inst-doc and $inst-devel.
153
154     cd $inst || exit 1
155     presplit
156
157     for i in $sub_packages; do
158         subname=$(${i}_name)
159         cd $inst-$i || exit 1
160         ${i}_split || exit 1
161     done
162     
163     cd $inst || exit 1
164     prepackage
165
166     cd $inst || exit 1
167     hard2soft
168
169     #
170     # Make tar balls
171     #
172
173     # The base package
174     echo creating $tarstem.tar.bz2
175     cd $inst || exit 1
176
177     shint=$src/$cygwin/setup.hint
178     hint=$uploads/setup.hint
179     hint
180     find * -print | egrep -v '\.cvsignore|\.bak$|\.orig$|\.o$|\.rej$|~$|^.#|CVS|/tags$' | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf $tarstem.tar.bz2
181
182     # Any sub-packages
183     for i in $sub_packages; do
184         subname=$(${i}_name)
185         subload=$uploads/$subname
186         subtarstem=$subload/$subname-$ver
187         shint=$src/$cygwin/$subname.hint
188         hint=$subload/setup.hint
189         depends=$(eval echo '$'${i}_depends)
190         mkdir -p $subload || exit 1
191         echo creating $subtarstem.tar.bz2
192         hint
193         grep ^external-source: $hint || echo "external-source: $base" >> $hint
194         cd $inst-$i
195         hard2soft
196         find * -print | egrep -v '\.cvsignore|\.bak$|\.orig$|\.o$|\.rej$|~$|^.#|CVS|/tags$' | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf $subtarstem.tar.bz2
197     done
198
199     # The source package
200     cd $src/.. || exit 1
201     echo creating "$tarstem"-src.tar.bz2
202     ##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
203     find $package_src/* -print | egrep -v '\.cvsignore|\.bak$|\.orig$|\.o$|\.rej$|~$|^.#|CVS|%redact|/tags$' | egrep -v "$src_exclude" | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf "$tarstem"-src.tar.bz2
204     ##cd $package_src && tar -cj --exclude='\.cvsignore' --exclude='\.bak$' --exclude='\.orig$' --exclude='\.o$' --exclude='~$' --exclude='^.#' --exclude='CVS' --exclude='%redact' --exclude='/tags$' --owner=0 --group=0 -f "$tarstem"-src.tar.bz2 .
205     postpackage
206 }
207
208 devel_split () {
209     extras_devel_split
210 }
211
212 doc_split () {
213     extras_doc_split
214 }
215
216 lib_split () {
217     extras_lib_split
218 }
219
220 prebuild () {
221     extras_prebuild
222 }
223
224 postinstall () {
225     extras_postinstall
226 }