CPAM with TWW/GNUstep and TWW HPMS

GNUstep and TWW HPMS

edit

GNUstep aim to enable same source code to generate same software application with lease efforts. The approach is an intrusive approach with it own merits. we believe by incorporate CPAM ablitity within GNUstep. it can be most errogant and humble, intrusive and compatible.

GNUstep package by TWW HPMS tools

edit

Following are quick examples for GNUsteppers. It is not a HellowWorld type of easy example. The package source still need to be refined. Goal of gnustep-core-1.0.sb is to digitalize this document at http://www.gnustep.org/resources/documentation/User/GNUstep/gnustep-howto.html.

Software Build: gnustep-core-1.0.sb in a XML file

edit
  • This sb file can reproduce the build process with following command
sb gnustep-core-1.10.sb;sb -i gnustep-core-1.10.sb
  • Following command will list out the software modules in a GNUstep core
[root] sb -q module-names gnustep-core-1.10.sb
gnustep-base
ffcall
gnustep-examples
gnustep-gui
gworkspace
gnustep-make
gnustep-back
[root]
  • gnustep-core-1.10.sb

Note: HPUX portion of instruction is most like not correct.

[root] cat gnustep-core-1.10.sb
<?xml version="1.0"?>
<programs>
  <program name="gnustep-core" version="1.10.0" revision="1">

    <module name="gnustep-make">
      <build-name>gnustep-make-1.10.0</build-name>
      <install-name>GNUstep</install-name>
      <syntaxhighlights>
      <syntaxhighlight  path="src/core/gnustep-make-1.10.0.tar.gz" />
      </sources>
      <dependencies>
        <depend var="GCC332R">gcc332r</depend>
      </dependencies>

      <configure>
<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
CFLAGS="-O2"
CC_LD_RT="-R"
GCCR_LIB=/opt/TWWfsw/gcc332r/lib
./configure  CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
LDFLAGS="${CC_LD_RT}${GCCR_LIB}" \
--prefix=${INSTALL_PREFIX}
  ;;
*-linux*)
CFLAGS="-O2"
CC_LD_RT="-R"
GCCR_LIB=/opt/TWWfsw/gcc332r/lib
CC=/opt/TWWfsw/gcc332/bin/gcc
./configure  CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
LDFLAGS="${CC_LD_RT}${GCCR_LIB}" \
--prefix=${INSTALL_PREFIX}

 ;;
*-solaris2.[689])
set -x
CFLAGS="-O2 -mcpu=v8"
CC_LD_RT="-R"
CC=/opt/TWWfsw/bin/gcc
GCCR_LIB=/opt/TWWfsw/gcc332r/lib
./configure  CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
LDFLAGS="${CC_LD_RT}${GCCR_LIB}" \
--prefix=${INSTALL_PREFIX}
;;
esac
]]>
</configure>
<build>
![CDATA[
ase "${SB_SYSTYPE}" in
-hpux11.11)
 ;;
-hpux10.20)
make clean
make
 ;;
-linux*)
;;
-solaris2.[689])
make clean
make
;
sac
]>
</build>

<install>
![CDATA[
make install
 make sure GNUstep.sh script can be accessed via /opt/TWWfsw/bin
kdir -p ${INSTALL_PREFIX}/bin
n -s ${INSTALL_PREFIX}/System/Makefiles/GNUstep.sh \
{INSTALL_PREFIX}/bin/GNUstep.sh
]>
</install>

      <uninstall>

<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
  ;;
*-solaris2.[689])

;;
esac
]]>
      </uninstall>
    </module>

    <module name="ffcall">
      <build-name>ffcall-1.9</build-name>
      <install-name>ffcall19</install-name>
      <syntaxhighlights>
      <syntaxhighlight  path="src/core/ffcall-1.9.tar.gz"  />
      </sources>
      <dependencies>
        <depend var="GCC332R">gcc332r</depend>
      </dependencies>

      <script-header>
      </script-header>

      <configure>
