You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(9) |
Oct
(124) |
Nov
(120) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(6) |
Feb
(34) |
Mar
(49) |
Apr
(81) |
May
(25) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(37) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:56:20
|
Update of /cvsroot/corelinux/clfll
In directory usw-pr-cvs1:/tmp/cvs-serv2979
Modified Files:
configure.in ChangeLog
Log Message:
see ChangeLog for minor fixes
no Features or Defect but build fixes and debian fixes
Index: configure.in
===================================================================
RCS file: /cvsroot/corelinux/clfll/configure.in,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** configure.in 2001/05/12 11:37:23 1.8
--- configure.in 2001/05/15 18:56:17 1.9
***************
*** 87,95 ****
CXXFLAGS="${CXXFLAGS} -I/usr/include/clfw -I/usr/include/corelinux"
LDFLAGS="${LDFLAGS} "
! LIBS="${LIBS} -lcl++ -lclfw++ -luuid -ldl -lgdbm"
],[
echo "You need to install corelinux framework (libclfw++) or corelinux (libcl++) or uuid (libuuid) or dl (libdl). see http://corelinux.sourceforge.net"
exit;
! ], -luuid -lcl++ -lgdbm)
AC_SUBST(LIBS)
--- 87,95 ----
CXXFLAGS="${CXXFLAGS} -I/usr/include/clfw -I/usr/include/corelinux"
LDFLAGS="${LDFLAGS} "
! LIBS="${LIBS} -lclfw++ -lcl++ -luuid -ldl -lgdbm"
],[
echo "You need to install corelinux framework (libclfw++) or corelinux (libcl++) or uuid (libuuid) or dl (libdl). see http://corelinux.sourceforge.net"
exit;
! ], -luuid -lcl++ -lgdbm -lstdc++)
AC_SUBST(LIBS)
Index: ChangeLog
===================================================================
RCS file: /cvsroot/corelinux/clfll/ChangeLog,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** ChangeLog 2001/05/12 11:33:11 1.4
--- ChangeLog 2001/05/15 18:56:17 1.5
***************
*** 1,2 ****
--- 1,11 ----
+ 2001-05-15 Christophe Prud'homme <pru...@mi...>
+
+ * doc/Makefile.am (clean): added a clean rule
+
+ * updated admin/config.* and admin/ltmain.sh
+
+ * configure.in: libclfw++ depends on libcl++ so in the ${LIBS} it
+ should come before libcl++ and not after
+
2001-05-12 Frank V. Castellucci <fr...@ca...>
|
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:56:19
|
Update of /cvsroot/corelinux/clfll/admin
In directory usw-pr-cvs1:/tmp/cvs-serv2979/admin
Modified Files:
ltmain.sh config.sub config.guess
Log Message:
see ChangeLog for minor fixes
no Features or Defect but build fixes and debian fixes
Index: ltmain.sh
===================================================================
RCS file: /cvsroot/corelinux/clfll/admin/ltmain.sh,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** ltmain.sh 2000/11/02 21:17:15 1.1.1.1
--- ltmain.sh 2001/05/15 18:56:17 1.2
***************
*** 1,7 ****
# ltmain.sh - Provide generalized library-building support services.
! # NOTE: Changing this file will not affect anything until you rerun ltconfig.
#
! # Copyright (C) 1996-1999 Free Software Foundation, Inc.
! # Gordon Matzigkeit <go...@gn...>, 1996
#
# This program is free software; you can redistribute it and/or modify
--- 1,8 ----
# ltmain.sh - Provide generalized library-building support services.
! # NOTE: Changing this file will not affect anything until you rerun configure.
[...5199 lines suppressed...]
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
-module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
***************
*** 3749,3753 ****
uninstall)
! $echo
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
--- 4916,4920 ----
uninstall)
! $echo \
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
Index: config.sub
===================================================================
RCS file: /cvsroot/corelinux/clfll/admin/config.sub,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** config.sub 2000/11/02 21:16:14 1.1.1.1
--- config.sub 2001/05/15 18:56:17 1.2
***************
*** 1,5 ****
#! /bin/sh
! # Configuration validation subroutine script, version 1.1.
! # Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
--- 1,9 ----
#! /bin/sh
! # Configuration validation subroutine script.
! # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
! # Free Software Foundation, Inc.
[...1063 lines suppressed...]
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
***************
*** 958,959 ****
--- 1353,1362 ----
echo $basic_machine$os
+ exit 0
+
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+ # time-stamp-start: "timestamp='"
+ # time-stamp-format: "%:y-%02m-%02d"
+ # time-stamp-end: "'"
+ # End:
Index: config.guess
===================================================================
RCS file: /cvsroot/corelinux/clfll/admin/config.guess,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** config.guess 2000/11/02 21:16:08 1.1.1.1
--- config.guess 2001/05/15 18:56:17 1.2
***************
*** 1,6 ****
#! /bin/sh
# Attempt to guess a canonical system name.
! # Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
! #
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
--- 1,9 ----
#! /bin/sh
# Attempt to guess a canonical system name.
! # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
[...1498 lines suppressed...]
+ /bin/universe = `(/bin/universe) 2>/dev/null`
+ /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+ /bin/arch = `(/bin/arch) 2>/dev/null`
+ /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+ /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+ UNAME_MACHINE = ${UNAME_MACHINE}
+ UNAME_RELEASE = ${UNAME_RELEASE}
+ UNAME_SYSTEM = ${UNAME_SYSTEM}
+ UNAME_VERSION = ${UNAME_VERSION}
+ EOF
+
exit 1
+
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+ # time-stamp-start: "timestamp='"
+ # time-stamp-format: "%:y-%02m-%02d"
+ # time-stamp-end: "'"
+ # End:
|
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:56:19
|
Update of /cvsroot/corelinux/clfll/debian
In directory usw-pr-cvs1:/tmp/cvs-serv2979/debian
Modified Files:
rules postinst control changelog .cvsignore
Added Files:
libclfll-dev.files
Log Message:
see ChangeLog for minor fixes
no Features or Defect but build fixes and debian fixes
--- NEW FILE ---
usr/include
usr/lib/libclfll++.so
usr/lib/libclfll++.a
Index: rules
===================================================================
RCS file: /cvsroot/corelinux/clfll/debian/rules,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** rules 2001/02/01 22:07:35 1.3
--- rules 2001/05/15 18:56:17 1.4
***************
*** 12,16 ****
# This is the debhelper compatibility version to use.
! export DH_COMPAT=1
build: build-stamp
--- 12,16 ----
# This is the debhelper compatibility version to use.
! export DH_COMPAT=3
build: build-stamp
***************
*** 18,22 ****
dh_testdir
./autorun.sh
! ./configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/clfll
make
rm -rf doc/html && cd doc && doxygen clfll.cfg
--- 18,22 ----
dh_testdir
./autorun.sh
! ./configure --prefix=/usr --includedir=/usr/include/clfll
make
rm -rf doc/html && cd doc && doxygen clfll.cfg
***************
*** 42,47 ****
# Add here commands to install the package into debian/tmp.
! cd src/clfll && $(MAKE) install prefix=$(top_builddir)/../../debian/tmp/usr includedir=$(top_builddir)/../../debian/tmp/usr/include/clfll
! cd clfll/ && $(MAKE) install prefix=$(top_builddir)/../debian/tmp/usr
cd doc && mkdir -p $(top_builddir)/../debian/tmp/usr/share/doc/libclfll-doc && cp -r html ../debian/tmp/usr/share/doc/libclfll-doc
--- 42,47 ----
# Add here commands to install the package into debian/tmp.
! cd src/clfll && $(MAKE) DESTDIR=$(top_builddir)/../../debian/tmp install
! cd clfll/ && $(MAKE) install DESTDIR=$(top_builddir)/../debian/tmp install
cd doc && mkdir -p $(top_builddir)/../debian/tmp/usr/share/doc/libclfll-doc && cp -r html ../debian/tmp/usr/share/doc/libclfll-doc
***************
*** 56,65 ****
# perl debian/genmake.pl debian/libclfll-examples/usr/share/doc/libclfll-examples/examples
dh_movefiles -plibclfll-doc usr/share/doc/libclfll-doc/html
! dh_undocumented
! dh_installchangelogs
! dh_fixperms
! dh_installdeb
# find debian/libclfll-examples -name "*.[ch]*[pp]*" | xargs -r gzip
! dh_compress
# Build architecture-dependent files here.
--- 56,68 ----
# perl debian/genmake.pl debian/libclfll-examples/usr/share/doc/libclfll-examples/examples
dh_movefiles -plibclfll-doc usr/share/doc/libclfll-doc/html
! dh_undocumented -i
! dh_installchangelogs -i
! dh_fixperms -i
! dh_installdeb -i
# find debian/libclfll-examples -name "*.[ch]*[pp]*" | xargs -r gzip
! dh_compress -i
! dh_gencontrol
! dh_md5sums -i
! dh_builddeb -i
# Build architecture-dependent files here.
***************
*** 67,86 ****
dh_testdir
dh_testroot
! dh_movefiles -plibclfll-dev usr/include/ usr/lib/lib*.a
dh_installmanpages -plibclfll-dev
! dh_undocumented
! dh_installchangelogs
! dh_link
! dh_strip
! dh_compress
! dh_fixperms
! dh_installdeb
! dh_shlibdeps
!
binary: binary-indep binary-arch
- dh_gencontrol
- dh_md5sums
- dh_builddeb
.PHONY: build clean binary-indep binary-arch binary install
--- 70,94 ----
dh_testdir
dh_testroot
! dh_movefiles -a
dh_installmanpages -plibclfll-dev
! rm $$PWD/debian/libclfll-dev/usr/share/man/man3/examp1_cpp.3
! rm $$PWD/debian/libclfll-dev/usr/share/man/man3/corelinux__KeyComp.3
! rm $$PWD/debian/libclfll-dev/usr/share/man/man3/namespace_corelinux.3
! rm $$PWD/debian/libclfll-dev/usr/share/man/man3/namespace_std.3
!
! dh_undocumented -a
! dh_installchangelogs -a
! dh_link -a
! dh_strip -a
! dh_compress -a
! dh_makeshlibs -a -V
! dh_fixperms -a
! dh_installdeb -a
! dh_shlibdeps -a
! dh_gencontrol
! dh_md5sums -a
! dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
Index: postinst
===================================================================
RCS file: /cvsroot/corelinux/clfll/debian/postinst,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** postinst 2001/02/15 16:46:08 1.2
--- postinst 2001/05/15 18:56:17 1.3
***************
*** 1,7 ****
! # Automatically added by dh_installdocs
! if [ "$1" = "configure" ]; then
! if [ -d /usr/doc -a ! -e /usr/doc/libclfll -a -d /usr/share/doc/libclfll ]; then
! ln -sf ../share/doc/libclfll /usr/doc/libclfll
! fi
! fi
! # End automatically added section
--- 1,31 ----
! #! /bin/sh
! # postinst script for kdebase
! #
! # see: dh_installdeb(1)
!
! set -e
!
! case "$1" in
! configure)
! /sbin/ldconfig >/dev/null 2>&1
! if [ -d /usr/doc -a ! -e /usr/doc/libclfll -a -d /usr/share/doc/libclfll ]; then
! ln -sf ../share/doc/libclfll /usr/doc/libclfll
! fi
! ;;
! abort-upgrade|abort-remove|abort-deconfigure)
!
! ;;
!
! *)
! echo "postinst called with unknown argument \`$1'" >&2
! exit 0
! ;;
! esac
!
! # dh_installdeb will replace this with shell code automatically
! # generated by other debhelper scripts.
!
! #DEBHELPER#
!
! exit 0
!
Index: control
===================================================================
RCS file: /cvsroot/corelinux/clfll/debian/control,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** control 2001/02/01 22:07:35 1.2
--- control 2001/05/15 18:56:17 1.3
***************
*** 1,13 ****
Source: libclfll
! Build-Depends: g++, automake, debhelper
Section: libs
Priority: optional
Maintainer: Christophe Prud'homme <pru...@us...>
! Standards-Version: 3.1.1
Package: libclfll
Section: libs
Architecture: any
! Depends: ${shlibs:Depends}
Description: OOA and OOD for Linux.
OOA and OOD for Linux dynamic libraries.
--- 1,13 ----
Source: libclfll
! Build-Depends: g++, automake, debhelper, libtool, doxygen, libgdbmg1, libcorelinux, libclfw
Section: libs
Priority: optional
Maintainer: Christophe Prud'homme <pru...@us...>
! Standards-Version: 3.5.0
Package: libclfll
Section: libs
Architecture: any
! Depends: ${shlibs:Depends}, libgdbmg1
Description: OOA and OOD for Linux.
OOA and OOD for Linux dynamic libraries.
***************
*** 24,28 ****
Architecture: any
Section: libs
! Depends: libclfll, libcorelinux, libcorelinux-dev, libclfw, libclfw-dev, libc6-dev
Suggests: libclfll-doc, libcorelinux-doc, libclfw-doc
Description: OOA and OOD for Linux.
--- 24,28 ----
Architecture: any
Section: libs
! Depends: libclfll, libcorelinux, libcorelinux-dev, libclfw, libclfw-dev, libc6-dev, libgdbmg1-dev
Suggests: libclfll-doc, libcorelinux-doc, libclfw-doc
Description: OOA and OOD for Linux.
Index: changelog
===================================================================
RCS file: /cvsroot/corelinux/clfll/debian/changelog,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** changelog 2001/02/15 16:46:08 1.3
--- changelog 2001/05/15 18:56:17 1.4
***************
*** 1,2 ****
--- 1,39 ----
+ libclfll (0.1.1-3) unstable; urgency=low
+
+ * argh it is libgdbmg1 and libgdbmg1-dev and not libgdbm1
+
+ -- Christophe Prud'homme <pru...@mi...> Tue, 15 May 2001 10:59:42 -0400
+
+ libclfll (0.1.1-2) unstable; urgency=low
+
+ * added dependency on libgdbm1
+
+ -- Christophe Prud'homme <pru...@mi...> Tue, 15 May 2001 10:47:38 -0400
+
+ libclfll (0.1.1-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Christophe Prud'homme <pru...@mi...> Tue, 15 May 2001 10:33:23 -0400
+
+ libclfll (0.1.0-6) unstable; urgency=low
+
+ * fixed a conflict with manpages again
+
+ -- Christophe Prud'homme <pru...@mi...> Thu, 3 May 2001 13:51:57 -0400
+
+ libclfll (0.1.0-5) unstable; urgency=low
+
+ * fixed a conflict with manpages
+
+ -- Christophe Prud'homme <pru...@mi...> Thu, 3 May 2001 11:58:47 -0400
+
+ libclfll (0.1.0-4) unstable; urgency=low
+
+ * removed lintian errors/warnings
+ * fixed Build-Depends
+
+ -- Christophe Prud'homme <pru...@mi...> Thu, 3 May 2001 11:01:48 -0400
+
libclfll (0.1.0-3) unstable; urgency=low
***************
*** 17,22 ****
-- Christophe Prud'homme <pru...@mi...> Fri, 24 Nov 2000 12:05:27 -0500
- Local variables:
- mode: debian-changelog
- End:
--- 54,57 ----
-- Christophe Prud'homme <pru...@mi...> Fri, 24 Nov 2000 12:05:27 -0500
+
Index: .cvsignore
===================================================================
RCS file: /cvsroot/corelinux/clfll/debian/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** .cvsignore 2001/02/01 22:05:24 1.1
--- .cvsignore 2001/05/15 18:56:17 1.2
***************
*** 2,5 ****
--- 2,6 ----
Makefile.in
files
+ libclfll
libclfll-dev
libclfll-dev.postinst.debhelper
***************
*** 9,12 ****
--- 10,14 ----
libclfll-doc.prerm.debhelper
postinst.debhelper
+ postrm.debhelper
prerm.debhelper
substvars
|
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:56:19
|
Update of /cvsroot/corelinux/clfll/doc In directory usw-pr-cvs1:/tmp/cvs-serv2979/doc Modified Files: Makefile.am Log Message: see ChangeLog for minor fixes no Features or Defect but build fixes and debian fixes Index: Makefile.am =================================================================== RCS file: /cvsroot/corelinux/clfll/doc/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** Makefile.am 2000/11/02 21:17:21 1.1.1.1 --- Makefile.am 2001/05/15 18:56:17 1.2 *************** *** 28,31 **** --- 28,34 ---- clfll.cfg: clfll.cfg.in + clean: + @rm -rf html man latex + # Common rcs information do not modify # $Author$ |
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:46:33
|
Update of /cvsroot/corelinux/clfw In directory usw-pr-cvs1:/tmp/cvs-serv369 Modified Files: ChangeLog Log Message: updated for trivial stuff but well ChangeLog is here for that Index: ChangeLog =================================================================== RCS file: /cvsroot/corelinux/clfw/ChangeLog,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -r1.24 -r1.25 *** ChangeLog 2001/05/15 18:17:57 1.24 --- ChangeLog 2001/05/15 18:46:30 1.25 *************** *** 1,4 **** --- 1,6 ---- 2001-05-15 Christophe Prud'homme <pru...@mi...> + * doc/Makefile.am (clean): added + * update admin/config.* and admin/ltmain.sh |
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:45:07
|
Update of /cvsroot/corelinux/clfw/doc In directory usw-pr-cvs1:/tmp/cvs-serv32540/doc Modified Files: Makefile.am Log Message: added a clean rule Index: Makefile.am =================================================================== RCS file: /cvsroot/corelinux/clfw/doc/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Makefile.am 2000/08/28 14:59:59 1.1 --- Makefile.am 2001/05/15 18:45:05 1.2 *************** *** 28,31 **** --- 28,34 ---- clfw.cfg: clfw.cfg.in + clean: + @rm -rf html latex man + # Common rcs information do not modify # $Author$ |
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:44:47
|
Update of /cvsroot/corelinux/clfw/debian In directory usw-pr-cvs1:/tmp/cvs-serv32433/debian Modified Files: rules postinst libclfw.files control changelog .cvsignore Added Files: libclfw-dev.files Log Message: up to date --- NEW FILE --- usr/include usr/lib/libclfw++.so usr/lib/libclfw++.a Index: rules =================================================================== RCS file: /cvsroot/corelinux/clfw/debian/rules,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** rules 2001/02/15 16:45:32 1.8 --- rules 2001/05/15 18:44:44 1.9 *************** *** 4,16 **** package=libclfw ! version=0.2.6 version_major=0 top_builddir=`pwd` top_srcdir=.. # This is the debhelper compatibility version to use. ! export DH_COMPAT=1 build: build-stamp --- 4,17 ---- package=libclfw ! version=0.2.7 version_major=0 + export DEBIANDIR=`echo $$PWD/debian` top_builddir=`pwd` top_srcdir=.. # This is the debhelper compatibility version to use. ! export DH_COMPAT=3 build: build-stamp *************** *** 18,22 **** dh_testdir ./autorun.sh ! ./configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/clfw make rm -rf doc/html doc/man && cd doc && doxygen clfw.cfg --- 19,23 ---- dh_testdir ./autorun.sh ! ./configure --prefix=/usr --includedir=/usr/include/clfw make rm -rf doc/html doc/man && cd doc && doxygen clfw.cfg *************** *** 44,49 **** # Add here commands to install the package into debian/tmp. ! cd src/libs && $(MAKE) install prefix=$(top_builddir)/../../debian/tmp/usr includedir=$(top_builddir)/../../debian/tmp/usr/include/clfw ! cd clfw/ && $(MAKE) install prefix=$(top_builddir)/../debian/tmp/usr cd doc && mkdir -p $(top_builddir)/../debian/tmp/usr/share/doc/libclfw-doc && cp -r html ../debian/tmp/usr/share/doc/libclfw-doc --- 45,50 ---- # Add here commands to install the package into debian/tmp. ! cd src/libs && $(MAKE) DESTDIR=`pwd`/../../debian/tmp install ! cd clfw/ && $(MAKE) DESTDIR=$(top_builddir)/../debian/tmp install cd doc && mkdir -p $(top_builddir)/../debian/tmp/usr/share/doc/libclfw-doc && cp -r html ../debian/tmp/usr/share/doc/libclfw-doc *************** *** 57,68 **** # find debian/libclfw-examples -name "*.[ch]*[pp]*.gz" | xargs -r gunzip # perl debian/genmake.pl debian/libclfw-examples/usr/share/doc/libclfw-examples/examples ! touch debian/tmp/usr/share/doc/libclfw-doc/html/.dhelp dh_movefiles -plibclfw-doc usr/share/doc/libclfw-doc/html ! dh_undocumented ! dh_installchangelogs ! dh_fixperms ! dh_installdeb # find debian/libclfw-examples -name "*.[ch]*[pp]*" | xargs -r gzip ! dh_compress # Build architecture-dependent files here. --- 58,72 ---- # find debian/libclfw-examples -name "*.[ch]*[pp]*.gz" | xargs -r gunzip # perl debian/genmake.pl debian/libclfw-examples/usr/share/doc/libclfw-examples/examples ! # touch debian/tmp/usr/share/doc/libclfw-doc/html/.dhelp dh_movefiles -plibclfw-doc usr/share/doc/libclfw-doc/html ! dh_undocumented -i ! dh_installchangelogs -i ! dh_fixperms -i ! dh_installdeb -i # find debian/libclfw-examples -name "*.[ch]*[pp]*" | xargs -r gzip ! dh_compress -i ! dh_gencontrol ! dh_md5sums -i ! dh_builddeb -i # Build architecture-dependent files here. *************** *** 70,89 **** dh_testdir dh_testroot ! dh_movefiles -plibclfw-dev usr/include/ usr/lib/lib*.a dh_installmanpages -plibclfw-dev ! dh_undocumented ! dh_installchangelogs ! dh_link ! dh_strip ! dh_compress ! dh_fixperms ! dh_installdeb ! dh_shlibdeps binary: binary-indep binary-arch - dh_gencontrol - dh_md5sums - dh_builddeb .PHONY: build clean binary-indep binary-arch binary install --- 74,96 ---- dh_testdir dh_testroot ! dh_movefiles -a ! dh_installmanpages -plibclfw-dev ! rm $$PWD/debian/libclfw-dev/usr/share/man/man3/namespace_corelinux.3 + dh_undocumented -a + dh_installchangelogs -a + dh_link -a + dh_strip -a + dh_compress -a + dh_makeshlibs -a -V + dh_fixperms -a + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol + dh_md5sums -a + dh_builddeb -a binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install Index: postinst =================================================================== RCS file: /cvsroot/corelinux/clfw/debian/postinst,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** postinst 2000/08/30 15:25:35 1.1 --- postinst 2001/05/15 18:44:44 1.2 *************** *** 1,13 **** ! #!/bin/sh set -e - # Automatically added by dh_installdocs - if [ "$1" = "configure" ]; then - if [ -d /usr/doc -a ! -e /usr/doc/libclfw -a -d /usr/share/doc/libclfw ]; then - ln -sf ../share/doc/libclfw /usr/doc/libclfw - fi - - # call ldconfig only if arg is configure - ldconfig - fi - # End automatically added section --- 1,31 ---- ! #! /bin/sh ! # postinst script for kdebase ! # ! # see: dh_installdeb(1) ! set -e + + case "$1" in + configure) + /sbin/ldconfig >/dev/null 2>&1 + if [ -d /usr/doc -a ! -e /usr/doc/libclfw -a -d /usr/share/doc/libclfw ]; then + ln -sf ../share/doc/libclfw /usr/doc/libclfw + fi + ;; + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; + esac + + # dh_installdeb will replace this with shell code automatically + # generated by other debhelper scripts. + + #DEBHELPER# + + exit 0 Index: libclfw.files =================================================================== RCS file: /cvsroot/corelinux/clfw/debian/libclfw.files,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** libclfw.files 2000/08/30 14:11:30 1.1 --- libclfw.files 2001/05/15 18:44:44 1.2 *************** *** 1 **** --- 1,2 ---- usr/lib/*.so.* + usr/lib/libclfw++.la Index: control =================================================================== RCS file: /cvsroot/corelinux/clfw/debian/control,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** control 2000/09/01 00:55:44 1.3 --- control 2001/05/15 18:44:44 1.4 *************** *** 1,8 **** Source: libclfw ! Build-Depends: g++, automake, debhelper Section: libs Priority: optional Maintainer: Christophe Prud'homme <pru...@us...> ! Standards-Version: 3.1.1 Package: libclfw --- 1,8 ---- Source: libclfw ! Build-Depends: g++, automake, debhelper, libtool, doxygen, libcorelinux Section: libs Priority: optional Maintainer: Christophe Prud'homme <pru...@us...> ! Standards-Version: 3.5.0 Package: libclfw Index: changelog =================================================================== RCS file: /cvsroot/corelinux/clfw/debian/changelog,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** changelog 2001/02/15 16:45:32 1.7 --- changelog 2001/05/15 18:44:44 1.8 *************** *** 1,2 **** --- 1,15 ---- + libclfw (0.2.7-2) unstable; urgency=low + + * fixed Build-Depends + + -- Christophe Prud'homme <pru...@mi...> Thu, 3 May 2001 11:02:06 -0400 + + libclfw (0.2.7-1) unstable; urgency=low + + * new upstream version + * fixed lintian warnings/errors + + -- Christophe Prud'homme <pru...@mi...> Mon, 30 Apr 2001 20:18:47 -0400 + libclfw (0.2.6-2) unstable; urgency=low Index: .cvsignore =================================================================== RCS file: /cvsroot/corelinux/clfw/debian/.cvsignore,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** .cvsignore 2000/09/05 01:21:15 1.2 --- .cvsignore 2001/05/15 18:44:44 1.3 *************** *** 2,5 **** --- 2,6 ---- Makefile.in files + libclfw libclfw-dev libclfw-dev.postinst.debhelper *************** *** 12,15 **** --- 13,17 ---- libclfw-examples.prerm.debhelper postinst.debhelper + postrm.debhelper prerm.debhelper substvars |
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:18:00
|
Update of /cvsroot/corelinux/clfw/admin
In directory usw-pr-cvs1:/tmp/cvs-serv26824/admin
Modified Files:
config.guess config.sub ltmain.sh
Log Message:
update admin/config.* and admin/ltmain.sh for libtool
Index: config.guess
===================================================================
RCS file: /cvsroot/corelinux/clfw/admin/config.guess,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** config.guess 2000/08/15 01:16:26 1.1.1.1
--- config.guess 2001/05/15 18:17:57 1.2
***************
*** 1,6 ****
#! /bin/sh
# Attempt to guess a canonical system name.
! # Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
! #
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
--- 1,9 ----
#! /bin/sh
# Attempt to guess a canonical system name.
! # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
[...1498 lines suppressed...]
+ /bin/universe = `(/bin/universe) 2>/dev/null`
+ /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+ /bin/arch = `(/bin/arch) 2>/dev/null`
+ /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+ /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+ UNAME_MACHINE = ${UNAME_MACHINE}
+ UNAME_RELEASE = ${UNAME_RELEASE}
+ UNAME_SYSTEM = ${UNAME_SYSTEM}
+ UNAME_VERSION = ${UNAME_VERSION}
+ EOF
+
exit 1
+
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+ # time-stamp-start: "timestamp='"
+ # time-stamp-format: "%:y-%02m-%02d"
+ # time-stamp-end: "'"
+ # End:
Index: config.sub
===================================================================
RCS file: /cvsroot/corelinux/clfw/admin/config.sub,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** config.sub 2000/08/15 01:16:33 1.1.1.1
--- config.sub 2001/05/15 18:17:57 1.2
***************
*** 1,5 ****
#! /bin/sh
! # Configuration validation subroutine script, version 1.1.
! # Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
--- 1,9 ----
#! /bin/sh
! # Configuration validation subroutine script.
! # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
! # Free Software Foundation, Inc.
[...1063 lines suppressed...]
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
***************
*** 958,959 ****
--- 1353,1362 ----
echo $basic_machine$os
+ exit 0
+
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+ # time-stamp-start: "timestamp='"
+ # time-stamp-format: "%:y-%02m-%02d"
+ # time-stamp-end: "'"
+ # End:
Index: ltmain.sh
===================================================================
RCS file: /cvsroot/corelinux/clfw/admin/ltmain.sh,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** ltmain.sh 2000/08/15 01:17:07 1.1.1.1
--- ltmain.sh 2001/05/15 18:17:57 1.2
***************
*** 1,7 ****
# ltmain.sh - Provide generalized library-building support services.
! # NOTE: Changing this file will not affect anything until you rerun ltconfig.
#
! # Copyright (C) 1996-1999 Free Software Foundation, Inc.
! # Gordon Matzigkeit <go...@gn...>, 1996
#
# This program is free software; you can redistribute it and/or modify
--- 1,8 ----
# ltmain.sh - Provide generalized library-building support services.
! # NOTE: Changing this file will not affect anything until you rerun configure.
[...5199 lines suppressed...]
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
-module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
***************
*** 3749,3753 ****
uninstall)
! $echo
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
--- 4916,4920 ----
uninstall)
! $echo \
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
|
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:18:00
|
Update of /cvsroot/corelinux/clfw In directory usw-pr-cvs1:/tmp/cvs-serv26824 Modified Files: ChangeLog config.h.in Log Message: update admin/config.* and admin/ltmain.sh for libtool Index: ChangeLog =================================================================== RCS file: /cvsroot/corelinux/clfw/ChangeLog,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** ChangeLog 2001/04/15 16:36:08 1.23 --- ChangeLog 2001/05/15 18:17:57 1.24 *************** *** 1,2 **** --- 1,6 ---- + 2001-05-15 Christophe Prud'homme <pru...@mi...> + + * update admin/config.* and admin/ltmain.sh + 2001-04-15 Frank V. Castellucci <fr...@ca...> Index: config.h.in =================================================================== RCS file: /cvsroot/corelinux/clfw/config.h.in,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** config.h.in 2001/04/15 16:36:08 1.3 --- config.h.in 2001/05/15 18:17:57 1.4 *************** *** 4,7 **** --- 4,10 ---- #undef STDC_HEADERS + /* Define if you have the <dlfcn.h> header file. */ + #undef HAVE_DLFCN_H + /* Define if you have the gdbm library (-lgdbm). */ #undef HAVE_LIBGDBM |
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:07:01
|
Update of /cvsroot/corelinux/corelinux/debian
In directory usw-pr-cvs1:/tmp/cvs-serv25173/debian
Modified Files:
rules libcorelinux.files libcorelinux-dev.files changelog
Added Files:
libcorelinux.postrm libcorelinux.postinst
Removed Files:
postinst
Log Message:
big update
--- NEW FILE ---
#! /bin/sh
# postrm script for kdebase
#
# see: dh_installdeb(1)
set -e
#if [ "$1" = "remove" ]; then
# ldconfig
#fi
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
--- NEW FILE ---
#! /bin/sh
# postinst script for kdebase
#
# see: dh_installdeb(1)
set -e
case "$1" in
configure)
/sbin/ldconfig >/dev/null 2>&1
if [ -d /usr/doc -a ! -e /usr/doc/libcorelinux -a -d /usr/share/doc/libcorelinux ]; then
ln -sf ../share/doc/libcorelinux /usr/doc/libcorelinux
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
Index: rules
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/rules,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** rules 2001/05/15 15:56:51 1.13
--- rules 2001/05/15 18:06:58 1.14
***************
*** 22,28 ****
cd classic/src/classlibs && make
rm -rf classic/doc/html doc/man && cd classic/doc && doxygen corelinux.cfg
- # mkdir -p debug
- # cd debug && ../configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/corelinux --enable-debug
- # cd debug/src/classlibs && make
touch build-stamp
--- 22,25 ----
***************
*** 34,39 ****
# Add here commands to clean up after the build process.
rm -rf classic
- # -cd debug && $(MAKE) clean
- # -cd debug && $(MAKE) distclean
dh_clean
--- 31,34 ----
***************
*** 46,51 ****
# Add here commands to install the package into debian/tmp.
! cd classic/src/classlibs && $(MAKE) DESTDIR=`pwd`/../../../debian/tmp/usr install
! cd classic/corelinux && $(MAKE) DESTDIR=`pwd`/../../debian/tmp/usr install
cd classic/doc && mkdir -p $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc && cp -r html $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc
--- 41,46 ----
# Add here commands to install the package into debian/tmp.
! cd classic/src/classlibs && $(MAKE) DESTDIR=`pwd`/../../../debian/tmp install
! cd classic/corelinux && $(MAKE) DESTDIR=`pwd`/../../debian/tmp install
cd classic/doc && mkdir -p $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc && cp -r html $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc
***************
*** 53,57 ****
# cd debug/src/classlibs/corelinux && install -c .libs/libcl++.so.$(so_version) $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.so.$(so_version)
# cd debug/src/classlibs/corelinux && install -c .libs/libcl++.a $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.a
! rm $$PWD/debian/tmp/usr/lib/*.so
# Build architecture-independent files here.
--- 48,52 ----
# cd debug/src/classlibs/corelinux && install -c .libs/libcl++.so.$(so_version) $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.so.$(so_version)
# cd debug/src/classlibs/corelinux && install -c .libs/libcl++.a $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.a
! # rm $$PWD/debian/tmp/usr/lib/*.so
# Build architecture-independent files here.
Index: libcorelinux.files
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/libcorelinux.files,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** libcorelinux.files 2001/04/26 18:21:17 1.2
--- libcorelinux.files 2001/05/15 18:06:58 1.3
***************
*** 1 ****
! usr/lib/lib*.so*
--- 1,2 ----
! usr/lib/libcl++.so.*
! usr/lib/libcl++.la
Index: libcorelinux-dev.files
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/libcorelinux-dev.files,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** libcorelinux-dev.files 2001/05/15 15:56:51 1.1
--- libcorelinux-dev.files 2001/05/15 18:06:58 1.2
***************
*** 1,2 ****
--- 1,3 ----
usr/include
+ usr/lib/libcl++.so
usr/lib/libcl++.a
Index: changelog
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/changelog,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** changelog 2001/05/15 15:56:51 1.10
--- changelog 2001/05/15 18:06:58 1.11
***************
*** 1,2 ****
--- 1,8 ----
+ libcorelinux (0.4.32-3) unstable; urgency=low
+
+ * fix lintian warning
+
+ -- Christophe Prud'homme <pru...@mi...> Tue, 15 May 2001 13:45:58 -0400
+
libcorelinux (0.4.32-2) unstable; urgency=low
--- postinst DELETED ---
|
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:03:59
|
Update of /cvsroot/corelinux/corelinux/admin
In directory usw-pr-cvs1:/tmp/cvs-serv24694/admin
Modified Files:
config.guess config.sub ltmain.sh
Log Message:
update libtool stuff and config.*
Index: config.guess
===================================================================
RCS file: /cvsroot/corelinux/corelinux/admin/config.guess,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** config.guess 2000/04/23 21:58:35 1.1
--- config.guess 2001/05/15 18:03:57 1.2
***************
*** 1,6 ****
#! /bin/sh
# Attempt to guess a canonical system name.
! # Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
! #
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
--- 1,9 ----
#! /bin/sh
# Attempt to guess a canonical system name.
! # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
[...1498 lines suppressed...]
+ /bin/universe = `(/bin/universe) 2>/dev/null`
+ /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+ /bin/arch = `(/bin/arch) 2>/dev/null`
+ /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+ /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+ UNAME_MACHINE = ${UNAME_MACHINE}
+ UNAME_RELEASE = ${UNAME_RELEASE}
+ UNAME_SYSTEM = ${UNAME_SYSTEM}
+ UNAME_VERSION = ${UNAME_VERSION}
+ EOF
+
exit 1
+
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+ # time-stamp-start: "timestamp='"
+ # time-stamp-format: "%:y-%02m-%02d"
+ # time-stamp-end: "'"
+ # End:
Index: config.sub
===================================================================
RCS file: /cvsroot/corelinux/corelinux/admin/config.sub,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** config.sub 2000/04/23 21:58:35 1.1
--- config.sub 2001/05/15 18:03:57 1.2
***************
*** 1,5 ****
#! /bin/sh
! # Configuration validation subroutine script, version 1.1.
! # Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
--- 1,9 ----
#! /bin/sh
! # Configuration validation subroutine script.
! # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
! # Free Software Foundation, Inc.
[...1063 lines suppressed...]
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
***************
*** 958,959 ****
--- 1353,1362 ----
echo $basic_machine$os
+ exit 0
+
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+ # time-stamp-start: "timestamp='"
+ # time-stamp-format: "%:y-%02m-%02d"
+ # time-stamp-end: "'"
+ # End:
Index: ltmain.sh
===================================================================
RCS file: /cvsroot/corelinux/corelinux/admin/ltmain.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ltmain.sh 2000/09/22 18:01:01 1.2
--- ltmain.sh 2001/05/15 18:03:57 1.3
***************
*** 1,6 ****
# ltmain.sh - Provide generalized library-building support services.
! # NOTE: Changing this file will not affect anything until you rerun ltconfig.
#
! # Copyright (C) 1996-1999 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <go...@gn...>, 1996
#
--- 1,7 ----
# ltmain.sh - Provide generalized library-building support services.
! # NOTE: Changing this file will not affect anything until you rerun configure.
#
[...4292 lines suppressed...]
compile)
$echo \
***************
*** 3888,3891 ****
--- 4806,4811 ----
-o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -prefer-pic try to building PIC objects only
+ -prefer-non-pic try to building non-PIC objects only
-static always build a \`.o' file suitable for static linking
***************
*** 3967,3970 ****
--- 4887,4892 ----
-lNAME OUTPUT-FILE requires the installed library libNAME
-module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
|
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 18:03:59
|
Update of /cvsroot/corelinux/corelinux In directory usw-pr-cvs1:/tmp/cvs-serv24694 Modified Files: ChangeLog Log Message: update libtool stuff and config.* Index: ChangeLog =================================================================== RCS file: /cvsroot/corelinux/corelinux/ChangeLog,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -r1.35 -r1.36 *** ChangeLog 2001/04/15 11:02:40 1.35 --- ChangeLog 2001/05/15 18:03:57 1.36 *************** *** 1,2 **** --- 1,6 ---- + 2001-05-15 Christophe Prud'homme <pru...@mi...> + + * updated admin/config.sub, admin/config.guess and admin/ltmain.sh + 2001-04-15 Frank V. Castellucci <fr...@ca...> |
|
From: Christophe Prud'h. <pru...@us...> - 2001-05-15 15:56:54
|
Update of /cvsroot/corelinux/corelinux/debian
In directory usw-pr-cvs1:/tmp/cvs-serv28819
Modified Files:
rules changelog
Added Files:
libcorelinux-doc.prerm libcorelinux-doc.postinst
libcorelinux-dev.files
Log Message:
* fixed problem with .la files
they had the wrong libdir setting
--- NEW FILE ---
#! /bin/sh
# prerm script for kdebase
#
# see: dh_installdeb(1)
set -e
case "$1" in
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
if [ -L /usr/doc/libcorelinux-doc ]; then
rm /usr/doc/libcorelinux-doc
fi
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 0
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
--- NEW FILE ---
#! /bin/sh
# postinst script for kdebase
#
# see: dh_installdeb(1)
set -e
case "$1" in
configure)
ln -s /usr/share/doc/libcorelinux-doc /usr/doc/libcorelinux-doc
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
--- NEW FILE ---
usr/include
usr/lib/libcl++.a
Index: rules
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/rules,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** rules 2001/04/26 18:21:17 1.12
--- rules 2001/05/15 15:56:51 1.13
***************
*** 12,16 ****
# This is the debhelper compatibility version to use.
! export DH_COMPAT=2
build: build-stamp
--- 12,16 ----
# This is the debhelper compatibility version to use.
! export DH_COMPAT=3
build: build-stamp
***************
*** 19,23 ****
./autorun.sh
mkdir -p classic
! cd classic && ../configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/corelinux
cd classic/src/classlibs && make
rm -rf classic/doc/html doc/man && cd classic/doc && doxygen corelinux.cfg
--- 19,23 ----
./autorun.sh
mkdir -p classic
! cd classic && ../configure --prefix=/usr --includedir=/usr/include/corelinux
cd classic/src/classlibs && make
rm -rf classic/doc/html doc/man && cd classic/doc && doxygen corelinux.cfg
***************
*** 33,38 ****
# Add here commands to clean up after the build process.
! -cd classic && $(MAKE) clean
! -cd classic && $(MAKE) distclean
# -cd debug && $(MAKE) clean
# -cd debug && $(MAKE) distclean
--- 33,37 ----
# Add here commands to clean up after the build process.
! rm -rf classic
# -cd debug && $(MAKE) clean
# -cd debug && $(MAKE) distclean
***************
*** 47,52 ****
# Add here commands to install the package into debian/tmp.
! cd classic/src/classlibs && $(MAKE) install prefix=$$PWD/../../../debian/tmp/usr includedir=$$PWD/../../../debian/tmp/usr/include/corelinux
! cd classic/corelinux && $(MAKE) install prefix=$PWD/../../debian/tmp/usr includedir=$$PWD/../../debian/tmp/usr/include/corelinux
cd classic/doc && mkdir -p $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc && cp -r html $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc
--- 46,51 ----
# Add here commands to install the package into debian/tmp.
! cd classic/src/classlibs && $(MAKE) DESTDIR=`pwd`/../../../debian/tmp/usr install
! cd classic/corelinux && $(MAKE) DESTDIR=`pwd`/../../debian/tmp/usr install
cd classic/doc && mkdir -p $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc && cp -r html $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc
Index: changelog
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/changelog,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** changelog 2001/04/26 18:21:17 1.9
--- changelog 2001/05/15 15:56:51 1.10
***************
*** 1,2 ****
--- 1,10 ----
+ libcorelinux (0.4.32-2) unstable; urgency=low
+
+ * now use DESTDIR
+ * fix the problem with .la files, they do not contain the debian install
+ libdir but /usr/lib
+
+ -- Christophe Prud'homme <pru...@mi...> Tue, 15 May 2001 11:52:52 -0400
+
libcorelinux (0.4.32-1) unstable; urgency=low
|
|
From: Frank V. C. <fr...@us...> - 2001-05-12 12:08:06
|
Update of /cvsroot/corelinux/htdocs
In directory usw-pr-cvs1:/tmp/cvs-serv12092
Modified Files:
news.php download.php
Log Message:
Updated news and download pages
Index: news.php
===================================================================
RCS file: /cvsroot/corelinux/htdocs/news.php,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -r1.36 -r1.37
*** news.php 2001/04/28 12:19:53 1.36
--- news.php 2001/05/12 12:08:04 1.37
***************
*** 41,44 ****
--- 41,51 ----
<?
+ add_breaking_news("05/12/2001",
+ "libclfll++ 0.1.1 Released!",
+ "New Library Released!",
+ "rel-0-1-1",
+ "A refresh of The CoreLinux++ Function Load Library (libclfll++), our first concrete implementation of the LibraryLoad abstraction
+ defined in libclfw++ 0.2.6. A working example shows how this library can be used.");
+
add_breaking_news("04/28/2001",
"libclfw++ 0.2.7 released!",
***************
*** 262,269 ****
echo "<table compact width=100% border=0>\n";
add_small_news("04/28/01","rel-0-2-7","libclfw++ 0.2.7");
add_small_news("04/15/01","rel-0-4-32","libcorelinux++ 0.4.32");
- add_small_news("04/14/01","rel-0-4-31","libcorelinux++ 0.4.31");
- add_small_news("11/24","rel-0-1-0","libclfll++ 0.1.0");
echo "</table>";
}
--- 269,275 ----
echo "<table compact width=100% border=0>\n";
+ add_small_news("05/12/01","rel-0-1-1","libclfll++ 0.1.1");
add_small_news("04/28/01","rel-0-2-7","libclfw++ 0.2.7");
add_small_news("04/15/01","rel-0-4-32","libcorelinux++ 0.4.32");
echo "</table>";
}
Index: download.php
===================================================================
RCS file: /cvsroot/corelinux/htdocs/download.php,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -r1.29 -r1.30
*** download.php 2001/04/28 12:19:53 1.29
--- download.php 2001/05/12 12:08:04 1.30
***************
*** 5,16 ****
$cldoc_release="0.4.29";
$cl_release="0.4.32";
! $cldeb_release="0.4.30";
$cl_release_rpm=1;
$cl_release_deb=1;
$clfw_release="0.2.7";
! $clfwdeb_release="0.2.6";
$clfw_release_rpm=1;
$clfw_release_deb=1;
! $clfll_release="0.1.0";
$clfll_release_rpm=1;
$clflldeb_release="0.1.0";
--- 5,16 ----
$cldoc_release="0.4.29";
$cl_release="0.4.32";
! $cldeb_release="0.4.32";
$cl_release_rpm=1;
$cl_release_deb=1;
$clfw_release="0.2.7";
! $clfwdeb_release="0.2.7";
$clfw_release_rpm=1;
$clfw_release_deb=1;
! $clfll_release="0.1.1";
$clfll_release_rpm=1;
$clflldeb_release="0.1.0";
|
|
From: Frank V. C. <fr...@us...> - 2001-05-12 11:37:25
|
Update of /cvsroot/corelinux/clfll In directory usw-pr-cvs1:/tmp/cvs-serv4010 Modified Files: configure.in Log Message: Update to release number Index: configure.in =================================================================== RCS file: /cvsroot/corelinux/clfll/configure.in,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** configure.in 2001/05/12 11:33:11 1.7 --- configure.in 2001/05/12 11:37:23 1.8 *************** *** 10,14 **** CLFLL_MAJOR_VERSION=0 CLFLL_MINOR_VERSION=1 ! CLFLL_MICRO_VERSION=0 dnl --- 10,14 ---- CLFLL_MAJOR_VERSION=0 CLFLL_MINOR_VERSION=1 ! CLFLL_MICRO_VERSION=1 dnl |
|
From: Frank V. C. <fr...@us...> - 2001-05-12 11:33:16
|
Update of /cvsroot/corelinux/clfll
In directory usw-pr-cvs1:/tmp/cvs-serv2713
Modified Files:
ChangeLog clfll.spec.in configure.in
Log Message:
Updated refresh to build with clfw++ 0.2.7
Index: ChangeLog
===================================================================
RCS file: /cvsroot/corelinux/clfll/ChangeLog,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** ChangeLog 2000/11/24 13:45:07 1.3
--- ChangeLog 2001/05/12 11:33:11 1.4
***************
*** 1,2 ****
--- 1,6 ----
+ 2001-05-12 Frank V. Castellucci <fr...@ca...>
+
+ * Updated configure.in to build with new dependencies on libclfw (gdbm)
+
2000-11-24 Frank V. Castellucci <fr...@ca...>
Index: clfll.spec.in
===================================================================
RCS file: /cvsroot/corelinux/clfll/clfll.spec.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** clfll.spec.in 2000/11/23 15:42:39 1.3
--- clfll.spec.in 2001/05/12 11:33:11 1.4
***************
*** 17,21 ****
License: LGPL
BuildRoot: /var/tmp/%{name}-buildroot
! Requires: libcorelinux >= 0.4.30, libclfw >= 0.2.6
%description
--- 17,21 ----
License: LGPL
BuildRoot: /var/tmp/%{name}-buildroot
! Requires: libcorelinux >= 0.4.31, libclfw >= 0.2.7
%description
***************
*** 32,36 ****
Group: Development/Libraries
Summary: Header files, static library and manual pages for libclfll
! Requires: libclfll = %{version} libclfw-dev >= 0.2.6
%description dev
--- 32,36 ----
Group: Development/Libraries
Summary: Header files, static library and manual pages for libclfll
! Requires: libclfll = %{version} libclfw-dev >= 0.2.7
%description dev
***************
*** 149,152 ****
--- 149,153 ----
* Thu Nov 02 2000 Frank V. Castellucci <fr...@us...>
- initial
+
Index: configure.in
===================================================================
RCS file: /cvsroot/corelinux/clfll/configure.in,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** configure.in 2000/11/23 15:42:39 1.6
--- configure.in 2001/05/12 11:33:11 1.7
***************
*** 87,95 ****
CXXFLAGS="${CXXFLAGS} -I/usr/include/clfw -I/usr/include/corelinux"
LDFLAGS="${LDFLAGS} "
! LIBS="${LIBS} -lcl++ -lclfw++ -luuid -ldl"
],[
echo "You need to install corelinux framework (libclfw++) or corelinux (libcl++) or uuid (libuuid) or dl (libdl). see http://corelinux.sourceforge.net"
exit;
! ], -luuid -lcl++)
AC_SUBST(LIBS)
--- 87,95 ----
CXXFLAGS="${CXXFLAGS} -I/usr/include/clfw -I/usr/include/corelinux"
LDFLAGS="${LDFLAGS} "
! LIBS="${LIBS} -lcl++ -lclfw++ -luuid -ldl -lgdbm"
],[
echo "You need to install corelinux framework (libclfw++) or corelinux (libcl++) or uuid (libuuid) or dl (libdl). see http://corelinux.sourceforge.net"
exit;
! ], -luuid -lcl++ -lgdbm)
AC_SUBST(LIBS)
|
|
From: Frank V. C. <fr...@us...> - 2001-05-04 22:53:17
|
Update of /cvsroot/corelinux/clfw In directory usw-pr-cvs1:/tmp/cvs-serv32684 Modified Files: configure.in Log Message: After tag version switch Index: configure.in =================================================================== RCS file: /cvsroot/corelinux/clfw/configure.in,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -r1.25 -r1.26 *** configure.in 2001/04/15 16:36:08 1.25 --- configure.in 2001/05/04 22:53:15 1.26 *************** *** 10,14 **** CLFW_MAJOR_VERSION=0 CLFW_MINOR_VERSION=2 ! CLFW_MICRO_VERSION=7 dnl --- 10,14 ---- CLFW_MAJOR_VERSION=0 CLFW_MINOR_VERSION=2 ! CLFW_MICRO_VERSION=8 dnl |
|
From: Frank V. C. <fr...@us...> - 2001-04-29 10:45:45
|
Update of /cvsroot/corelinux/htdocs/develop
In directory usw-pr-cvs1:/tmp/cvs-serv21759
Modified Files:
develop.dvi develop.pdf develop.ps develop.tex develop.txt
Log Message:
Schema Update
Index: develop.dvi
===================================================================
RCS file: /cvsroot/corelinux/htdocs/develop/develop.dvi,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
Binary files /tmp/cvsodazZa and /tmp/cvsYXEBDb differ
Index: develop.pdf
===================================================================
RCS file: /cvsroot/corelinux/htdocs/develop/develop.pdf,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
Binary files /tmp/cvsYUyb7b and /tmp/cvsa8vQTh differ
Index: develop.ps
===================================================================
RCS file: /cvsroot/corelinux/htdocs/develop/develop.ps,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** develop.ps 2000/10/07 17:16:56 1.10
--- develop.ps 2001/04/29 10:45:41 1.11
***************
*** 2,6 ****
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: develop.dvi
! %%Pages: 11
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
--- 2,6 ----
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: develop.dvi
! %%Pages: 14
%%PageOrder: Ascend
[...2287 lines suppressed...]
! (recognize)e(as)i(an)g(indicator)1449 5589 y Fg(13)p
! eop
! %%Page: 14 14
! 14 13 bop 0 -228 a Fd(REFERENCES)1738 b(REFERENCES)p
! 0 -191 2989 4 v 0 91 a Ff(that)47 b(the)g(application)d(whats)j
! (instances)e(of)i(this)g(data)f(member)g(to)i(be)f(handled)0
! 204 y(as)g(a)h(separate)d(table/file/etc.)f(according)h(to)i(it's)g
! (\(storage)e(service\))0 317 y(domain.)141 505 y Fg(Please)37
! b(note)h(that)f(these)g(w)m(ould)f(b)s(e)g(considered)g("suggestions")i
! (that)f(the)g(declaration)g(of)g(whic)m(h)e(do)s(es)0
! 618 y(not)c(imply)d(that)j(a)f(storage)i(service)e(w)m(ould)g(do)g(an)m
! (ything)g(with)f(the)h(information.)0 904 y Fi(References)0
! 1107 y Fg(FSF.)41 b Fa(GNU)32 b(A)n(uto)-5 b(c)g(onf)33
! b(Manual)p Fg(.)41 b(FSF,)31 b(2.13)h(edition,)d(1999.)0
! 1295 y(FSF.)41 b Fa(GNU)32 b(A)n(utomake)g(Manual)p Fg(.)42
! b(FSF,)30 b(1.4)i(edition,)d(2000a.)0 1482 y(FSF.)41
! b Fa(GNU)32 b(Libto)-5 b(ol)34 b(Manual)p Fg(.)41 b(FSF,)31
! b(1.3.4)h(edition,)d(2000b.)1449 5589 y(14)p eop
%%Trailer
end
Index: develop.tex
===================================================================
RCS file: /cvsroot/corelinux/htdocs/develop/develop.tex,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** develop.tex 2000/10/07 17:16:57 1.10
--- develop.tex 2001/04/29 10:45:41 1.11
***************
*** 516,524 ****
Whether managing graphic libraries, supporting plug-ins for extension, or dynamically calling shared library functions, applications often have a need to load information at run-time through the support of some library or operating system facility. The Library Load Framework supplies the extensible object types and behvioral semantics for such activities.
! \subsection{Persistence}
! \label{sec:Persist}
! There are many C++ applications that require the object instances to be saved and loaded for use across application or machine sessions.
\bibliographystyle{plainnat}
\bibliography{corelinux}
--- 516,680 ----
Whether managing graphic libraries, supporting plug-ins for extension, or dynamically calling shared library functions, applications often have a need to load information at run-time through the support of some library or operating system facility. The Library Load Framework supplies the extensible object types and behvioral semantics for such activities.
! \subsection{Schemas And Persistence}
! \label{sec:SchmPersist}
! \subsubsection{Premise}
! \label{sec:SchmPersistPrem}
+ The persistence abstraction is built on the premise that the actual storage service code, that which implements concrete persist services beneath the abstraction, should be intelligent enough to take guidance from domain descriptions (concepts). Said concepts define the types to be stored, in addition to other information, and it is the job of the storage service to manage the data layout and service execution as defined by it's implementation.
+
+ It is, after all, the 21st century.
+
+ This benefits the application developer from having to worry about the details of a particular storage service, as well as having the flexibility to change persist implementations at will, or by user choice.
+ \subsubsection{Overview}
+ \label{sec:SchmPersistOvr}
+
+ There are actually two (2) aspects to the CoreLinux++ Abstract Persist framework: Schemas and Services. This release focuses on the newly provided Schema constructs. * Please refer to the current implementation restrictions at the end of this document.
+
+ A Schema is an organization of concepts to model an idea. In this case, what is being modeled are the types that the application will want to have made persistent. When a schema has been modeled, it is then usable as a roadmap, in effect, to guide the storage implementation. For example, the types may represent tables in a relational database storage service, or a file type for a flat file service. It is ultimatley up to the service to decide how to "plan the trip".
+
+ There are two (2) workflows around Schemas and their concepts: Model and Run. Lets talk turkey first:
+
+ \subsubsection{Schema Modeling}
+ \label{sec:SchmPersistMod}
+
+ Schema modeling is supported through built-in services and functions of the library. All modeling changes are persisted to gdbm databases, and the domain modeler need only focus on making their schema correct. While there is a tremendous opportunity for adventerous open source developers to build tools around this (GUI, etc.), the library contains the fundemental capabilities to Create, Request, Update, and Delete Schemas or their artifacts (concepts).
+
+ The example test driver (clfw/src/testdrivers/exf2) shows some of the following capabilities.
+
+ 1. Typically, start by resolving the SchemaSponsor and creating an
+ instance of it.
+
+ 2. From the Sponser, get the Catalog object instance.
+
+ 3. Create, Edit, Save, Close, Delete Schemas using the interface
+ of the Catalog instance.
+
+ 4. Create Concepts and add to Schema
+
+ 5. Remove Concepts from Schema and delete
+
+ \subsubsection{Schema Run Time}
+ \label{sec:SchmPersistRun}
+
+ Once a Schema has been modeled, it can be used by a storage service to support the input and output operations of application objects.
+
+ 1. Like Schema modeling, the activation of persistence in an application starts with the resolving and instance creation of a StoreSponser. This can be done be either using the the StoreSponser class name and resolving through the Ontology interfaces.
+
+ For example:
+
+ StoreSponsorPtr aSponsor
+ (
+ StoreSponsor::castDown(getInstanceOf("MySQLSponsor"))
+ );
+
+ or by walking the StoreSponser MetaClass hierarchy and testing each of the children nodes until you find the one you want. In latter releases we will have support for descriptive attributes on MetaClasses to help reason with sponser types and capabilities.
+
+ Another way to load a Sponser would be to work in conjunction with plug-in support to dynamically load types that are not part of the library compilation. Sounds like a job for the CoreLinux++ Library Load
+ capability!
+
+ Note: In the above code example it presumes that someone has provided a MySQL persistence implementation.
+
+ 2. From the Sponser, get the Catalog object instance.
+
+ 3. Create a Store (which would require identifying the Schema to be used
+ as the roadmap).
+
+ 4. Fetch a Store to write and read application object instances from and
+ to respectivley.
+
+ \subsubsection{Current Restrictions}
+ \label{sec:SchmPersistRest}
+
+ Name/Value Declarations
+
+ While ultimately Schemas and Concepts attributes won't be limited as to the
+ depth or types supported, the current implementation assumes most attributes
+ are of the form: Name:Value, where:
+
+ Name is the Key data member of the Attribute and should be of type
+ FrameworkString
+
+ Value is the Value data member of the Attribute and should be of type
+ FrameworkString
+
+ Primary Schema Declarations
+
+ For schemas, the following are the recognized attribute keys:
+ \begin{verbatim}
+ Attribute Key : "Name"
+ Expected Value : Unique name for this schema
+ Example : "Franks Schema"
+ Note : This is a required attribute
+
+ Attribute Key : "Collection"
+ Expected Value : The collection type literal (currently "Array" or "SetCollection")
+ Note : SetCollection is safer for insuring unique name keys, although as new collection types are added it is really up to the modeling support.
+ Note : This is a required attribute
+
+ Attribute Key : "Location"
+ Expected Value : Qualified path where schema should be stored
+ Note : This is an optional attribute, default is ~/.clfw++/schemas/"Name"
+
+ Attribute Key : "GUID"
+ Expected Value : Stringified UniversalIdentifier to be used
+ Note : This is an optional attribute, default is the system will generate.
+ \end{verbatim}
+
+ with the following attribute expected to be supported in later releases:
+
+ \begin{verbatim}
+ Attribute Key : "SchemaClass"
+ Expected Value : The Schema class type literal to be used when instantiating a new schema, this will be stored with the Schema descriptor and will be used when reloading in new sessions.
+ Example : "FranksWickedSchemaDerivation"
+ \end{verbatim}
+
+ Primary Concept Declarations
+ \begin{verbatim}
+ Attribute Key : "Name"
+ Expected Value : Unique name for this schema
+ Example : "Concept A1"
+ Note : Even though concepts can be created for other reasons, this is a required attribute if adding to a Schema
+
+ Attribute Key : "Class"
+ Expected Value : Stringified UniversalIdentifier of the type that this Concept defines representation of to the storage service.
+ Note : Even though concepts can be created for other reasons, this is a required attribute if adding to a Schema
+ \end{verbatim}
+
+ with the following attributes expected to be supported in later releases:
+ \begin{verbatim}
+ Attribute Key : "Uses"
+ Expected Value : Collection type, where the collection contains attributes that describe data types of this object should reuse the storage managed by another concepts definition, therefore the nested attributes are:
+ Attribute Key : "Data Member Name"
+ Expected Value : "Concept Name"
+
+ where:
+
+ "Data Member Name" is the name of the data member that has been
+ explicitly identified in the MetaClass definition of the entity
+ being stored.
+
+ "Concept Name" is the name of another concept in the Schema
+ (which one would have to presume is the same type of the Data
+ Member).
+
+ Attribute Key : "Ignore"
+ Expected Value : Collection type, where the collection contains
+ single string values that identify (by name) the Data Members of
+ the Class that the storage management should ignore. In
+ otherword don't write or expect to read from persist.
+
+ Attribute Key : "Fence"
+ Expected Value : Collection type, where the collection contains
+ single string values that identify (by name) the Data Members of
+ the Class that the storage manager should recognize as an indicator
+ that the application whats instances of this data member to be handled
+ as a separate table/file/etc. according to it's (storage service)
+ domain.
+ \end{verbatim}
+
+ Please note that these would be considered "suggestions" that the declaration of which does not imply that a storage service would do anything with the information.
+
+
\bibliographystyle{plainnat}
\bibliography{corelinux}
***************
*** 536,537 ****
--- 692,702 ----
% TeX-command-default: "PdfLaTeX"
% End:
+
+
+
+
+
+
+
+
+
Index: develop.txt
===================================================================
RCS file: /cvsroot/corelinux/htdocs/develop/develop.txt,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** develop.txt 2000/10/07 17:16:57 1.7
--- develop.txt 2001/04/29 10:45:41 1.8
***************
*** 9,54 ****
! Revision: 1.9
Created on June 04, 2000
! Revised on September 5, 2000
Abstract
! This document describes how to build applications|with CoreLinux++ Standards. This is
the CoreLinux++ Development Guide. |
|
|
! Contents ||3 Standard Development Process 4
|
! 1 Introduction 2 ||4 Developing with CoreLinux++ 4
|
!
! 2 Setting Up for CoreLinux++ builds 2 || 4.1 Using autoconf . . . . . . . . . . 4
! 2.1 Getting Things Rolling . . . . . . 2 || 4.2 Macros . . . . . . . . . . . . . . . 5
! 2.2 Make Environment . . . . . . . . 2 ||
! 2.3 Setting up for CoreLinux++ Ex- ||5 Class Library Internals 8
! ecution . . . . . . . . . . . . . . . 2 | 5.1 Foundation Classes . . . . . . . . 9
! 2.4 Directory Structure . . . . . . . . 3 || 5.2 Inter-Process Communication . . 9
! 2.4.1 The Root Directory . . . 3 || 5.2.1 Semaphore and Semaphore-
! 2.4.2 The Root Include . . . . . 3 || Group . . . . . . . . . . . 9
! 2.4.3 The Root Source Root . . 3 || 5.2.2 Threads . . . . . . . . . . 9
! 2.4.4 Class Library Source Root 4 | 5.3 Design Patterns . . . . . . . . . . 9
! 2.4.5 CoreLinux Class Library ||
! Source . . . . . . . . . . . 4 ||6 Frameworks 10
! 2.4.6 Additional Class Library || 6.1 Framework Support . . . . . . . 10
! Source . . . . . . . . . . . 4 || 6.2 Meta-class MetaType . . . . . . 10
! 2.4.7 The Test Driver and Ex- ||
! ample Code Root . . . . . 4 | 6.3 MetaType Macros . . . . . . . . 10
! 2.4.8 Example application source 4 || 6.4 Ontology . . . . . . . . . . . . . 10
! 2.4.9 CoreLinux++ Documen- || 6.5 MetaType Ontology . . . . . . . 10
! tation for Standards, || 6.6 Common franework abstractions 11
! Class Reference, Require- || 6.6.1 Library Load . . . . . . . 11
! ments, Analysis, and Design 4 | 6.7 Persistence . . . . . . . . . . . . 11
Copyright notice
CoreLinux++ Copyright cO 1999, 2000 CoreLinux Consortium
! Revision 1.9 Last Modified: September 5, 2000
! This material may be distributed only subject to the terms and conditions set forth in the Open
--- 9,56 ----
! Revision: 1.10
Created on June 04, 2000
! Revised on October 7, 2000
Abstract
! This document describes how to build applications|with|CoreLinux++ Standards. This is
the CoreLinux++ Development Guide. |
|
|
! Contents ||4 Developing with CoreLinux++ 4
!
! | 4.1 Using autoconf . . . . . . . . . . 4
! 1 Introduction 2 || 4.2 Macros . . . . . . . . . . . . . . . 5
|
! 2 Setting Up for CoreLinux++ builds 2 ||5 Class Library Internals 8
! 2.1 Getting Things Rolling . . . . . . 2 || 5.1 Foundation Classes . . . . . . . . 9
! 2.2 Make Environment . . . . . . . . 2 || 5.2 Inter-Process Communication . . 9
! 2.3 Setting up for CoreLinux++ Ex- | 5.2.1 Semaphore and Semaphore-
! ecution . . . . . . . . . . . . . . . 2 || Group . . . . . . . . . . . 9
! 2.4 Directory Structure . . . . . . . . 3 || 5.2.2 Threads . . . . . . . . . . 9
! 2.4.1 The Root Directory . . . 3 || 5.3 Design Patterns . . . . . . . . . . 9
! 2.4.2 The Root Include . . . . . 3 ||
! 2.4.3 The Root Source Root . . 3 | 6 Frameworks 10
! 2.4.4 Class Library Source Root 4 || 6.1 Framework Support . . . . . . . 10
! 2.4.5 CoreLinux Class Library || 6.2 Meta-class MetaType . . . . . . 10
! Source . . . . . . . . . . . 4 || 6.3 MetaType Macros . . . . . . . . 10
! 2.4.6 Additional Class Library || 6.4 Ontology . . . . . . . . . . . . . 10
! Source . . . . . . . . . . . 4 |
! 2.4.7 The Test Driver and Ex- || 6.5 MetaType Ontology . . . . . . . 10
! ample Code Root . . . . . 4 || 6.6 Common franework abstractions 11
! 2.4.8 Example application source 4 || 6.6.1 Library Load . . . . . . . 11
! 2.4.9 CoreLinux++ Documen- || 6.7 Schemas And Persistence . . . . 11
! tation for Standards, | 6.7.1 Premise . . . . . . . . . . 11
! Class Reference, Require- || 6.7.2 Overview . . . . . . . . . 11
! ments, Analysis, and Design 4 || 6.7.3 Schema Modeling . . . . . 11
! | 6.7.4 Schema Run Time . . . . 12
|
! 3 Standard Development Process 4 | 6.7.5 Current Restrictions . . . 12
Copyright notice
CoreLinux++ Copyright cO 1999, 2000 CoreLinux Consortium
! Revision 1.10 Last Modified: October 7, 2000
***************
*** 61,64 ****
--- 63,67 ----
+ This material may be distributed only subject to the terms and conditions set forth in the Open
Publication License.
***************
*** 124,127 ****
--- 127,132 ----
install-path/lib when you 'make install'.
+
+
2
^L
***************
*** 1003,1007 ****
10
^L
! REFERENCES____________________________________6.6___Common_franework_abstractions___________
--- 1008,1012 ----
10
^L
! 6___FRAMEWORKS________________________________6.6___Common_franework_abstractions___________
***************
*** 1024,1033 ****
- 6.7 Persistence
! There are many C++ applications that require the object instances to be saved and loaded for use
! across application or machine sessions.
References
--- 1029,1236 ----
+
+ 6.7 Schemas And Persistence
+
+
+ 6.7.1 Premise
+
+
+ The persistence abstraction is built on the premise that the actual storage service code, that which
+ implements concrete persist services beneath the abstraction, should be intelligent enough to take
+ guidance from domain descriptions (concepts). Said concepts define the types to be stored, in
+ addition to other information, and it is the job of the storage service to manage the data layout
+ and service execution as defined by it's implementation.
+ It is, after all, the 21st century.
+ This benefits the application developer from having to worry about the details of a particular
+ storage service, as well as having the flexibility to change persist implementations at will, or by
+ user choice.
+
+
+
+ 6.7.2 Overview
+
+
+ There are actually two (2) aspects to the CoreLinux++ Abstract Persist framework: Schemas and
+ Services. This release focuses on the newly provided Schema constructs. * Please refer to the
+ current implementation restrictions at the end of this document.
+ A Schema is an organization of concepts to model an idea. In this case, what is being modeled
+ are the types that the application will want to have made persistent. When a schema has been
+ modeled, it is then usable as a roadmap, in effect, to guide the storage implementation. For
+ example, the types may represent tables in a relational database storage service, or a file type for
+ a flat file service. It is ultimatley up to the service to decide how to "plan the trip".
+ There are two (2) workflows around Schemas and their concepts: Model and Run. Lets talk
+ turkey first:
+
+
+
+ 6.7.3 Schema Modeling
+
+
+ Schema modeling is supported through built-in services and functions of the library. All modeling
+ changes are persisted to gdbm databases, and the domain modeler need only focus on making their
+ schema correct. While there is a tremendous opportunity for adventerous open source developers
+ to build tools around this (GUI, etc.), the library contains the fundemental capabilities to Create,
+ Request, Update, and Delete Schemas or their artifacts (concepts).
+ The example test driver (clfw/src/testdrivers/exf2) shows some of the following capabilities.
+ 1. Typically, start by resolving the SchemaSponsor and creating an instance of it.
+ 2. From the Sponser, get the Catalog object instance.
+ 3. Create, Edit, Save, Close, Delete Schemas using the interface of the Catalog instance.
+
+ 11
+ ^L
+ 6___FRAMEWORKS_________________________________________6.7___Schemas_And_Persistence________
+
+
+
+
+ 4. Create Concepts and add to Schema
+ 5. Remove Concepts from Schema and delete
+
+
+
+ 6.7.4 Schema Run Time
+
+
+ Once a Schema has been modeled, it can be used by a storage service to support the input and
+ output operations of application objects.
+ 1. Like Schema modeling, the activation of persistence in an application starts with the resolving
+ and instance creation of a StoreSponser. This can be done be either using the the StoreSponser
+ class name and resolving through the Ontology interfaces.
+ For example:
+ StoreSponsorPtr aSponsor ( StoreSponsor::castDown(getInstanceOf("MySQLSponsor")) );
+ or by walking the StoreSponser MetaClass hierarchy and testing each of the children nodes
+ until you find the one you want. In latter releases we will have support for descriptive attributes
+ on MetaClasses to help reason with sponser types and capabilities.
+ Another way to load a Sponser would be to work in conjunction with plug-in support to dynami-
+ cally load types that are not part of the library compilation. Sounds like a job for the CoreLinux++
+ Library Load capability!
+ Note: In the above code example it presumes that someone has provided a MySQL persistence
+ implementation.
+ 2. From the Sponser, get the Catalog object instance.
+ 3. Create a Store (which would require identifying the Schema to be used as the roadmap).
+ 4. Fetch a Store to write and read application object instances from and to respectivley.
+
+
+
+ 6.7.5 Current Restrictions
+
+
+ Name/Value Declarations
+ While ultimately Schemas and Concepts attributes won't be limited as to the depth or types
+ supported, the current implementation assumes most attributes are of the form: Name:Value,
+ where:
+ Name is the Key data member of the Attribute and should be of type FrameworkString
+ Value is the Value data member of the Attribute and should be of type FrameworkString
+ Primary Schema Declarations
+ For schemas, the following are the recognized attribute keys:
+
+
+ Attribute Key : "Name"
+ Expected Value : Unique name for this schema
+ Example : "Franks Schema"
+ Note : This is a required attribute
+
+
+ Attribute Key : "Collection"
+ Expected Value : The collection type literal (currently "Array" or "SetCollection")
+ Note : SetCollection is safer for insuring unique name keys, although as new collection types are adde*
+ *d it is really up to the m@
+ Note : This is a required attribute
+ Attribute Key : "Location"
+ Expected Value : Qualified path where schema should be stored
+ Note : This is an optional attribute, default is ~/.clfw++/schemas/"Name"
+ 12
+ ^L
+ 6___FRAMEWORKS_________________________________________6.7___Schemas_And_Persistence________
+
+
+
+
+
+
+ Attribute Key : "GUID"
+ Expected Value : Stringified UniversalIdentifier to be used
+ Note : This is an optional attribute, default is the system will generate.
+
+
+ with the following attribute expected to be supported in later releases:
+
+
+ Attribute Key : "SchemaClass"
+ Expected Value : The Schema class type literal to be used when instantiating a new schema, this will *
+ * be stored with the Schema d@
+ Example : "FranksWickedSchemaDerivation"
+
+
+ Primary Concept Declarations
+
+
+ Attribute Key : "Name"
+ Expected Value : Unique name for this schema
+ Example : "Concept A1"
+ Note : Even though concepts can be created for other reasons, this is a required attribute if adding *
+ *to a Schema
+
+
+ Attribute Key : "Class"
+ Expected Value : Stringified UniversalIdentifier of the type that this Concept defines representation of *
+ * to the storage service.
+ Note : Even though concepts can be created for other reasons, this is a required attribute if adding *
+ *to a Schema
+
+
+ with the following attributes expected to be supported in later releases:
+
+
+ Attribute Key : "Uses"
+ Expected Value : Collection type, where the collection contains attributes that describe data types of t*
+ *his object should reuse the @
+ Attribute Key : "Data Member Name"
+ Expected Value : "Concept Name"
!
! where:
!
!
! "Data Member Name" is the name of the data member that has been
! explicitly identified in the MetaClass definition of the entity
! being stored.
!
!
! "Concept Name" is the name of another concept in the Schema
! (which one would have to presume is the same type of the Data
! Member).
!
!
! Attribute Key : "Ignore"
! Expected Value : Collection type, where the collection contains
! single string values that identify (by name) the Data Members of
! the Class that the storage management should ignore. In
! otherword don't write or expect to read from persist.
!
!
! Attribute Key : "Fence"
! Expected Value : Collection type, where the collection contains
! single string values that identify (by name) the Data Members of
! the Class that the storage manager should recognize as an indicator
!
!
!
! 13
! ^L
! REFERENCES______________________________________________________________REFERENCES__________
!
!
!
!
! that the application whats instances of this data member to be handled
! as a separate table/file/etc. according to it's (storage service)
! domain.
!
!
! Please note that these would be considered "suggestions" that the declaration of which does
! not imply that a storage service would do anything with the information.
References
***************
*** 1042,1044 ****
! 11
--- 1245,1248 ----
!
! 14
|
|
From: Frank V. C. <fr...@us...> - 2001-04-29 10:45:45
|
Update of /cvsroot/corelinux/htdocs/develop/develop
In directory usw-pr-cvs1:/tmp/cvs-serv21759/develop
Modified Files:
develop.html index.html
Log Message:
Schema Update
Index: develop.html
===================================================================
RCS file: /cvsroot/corelinux/htdocs/develop/develop/develop.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** develop.html 2000/10/07 17:16:57 1.9
--- develop.html 2001/04/29 10:45:41 1.10
***************
*** 27,31 ****
<H1 ALIGN="CENTER">CoreLinux++ Development</H1>
<P ALIGN="CENTER"><STRONG>The Corelinux Consortium</STRONG></P>
! <P ALIGN="CENTER"><STRONG>Revision: 1.9 </STRONG></P>
<P>
--- 27,31 ----
<H1 ALIGN="CENTER">CoreLinux++ Development</H1>
<P ALIGN="CENTER"><STRONG>The Corelinux Consortium</STRONG></P>
! <P ALIGN="CENTER"><STRONG>Revision: 1.10 </STRONG></P>
<P>
***************
*** 46,137 ****
<UL>
! <LI><A NAME="tex2html47"
HREF="develop.php">Introduction</A>
! <LI><A NAME="tex2html48"
HREF="develop.php#SECTION00020000000000000000">Setting Up for CoreLinux++ builds</A>
<UL>
! <LI><A NAME="tex2html49"
HREF="develop.php#SECTION00021000000000000000">Getting Things Rolling</A>
! <LI><A NAME="tex2html50"
HREF="develop.php#SECTION00022000000000000000">Make Environment</A>
! <LI><A NAME="tex2html51"
HREF="develop.php#SECTION00023000000000000000">Setting up for CoreLinux++ Execution</A>
! <LI><A NAME="tex2html52"
HREF="develop.php#SECTION00024000000000000000">Directory Structure</A>
<UL>
! <LI><A NAME="tex2html53"
HREF="develop.php#SECTION00024100000000000000">The Root Directory</A>
! <LI><A NAME="tex2html54"
HREF="develop.php#SECTION00024200000000000000">The Root Include</A>
! <LI><A NAME="tex2html55"
HREF="develop.php#SECTION00024300000000000000">The Root Source Root</A>
! <LI><A NAME="tex2html56"
HREF="develop.php#SECTION00024400000000000000">Class Library Source Root</A>
! <LI><A NAME="tex2html57"
HREF="develop.php#SECTION00024500000000000000">CoreLinux Class Library Source</A>
! <LI><A NAME="tex2html58"
HREF="develop.php#SECTION00024600000000000000">Additional Class Library Source</A>
! <LI><A NAME="tex2html59"
HREF="develop.php#SECTION00024700000000000000">The Test Driver and Example Code Root</A>
! <LI><A NAME="tex2html60"
HREF="develop.php#SECTION00024800000000000000">Example application source</A>
! <LI><A NAME="tex2html61"
HREF="develop.php#SECTION00024900000000000000">CoreLinux++ Documentation for Standards, Class Reference, Requirements, Analysis, and Design</A>
</UL>
</UL>
! <LI><A NAME="tex2html62"
HREF="develop.php#SECTION00030000000000000000">Standard Development Process</A>
! <LI><A NAME="tex2html63"
HREF="develop.php#SECTION00040000000000000000">Developing with CoreLinux++</A>
<UL>
! <LI><A NAME="tex2html64"
HREF="develop.php#SECTION00041000000000000000">Using autoconf</A>
! <LI><A NAME="tex2html65"
HREF="develop.php#SECTION00042000000000000000">Macros</A>
</UL>
! <LI><A NAME="tex2html66"
HREF="develop.php#SECTION00050000000000000000">Class Library Internals</A>
<UL>
! <LI><A NAME="tex2html67"
HREF="develop.php#SECTION00051000000000000000">Foundation Classes</A>
! <LI><A NAME="tex2html68"
HREF="develop.php#SECTION00052000000000000000">Inter-Process Communication</A>
<UL>
! <LI><A NAME="tex2html69"
HREF="develop.php#SECTION00052100000000000000">Semaphore and SemaphoreGroup</A>
! <LI><A NAME="tex2html70"
HREF="develop.php#SECTION00052200000000000000">Threads</A>
</UL>
! <LI><A NAME="tex2html71"
HREF="develop.php#SECTION00053000000000000000">Design Patterns</A>
</UL>
! <LI><A NAME="tex2html72"
HREF="develop.php#SECTION00060000000000000000">Frameworks</A>
<UL>
! <LI><A NAME="tex2html73"
HREF="develop.php#SECTION00061000000000000000">Framework Support</A>
! <LI><A NAME="tex2html74"
HREF="develop.php#SECTION00062000000000000000">Meta-class MetaType</A>
! <LI><A NAME="tex2html75"
HREF="develop.php#SECTION00063000000000000000">MetaType Macros</A>
! <LI><A NAME="tex2html76"
HREF="develop.php#SECTION00064000000000000000">Ontology</A>
! <LI><A NAME="tex2html77"
HREF="develop.php#SECTION00065000000000000000">MetaType Ontology</A>
! <LI><A NAME="tex2html78"
HREF="develop.php#SECTION00066000000000000000">Common franework abstractions</A>
<UL>
! <LI><A NAME="tex2html79"
HREF="develop.php#SECTION00066100000000000000">Library Load</A>
</UL>
! <LI><A NAME="tex2html80"
! HREF="develop.php#SECTION00067000000000000000">Persistence</A>
</UL>
! <LI><A NAME="tex2html81"
HREF="develop.php#SECTION00070000000000000000">Bibliography</A>
</UL>
<!--End of Table of Contents-->
! <P><b>Copyright notice</b><br><br><tt>CoreLinux++ Copyright (c) 1999, 2000 CoreLinux Consortium</tt><br><tt><TT>Revision 1.9 </TT>, Last Modified:
! 2000/09/05</tt><br>This material may be distributed only subject to the terms and conditions set forth in the Open Publication License.<p>
<P>
--- 46,149 ----
<UL>
! <LI><A NAME="tex2html52"
HREF="develop.php">Introduction</A>
! <LI><A NAME="tex2html53"
HREF="develop.php#SECTION00020000000000000000">Setting Up for CoreLinux++ builds</A>
<UL>
! <LI><A NAME="tex2html54"
HREF="develop.php#SECTION00021000000000000000">Getting Things Rolling</A>
! <LI><A NAME="tex2html55"
HREF="develop.php#SECTION00022000000000000000">Make Environment</A>
! <LI><A NAME="tex2html56"
HREF="develop.php#SECTION00023000000000000000">Setting up for CoreLinux++ Execution</A>
! <LI><A NAME="tex2html57"
HREF="develop.php#SECTION00024000000000000000">Directory Structure</A>
<UL>
! <LI><A NAME="tex2html58"
HREF="develop.php#SECTION00024100000000000000">The Root Directory</A>
! <LI><A NAME="tex2html59"
HREF="develop.php#SECTION00024200000000000000">The Root Include</A>
! <LI><A NAME="tex2html60"
HREF="develop.php#SECTION00024300000000000000">The Root Source Root</A>
! <LI><A NAME="tex2html61"
HREF="develop.php#SECTION00024400000000000000">Class Library Source Root</A>
! <LI><A NAME="tex2html62"
HREF="develop.php#SECTION00024500000000000000">CoreLinux Class Library Source</A>
! <LI><A NAME="tex2html63"
HREF="develop.php#SECTION00024600000000000000">Additional Class Library Source</A>
! <LI><A NAME="tex2html64"
HREF="develop.php#SECTION00024700000000000000">The Test Driver and Example Code Root</A>
! <LI><A NAME="tex2html65"
HREF="develop.php#SECTION00024800000000000000">Example application source</A>
! <LI><A NAME="tex2html66"
HREF="develop.php#SECTION00024900000000000000">CoreLinux++ Documentation for Standards, Class Reference, Requirements, Analysis, and Design</A>
</UL>
</UL>
! <LI><A NAME="tex2html67"
HREF="develop.php#SECTION00030000000000000000">Standard Development Process</A>
! <LI><A NAME="tex2html68"
HREF="develop.php#SECTION00040000000000000000">Developing with CoreLinux++</A>
<UL>
! <LI><A NAME="tex2html69"
HREF="develop.php#SECTION00041000000000000000">Using autoconf</A>
! <LI><A NAME="tex2html70"
HREF="develop.php#SECTION00042000000000000000">Macros</A>
</UL>
! <LI><A NAME="tex2html71"
HREF="develop.php#SECTION00050000000000000000">Class Library Internals</A>
<UL>
! <LI><A NAME="tex2html72"
HREF="develop.php#SECTION00051000000000000000">Foundation Classes</A>
! <LI><A NAME="tex2html73"
HREF="develop.php#SECTION00052000000000000000">Inter-Process Communication</A>
<UL>
! <LI><A NAME="tex2html74"
HREF="develop.php#SECTION00052100000000000000">Semaphore and SemaphoreGroup</A>
! <LI><A NAME="tex2html75"
HREF="develop.php#SECTION00052200000000000000">Threads</A>
</UL>
! <LI><A NAME="tex2html76"
HREF="develop.php#SECTION00053000000000000000">Design Patterns</A>
</UL>
! <LI><A NAME="tex2html77"
HREF="develop.php#SECTION00060000000000000000">Frameworks</A>
<UL>
! <LI><A NAME="tex2html78"
HREF="develop.php#SECTION00061000000000000000">Framework Support</A>
! <LI><A NAME="tex2html79"
HREF="develop.php#SECTION00062000000000000000">Meta-class MetaType</A>
! <LI><A NAME="tex2html80"
HREF="develop.php#SECTION00063000000000000000">MetaType Macros</A>
! <LI><A NAME="tex2html81"
HREF="develop.php#SECTION00064000000000000000">Ontology</A>
! <LI><A NAME="tex2html82"
HREF="develop.php#SECTION00065000000000000000">MetaType Ontology</A>
! <LI><A NAME="tex2html83"
HREF="develop.php#SECTION00066000000000000000">Common franework abstractions</A>
<UL>
! <LI><A NAME="tex2html84"
HREF="develop.php#SECTION00066100000000000000">Library Load</A>
</UL>
! <LI><A NAME="tex2html85"
! HREF="develop.php#SECTION00067000000000000000">Schemas And Persistence</A>
! <UL>
! <LI><A NAME="tex2html86"
! HREF="develop.php#SECTION00067100000000000000">Premise</A>
! <LI><A NAME="tex2html87"
! HREF="develop.php#SECTION00067200000000000000">Overview</A>
! <LI><A NAME="tex2html88"
! HREF="develop.php#SECTION00067300000000000000">Schema Modeling</A>
! <LI><A NAME="tex2html89"
! HREF="develop.php#SECTION00067400000000000000">Schema Run Time</A>
! <LI><A NAME="tex2html90"
! HREF="develop.php#SECTION00067500000000000000">Current Restrictions</A>
</UL>
! </UL>
! <LI><A NAME="tex2html91"
HREF="develop.php#SECTION00070000000000000000">Bibliography</A>
</UL>
<!--End of Table of Contents-->
! <P><b>Copyright notice</b><br><br><tt>CoreLinux++ Copyright (c) 1999, 2000 CoreLinux Consortium</tt><br><tt><TT>Revision 1.10 </TT>, Last Modified:
! 2000/10/07</tt><br>This material may be distributed only subject to the terms and conditions set forth in the Open Publication License.<p>
<P>
***************
*** 841,850 ****
<H2><A NAME="SECTION00067000000000000000"></A>
! <A NAME="sec:Persist"></A><BR>
! Persistence
</H2>
<P>
! There are many C++ applications that require the object instances to be saved and loaded for use across application or machine sessions.
<P>
--- 853,1069 ----
<H2><A NAME="SECTION00067000000000000000"></A>
! <A NAME="sec:SchmPersist"></A><BR>
! Schemas And Persistence
</H2>
+ <P>
+
+ <H3><A NAME="SECTION00067100000000000000"></A>
+ <A NAME="sec:SchmPersistPrem"></A><BR>
+ Premise
+ </H3>
+
+ <P>
+ The persistence abstraction is built on the premise that the actual storage service code, that which implements concrete persist services beneath the abstraction, should be intelligent enough to take guidance from domain descriptions (concepts). Said concepts define the types to be stored, in addition to other information, and it is the job of the storage service to manage the data layout and service execution as defined by it's implementation.
+
+ <P>
+ It is, after all, the 21st century.
+
+ <P>
+ This benefits the application developer from having to worry about the details of a particular storage service, as well as having the flexibility to change persist implementations at will, or by user choice.
+
+ <H3><A NAME="SECTION00067200000000000000"></A>
+ <A NAME="sec:SchmPersistOvr"></A><BR>
+ Overview
+ </H3>
+
+ <P>
+ There are actually two (2) aspects to the CoreLinux++ Abstract Persist framework: Schemas and Services. This release focuses on the newly provided Schema constructs. * Please refer to the current implementation restrictions at the end of this document.
+
+ <P>
+ A Schema is an organization of concepts to model an idea. In this case, what is being modeled are the types that the application will want to have made persistent. When a schema has been modeled, it is then usable as a roadmap, in effect, to guide the storage implementation. For example, the types may represent tables in a relational database storage service, or a file type for a flat file service. It is ultimatley up to the service to decide how to "plan the trip".
+
+ <P>
+ There are two (2) workflows around Schemas and their concepts: Model and Run. Lets talk turkey first:
+
+ <P>
+
+ <H3><A NAME="SECTION00067300000000000000"></A>
+ <A NAME="sec:SchmPersistMod"></A><BR>
+ Schema Modeling
+ </H3>
+
+ <P>
+ Schema modeling is supported through built-in services and functions of the library. All modeling changes are persisted to gdbm databases, and the domain modeler need only focus on making their schema correct. While there is a tremendous opportunity for adventerous open source developers to build tools around this (GUI, etc.), the library contains the fundemental capabilities to Create, Request, Update, and Delete Schemas or their artifacts (concepts).
+
+ <P>
+ The example test driver (clfw/src/testdrivers/exf2) shows some of the following capabilities.
+
+ <P>
+ 1. Typically, start by resolving the SchemaSponsor and creating an
+ instance of it.
+
+ <P>
+ 2. From the Sponser, get the Catalog object instance.
+
+ <P>
+ 3. Create, Edit, Save, Close, Delete Schemas using the interface
+ of the Catalog instance.
+
+ <P>
+ 4. Create Concepts and add to Schema
+
+ <P>
+ 5. Remove Concepts from Schema and delete
+
+ <P>
+
+ <H3><A NAME="SECTION00067400000000000000"></A>
+ <A NAME="sec:SchmPersistRun"></A><BR>
+ Schema Run Time
+ </H3>
+
+ <P>
+ Once a Schema has been modeled, it can be used by a storage service to support the input and output operations of application objects.
+
+ <P>
+ 1. Like Schema modeling, the activation of persistence in an application starts with the resolving and instance creation of a StoreSponser. This can be done be either using the the StoreSponser class name and resolving through the Ontology interfaces.
+
+ <P>
+ For example:
+
+ <P>
+ StoreSponsorPtr aSponsor
+ (
+ StoreSponsor::castDown(getInstanceOf("MySQLSponsor"))
+ );
+
+ <P>
+ or by walking the StoreSponser MetaClass hierarchy and testing each of the children nodes until you find the one you want. In latter releases we will have support for descriptive attributes on MetaClasses to help reason with sponser types and capabilities.
+
+ <P>
+ Another way to load a Sponser would be to work in conjunction with plug-in support to dynamically load types that are not part of the library compilation. Sounds like a job for the CoreLinux++ Library Load
+ capability!
+
+ <P>
+ Note: In the above code example it presumes that someone has provided a MySQL persistence implementation.
+
+ <P>
+ 2. From the Sponser, get the Catalog object instance.
+
+ <P>
+ 3. Create a Store (which would require identifying the Schema to be used
+ as the roadmap).
+
+ <P>
+ 4. Fetch a Store to write and read application object instances from and
+ to respectivley.
+
+ <P>
+
+ <H3><A NAME="SECTION00067500000000000000"></A>
+ <A NAME="sec:SchmPersistRest"></A><BR>
+ Current Restrictions
+ </H3>
+
+ <P>
+ Name/Value Declarations
+
+ <P>
+ While ultimately Schemas and Concepts attributes won't be limited as to the
+ depth or types supported, the current implementation assumes most attributes
+ are of the form: Name:Value, where:
+
+ <P>
+ Name is the Key data member of the Attribute and should be of type
+ FrameworkString
+
+ <P>
+ Value is the Value data member of the Attribute and should be of type
+ FrameworkString
+
+ <P>
+ Primary Schema Declarations
+
+ <P>
+ For schemas, the following are the recognized attribute keys:
+ <PRE>
+ Attribute Key : "Name"
+ Expected Value : Unique name for this schema
+ Example : "Franks Schema"
+ Note : This is a required attribute
+
+ Attribute Key : "Collection"
+ Expected Value : The collection type literal (currently "Array" or "SetCollection")
+ Note : SetCollection is safer for insuring unique name keys, although as new collection types are added it is really up to the modeling support.
+ Note : This is a required attribute
+
+ Attribute Key : "Location"
+ Expected Value : Qualified path where schema should be stored
+ Note : This is an optional attribute, default is ~/.clfw++/schemas/"Name"
+
+ Attribute Key : "GUID"
+ Expected Value : Stringified UniversalIdentifier to be used
+ Note : This is an optional attribute, default is the system will generate.
+ </PRE>
+
+ <P>
+ with the following attribute expected to be supported in later releases:
+
+ <P>
+ <PRE>
+ Attribute Key : "SchemaClass"
+ Expected Value : The Schema class type literal to be used when instantiating a new schema, this will be stored with the Schema descriptor and will be used when reloading in new sessions.
+ Example : "FranksWickedSchemaDerivation"
+ </PRE>
+
+ <P>
+ Primary Concept Declarations
+ <PRE>
+ Attribute Key : "Name"
+ Expected Value : Unique name for this schema
+ Example : "Concept A1"
+ Note : Even though concepts can be created for other reasons, this is a required attribute if adding to a Schema
+
+ Attribute Key : "Class"
+ Expected Value : Stringified UniversalIdentifier of the type that this Concept defines representation of to the storage service.
+ Note : Even though concepts can be created for other reasons, this is a required attribute if adding to a Schema
+ </PRE>
+
+ <P>
+ with the following attributes expected to be supported in later releases:
+ <PRE>
+ Attribute Key : "Uses"
+ Expected Value : Collection type, where the collection contains attributes that describe data types of this object should reuse the storage managed by another concepts definition, therefore the nested attributes are:
+ Attribute Key : "Data Member Name"
+ Expected Value : "Concept Name"
+
+ where:
+
+ "Data Member Name" is the name of the data member that has been
+ explicitly identified in the MetaClass definition of the entity
+ being stored.
+
+ "Concept Name" is the name of another concept in the Schema
+ (which one would have to presume is the same type of the Data
+ Member).
+
+ Attribute Key : "Ignore"
+ Expected Value : Collection type, where the collection contains
+ single string values that identify (by name) the Data Members of
+ the Class that the storage management should ignore. In
+ otherword don't write or expect to read from persist.
+
+ Attribute Key : "Fence"
+ Expected Value : Collection type, where the collection contains
+ single string values that identify (by name) the Data Members of
+ the Class that the storage manager should recognize as an indicator
+ that the application whats instances of this data member to be handled
+ as a separate table/file/etc. according to it's (storage service)
+ domain.
+ </PRE>
+
<P>
! Please note that these would be considered "suggestions" that the declaration of which does not imply that a storage service would do anything with the information.
<P>
***************
*** 885,889 ****
<ADDRESS>
Frank V. Castellucci
! 2000-10-07
</ADDRESS>
</BODY>
--- 1104,1108 ----
<ADDRESS>
Frank V. Castellucci
! 2001-04-29
</ADDRESS>
</BODY>
Index: index.html
===================================================================
RCS file: /cvsroot/corelinux/htdocs/develop/develop/index.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** index.html 2000/10/07 17:16:57 1.9
--- index.html 2001/04/29 10:45:41 1.10
***************
*** 27,31 ****
<H1 ALIGN="CENTER">CoreLinux++ Development</H1>
<P ALIGN="CENTER"><STRONG>The Corelinux Consortium</STRONG></P>
! <P ALIGN="CENTER"><STRONG>Revision: 1.9 </STRONG></P>
<P>
--- 27,31 ----
<H1 ALIGN="CENTER">CoreLinux++ Development</H1>
<P ALIGN="CENTER"><STRONG>The Corelinux Consortium</STRONG></P>
! <P ALIGN="CENTER"><STRONG>Revision: 1.10 </STRONG></P>
<P>
***************
*** 46,137 ****
<UL>
! <LI><A NAME="tex2html47"
HREF="develop.html">Introduction</A>
! <LI><A NAME="tex2html48"
HREF="develop.html#SECTION00020000000000000000">Setting Up for CoreLinux++ builds</A>
<UL>
! <LI><A NAME="tex2html49"
HREF="develop.html#SECTION00021000000000000000">Getting Things Rolling</A>
! <LI><A NAME="tex2html50"
HREF="develop.html#SECTION00022000000000000000">Make Environment</A>
! <LI><A NAME="tex2html51"
HREF="develop.html#SECTION00023000000000000000">Setting up for CoreLinux++ Execution</A>
! <LI><A NAME="tex2html52"
HREF="develop.html#SECTION00024000000000000000">Directory Structure</A>
<UL>
! <LI><A NAME="tex2html53"
HREF="develop.html#SECTION00024100000000000000">The Root Directory</A>
! <LI><A NAME="tex2html54"
HREF="develop.html#SECTION00024200000000000000">The Root Include</A>
! <LI><A NAME="tex2html55"
HREF="develop.html#SECTION00024300000000000000">The Root Source Root</A>
! <LI><A NAME="tex2html56"
HREF="develop.html#SECTION00024400000000000000">Class Library Source Root</A>
! <LI><A NAME="tex2html57"
HREF="develop.html#SECTION00024500000000000000">CoreLinux Class Library Source</A>
! <LI><A NAME="tex2html58"
HREF="develop.html#SECTION00024600000000000000">Additional Class Library Source</A>
! <LI><A NAME="tex2html59"
HREF="develop.html#SECTION00024700000000000000">The Test Driver and Example Code Root</A>
! <LI><A NAME="tex2html60"
HREF="develop.html#SECTION00024800000000000000">Example application source</A>
! <LI><A NAME="tex2html61"
HREF="develop.html#SECTION00024900000000000000">CoreLinux++ Documentation for Standards, Class Reference, Requirements, Analysis, and Design</A>
</UL>
</UL>
! <LI><A NAME="tex2html62"
HREF="develop.html#SECTION00030000000000000000">Standard Development Process</A>
! <LI><A NAME="tex2html63"
HREF="develop.html#SECTION00040000000000000000">Developing with CoreLinux++</A>
<UL>
! <LI><A NAME="tex2html64"
HREF="develop.html#SECTION00041000000000000000">Using autoconf</A>
! <LI><A NAME="tex2html65"
HREF="develop.html#SECTION00042000000000000000">Macros</A>
</UL>
! <LI><A NAME="tex2html66"
HREF="develop.html#SECTION00050000000000000000">Class Library Internals</A>
<UL>
! <LI><A NAME="tex2html67"
HREF="develop.html#SECTION00051000000000000000">Foundation Classes</A>
! <LI><A NAME="tex2html68"
HREF="develop.html#SECTION00052000000000000000">Inter-Process Communication</A>
<UL>
! <LI><A NAME="tex2html69"
HREF="develop.html#SECTION00052100000000000000">Semaphore and SemaphoreGroup</A>
! <LI><A NAME="tex2html70"
HREF="develop.html#SECTION00052200000000000000">Threads</A>
</UL>
! <LI><A NAME="tex2html71"
HREF="develop.html#SECTION00053000000000000000">Design Patterns</A>
</UL>
! <LI><A NAME="tex2html72"
HREF="develop.html#SECTION00060000000000000000">Frameworks</A>
<UL>
! <LI><A NAME="tex2html73"
HREF="develop.html#SECTION00061000000000000000">Framework Support</A>
! <LI><A NAME="tex2html74"
HREF="develop.html#SECTION00062000000000000000">Meta-class MetaType</A>
! <LI><A NAME="tex2html75"
HREF="develop.html#SECTION00063000000000000000">MetaType Macros</A>
! <LI><A NAME="tex2html76"
HREF="develop.html#SECTION00064000000000000000">Ontology</A>
! <LI><A NAME="tex2html77"
HREF="develop.html#SECTION00065000000000000000">MetaType Ontology</A>
! <LI><A NAME="tex2html78"
HREF="develop.html#SECTION00066000000000000000">Common franework abstractions</A>
<UL>
! <LI><A NAME="tex2html79"
HREF="develop.html#SECTION00066100000000000000">Library Load</A>
</UL>
! <LI><A NAME="tex2html80"
! HREF="develop.html#SECTION00067000000000000000">Persistence</A>
</UL>
! <LI><A NAME="tex2html81"
HREF="develop.html#SECTION00070000000000000000">Bibliography</A>
</UL>
<!--End of Table of Contents-->
! <P><b>Copyright notice</b><br><br><tt>CoreLinux++ Copyright (c) 1999, 2000 CoreLinux Consortium</tt><br><tt><TT>Revision 1.9 </TT>, Last Modified:
! 2000/09/05</tt><br>This material may be distributed only subject to the terms and conditions set forth in the Open Publication License.<p>
<P>
--- 46,149 ----
<UL>
! <LI><A NAME="tex2html52"
HREF="develop.html">Introduction</A>
! <LI><A NAME="tex2html53"
HREF="develop.html#SECTION00020000000000000000">Setting Up for CoreLinux++ builds</A>
<UL>
! <LI><A NAME="tex2html54"
HREF="develop.html#SECTION00021000000000000000">Getting Things Rolling</A>
! <LI><A NAME="tex2html55"
HREF="develop.html#SECTION00022000000000000000">Make Environment</A>
! <LI><A NAME="tex2html56"
HREF="develop.html#SECTION00023000000000000000">Setting up for CoreLinux++ Execution</A>
! <LI><A NAME="tex2html57"
HREF="develop.html#SECTION00024000000000000000">Directory Structure</A>
<UL>
! <LI><A NAME="tex2html58"
HREF="develop.html#SECTION00024100000000000000">The Root Directory</A>
! <LI><A NAME="tex2html59"
HREF="develop.html#SECTION00024200000000000000">The Root Include</A>
! <LI><A NAME="tex2html60"
HREF="develop.html#SECTION00024300000000000000">The Root Source Root</A>
! <LI><A NAME="tex2html61"
HREF="develop.html#SECTION00024400000000000000">Class Library Source Root</A>
! <LI><A NAME="tex2html62"
HREF="develop.html#SECTION00024500000000000000">CoreLinux Class Library Source</A>
! <LI><A NAME="tex2html63"
HREF="develop.html#SECTION00024600000000000000">Additional Class Library Source</A>
! <LI><A NAME="tex2html64"
HREF="develop.html#SECTION00024700000000000000">The Test Driver and Example Code Root</A>
! <LI><A NAME="tex2html65"
HREF="develop.html#SECTION00024800000000000000">Example application source</A>
! <LI><A NAME="tex2html66"
HREF="develop.html#SECTION00024900000000000000">CoreLinux++ Documentation for Standards, Class Reference, Requirements, Analysis, and Design</A>
</UL>
</UL>
! <LI><A NAME="tex2html67"
HREF="develop.html#SECTION00030000000000000000">Standard Development Process</A>
! <LI><A NAME="tex2html68"
HREF="develop.html#SECTION00040000000000000000">Developing with CoreLinux++</A>
<UL>
! <LI><A NAME="tex2html69"
HREF="develop.html#SECTION00041000000000000000">Using autoconf</A>
! <LI><A NAME="tex2html70"
HREF="develop.html#SECTION00042000000000000000">Macros</A>
</UL>
! <LI><A NAME="tex2html71"
HREF="develop.html#SECTION00050000000000000000">Class Library Internals</A>
<UL>
! <LI><A NAME="tex2html72"
HREF="develop.html#SECTION00051000000000000000">Foundation Classes</A>
! <LI><A NAME="tex2html73"
HREF="develop.html#SECTION00052000000000000000">Inter-Process Communication</A>
<UL>
! <LI><A NAME="tex2html74"
HREF="develop.html#SECTION00052100000000000000">Semaphore and SemaphoreGroup</A>
! <LI><A NAME="tex2html75"
HREF="develop.html#SECTION00052200000000000000">Threads</A>
</UL>
! <LI><A NAME="tex2html76"
HREF="develop.html#SECTION00053000000000000000">Design Patterns</A>
</UL>
! <LI><A NAME="tex2html77"
HREF="develop.html#SECTION00060000000000000000">Frameworks</A>
<UL>
! <LI><A NAME="tex2html78"
HREF="develop.html#SECTION00061000000000000000">Framework Support</A>
! <LI><A NAME="tex2html79"
HREF="develop.html#SECTION00062000000000000000">Meta-class MetaType</A>
! <LI><A NAME="tex2html80"
HREF="develop.html#SECTION00063000000000000000">MetaType Macros</A>
! <LI><A NAME="tex2html81"
HREF="develop.html#SECTION00064000000000000000">Ontology</A>
! <LI><A NAME="tex2html82"
HREF="develop.html#SECTION00065000000000000000">MetaType Ontology</A>
! <LI><A NAME="tex2html83"
HREF="develop.html#SECTION00066000000000000000">Common franework abstractions</A>
<UL>
! <LI><A NAME="tex2html84"
HREF="develop.html#SECTION00066100000000000000">Library Load</A>
</UL>
! <LI><A NAME="tex2html85"
! HREF="develop.html#SECTION00067000000000000000">Schemas And Persistence</A>
! <UL>
! <LI><A NAME="tex2html86"
! HREF="develop.html#SECTION00067100000000000000">Premise</A>
! <LI><A NAME="tex2html87"
! HREF="develop.html#SECTION00067200000000000000">Overview</A>
! <LI><A NAME="tex2html88"
! HREF="develop.html#SECTION00067300000000000000">Schema Modeling</A>
! <LI><A NAME="tex2html89"
! HREF="develop.html#SECTION00067400000000000000">Schema Run Time</A>
! <LI><A NAME="tex2html90"
! HREF="develop.html#SECTION00067500000000000000">Current Restrictions</A>
</UL>
! </UL>
! <LI><A NAME="tex2html91"
HREF="develop.html#SECTION00070000000000000000">Bibliography</A>
</UL>
<!--End of Table of Contents-->
! <P><b>Copyright notice</b><br><br><tt>CoreLinux++ Copyright (c) 1999, 2000 CoreLinux Consortium</tt><br><tt><TT>Revision 1.10 </TT>, Last Modified:
! 2000/10/07</tt><br>This material may be distributed only subject to the terms and conditions set forth in the Open Publication License.<p>
<P>
***************
*** 841,850 ****
<H2><A NAME="SECTION00067000000000000000"></A>
! <A NAME="sec:Persist"></A><BR>
! Persistence
</H2>
<P>
! There are many C++ applications that require the object instances to be saved and loaded for use across application or machine sessions.
<P>
--- 853,1069 ----
<H2><A NAME="SECTION00067000000000000000"></A>
! <A NAME="sec:SchmPersist"></A><BR>
! Schemas And Persistence
</H2>
+ <P>
+
+ <H3><A NAME="SECTION00067100000000000000"></A>
+ <A NAME="sec:SchmPersistPrem"></A><BR>
+ Premise
+ </H3>
+
+ <P>
+ The persistence abstraction is built on the premise that the actual storage service code, that which implements concrete persist services beneath the abstraction, should be intelligent enough to take guidance from domain descriptions (concepts). Said concepts define the types to be stored, in addition to other information, and it is the job of the storage service to manage the data layout and service execution as defined by it's implementation.
+
+ <P>
+ It is, after all, the 21st century.
+
+ <P>
+ This benefits the application developer from having to worry about the details of a particular storage service, as well as having the flexibility to change persist implementations at will, or by user choice.
+
+ <H3><A NAME="SECTION00067200000000000000"></A>
+ <A NAME="sec:SchmPersistOvr"></A><BR>
+ Overview
+ </H3>
+
+ <P>
+ There are actually two (2) aspects to the CoreLinux++ Abstract Persist framework: Schemas and Services. This release focuses on the newly provided Schema constructs. * Please refer to the current implementation restrictions at the end of this document.
+
+ <P>
+ A Schema is an organization of concepts to model an idea. In this case, what is being modeled are the types that the application will want to have made persistent. When a schema has been modeled, it is then usable as a roadmap, in effect, to guide the storage implementation. For example, the types may represent tables in a relational database storage service, or a file type for a flat file service. It is ultimatley up to the service to decide how to "plan the trip".
+
+ <P>
+ There are two (2) workflows around Schemas and their concepts: Model and Run. Lets talk turkey first:
+
+ <P>
+
+ <H3><A NAME="SECTION00067300000000000000"></A>
+ <A NAME="sec:SchmPersistMod"></A><BR>
+ Schema Modeling
+ </H3>
+
+ <P>
+ Schema modeling is supported through built-in services and functions of the library. All modeling changes are persisted to gdbm databases, and the domain modeler need only focus on making their schema correct. While there is a tremendous opportunity for adventerous open source developers to build tools around this (GUI, etc.), the library contains the fundemental capabilities to Create, Request, Update, and Delete Schemas or their artifacts (concepts).
+
+ <P>
+ The example test driver (clfw/src/testdrivers/exf2) shows some of the following capabilities.
+
+ <P>
+ 1. Typically, start by resolving the SchemaSponsor and creating an
+ instance of it.
+
+ <P>
+ 2. From the Sponser, get the Catalog object instance.
+
+ <P>
+ 3. Create, Edit, Save, Close, Delete Schemas using the interface
+ of the Catalog instance.
+
+ <P>
+ 4. Create Concepts and add to Schema
+
+ <P>
+ 5. Remove Concepts from Schema and delete
+
+ <P>
+
+ <H3><A NAME="SECTION00067400000000000000"></A>
+ <A NAME="sec:SchmPersistRun"></A><BR>
+ Schema Run Time
+ </H3>
+
+ <P>
+ Once a Schema has been modeled, it can be used by a storage service to support the input and output operations of application objects.
+
+ <P>
+ 1. Like Schema modeling, the activation of persistence in an application starts with the resolving and instance creation of a StoreSponser. This can be done be either using the the StoreSponser class name and resolving through the Ontology interfaces.
+
+ <P>
+ For example:
+
+ <P>
+ StoreSponsorPtr aSponsor
+ (
+ StoreSponsor::castDown(getInstanceOf("MySQLSponsor"))
+ );
+
+ <P>
+ or by walking the StoreSponser MetaClass hierarchy and testing each of the children nodes until you find the one you want. In latter releases we will have support for descriptive attributes on MetaClasses to help reason with sponser types and capabilities.
+
+ <P>
+ Another way to load a Sponser would be to work in conjunction with plug-in support to dynamically load types that are not part of the library compilation. Sounds like a job for the CoreLinux++ Library Load
+ capability!
+
+ <P>
+ Note: In the above code example it presumes that someone has provided a MySQL persistence implementation.
+
+ <P>
+ 2. From the Sponser, get the Catalog object instance.
+
+ <P>
+ 3. Create a Store (which would require identifying the Schema to be used
+ as the roadmap).
+
+ <P>
+ 4. Fetch a Store to write and read application object instances from and
+ to respectivley.
+
+ <P>
+
+ <H3><A NAME="SECTION00067500000000000000"></A>
+ <A NAME="sec:SchmPersistRest"></A><BR>
+ Current Restrictions
+ </H3>
+
+ <P>
+ Name/Value Declarations
+
+ <P>
+ While ultimately Schemas and Concepts attributes won't be limited as to the
+ depth or types supported, the current implementation assumes most attributes
+ are of the form: Name:Value, where:
+
+ <P>
+ Name is the Key data member of the Attribute and should be of type
+ FrameworkString
+
+ <P>
+ Value is the Value data member of the Attribute and should be of type
+ FrameworkString
+
+ <P>
+ Primary Schema Declarations
+
+ <P>
+ For schemas, the following are the recognized attribute keys:
+ <PRE>
+ Attribute Key : "Name"
+ Expected Value : Unique name for this schema
+ Example : "Franks Schema"
+ Note : This is a required attribute
+
+ Attribute Key : "Collection"
+ Expected Value : The collection type literal (currently "Array" or "SetCollection")
+ Note : SetCollection is safer for insuring unique name keys, although as new collection types are added it is really up to the modeling support.
+ Note : This is a required attribute
+
+ Attribute Key : "Location"
+ Expected Value : Qualified path where schema should be stored
+ Note : This is an optional attribute, default is ~/.clfw++/schemas/"Name"
+
+ Attribute Key : "GUID"
+ Expected Value : Stringified UniversalIdentifier to be used
+ Note : This is an optional attribute, default is the system will generate.
+ </PRE>
+
+ <P>
+ with the following attribute expected to be supported in later releases:
+
+ <P>
+ <PRE>
+ Attribute Key : "SchemaClass"
+ Expected Value : The Schema class type literal to be used when instantiating a new schema, this will be stored with the Schema descriptor and will be used when reloading in new sessions.
+ Example : "FranksWickedSchemaDerivation"
+ </PRE>
+
+ <P>
+ Primary Concept Declarations
+ <PRE>
+ Attribute Key : "Name"
+ Expected Value : Unique name for this schema
+ Example : "Concept A1"
+ Note : Even though concepts can be created for other reasons, this is a required attribute if adding to a Schema
+
+ Attribute Key : "Class"
+ Expected Value : Stringified UniversalIdentifier of the type that this Concept defines representation of to the storage service.
+ Note : Even though concepts can be created for other reasons, this is a required attribute if adding to a Schema
+ </PRE>
+
+ <P>
+ with the following attributes expected to be supported in later releases:
+ <PRE>
+ Attribute Key : "Uses"
+ Expected Value : Collection type, where the collection contains attributes that describe data types of this object should reuse the storage managed by another concepts definition, therefore the nested attributes are:
+ Attribute Key : "Data Member Name"
+ Expected Value : "Concept Name"
+
+ where:
+
+ "Data Member Name" is the name of the data member that has been
+ explicitly identified in the MetaClass definition of the entity
+ being stored.
+
+ "Concept Name" is the name of another concept in the Schema
+ (which one would have to presume is the same type of the Data
+ Member).
+
+ Attribute Key : "Ignore"
+ Expected Value : Collection type, where the collection contains
+ single string values that identify (by name) the Data Members of
+ the Class that the storage management should ignore. In
+ otherword don't write or expect to read from persist.
+
+ Attribute Key : "Fence"
+ Expected Value : Collection type, where the collection contains
+ single string values that identify (by name) the Data Members of
+ the Class that the storage manager should recognize as an indicator
+ that the application whats instances of this data member to be handled
+ as a separate table/file/etc. according to it's (storage service)
+ domain.
+ </PRE>
+
<P>
! Please note that these would be considered "suggestions" that the declaration of which does not imply that a storage service would do anything with the information.
<P>
***************
*** 885,889 ****
<ADDRESS>
Frank V. Castellucci
! 2000-10-07
</ADDRESS>
</BODY>
--- 1104,1108 ----
<ADDRESS>
Frank V. Castellucci
! 2001-04-29
</ADDRESS>
</BODY>
|
|
From: Frank V. C. <fr...@us...> - 2001-04-28 12:40:50
|
Update of /cvsroot/corelinux/clfw In directory usw-pr-cvs1:/tmp/cvs-serv9011 Added Files: Schema.txt Log Message: Draft ***** Error reading new file: [Errno 2] No such file or directory: 'Schema.txt' |
|
From: Frank V. C. <fr...@us...> - 2001-04-28 12:19:56
|
Update of /cvsroot/corelinux/htdocs
In directory usw-pr-cvs1:/tmp/cvs-serv6002
Modified Files:
news.php download.php
Log Message:
Release clfw++ 0.2.7
Index: news.php
===================================================================
RCS file: /cvsroot/corelinux/htdocs/news.php,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -r1.35 -r1.36
*** news.php 2001/04/15 11:18:00 1.35
--- news.php 2001/04/28 12:19:53 1.36
***************
*** 41,44 ****
--- 41,50 ----
<?
+ add_breaking_news("04/28/2001",
+ "libclfw++ 0.2.7 released!",
+ "New Library Release",
+ "rel-0-2-7",
+ "Enablement of abstract persistence support and independent Schema modeling");
+
add_breaking_news("04/15/2001",
"CoreLinux++ 0.4.32 released!",
***************
*** 256,263 ****
echo "<table compact width=100% border=0>\n";
add_small_news("04/15/01","rel-0-4-32","libcorelinux++ 0.4.32");
add_small_news("04/14/01","rel-0-4-31","libcorelinux++ 0.4.31");
add_small_news("11/24","rel-0-1-0","libclfll++ 0.1.0");
- add_small_news("11/24","rel-0-2-6","libclfw++ 0.2.6");
echo "</table>";
}
--- 262,269 ----
echo "<table compact width=100% border=0>\n";
+ add_small_news("04/28/01","rel-0-2-7","libclfw++ 0.2.7");
add_small_news("04/15/01","rel-0-4-32","libcorelinux++ 0.4.32");
add_small_news("04/14/01","rel-0-4-31","libcorelinux++ 0.4.31");
add_small_news("11/24","rel-0-1-0","libclfll++ 0.1.0");
echo "</table>";
}
Index: download.php
===================================================================
RCS file: /cvsroot/corelinux/htdocs/download.php,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -r1.28 -r1.29
*** download.php 2001/04/15 11:18:00 1.28
--- download.php 2001/04/28 12:19:53 1.29
***************
*** 8,12 ****
$cl_release_rpm=1;
$cl_release_deb=1;
! $clfw_release="0.2.6";
$clfwdeb_release="0.2.6";
$clfw_release_rpm=1;
--- 8,12 ----
$cl_release_rpm=1;
$cl_release_deb=1;
! $clfw_release="0.2.7";
$clfwdeb_release="0.2.6";
$clfw_release_rpm=1;
|
|
From: Frank V. C. <fr...@us...> - 2001-04-28 11:06:44
|
Update of /cvsroot/corelinux/corelinux In directory usw-pr-cvs1:/tmp/cvs-serv28061 Modified Files: configure.in Log Message: Next release 0.4.33 Index: configure.in =================================================================== RCS file: /cvsroot/corelinux/corelinux/configure.in,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** configure.in 2001/04/15 01:10:41 1.30 --- configure.in 2001/04/28 11:06:38 1.31 *************** *** 10,14 **** CORELINUX_MAJOR_VERSION=0 CORELINUX_MINOR_VERSION=4 ! CORELINUX_MICRO_VERSION=32 dnl --- 10,14 ---- CORELINUX_MAJOR_VERSION=0 CORELINUX_MINOR_VERSION=4 ! CORELINUX_MICRO_VERSION=33 dnl |
|
From: Christophe Prud'h. <pru...@us...> - 2001-04-26 18:21:20
|
Update of /cvsroot/corelinux/corelinux/debian
In directory usw-pr-cvs1:/tmp/cvs-serv16244/debian
Modified Files:
changelog control libcorelinux.files postinst rules
Log Message:
update for 0.4.32
Index: changelog
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/changelog,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** changelog 2001/02/15 16:39:34 1.8
--- changelog 2001/04/26 18:21:17 1.9
***************
*** 1,2 ****
--- 1,21 ----
+ libcorelinux (0.4.32-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Christophe Prud'homme <pru...@mi...> Thu, 26 Apr 2001 14:20:33 -0400
+
+ libcorelinux (0.4.30-5) unstable; urgency=low
+
+ * fix the doxygen build dependency.
+
+ -- Christophe Prud'homme <pru...@mi...> Sun, 25 Mar 2001 19:29:20 -0500
+
+ libcorelinux (0.4.30-4) unstable; urgency=low
+
+ * removed debug packages
+ * fixes all lintian error/warnings
+
+ -- Christophe Prud'homme <pru...@mi...> Sun, 25 Mar 2001 14:21:44 -0500
+
libcorelinux (0.4.30-3) unstable; urgency=low
Index: control
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/control,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** control 2000/08/31 22:54:51 1.4
--- control 2001/04/26 18:21:17 1.5
***************
*** 1,8 ****
Source: libcorelinux
! Build-Depends: g++, automake, debhelper
Section: libs
Priority: optional
! Maintainer: Christophe Prud'homme <pru...@us...>
! Standards-Version: 3.1.1
Package: libcorelinux
--- 1,8 ----
Source: libcorelinux
! Build-Depends: g++, automake, debhelper, libtool, doxygen
Section: libs
Priority: optional
! Maintainer: Christophe Prud'homme <pru...@mi...>
! Standards-Version: 3.5.0
Package: libcorelinux
***************
*** 36,59 ****
check http://corelinux.sourceforge.net
- Package: libcorelinux-dbg
- Section: devel
- Architecture: any
- Section: libs
- Depends: libcorelinux-dev, libc6-dev
- Suggests: libcorelinux-doc, libcorelinux-examples
- Description: OOA and OOD for Linux.
- OOA and OOD for Linux development kit.
- .
- This package provides the static library for debugging
- purpose.
- .
- OOA: Object Oriented Analysis
- OOD: Object Oriented Design
- check http://corelinux.sourceforge.net
-
Package: libcorelinux-doc
Section: devel
Architecture: all
- Depends: libcorelinux-dev
Description: OOA and OOD for Linux.
OOA and OOD for Linux: reference manual.
--- 36,42 ----
Index: libcorelinux.files
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/libcorelinux.files,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** libcorelinux.files 2000/06/21 01:33:12 1.1.1.1
--- libcorelinux.files 2001/04/26 18:21:17 1.2
***************
*** 1 ****
! usr/lib/*.so.*
--- 1 ----
! usr/lib/lib*.so*
Index: postinst
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/postinst,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** postinst 2000/07/27 07:18:28 1.2
--- postinst 2001/04/26 18:21:17 1.3
***************
*** 1,13 ****
! #!/bin/sh
set -e
- # Automatically added by dh_installdocs
- if [ "$1" = "configure" ]; then
- if [ -d /usr/doc -a ! -e /usr/doc/libcorelinux -a -d /usr/share/doc/libcorelinux ]; then
- ln -sf ../share/doc/libcorelinux /usr/doc/libcorelinux
- fi
-
- # call ldconfig only if arg is configure
- ldconfig
- fi
- # End automatically added section
--- 1,31 ----
! #! /bin/sh
! # postinst script for kdebase
! #
! # see: dh_installdeb(1)
!
set -e
+
+ case "$1" in
+ configure)
+ /sbin/ldconfig >/dev/null 2>&1
+ if [ -d /usr/doc -a ! -e /usr/doc/libcorelinux -a -d /usr/share/doc/libcorelinux ]; then
+ ln -sf ../share/doc/libcorelinux /usr/doc/libcorelinux
+ fi
+ ;;
+ abort-upgrade|abort-remove|abort-deconfigure)
+
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 0
+ ;;
+ esac
+
+ # dh_installdeb will replace this with shell code automatically
+ # generated by other debhelper scripts.
+
+ #DEBHELPER#
+
+ exit 0
Index: rules
===================================================================
RCS file: /cvsroot/corelinux/corelinux/debian/rules,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** rules 2001/02/15 16:46:38 1.11
--- rules 2001/04/26 18:21:17 1.12
***************
*** 4,8 ****
package=libcorelinux
! version=0.4.31
so_version=1.1.0
--- 4,8 ----
package=libcorelinux
! version=0.4.32
so_version=1.1.0
***************
*** 12,16 ****
# This is the debhelper compatibility version to use.
! export DH_COMPAT=1
build: build-stamp
--- 12,16 ----
# This is the debhelper compatibility version to use.
! export DH_COMPAT=2
build: build-stamp
***************
*** 22,28 ****
cd classic/src/classlibs && make
rm -rf classic/doc/html doc/man && cd classic/doc && doxygen corelinux.cfg
! mkdir -p debug
! cd debug && ../configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/corelinux --enable-debug
! cd debug/src/classlibs && make
touch build-stamp
--- 22,28 ----
cd classic/src/classlibs && make
rm -rf classic/doc/html doc/man && cd classic/doc && doxygen corelinux.cfg
! # mkdir -p debug
! # cd debug && ../configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/corelinux --enable-debug
! # cd debug/src/classlibs && make
touch build-stamp
***************
*** 32,40 ****
rm -f build-stamp
! # Add here commands to clean up after the build process.
-cd classic && $(MAKE) clean
-cd classic && $(MAKE) distclean
! -cd debug && $(MAKE) clean
! -cd debug && $(MAKE) distclean
dh_clean
--- 32,40 ----
rm -f build-stamp
! # Add here commands to clean up after the build process.
-cd classic && $(MAKE) clean
-cd classic && $(MAKE) distclean
! # -cd debug && $(MAKE) clean
! # -cd debug && $(MAKE) distclean
dh_clean
***************
*** 46,57 ****
dh_installdirs
! # Add here commands to install the package into debian/tmp.
cd classic/src/classlibs && $(MAKE) install prefix=$$PWD/../../../debian/tmp/usr includedir=$$PWD/../../../debian/tmp/usr/include/corelinux
cd classic/corelinux && $(MAKE) install prefix=$PWD/../../debian/tmp/usr includedir=$$PWD/../../debian/tmp/usr/include/corelinux
cd classic/doc && mkdir -p $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc && cp -r html $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc
! cd debug/src/classlibs/corelinux && install -c libcl++.la $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.la
! cd debug/src/classlibs/corelinux && install -c .libs/libcl++.so.$(so_version) $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.so.$(so_version)
! cd debug/src/classlibs/corelinux && install -c .libs/libcl++.a $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.a
# Build architecture-independent files here.
--- 46,58 ----
dh_installdirs
! # Add here commands to install the package into debian/tmp.
cd classic/src/classlibs && $(MAKE) install prefix=$$PWD/../../../debian/tmp/usr includedir=$$PWD/../../../debian/tmp/usr/include/corelinux
cd classic/corelinux && $(MAKE) install prefix=$PWD/../../debian/tmp/usr includedir=$$PWD/../../debian/tmp/usr/include/corelinux
cd classic/doc && mkdir -p $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc && cp -r html $$PWD/../../debian/tmp/usr/share/doc/libcorelinux-doc
! # cd debug/src/classlibs/corelinux && install -c libcl++.la $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.la
! # cd debug/src/classlibs/corelinux && install -c .libs/libcl++.so.$(so_version) $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.so.$(so_version)
! # cd debug/src/classlibs/corelinux && install -c .libs/libcl++.a $$PWD/../../../../debian/tmp/usr/lib/libcldbg++.a
! rm $$PWD/debian/tmp/usr/lib/*.so
# Build architecture-independent files here.
***************
*** 59,74 ****
dh_testdir
dh_testroot
! # dh_installdocs -plibcorelinux-doc `find classic/doc/latex -name "corelinux-ref.p[dfs]*"`
! dh_installdocs -A debian/README.Redhat debian/README.debian
dh_installexamples -plibcorelinux-examples debian/README.examples `find src/testdrivers -name "*.[ch]*[pp]*"`
find debian/libcorelinux-examples -name "*.[ch]*[pp]*.gz" | xargs -r gunzip
perl debian/genmake.pl debian/libcorelinux-examples/usr/share/doc/libcorelinux-examples/examples
dh_movefiles -plibcorelinux-doc usr/share/doc/libcorelinux-doc/html
! dh_undocumented
! dh_installchangelogs
! dh_fixperms
! dh_installdeb
find debian/libcorelinux-examples -name "*.[ch]*[pp]*" | xargs -r gzip
! dh_compress
# Build architecture-dependent files here.
--- 60,76 ----
dh_testdir
dh_testroot
! dh_installdocs -A debian/README.Redhat debian/README.debian debian/copyright
! dh_installchangelogs -i ChangeLog debian/changelog
dh_installexamples -plibcorelinux-examples debian/README.examples `find src/testdrivers -name "*.[ch]*[pp]*"`
find debian/libcorelinux-examples -name "*.[ch]*[pp]*.gz" | xargs -r gunzip
perl debian/genmake.pl debian/libcorelinux-examples/usr/share/doc/libcorelinux-examples/examples
dh_movefiles -plibcorelinux-doc usr/share/doc/libcorelinux-doc/html
! dh_fixperms -i
! dh_installdeb -i
find debian/libcorelinux-examples -name "*.[ch]*[pp]*" | xargs -r gzip
! dh_compress -i
! dh_gencontrol -i
! dh_md5sums -i
! dh_builddeb -i
# Build architecture-dependent files here.
***************
*** 76,96 ****
dh_testdir
dh_testroot
! dh_movefiles -plibcorelinux-dev usr/include/ usr/lib/libcl++.a
! dh_movefiles -plibcorelinux-dbg usr/include/ usr/lib/libcldbg++.a
dh_installmanpages -plibcorelinux-dev
! dh_undocumented
! dh_installchangelogs
! dh_link
! dh_strip
! dh_compress
! dh_fixperms
! dh_installdeb
! dh_shlibdeps
binary: binary-indep binary-arch
- dh_gencontrol
- dh_md5sums
- dh_builddeb
.PHONY: build clean binary-indep binary-arch binary install
--- 78,98 ----
dh_testdir
dh_testroot
! dh_movefiles -a
dh_installmanpages -plibcorelinux-dev
! dh_installchangelogs -plibcorelinux ChangeLog
! dh_installchangelogs -plibcorelinux-dev ChangeLog
! dh_link -a
! dh_strip -a
! dh_compress -a
! dh_makeshlibs -a -V
! dh_fixperms -a
! dh_installdeb -a
! dh_shlibdeps -a
! dh_gencontrol
! dh_md5sums -a
! dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
|
|
From: Frank V. C. <fr...@us...> - 2001-04-26 10:22:38
|
Update of /cvsroot/corelinux/clfw/src/libs/Persist
In directory usw-pr-cvs1:/tmp/cvs-serv6603/src/libs/Persist
Modified Files:
SchemaStore.cpp
Log Message:
Complete schema management and example
Index: SchemaStore.cpp
===================================================================
RCS file: /cvsroot/corelinux/clfw/src/libs/Persist/SchemaStore.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** SchemaStore.cpp 2001/04/25 03:27:22 1.6
--- SchemaStore.cpp 2001/04/26 10:22:35 1.7
***************
*** 1167,1172 ****
if( cncKey != NULLPTR )
{
aCncAtt = Attribute::create();
! aCncAtt->setKey( cncKey );
aCncAtt->setValue( aConcept );
}
--- 1167,1174 ----
if( cncKey != NULLPTR )
{
+ FrameworkStringPtr aKeyCopy( FrameworkString::create() );
+ *aKeyCopy = cncKey->getValue();
aCncAtt = Attribute::create();
! aCncAtt->setKey( aKeyCopy );
aCncAtt->setValue( aConcept );
}
|
|
From: Frank V. C. <fr...@us...> - 2001-04-26 10:22:38
|
Update of /cvsroot/corelinux/clfw/src/testdrivers/exf2
In directory usw-pr-cvs1:/tmp/cvs-serv6603/src/testdrivers/exf2
Modified Files:
examp2.cpp
Log Message:
Complete schema management and example
Index: examp2.cpp
===================================================================
RCS file: /cvsroot/corelinux/clfw/src/testdrivers/exf2/examp2.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** examp2.cpp 2001/04/25 03:27:22 1.9
--- examp2.cpp 2001/04/26 10:22:35 1.10
***************
*** 105,111 ****
//
! Int showMenuGetCommand( void );
void commandLoop( StoreCatalogPtr ) throw();
//
// Functions for catalog
--- 105,113 ----
//
! Int catalogMenuGetCommand( void );
void commandLoop( StoreCatalogPtr ) throw();
+ Int schemaMenuGetCommand( void );
+
//
// Functions for catalog
***************
*** 123,128 ****
void editSchema( StoreCatalogPtr ) throw ();
- void createConcepts( SchemaPtr ) throw ();
void initializeConcept( ConceptPtr, CharCptr, CharCptr ) throw ();
void assignCollection( ConceptPtr, CharCptr ) throw ();
--- 125,133 ----
void editSchema( StoreCatalogPtr ) throw ();
+
+ void displayConcepts( SchemaPtr ) throw ();
+ void createConcept( SchemaPtr ) throw ();
+ void deleteConcept( SchemaPtr ) throw ();
void initializeConcept( ConceptPtr, CharCptr, CharCptr ) throw ();
void assignCollection( ConceptPtr, CharCptr ) throw ();
***************
*** 133,136 ****
--- 138,142 ----
FrameworkEntityPtr getInstanceOf( CharCptr, CharCptr domain=NULLPTR );
+ void resolveAndDestroy( FrameworkEntityPtr );
AttributePtr buildStringAttribute( CharCptr, CharCptr );
AttributePtr buildStringAttribute( CharCptr, UniversalIdentifierCref );
***************
*** 144,147 ****
--- 150,160 ----
void handleException( ExceptionCref );
+ //
+ // Global flags because I'm lazy and don't want to take the
+ // opportunity away for someone to CONTRIBUTE and do a better
+ // job :)
+ //
+
+ bool DIRTYSCHEMASABOUND( false );
int main( void )
***************
*** 194,198 ****
}
! Int showMenuGetCommand( void )
{
Int results(-1);
--- 207,211 ----
}
! Int catalogMenuGetCommand( void )
{
Int results(-1);
***************
*** 204,211 ****
cout << "\t2 - Create Schema " << endl;
cout << "\t3 - Edit Schema " << endl;
! cout << "\t4 - Close Schemas " << endl;
! cout << "\t5 - Delete Schema " << endl;
cout << "\t9 - Quit " << endl;
cout << endl;
cout << "Enter command option : ";
cin >> results;
--- 217,234 ----
cout << "\t2 - Create Schema " << endl;
cout << "\t3 - Edit Schema " << endl;
! cout << "\t4 - Save Schemas " << endl;
! cout << "\t5 - Close Schemas " << endl;
! cout << "\t6 - Delete Schema " << endl;
cout << "\t9 - Quit " << endl;
cout << endl;
+ if( DIRTYSCHEMASABOUND == true )
+ {
+ cout << "CAUTION: Work has been done that merits a save." <<
+ endl << endl;
+ }
+ else
+ {
+ ; // do nothing
+ }
cout << "Enter command option : ";
cin >> results;
***************
*** 223,227 ****
while( results != -1 )
{
! results = showMenuGetCommand();
if( results > 9 || results < 0 )
{
--- 246,250 ----
while( results != -1 )
{
! results = catalogMenuGetCommand();
if( results > 9 || results < 0 )
{
***************
*** 247,254 ****
case 4:
saveOpen( aSCPtr );
- closeOpen( aSCPtr );
break;
case 5:
deleteSchema( aSCPtr );
break;
--- 270,281 ----
case 4:
saveOpen( aSCPtr );
break;
case 5:
+ saveOpen( aSCPtr );
+ closeOpen( aSCPtr );
+ break;
+
+ case 6:
deleteSchema( aSCPtr );
break;
***************
*** 267,270 ****
--- 294,316 ----
}
+ Int schemaMenuGetCommand( FrameworkStringPtr aSchema )
+ {
+ Int results(-1);
+
+ cout << endl;
+ cout << "Schema edit command options..active schema ["<<aSchema->getValue()<<"]" << endl;
+ cout << endl << endl;
+ cout << "\t1 - List Concepts " << endl;
+ cout << "\t2 - Create Concept " << endl;
+ cout << "\t3 - Delete Concept " << endl;
+ cout << "\t9 - Quit " << endl;
+ cout << endl;
+ cout << "Enter command option : ";
+ cin >> results;
+ cout << endl;
+
+ return results;
+ }
+
void displayCatalog( StoreCatalogPtr aSCPtr )
{
***************
*** 305,315 ****
cout << endl << endl <<
! "Schema creation requires at least two attributes " <<
! "which are fundementally name value pairs. The attributes are: " <<
! "Name - no spaces, have fun. " << endl <<
! "Collection - no spaces..choices are Array and SetCollection " << endl <<
! endl;
! cout << "Input the Name for the schema ";
cin >> inputBuffer;
--- 351,362 ----
cout << endl << endl <<
! "Schema creation requires at least two attributes " << endl <<
! "which are fundementally name value pairs. The attributes are: " << endl <<
! "\tName - no spaces, have fun. " << endl <<
! "\tCollection - no spaces..choices are Array and SetCollection. " << endl <<
! "Other Stores may require user id and password as well." <<
! endl << endl;
! cout << "Input the Name for the schema : ";
cin >> inputBuffer;
***************
*** 317,321 ****
*aName = inputBuffer;
! cout << "Enter the collection type (Array or SetCollection) ";
cin >> inputBuffer;
--- 364,368 ----
*aName = inputBuffer;
! cout << "Enter the collection type (Array or SetCollection) : ";
cin >> inputBuffer;
***************
*** 337,350 ****
//
AttributePtr aPtr = Attribute::castDown( args.getElementAt(0) );
! FrameworkString::destroy( (FrameworkStringPtr)aPtr->getKey() );
! Attribute::destroy( aPtr );
aPtr = Attribute::castDown( args.getElementAt(1) );
! FrameworkString::destroy( (FrameworkStringPtr)aPtr->getKey() );
! FrameworkString::destroy( (FrameworkStringPtr)aPtr->getValue() );
aPtr->setKey( aName );
aPtr->setValue( aSchema );
liveSchemas.put( aPtr );
}
--- 384,400 ----
//
AttributePtr aPtr = Attribute::castDown( args.getElementAt(0) );
! resolveAndDestroy( aPtr->getKey() );
! resolveAndDestroy( aPtr );
+
aPtr = Attribute::castDown( args.getElementAt(1) );
! resolveAndDestroy( aPtr->getKey() );
! resolveAndDestroy( aPtr->getValue() );
aPtr->setKey( aName );
aPtr->setValue( aSchema );
liveSchemas.put( aPtr );
+
+ DIRTYSCHEMASABOUND = true;
}
***************
*** 368,372 ****
if( args.getSize() > 0 )
{
! aSCPtr->saveEntries( &args );
}
else
--- 418,430 ----
if( args.getSize() > 0 )
{
! if( DIRTYSCHEMASABOUND == true )
! {
! aSCPtr->saveEntries( &args );
! DIRTYSCHEMASABOUND = false;
! }
! else
! {
! ; // do nothing
! }
}
else
***************
*** 404,409 ****
liveSchemas.remove( aPtr );
AttributePtr aAtt( Attribute::castDown(aPtr) );
! FrameworkString::destroy( FrameworkString::castDown(aAtt->getKey()) );
! Attribute::destroy( aAtt );
}
--- 462,467 ----
liveSchemas.remove( aPtr );
AttributePtr aAtt( Attribute::castDown(aPtr) );
! resolveAndDestroy( aAtt->getKey() );
! resolveAndDestroy( aAtt );
}
***************
*** 419,428 ****
{
displayCatalog( aSCPtr );
cout << endl << endl <<
! "Schema delete requires at least one attribute " <<
! "which is fundementally a name value pair. The attribute is: " <<
! "Name - no spaces, from list displayed. " << endl << endl;
! cout << "Input the schema name to be deleted ";
cin >> inputBuffer;
--- 477,487 ----
{
displayCatalog( aSCPtr );
+
cout << endl << endl <<
! "Schema delete requires at least one attribute " << endl <<
! "which is fundementally a name value pair. The attribute is: " << endl <<
! "\tName - no spaces, select from above list. " << endl << endl;
! cout << "Input the schema name to be deleted : ";
cin >> inputBuffer;
***************
*** 446,451 ****
{
AttributePtr aAPtr(Attribute::castDown( liveSchemas.getElementAt(hit) ) );
! FrameworkString::destroy( FrameworkString::castDown(aAPtr->getKey()) );
! Attribute::destroy( aAPtr );
}
else
--- 505,510 ----
{
AttributePtr aAPtr(Attribute::castDown( liveSchemas.getElementAt(hit) ) );
! resolveAndDestroy( aAPtr->getKey() );
! resolveAndDestroy( aAPtr );
}
else
***************
*** 462,477 ****
//
//
// Then present the options in regards to concepts
//
}
! void createConcepts( SchemaPtr aSchmPtr ) throw ()
{
ConceptPtr aConcept =
Concept::castDown(getInstanceOf("Concept"));
! initializeConcept( aConcept, "AppString","SetCollection" );
//
--- 521,697 ----
//
+ displayCatalog( aSCPtr );
+ cout << endl << endl <<
+ "Select a Schema from this list to work with" << endl << endl;
+
+ cout << "Enter name of schema : ";
+ cin >> inputBuffer;
+
+ FrameworkString aName;
+ aName = inputBuffer;
+
+ // Check the liveSchemas first before going to the catalog
+
+ SchemaPtr aSchema;
+ Attribute anAtt;
+ anAtt.setKey( &aName );
+
+ ElementIndex index(-1);
+
+ if( ( index = liveSchemas.indexOf( &anAtt ) ) != -1 )
+ {
+ AttributePtr anAP( Attribute::castDown( liveSchemas.getElementAt(index) ) );
+ aSchema = Schema::castDown( anAP->getValue() );
+ }
+ else
+ {
+ Array anArray;
+
+ anAtt.setKey( FrameworkStringPtr(&Store::getNameKey()) );
+ anAtt.setValue( &aName );
+ anArray.put( &anAtt );
+
+ aSchema = Schema::castDown( aSCPtr->getEntry( &anArray ) );
+ liveSchemas.put( buildStringAttribute(aName.getValue(),aSchema) );
+ }
+
//
// Then present the options in regards to concepts
//
+ if( aSchema != NULLPTR )
+ {
+ Int results(0);
+
+ while( results != -1 )
+ {
+ results = schemaMenuGetCommand(&aName);
+ if( results > 9 || results < 0 )
+ {
+ cout << "Invalid command option, exiting" << endl;
+ results = -1;
+ }
+ else
+ {
+ switch( results )
+ {
+ case 1:
+ displayConcepts( aSchema );
+ break;
+
+ case 2:
+ createConcept( aSchema );
+ break;
+
+ case 3:
+ deleteConcept( aSchema );
+ break;
+
+ case 9:
+ results = -1;
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ void displayConcepts( SchemaPtr aSchmPtr ) throw ()
+ {
+ REQUIRE( aSchmPtr != NULLPTR );
+ CollectionPtr aCollection( aSchmPtr->getProperties() );
+ Counter maxCnt( aCollection->getSize() );
+
+ AttributePtr anAtt( NULLPTR );
+ ConceptPtr aConcept( NULLPTR );
+ FrameworkStringPtr aKey( NULLPTR );
+ FrameworkStringPtr aClassName( NULLPTR );
+
+ cout << endl <<
+ "********************" << endl <<
+ "Schema dump display" << endl <<
+ "********************" << endl << endl;
+
+ for( Counter x = 0; x < maxCnt; ++x )
+ {
+ anAtt =( Attribute::castDown( aCollection->getElementAt(x) ) );
+
+ aKey = FrameworkString::castDown( anAtt->getKey() );
+
+ aConcept = Concept::castDown( anAtt->getValue() );
+
+ CHECK( aConcept );
+
+ aClassName = Store::resolveValueAssignment
+ (
+ aConcept->getProperties(),
+ FrameworkStringPtr(&Store::getClassIdKey())
+ );
+
+ CHECK( aClassName );
+
+ UniversalIdentifier aCID( aClassName->getValue() );
+ MetaClassPtr aClass( Ontology::getClassFor( aCID ) );
+
+ CHECK( aClass );
+
+ cout << "Entry [" << aKey->getValue() <<
+ "] is a schema concept for " << aClass->getInstanceTypeName() <<
+ "[" << aClassName->getValue() << "]" << endl;
+
+ }
+ cout << endl << "********************" << endl ;
+
}
! void createConcept( SchemaPtr aSchmPtr ) throw ()
{
+ SetCollection args;
+
+ cout << endl << endl <<
+ "Concept creation requires at least three attributes " << endl <<
+ "which are fundementally name value pairs. The attributes are: " << endl <<
+ "\tName - no spaces" << endl <<
+ "\tCollection - no spaces..choices are Array and SetCollection. " << endl <<
+ "\tClass - no spaces..the Class that this concept defines for persist. " << endl <<
+ "Other Stores may require user id and password as well." <<
+ endl << endl;
+
+ cout << "Enter the Name for the concept : ";
+ cin >> inputBuffer;
+
+ FrameworkString aName;
+ aName = inputBuffer;
+
+ cout << "Enter the collection type (Array or SetCollection) : ";
+ cin >> inputBuffer;
+
+ FrameworkString aCollection;
+ aCollection = inputBuffer;
+
+ cout << "Enter the Class name for the concept to manager : ";
+ cin >> inputBuffer;
+
+ FrameworkString aClassName;
+ aClassName = inputBuffer;
+
+ cout << endl << "Creating " << aName.getValue() <<
+ " with collection " << aCollection.getValue() <<
+ " to manage " << aClassName.getValue() << endl;
+
ConceptPtr aConcept =
Concept::castDown(getInstanceOf("Concept"));
+
+ initializeConcept( aConcept, aName.getValue(), aCollection.getValue() );
+
+ MetaClassPtr aClass( Ontology::getClassFor( aClassName.getValue() ) );
! ENSURE( aClass != NULLPTR );
//
***************
*** 479,493 ****
//
! AttributePtr aClass
(
buildStringAttribute
(
"Class",
! FrameworkString::getTypeDescriptor()->getIdentifier()
)
);
! aConcept->addAttribute( aClass );
! aSchmPtr->addAttribute( buildStringAttribute("AppString",aConcept) );
}
--- 699,797 ----
//
! AttributePtr aClassAtt
(
buildStringAttribute
(
"Class",
! aClass->getIdentifier()
)
);
+
+ aConcept->addAttribute( aClassAtt );
+ aSchmPtr->addAttribute( buildStringAttribute(aName.getValue(),aConcept) );
+ DIRTYSCHEMASABOUND = true;
+ }
+
+ void deleteConcept( SchemaPtr aSchmPtr ) throw ()
+ {
+ displayConcepts( aSchmPtr );
+
+ cout << endl << endl <<
+ "Concept deletion requires the name of the concept " << endl <<
+ "to be deleted. " <<
+ endl << endl;
+
+ cout << "Enter the Name for the concept : ";
+ cin >> inputBuffer;
+
+ FrameworkString aName;
+ aName = inputBuffer;
+
+ Attribute srchAtt;
+ srchAtt.setKey( &aName );
+
+ ElementIndex cIndex(-1);
+
+ //
+ // Find, and iterate through the concepts properties deleting
+ // as you go
+ //
+
+ if( ( cIndex = aSchmPtr->getProperties()->indexOf(&srchAtt) ) != -1 )
+ {
+ AttributePtr aCncAtt
+ (
+ Attribute::castDown
+ (
+ aSchmPtr->getProperties()->getElementAt(cIndex)
+ )
+ );
+
+ CHECK( aCncAtt );
+
+ ConceptPtr aConcept( Concept::castDown(aCncAtt->getValue()) );
+
+ CHECK( aConcept );
+
+ aSchmPtr->getProperties()->remove( aCncAtt );
+ resolveAndDestroy( aCncAtt->getKey() );
+
+ CollectionPtr aCol( aConcept->getProperties() );
+ for( Counter x = 0; x < aCol->getSize() ; ++x )
+ {
+ AttributePtr aAtt( Attribute::castDown(aCol->getElementAt(x)) );
+ FrameworkEntityPtr aKey( aAtt->getKey() );
+ FrameworkEntityPtr aValue( aAtt->getValue() );
+ if( aValue != NULLPTR )
+ {
+ resolveAndDestroy( aValue );
+ }
+ else
+ {
+ cout << FrameworkString::castDown(aKey)->getValue() << " has no value" << endl;
+
+ }
+ if( aKey != NULLPTR )
+ {
+ resolveAndDestroy( aKey );
+ }
+ else
+ {
+ cout << "Key has no value" << endl;
+ }
+
+ resolveAndDestroy( aAtt );
! }
!
! resolveAndDestroy( aCol );
! resolveAndDestroy( aCncAtt );
! DIRTYSCHEMASABOUND = true;
!
! }
! else
! {
! cout << inputBuffer << " concept not found " << endl;
! }
}
***************
*** 563,566 ****
--- 867,884 ----
return aPtr;
+ }
+
+ void resolveAndDestroy( FrameworkEntityPtr aPtr )
+ {
+ REQUIRE( aPtr != NULLPTR );
+ MetaClassPtr aClass
+ (
+ Ontology::getClassFor( aPtr->getType()->getIdentifier() )
+ );
+
+ CHECK( aClass );
+
+ aClass->dispatch(aPtr,"Destruct",NULLPTR,NULLPTR);
+
}
|