- Add new CPP flag HAVE_DTINFO for
  all architectures except FreeBSD

- CDE-INFOLIB-LOC.src, CDE-LOC.src, CDE-MSG-LOC.src
  CDE-SHLIBS.src have dtinfo related portions
  excluded by #ifdef HAVE_DTINFO

- Implement new file type "ignore" in the UDB
  to allow the installer to skip some files.

  For example:

  some/source/file
  { freebsd
    type = "ignore"
  }
  { default
    install_target = /some/target/file
    mode = 555
  }

  For FreeBSD no entry about this file fill be
  added (neither in -toDB nor -toLst output format)

- ignore dtinfo related entries in the CDE-RUN.udb
  and CDE-INFO.udb using the abovementioned feature

Similar changes might be added to other platforms
that don't support dtinfo for now.
---
 cde/admin/IntegTools/dbTools/udbParseLib.awk | 19 ++++--
 cde/databases/CDE-INFO.udb                   | 96 ++++++++++++++++++++++++++++
 cde/databases/CDE-INFOLIB-LOC.src            |  2 +
 cde/databases/CDE-LOC.src                    |  4 ++
 cde/databases/CDE-MSG-LOC.src                |  2 +
 cde/databases/CDE-RUN.udb                    | 48 ++++++++++++++
 cde/databases/CDE-SHLIBS.src                 |  2 +
 cde/databases/Imakefile                      | 13 +++-
 8 files changed, 179 insertions(+), 7 deletions(-)

diff --git a/cde/admin/IntegTools/dbTools/udbParseLib.awk 
b/cde/admin/IntegTools/dbTools/udbParseLib.awk
index d1399af..3a54027 100644
--- a/cde/admin/IntegTools/dbTools/udbParseLib.awk
+++ b/cde/admin/IntegTools/dbTools/udbParseLib.awk
@@ -557,6 +557,8 @@ function fillRecord(rec) {
                        syntaxError("Invalid source: \"" src "\" for type: \"" 
rec[TypDefault] "\"")
        else if ( rec[TypDefault] == "file" || rec[TypDefault] == "control" )
                rec[SrcDefault] = src;
+       else if ( rec[TypDefault] == "ignore" )
+               ; # silently ignore
        else
                syntaxError("Unrecognized type:\"" rec[TypDefault] "\"")
 
@@ -577,10 +579,12 @@ function printDb(rec) {
        }
        # NumEntries should be one greater than the number of defaults
        # read in.
-       for ( i = 1; i< NumEntries; i++ ) {
-               printf("%-40s %s %s\n",defOrder[i], ":",rec[defOrder[i]])
-       }               
-       print "#"
+       if ( rec[TypDefault] != "ignore" )  {
+               for ( i = 1; i< NumEntries; i++ ) {
+                       printf("%-40s %s %s\n",defOrder[i], 
":",rec[defOrder[i]])
+               }               
+               print "#"
+       }
        if ( DeBug > 0 ) Depth--
 }
 