<![CDATA[

case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
CFLAGS="-O2 -march=1.1"
CC_LD_RT="-R"
GCC332R_LIB=/opt/TWWfsw/gcc332r
SSL_LIB=/opt/TWWfsw/libopenssl097/lib/
XML_LIB=/opt/TWWfsw/libxml242/lib
XML=/opt/TWWfsw/libxml242
ICONV=/opt/TWWfsw/libiconv16
CC=gcc
./configure CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
LDFLAGS="${CC_LD_RT}${XML_LIB}:${GCC332R_LIB}:${LDFLAGS+${LDFLAGS}}"  \
--prefix=${INSTALL_PREFIX} \
--enable-shared
  ;;
*-linux*)
CFLAGS="-O2"
GCC332R_LIB=/opt/TWWfsw/gcc332r
SSL_LIB=/opt/TWWfsw/libopenssl097/lib/
XML_LIB=/opt/TWWfsw/libxml242/lib
XML=/opt/TWWfsw/libxml242
INSTALL_PREFIX=/opt/TWWfsw/ffcall19
./configure --prefix=${INSTALL_PREFIX} --enable-shared
 ;;
*-solaris2.[689])
CFLAGS="-O2 -mcpu=v8"
CC_LD_RT="-R"
GCC332R_LIB=/opt/TWWfsw/gcc332r
SSL_LIB=/opt/TWWfsw/libopenssl097/lib/
XML_LIB=/opt/TWWfsw/libxml242/lib
XML=/opt/TWWfsw/libxml242
INSTALL_PREFIX=/opt/TWWfsw/ffcall19
CC=gcc
./configure CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
LDFLAGS="${CC_LD_RT}${XML_LIB}:${GCC332R_LIB}:${LDFLAGS+${LDFLAGS}}"  \
--prefix=${INSTALL_PREFIX} \
--enable-shared

  ;;
esac
]]>
      </configure>
      <build>
<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
gmake clean
gmake

  ;;
*-linux*)
 ;;
*-solaris2.[689])
esac
]]>
      </build>
      <install>
<![CDATA[
gmake install
]]>
      </install>

      <uninstall>
<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
  ;;
*-solaris2.[689])
;;
esac
]]>
      </uninstall>
    </module>

    <module name="gnustep-base">
      <build-name>gnustep-base-1.10.1</build-name>
      <install-name>GNUstep</install-name>
      <syntaxhighlights>
      <syntaxhighlight  path="src/core/gnustep-base-1.10.1.tar.gz"  />
      </sources>
      <dependencies>
        <depend var="GCC332R">gcc332r</depend>
        <depend var="LIBXML">libxml242</depend>
        <depend var="LIBOPENSSL">libopenssl097</depend>
        <depend var="LIBEXPAT">libexpat</depend>
        <depend var="FFCALL">ffcall19</depend>
      </dependencies>

      <script-header>
      </script-header>

      <configure>
