- add funtionality to split into and build sub packages

diff -purNX .cvsignore ../mknetrel.jcn4.genscript/ChangeLog ./ChangeLog
--- ../mknetrel.jcn4.genscript/ChangeLog        Tue Jul  9 01:16:46 2002
+++ ./ChangeLog Tue Jul  9 01:19:07 2002
@@ -1,5 +1,23 @@
 2002-07-09  Jan Nieuwenhuizen  <[EMAIL PROTECTED]>
 
+       * VERSION mknetrel.jcn5.split
+
+       * bin/mknetrel (read_user_config): Add build_prefix as
+       configurable var.
+       (lib_name):
+       (devel_name):
+       (doc_name): New function: Return name of subpackage.
+       (lib_split):
+       (devel_split):
+       (doc_split): New function: Attempt at splitting a subpackage by
+       name.
+       (domkdist): Support for packaging subpackages.  Splitting of a
+       package is controlled by a new variable $subpackages.  To create
+       subpackages, it should contain the symbolic names of the
+       subpackages.  Currently, the symbolic packages 'lib doc devel' are
+       supported.
+       (setup): Add empty presplit () implementation.
+
        * VERSION mknetrel.jcn4.genscript
 
        * bin/mknetrel: Delay `main' for autobuild.
diff -purNX .cvsignore ../mknetrel.jcn4.genscript/bin/mknetrel ./bin/mknetrel
--- ../mknetrel.jcn4.genscript/bin/mknetrel     Tue Jul  9 01:13:17 2002
+++ ./bin/mknetrel      Tue Jul  9 01:05:42 2002
@@ -14,6 +14,7 @@ read_user_config() {
     : ${build_nm='i686-pc-cygwin-nm'}
     : ${build_strip='i686-pc-cygwin-strip'}
     : ${build_config_opts='--build=i686-pc-linux --host=i686-pc-cygwin 
--target=i686-pc-cygwin'}
+    : ${build_prefix=/usr}
 }
 
 # Interactive shell with state of bash at exit upon failure
@@ -356,6 +357,41 @@ EOS3
     chmod 755 $script
 }
 
+lib_name () {
+    echo lib$base$sover
+}
+
+devel_name () {
+    echo $base-devel
+}
+
+doc_name () {
+    echo $base-doc
+}
+
+lib_split () {
+    mkdir -p ./$build_prefix/bin || exit 1
+    mv $inst/$build_prefix/bin/*.dll ./$build_prefix/bin
+    mkdir -p ./$build_prefix/share || exit 1
+    mv $inst/$build_prefix/share/$base ./$build_prefix/share
+}
+   
+devel_split () {
+    mkdir -p ./$build_prefix/bin || exit 1
+    mv $inst/$build_prefix/bin/guile-* ./$build_prefix/bin
+    mv $inst/$build_prefix/include ./$build_prefix/include
+    mkdir -p ./$build_prefix/lib || exit 1
+    mv $inst/$build_prefix/lib/*.a ./$build_prefix/lib
+    mv $inst/$build_prefix/lib/*.la ./$build_prefix/lib
+    mkdir -p ./$build_prefix/share || exit 1
+    mv $inst/$build_prefix/share/aclocal ./$build_prefix/share
+}
+
+doc_split () {
+    mkdir -p ./$build_prefix || exit 1
+    mv $inst/$build_prefix/info ./$build_prefix
+}
+
 domkdist() {
     #
     # Fix up installation slightly
@@ -365,15 +401,49 @@ domkdist() {
     cd usr 2>/dev/null && dousrstuff
 
     cd $inst || exit 1
-    prepackage
-    cd $inst || exit 1
+    presplit
 
+    for i in $subpackages; do
+       subname=$(${i}_name)
+        rm -rf $inst-$i
+       mkdir -p $inst-$i || exit 1
+       cd $inst-$i
+       ${i}_split || exit 1
+    done
+    
     #
     # Make tar balls
     #
+
+    cd $inst || exit 1
+    prepackage
+
+    # The base package
     echo creating $tarstem.tar.bz2
+    cd $inst || exit 1
+
+    # We need som standardization for these hint file names,
+    # and we'll certainly will never get a directory named
+    # CYGWIN-PATCHES merged upstream.
+    # What about checking for `./cygwin/changelog', or something that
+    # should most probably be unique?
+    f=$src/CYGWIN-PATCHES/setup.hint test -r $f && cp $f $uploads/$base || true
+    f=$src/CYGWIN-PATCHES/$base.hint test -r $f && cp $f $uploads/$base/setup.hint  
+|| true
     find * -print | sort | tar -T - --no-recursion -cjf $tarstem.tar.bz2
 
+    # The sub packages
+    for i in $subpackages; do
+       subname=$(${i}_name)
+       subload=$uploads/$subname
+       subtarstem=$subload/$subname-$ver
+       mkdir -p $subload || exit 1
+       echo creating $subtarstem.tar.bz2
+       f=$src/CYGWIN-PATCHES/$subname.hint test -r $f && cp $f $subload/setup.hint || 
+true
+       cd $inst-$i
+       find * -print | sort | tar -T - --no-recursion -cjf $subtarstem.tar.bz2
+    done
+
+    # The source package
     cd $src/.. || exit 1
     echo creating "$tarstem"-src.tar.bz2
 

-- 
Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org

Reply via email to