@@ -601,7 +605,8 @@ function printLst(rec) {
        else
                Source = SrcDefault
 
-       printf("%s %s %s %s %s %s %s %s %s\n",
+       if ( rec[TypDefault] != "ignore" ) 
+               printf("%s %s %s %s %s %s %s %s %s\n",
                                   rec[ DestDefault],
                                   rec[ ModeDefault ],
                                   rec[ Source ],
@@ -623,6 +628,10 @@ function printLst(rec) {
 function printGather(rec) {
 # print "Entering printRecord:  "
 
+
+    if ( rec["type"] == "ignore" )
+       return;
+
     if (( BlockToken == "hp-ux" ) && ( rec[ "processor" ] != "378" ))
     {
        if ( index( rec[ "processor" ], Machine ) == 0 )
diff --git a/cde/databases/CDE-INFO.udb b/cde/databases/CDE-INFO.udb
index be133a3..4aeb073 100644
--- a/cde/databases/CDE-INFO.udb
+++ b/cde/databases/CDE-INFO.udb
@@ -162,161 +162,257 @@
 #<<----------------------------- 
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/dtinfo.af
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/dtinfo.af
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/dtinfo.decl
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/dtinfo.decl
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/dtinfoBook.dtd
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/dtinfoBook.dtd
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/dtinfoTOC.dtd
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/dtinfoTOC.dtd
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/dtinfoStyle.dtd
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/dtinfoStyle.dtd
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/docbook.dtd
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/docbook.dtd
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/catalog
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/catalog
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-catalog
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-catalog
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/proxy.ss
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/proxy.ss
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-amsa.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-amsa.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-amsb.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-amsb.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-amsc.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-amsc.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-amsn.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-amsn.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-amso.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-amso.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-amsr.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-amsr.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-box.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-box.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-cyr1.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-cyr1.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-cyr2.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-cyr2.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-dia.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-dia.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-grk1.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-grk1.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-grk2.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-grk2.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-grk3.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-grk3.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-grk4.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-grk4.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-lat1.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-lat1.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-lat2.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-lat2.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-mfrk.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-mfrk.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-mopf.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-mopf.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-mscr.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-mscr.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-num.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-num.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-pub.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-pub.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/iso-tech.gml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/iso-tech.gml
 }
 #
 programs/dtinfo/dtinfogen/infolib/C/SGML/styprolog.sgml
+{ freebsd
+       type = ignore
+}
 { default
        install_target = /usr/dt/infolib/C/SGML/styprolog.sgml
 }
diff --git a/cde/databases/CDE-INFOLIB-LOC.src 
b/cde/databases/CDE-INFOLIB-LOC.src
index 1480a49..74dbac3 100644
--- a/cde/databases/CDE-INFOLIB-LOC.src
+++ b/cde/databases/CDE-INFOLIB-LOC.src
@@ -130,6 +130,7 @@ XCOMM
        status = ------
 }
 
+#if defined(HAVE_DTINFO)
 XCOMM 
 XCOMM >>-----------------------------
 XCOMM 
@@ -671,3 +672,4 @@ XCOMM 
##########################################################################
 #endif
 
 #endif /* __osf__ */
+#endif /* HAVE_DTINFO */
diff --git a/cde/databases/CDE-LOC.src b/cde/databases/CDE-LOC.src
index fbfc5c5..22f6625 100644
--- a/cde/databases/CDE-LOC.src
+++ b/cde/databases/CDE-LOC.src
@@ -309,11 +309,13 @@ programs/localized/%_LANG_%/app-defaults/Dtimsstart
 { default
         install_target = /usr/dt/app-defaults/%_LANG_%/Dtimsstart
 }
+#if defined(HAVE_DTINFO)
 XCOMM 
 programs/localized/%_LANG_%/app-defaults/Dtinfo
 { default
         install_target = /usr/dt/app-defaults/%_LANG_%/Dtinfo
 }
+#endif
 XCOMM 
 programs/localized/%_LANG_%/app-defaults/Dtlogin
 { default
@@ -826,11 +828,13 @@ programs/localized/%_LANG_%/types/dtfile.dt
 { default
         install_target = /usr/dt/appconfig/types/%_LANG_%/dtfile.dt
 }
+#if defined(HAVE_DTINFO)
 XCOMM 
 programs/localized/%_LANG_%/types/dtinfo.dt
 { default
         install_target = /usr/dt/appconfig/types/%_LANG_%/dtinfo.dt
 }
+#endif
 XCOMM 
 programs/localized/%_LANG_%/types/dtpad.dt
 { default
diff --git a/cde/databases/CDE-MSG-LOC.src b/cde/databases/CDE-MSG-LOC.src
index 2b61d88..351ce21 100644
--- a/cde/databases/CDE-MSG-LOC.src
+++ b/cde/databases/CDE-MSG-LOC.src
@@ -366,6 +366,7 @@ programs/localized/%_LANG_%/msg/dthelpprint.cat
        install_target = /usr/dt/lib/nls/msg/%_LANG_%/dthelpprint.cat
 }
 
+#if defined(HAVE_DTINFO)
 XCOMM ############################
 XCOMM # Dtinfo Message catalogs
 XCOMM ############################
@@ -378,6 +379,7 @@ programs/localized/%_LANG_%/msg/dtinfo_start.cat
 { default
        install_target = /usr/dt/lib/nls/msg/%_LANG_%/dtinfo_start.cat
 }
+#endif
 XCOMM 
 programs/localized/%_LANG_%/msg/dtsearch.cat
 { default
diff --git a/cde/databases/CDE-RUN.udb b/cde/databases/CDE-RUN.udb
index d534e9b..3852f36 100644
--- a/cde/databases/CDE-RUN.udb
+++ b/cde/databases/CDE-RUN.udb
@@ -1846,12 +1846,18 @@ programs/dtsr/dtsearch.dbd
 #<<----------------------------- 
 #
 programs/dtinfo/dtinfo/src/dtinfo
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/bin/dtinfo
         mode = 0555
 }
 #
 programs/dtinfo/clients/dtinfo_start/dtinfo_start
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/dtinfo_start
         mode = 0555
@@ -1865,72 +1871,108 @@ programs/dtinfo/clients/dtinfo_start/dtinfo_start
 #<<----------------------------- 
 #
 programs/dtinfo/dtinfogen/infolib/etc/dtinfogen
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/bin/dtinfogen
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/infolib/etc/dtinfogen_worker
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/dtinfogen_worker
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/infolib/etc/MixedGen
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/MixedGen
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/infolib/etc/NCFGen
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/NCFGen
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/infolib/etc/NodeParser
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/NodeParser
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/infolib/etc/StyleUpdate
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/StyleUpdate
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/install/valBase
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/valBase
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/install/ChangeCaseTitle
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/ChangeCaseTitle
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/install/InstallBase
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/InstallBase
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/install/DeInstallBase
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/DeInstallBase
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/install/Librarian
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/Librarian
         mode = 0555
 }
 #
 programs/nsgmls/nsgmls
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/nsgmls
         mode = 0555
@@ -1951,12 +1993,18 @@ programs/dtdocbook/sgmls/sgmls
 #<<----------------------------- 
 #
 programs/dtinfo/dtinfogen/mmdb/src/dbdrv
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/dbdrv
         mode = 0555
 }
 #
 programs/dtinfo/dtinfogen/mmdb/StyleSheet/validator
+{ freebsd
+        type = ignore
+}
 { default
         install_target = /usr/dt/infolib/etc/validator
         mode = 0555
diff --git a/cde/databases/CDE-SHLIBS.src b/cde/databases/CDE-SHLIBS.src
index c756ca6..2bb4944 100644
--- a/cde/databases/CDE-SHLIBS.src
+++ b/cde/databases/CDE-SHLIBS.src
@@ -1410,6 +1410,7 @@ XCOMM
         install_target = /usr/dt/lib/libDtSearch.so
         type = sym_link
 }
+#if defined(HAVE_DTINFO)
 XCOMM
 lib/DtMmdb/libDtMmdb.so.2
 { freebsd
@@ -1422,3 +1423,4 @@ XCOMM
         install_target = /usr/dt/lib/libDtMmdb.so
         type = sym_link
 }
+#endif
diff --git a/cde/databases/Imakefile b/cde/databases/Imakefile
index 3786440..df527d6 100644
--- a/cde/databases/Imakefile
+++ b/cde/databases/Imakefile
@@ -8,30 +8,39 @@ XCOMM $TOG: Imakefile /main/17 1998/03/19 09:46:16 mgreess $
  */
 #if defined (HPArchitecture) && (OSMajorVersion > 9)
 UDB_RELEASE_OPT = -ReleaseStream hp-ux
+#define HaveDtInfo -DHAVE_DTINFO
 #endif
 #ifdef SunArchitecture
 UDB_RELEASE_OPT = -ReleaseStream sun
+#define HaveDtInfo -DHAVE_DTINFO
 #endif
 #ifdef RsArchitecture
 UDB_RELEASE_OPT = -ReleaseStream aix
+#define HaveDtInfo -DHAVE_DTINFO
 #endif
 #ifdef AlphaArchitecture
 UDB_RELEASE_OPT = -ReleaseStream dec
+#define HaveDtInfo -DHAVE_DTINFO
 #endif
 #ifdef USLArchitecture
 UDB_RELEASE_OPT = -ReleaseStream usl
+#define HaveDtInfo -DHAVE_DTINFO
 #endif
 #ifdef UXPArchitecture
 UDB_RELEASE_OPT = -ReleaseStream uxp
+#define HaveDtInfo -DHAVE_DTINFO
 #endif
 #ifdef LinuxArchitecture
 UDB_RELEASE_OPT = -ReleaseStream linux
+#define HaveDtInfo -DHAVE_DTINFO
 #endif
 #ifdef OpenBSDArchitecture
 UDB_RELEASE_OPT = -ReleaseStream openbsd
+#define HaveDtInfo -DHAVE_DTINFO
 #endif
 #ifdef FreeBSDArchitecture
 UDB_RELEASE_OPT = -ReleaseStream freebsd
+#define HaveDtInfo 
 #endif
 
 /*
@@ -40,9 +49,9 @@ UDB_RELEASE_OPT = -ReleaseStream freebsd
  */
 #ifdef RsArchitecture
 /* AIX cpp rejects "hp-ux" as an invalid sub-option. */
-UDB_CPP_UNDEF_LIST = -UhpV4 -Uhpux         -Uaix -Usun -Uusl -Udec -Uuxp -Uunix
+UDB_CPP_UNDEF_LIST = -UhpV4 -Uhpux         -Uaix -Usun -Uusl -Udec -Uuxp 
-Uunix HaveDtInfo
 #else
-UDB_CPP_UNDEF_LIST = -UhpV4 -Uhpux -Uhp-ux -Uaix -Usun -Uusl -Udec -Uuxp 
-Uunix -Ulinux
+UDB_CPP_UNDEF_LIST = -UhpV4 -Uhpux -Uhp-ux -Uaix -Usun -Uusl -Udec -Uuxp 
-Uunix -Ulinux HaveDtInfo
 #endif
 
 
-- 
1.7.11.5


------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to