<![CDATA[

case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
CFLAGS="-O2 -march=1.1"
CC_LD_RT="-Wl,+b -Wl,"
GCC332R_LIB=/opt/TWWfsw/gcc332r
SSL_LIB=/opt/TWWfsw/libopenssl097/lib/
XML_LIB=/opt/TWWfsw/libxml242/lib
XML=/opt/TWWfsw/libxml242
ICONV=/opt/TWWfsw/libiconv16
CC=gcc
  ;;
*-linux*)
#LDFLAGS="${CC_LD_RT}${GCCR_LIB}"
CFLAGS="-O2"
CC_LD_RT="-Wl,-rpath,"
GCCR_LIB=/opt/TWWfsw/gcc332r/lib
CC=/opt/TWWfsw/gcc332/bin/gcc
. ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/ffcall19:/opt/TWWfsw/libopenssl097/lib:/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH
./configure  CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
--prefix=${INSTALL_PREFIX} \
--with-include-flags=-I/opt/TWWfsw/libtiff35/include \
--with-library-flags=-L/opt/TWWfsw/libtiff35/lib \
--with-ffi-include=/opt/TWWfsw/ffcall19/inlcude \
--with-ffi-library=/opt/TWWfsw/ffcall19/lib \
--with-libiconv-library="${ICONV}" \
--with-xml-prefix="${XML}" \
--with-openssl-include=/opt/TWWfsw/libopenssl097/include \
--with-openssl-library=/opt/TWWfsw/libopenssl097/lib \
--disable-xmltest

 ;;
*-solaris2.[689])
CFLAGS="-O2 -mcpu=v8"
CC_LD_RT="-R"
GCC332R_LIB=/opt/TWWfsw/gcc332r
SSL_LIB=/opt/TWWfsw/libopenssl097/lib/
XML_LIB=/opt/TWWfsw/libxml242/lib
XML=/opt/TWWfsw/libxml242
ICONV=/opt/TWWfsw/libiconv16
CC=/opt/TWWfsw/bin/gcc
. ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/ffcall19:/opt/TWWfsw/libopenssl097/lib:/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH
./configure CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" LDFLAGS="${CC_LD_RT}${XML_LIB}:${GCC332R_LIB}:${LDFLAGS+${LDFLAGS}}"  \
--prefix=${INSTALL_PREFIX} \
--with-include-flags=-I/opt/TWWfsw/libtiff35/include \
--with-library-flags=-L/opt/TWWfsw/libtiff35/lib \
--with-ffi-include=/opt/TWWfsw/ffcall19/inlcude \
--with-ffi-library=/opt/TWWfsw/ffcall19/lib \
--with-libiconv-library="${ICONV}" \
--with-xml-prefix="${XML}" \
--with-openssl-include=/opt/TWWfsw/libopenssl097/include \
--with-openssl-library=/opt/TWWfsw/libopenssl097/lib \
--disable-xmltest

  ;;
esac
]]>

      </configure>
      <build>
<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
. ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH
gmake clean
#Turn verbose support in GNUstep's makefile system.
#gmake messages=yes
gmake
 ;;
*-solaris2.[689])
. ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH
gmake clean
gmake
;;
esac
]]>
      </build>

      <install>
<![CDATA[
. ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH
gmake install
]]>
      </install>

      <uninstall>
<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
  ;;
*-solaris2.[689])
;;
esac
]]>
      </uninstall>
    </module>

    <module name="gnustep-gui">
      <build-name>gnustep-gui-0.9.4</build-name>
      <install-name>GNUstep</install-name>
      <syntaxhighlights>
      <syntaxhighlight  path="src/core/gnustep-gui-0.9.4.tar.gz" systype="*-solaris*" />
      </sources>
      <dependencies>
        <depend var="JPEG">jpeg</depend>
        <depend var="UNGIF">libungif</depend>
        <depend var="CUPS">cups1120</depend>
        <depend var="TIFF">tiff</depend>
        <depend var="PNG">libpng12</depend>
        <depend var="ASPELL">aspell05</depend>
      </dependencies>

      <configure>
<![CDATA[

case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
 ;;
*-solaris2.[689])
CFLAGS="-O2 -mcpu=v8"
CC_LD_RT="-R"
JPEG_LIB=/opt/TWWfsw/jpeg/lib
UNGIF_LIB=/opt/TWWfsw/libungif/lib
CUPSR_LIB=/opt/TWWfsw/cups1120/lib
TIFF_LIB=/opt/TWWfsw/tiff/lib
PNG_LIB=/opt/TWWfsw/libpng12/lib
. ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH:/opt/TWWfsw/libpng12/lib:/opt/TWWfsw/cups1120/lib

export PATH=/opt/TWWfsw/cups1120/bin:${PATH}
set -x
./configure CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
LDFLAGS="${CC_LD_RT}${JPEG_LIB}:${UNGIF_LIB}:/opt/TWWfsw/aspell05/lib:\
${CUPSR_LIB}:${TIFF_LIB}:\
${PNG_LIB}:${LDFLAGS+${LDFLAGS}}"  \
--prefix=${INSTALL_PREFIX} \
--with-jpeg-include="/opt/TWWfsw/libpng12/include \
-I/opt/TWWfsw/libungif/include \
-I/opt/TWWfsw/tiff/include \
-I/opt/TWWfsw/cups1120/include \
-I/opt/TWWfsw/jpeg/include  \
-I/opt/TWWfsw/libopenssl097/include" \
--with-jpeg-library="/opt/TWWfsw/libpng12/lib \
-L/opt/TWWfsw/libungif/lib \
-L/opt/TWWfsw/jpeg/lib \
-L/opt/TWWfsw/cups1120/lib \
-L/opt/TWWfsw/tiff/lib \
-L/opt/TWWfsw/libopenssl097/lib" \
--disable-gsnd
;;
esac
]]>
      </configure>
      <build>
     <![CDATA[
     case "${SB_SYSTYPE}" in
     *-hpux11.11)
       ;;
     *-hpux10.20)
       ;;
     *-linux*)
      ;;
     *-solaris2.[689])
     . ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH:/opt/TWWfsw/libpng12/lib:/opt/TWWfsw/cups1120/lib:/opt/TWWfsw/libpng12/lib
     gmake
     ;;
     esac
     ]]>
      </build>

      <install>
     <![CDATA[
     . ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
     gmake install
     ]]>
      </install>

      <uninstall>

<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
  ;;
*-solaris2.[689])

;;
esac
]]>
      </uninstall>
    </module>

    <module name="gnustep-back">
      <build-name>gnustep-back-0.9.4</build-name>
      <install-name>GNUstep</install-name>
      <syntaxhighlights>
      <syntaxhighlight  path="src/core/gnustep-back-0.9.4.tar.gz" systype="*-solaris*" />
      </sources>
      <dependencies>
      </dependencies>

      <configure>
<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
 ;;
*-solaris2.[689])
. ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH:/opt/TWWfsw/libpng12/lib:/opt/TWWfsw/cups1120/lib
set -x
echo $LD_LIBRARY_PATH
./configure  CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
--prefix=${INSTALL_PREFIX} \
--disable-glx \
--disable-xim \
--disable-glitz \
--enable-server=x11 \
--enable-graphics=xlib \
--with-x
;;
esac
]]>
      </configure>
      <build>
     <![CDATA[
     case "${SB_SYSTYPE}" in
     *-hpux11.11)
       ;;
     *-hpux10.20)
       ;;
     *-linux*)
      ;;
     *-solaris2.[689])
     . ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/TWWfsw/libungif/lib:\
/opt/TWWfsw/jpeg/lib:/opt/TWWfsw/cups1120/lib:/opt/TWWfsw/tiff/lib:\
/opt/TWWfsw/libpng12/lib
     gmake
     ;;
     esac
     ]]>
      </build>

      <install>
     <![CDATA[
     . ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
     gmake install
     ]]>
      </install>

      <uninstall>
<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
  ;;
*-solaris2.[689])
;;
esac
]]>
      </uninstall>
    </module>

    <module name="gworkspace">
      <build-name>GWorkspace-0.6.5</build-name>
      <install-name>GNUstep</install-name>
      <syntaxhighlights>
      <syntaxhighlight  path="src/core/gworkspace-0.6.5.tar.gz" />
      </sources>
      <dependencies>
      </dependencies>

      <configure>
<![CDATA[

case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)

 ;;
*-solaris2.[689])
. ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH:/opt/TWWfsw/libpng12/lib:/opt/TWWfsw/cups1120/lib
set -x
echo $LD_LIBRARY_PATH
./configure  CC="${CC:-gcc}" CFLAGS="${CFLAGS:--O2}" \
--prefix=${INSTALL_PREFIX} \
;;
esac
]]>
      </configure>
      <build>
     <![CDATA[
     case "${SB_SYSTYPE}" in
     *-hpux11.11)
       ;;
     *-hpux10.20)
       ;;
     *-linux*)
      ;;
     *-solaris2.[689])
     . ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH:/opt/TWWfsw/libpng12/lib:/opt/TWWfsw/cups1120/lib
cd FSNode;gmake install
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH:/opt/TWWfsw/libpng12/lib:/opt/TWWfsw/cups1120/lib
cd ..; gmake
     ;;
     esac
     ]]>
      </build>

      <install>
     <![CDATA[
     . ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
     gmake install
     ]]>
      </install>

      <uninstall>

<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
  ;;
*-solaris2.[689])

;;
esac
]]>
      </uninstall>
    </module>

    <module name="gnustep-examples">
      <build-name>gnustep-examples-1.0.0</build-name>
      <install-name>GNUstep</install-name>
      <syntaxhighlights>
      <syntaxhighlight  path="src/core/gnustep-examples-1.0.0.tar.gz" />
      </sources>
      <dependencies>
      </dependencies>

      <configure>
<![CDATA[

case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)

 ;;
*-solaris2.[689])
:
;;
esac
]]>
      </configure>
      <build>
     <![CDATA[
     case "${SB_SYSTYPE}" in
     *-hpux11.11)
       ;;
     *-hpux10.20)
       ;;
     *-linux*)
      ;;
     *-solaris2.[689])
     . ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH:/opt/TWWfsw/libpng12/lib:/opt/TWWfsw/cups1120/lib
cd FSNode;gmake install
export  LD_LIBRARY_PATH=/opt/TWWfsw/gcc332r/lib:$LD_LIBRARY_PATH:/opt/TWWfsw/libpng12/lib:/opt/TWWfsw/cups1120/lib
cd ..; gmake
     ;;
     esac
     ]]>
      </build>

      <install>
     <![CDATA[
     . ${INSTALL_PREFIX}/System/Library/Makefiles/GNUstep.sh
     gmake install
     ]]>
      </install>

      <uninstall>

<![CDATA[
case "${SB_SYSTYPE}" in
*-hpux11.11)
  ;;
*-hpux10.20)
  ;;
*-linux*)
  ;;
*-solaris2.[689])

;;
esac
]]>
      </uninstall>
    </module>

    <notes>
      <note type="installation">
        <para>
Gnustep core packages
</para>

       </note>
    </notes>

    <changelog>
    </changelog>
  </program>
</programs>
[root]

Package build: gnustep-core-1.0.pb in a XML file

edit

This pb file can reproduce the package build process with following command to generate a native package for a local PMS.

pb -1 gnustep-core-1.10.pb

Note: HPUX portion of instruction is most likely not correct.

[root] cat  gnustep-core-1.10.pb
<?xml version="1.0"?>
<packages>
  <package name="gnustep-core" version="1.10" revision="1">
    <package-manager name="depot">
      <title>GNUstep</title>
      <vendor>GNU Free Software Foundation.</vendor>
      <description >
GNUstep is a cross-platform, object-oriented framework for desktop application development.
      </description>
      <install-name>GNUstep</install-name>

      <pkgname-base>TWccase</pkgname-base>

      <version>1.10</version>
      <revision>1</revision>

      <subpkg type="conf">
      </subpkg>
      <subpkg type="runtime">
      </subpkg>
    </package-manager>

    <package-manager name="pkgadd">
      <category>System Environment/Daemons</category>
      <title>GNUstep</title>
      <vendor>GNU Free Software Foundation.</vendor>
      <description >
GNUstep is a cross-platform, object-oriented framework for desktop application development.
      </description>

      <install-name>GNUstep</install-name>
      <pkgname-base>GNUstp1a</pkgname-base>
      <version>1.10</version>
      <revision>1</revision>

      <subpkg type="runtime">
<!--
        <postinstall path="pkg/postinstall-sol"/>
        <preremove   path="pkg/preremove-sol"/>
        <preinstall  path="pkg/preinstall-sol"/>
        <postremove  path="pkg/postremove-sol"/>
-->
      </subpkg>

      <changelog>
        <change date="2004 Sept 28" revision="1"
        author="T.J. Yang" email="tj_yang@hotmail.com">
          <item><para> GNUstep core  1.10 for Solaris </para></item>
        </change>
      </changelog>
    </package-manager>

    <package-manager name="rpm4">
      <category>System Environment/Daemons</category>
      <title>ClearCase 1.10</title>
      <vendor>GNU Free Software Foundation.</vendor>

      <description >
GNUstep is a cross-platform, object-oriented framework for desktop application development.
      </description>

      <install-name>GNUstep</install-name>

      <pkgname-base>TWgnustep</pkgname-base>

      <version>1.10</version>
      <revision>1</revision>

      <subpkg type="conf">
      </subpkg>
      <subpkg type="runtime">
        <postinstall path="pkg/postinstall-linux"/>
        <preremove   path="pkg/preremove-linux"/>
<!--
        <preinstall  path="pkg/preinstall-sol"/>
        <postremove  path="pkg/postremove-sol"/>
-->
      </subpkg>

<!--
      <files>
      <file>/var/adm/atria</file>
      <file>/etc/rc.d/init.d/gnustep</file>
      </files>
-->
    </package-manager>
  </package>
</packages>
[root]

Makefile entry to automate the sb,pb and package upload to package depot

edit

This is a snipped makefile for showing the gnustep-core-1.10 task in a makefile.

#############################################################################
gnustep-core-1.10:  \
 /opt/TWWfsw/gnustep-core-1.10  /opt/dist/cd/GNUstp1au gnustep-core-1.10-gen-pkg-inst gnustep-core-1.10-upload

#############################################################################
/opt/TWWfsw/gnustep-core-1.10: /opt/TWWfsw/ffcall19 \
/opt/TWWfsw/GNUstep/System/Library/Makefiles \
/opt/TWWfsw/GNUstep/System/Library/Libraries/Resources/gnustep-base/Languages \
/opt/TWWfsw/GNUstep/System/Library/KeyBindings \
/opt/TWWfsw/GNUstep/System/Library/Documentation/man

/opt/TWWfsw/ffcall19:
        ${SB} -m ffcall ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
        ${SB} -m ffcall -i ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
/opt/TWWfsw/GNUstep/System/Library/Makefiles:
        ${SB} -m gnustep-make ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
        ${SB} -m gnustep-make -i ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
/opt/TWWfsw/GNUstep/System/Library/Libraries/Resources/gnustep-base/Languages:
        ${SB} -m gnustep-base ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
        ${SB} -m gnustep-base -i ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
/opt/TWWfsw/GNUstep/System/Library/KeyBindings:
        ${SB} -m gnustep-gui ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
        ${SB} -m gnustep-gui -i  ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
/opt/TWWfsw/GNUstep/System/Library/Documentation/man:
        ${SB} -m gnustep-back ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
        ${SB} -m gnustep-back -i ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.sb
/opt/dist/cd/GNUstp1au:
        ${PB}  -1 ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.pb
gnustep-core-1.10-gen-pkg-inst:
        ${GPD}  ${SRCDIR}/gnustep-core-1.10/gnustep-core-1.10.pb >> /opt/dist/cd/pkg-db.xml
        (cd /opt/dist/cd;zip  data.zip  GNUstp1a* ;${M5S}  data.zip |awk '{print $$1}' > data.zip.md5)
        (cd /opt/dist/cd;zip -r  gnustep-core-1.10.pkgadd.pkg-inst pkg-db.xml data.zip data.zip.md5; ${M5S}  gnustep-core-1.10.pkgadd.pkg-inst  |awk '{print $$1}' > gnustep-core-1.10.pkgadd.pkg-inst.md5)
        cd /opt/dist/cd;rm -f pkg-db.xml data.zip data.zip.md5
gnustep-core-1.10-upload:
        cd /opt/dist/cd;${RSYNC} -azpv gnustep-core-1.10.pkgadd.pkg-inst gnustep-core-1.10.pkgadd.pkg-inst.md5 root@gnustep.example.com:${DEST}/${ARCHI}
        cd /opt/dist/cd;rm -f /opt/dist/cd/pkg-db.xml gnustep-core-1.10.pkgadd.pkg-inst gnustep-core-1.10.pkgadd.pkg-inst.md5
gnustep-core-1.10-clean:
        rm -rf /opt/TWWfsw/GNUstep /opt/dist/cd/GNUstp1a*