diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a169f87386..a354ba55e3 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,26 @@ The license applies to all entries newer than 2009-04-28. */ +2010-07-28 11:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * mpkg_rpm.sh + ! Fix to always copy harbour.spec to SPECS dir. + Shot in the dark. + + * package/harbour-win.spec + * package/harbour-wce.spec + * package/harbour.spec + - Deleted RPM specific readme. Similar information is now + found in INSTALL. + + * contrib/hbwin/win_regc.c + ! WIN_REGQUERYVALUEEX(): Fixed to check return value of + subsequent internal RegQueryValueEx() calls. Return NIL + if failed. (value length will still be reported as + received back from first RegQueryValueEx() call) + + * contrib/hbide/hbide.hbp + ! Fixed QT .dll copying options. Commented the whole thing. + 2010-07-28 01:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * contrib/make.hbs + Added support for 'clean all' build mode. This is the only diff --git a/harbour/contrib/hbide/hbide.hbp b/harbour/contrib/hbide/hbide.hbp index 0e7f0ab0d1..3f618b57ab 100644 --- a/harbour/contrib/hbide/hbide.hbp +++ b/harbour/contrib/hbide/hbide.hbp @@ -12,11 +12,11 @@ -icon={allwin}hbide.ico --instfile={win}{HB_WITH_QT}/../bin/libgcc_s_dw2-1.dll --instfile={win}{HB_WITH_QT}/../bin/mingwm10.dll --instfile={win}{HB_WITH_QT}/../bin/QtCore4.dll --instfile={win}{HB_WITH_QT}/../bin/QtGui4.dll --instfile={win}{HB_WITH_QT}/../bin/QtNetwork4.dll +#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/libgcc_s_dw2-1.dll +#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/mingwm10.dll +#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtCore4.dll +#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtGui4.dll +#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtNetwork4.dll ../hbxbp/hbxbp.hbc diff --git a/harbour/contrib/hbwin/win_regc.c b/harbour/contrib/hbwin/win_regc.c index 3d4ff12f7f..8116bf14e7 100644 --- a/harbour/contrib/hbwin/win_regc.c +++ b/harbour/contrib/hbwin/win_regc.c @@ -136,18 +136,21 @@ HB_FUNC( WIN_REGQUERYVALUEEX ) { LPBYTE lpValue = ( LPBYTE ) hb_xgrab( ( dwSize + 1 ) * sizeof( TCHAR ) ); - RegQueryValueEx( ( HKEY ) hb_parptr( 1 ), - lpKey, - NULL, - &dwType, - lpValue, - &dwSize ); + if( RegQueryValueEx( ( HKEY ) hb_parptr( 1 ), + lpKey, + NULL, + &dwType, + lpValue, + &dwSize ) == ERROR_SUCCESS ) + { + #if defined( UNICODE ) + dwSize >>= 1; + #endif - #if defined( UNICODE ) - dwSize >>= 1; - #endif - - HB_STORSTRLEN( ( LPTSTR ) lpValue, dwSize, 5 ); + HB_STORSTRLEN( ( LPTSTR ) lpValue, dwSize, 5 ); + } + else + hb_stor( 5 ); hb_xfree( lpValue ); } @@ -155,15 +158,21 @@ HB_FUNC( WIN_REGQUERYVALUEEX ) { LPBYTE lpValue = ( LPBYTE ) hb_xgrab( dwSize + 1 ); - RegQueryValueEx( ( HKEY ) hb_parptr( 1 ), - lpKey, - NULL, - &dwType, - lpValue, - &dwSize ); - - if( ! hb_storclen_buffer( ( char * ) lpValue, dwSize, 5 ) ) + if( RegQueryValueEx( ( HKEY ) hb_parptr( 1 ), + lpKey, + NULL, + &dwType, + lpValue, + &dwSize ) == ERROR_SUCCESS ) + { + if( ! hb_storclen_buffer( ( char * ) lpValue, dwSize, 5 ) ) + hb_xfree( lpValue ); + } + else + { + hb_stor( 5 ); hb_xfree( lpValue ); + } } } else diff --git a/harbour/mpkg_rpm.sh b/harbour/mpkg_rpm.sh index 1d95fcbc11..bacb6ba9c6 100755 --- a/harbour/mpkg_rpm.sh +++ b/harbour/mpkg_rpm.sh @@ -182,11 +182,10 @@ then else RPMDIR=`get_rpmmacro "_topdir"` fi - if [ "${BUGGY_RPM}" = "yes" ] - then - cp ${hb_filename} ${RPMDIR}/SOURCES - cp package/harbour.spec ${RPMDIR}/SPECS - fi + + cp ${hb_filename} ${RPMDIR}/SOURCES + cp package/harbour.spec ${RPMDIR}/SPECS + if which rpmbuild >/dev/null 2>&1 then RPMBLD="rpmbuild" diff --git a/harbour/package/harbour-wce.spec b/harbour/package/harbour-wce.spec index 67112769cd..dba9eda634 100644 --- a/harbour/package/harbour-wce.spec +++ b/harbour/package/harbour-wce.spec @@ -18,7 +18,6 @@ %define releasen beta2 %define hb_pref hbce %define hb_host harbour-project.org -%define readme README.RPM # Workaround for the problem of /usr/bin/strip not handling PE binaries. %define hb_ccpath /opt/mingw32ce/bin @@ -128,57 +127,6 @@ make install %{?_smp_mflags} # remove unused files rm -fR ${HB_BIN_INSTALL}/{harbour,hbpp,hbmk2,hbrun,hbi18n,hbtest}.exe -# Create a README file for people using this RPM. -cat > doc/%{readme} < # output file name --static # link with static Harbour libs --fullstatic # link with all static libs --shared # link with shared libs (default) --mt # link with multi-thread libs --gt # link with GT driver, can be repeated to - # link with more GTs. The first one will be - # the default at runtime --xbgtk # link with xbgtk library (xBase GTK+ interface) --hwgui # link with HWGUI library (GTK+ interface) --l # link with library --L # additional path to search for libraries --[no]strip # strip (no strip) binaries --main= # set the name of main program function/procedure. - # if not set then 'MAIN' is used or if it doesn't - # exist the name of first public function/procedure - # in first linked object module (link) - -An example compile/link session looks like: ----------------------------------------------------------------------- -druzus@uran:~/tmp$ cat foo.prg -function main() -? "Hello, World!" -return nil - -druzus@uran:~/tmp$ hbmk2 foo -Harbour 2.1.0beta1 (Rev. 14701) -Copyright (c) 1999-2010, http://harbour-project.org/ -Compiling 'foo.prg'... -Lines 5, Functions/Procedures 2 -Generating C source output to 'foo.c'... Done. - -druzus@uran:~/tmp$ ls -l foo --rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo ----------------------------------------------------------------------- - -I hope this RPM is useful. Have fun with Harbour. - -Przemyslaw Czerpak (druzus/at/priv.onet.pl) -EOF - ###################################################################### ## Post install ###################################################################### @@ -204,9 +152,7 @@ rm -fR $RPM_BUILD_ROOT %files %defattr(-,root,root,755) -%doc doc/%{readme} -%{_bindir}/%{hb_pref}-mkdyn %{_bindir}/hbmk2 %defattr(644,root,root,755) diff --git a/harbour/package/harbour-win.spec b/harbour/package/harbour-win.spec index 29d7e96339..15db01fe42 100644 --- a/harbour/package/harbour-win.spec +++ b/harbour/package/harbour-win.spec @@ -18,7 +18,6 @@ %define releasen beta2 %define hb_pref hbw %define hb_host harbour-project.org -%define readme README.RPM # Workaround for the problem of /usr/bin/strip not handling PE binaries. %define hb_ccpath /opt/xmingw/bin @@ -128,57 +127,6 @@ make install %{?_smp_mflags} # remove unused files rm -fR ${HB_BIN_INSTALL}/{harbour,hbpp,hbmk2,hbrun,hbi18n,hbtest}.exe -# Create a README file for people using this RPM. -cat > doc/%{readme} < # output file name --static # link with static Harbour libs --fullstatic # link with all static libs --shared # link with shared libs (default) --mt # link with multi-thread libs --gt # link with GT driver, can be repeated to - # link with more GTs. The first one will be - # the default at runtime --xbgtk # link with xbgtk library (xBase GTK+ interface) --hwgui # link with HWGUI library (GTK+ interface) --l # link with library --L # additional path to search for libraries --[no]strip # strip (no strip) binaries --main= # set the name of main program function/procedure. - # if not set then 'MAIN' is used or if it doesn't - # exist the name of first public function/procedure - # in first linked object module (link) - -An example compile/link session looks like: ----------------------------------------------------------------------- -druzus@uran:~/tmp$ cat foo.prg -function main() -? "Hello, World!" -return nil - -druzus@uran:~/tmp$ hbmk2 foo -Harbour 2.1.0beta1 (Rev. 14701) -Copyright (c) 1999-2010, http://harbour-project.org/ -Compiling 'foo.prg'... -Lines 5, Functions/Procedures 2 -Generating C source output to 'foo.c'... Done. - -druzus@uran:~/tmp$ ls -l foo --rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo ----------------------------------------------------------------------- - -I hope this RPM is useful. Have fun with Harbour. - -Przemyslaw Czerpak (druzus/at/priv.onet.pl) -EOF - ###################################################################### ## Post install ###################################################################### @@ -204,9 +152,7 @@ rm -fR $RPM_BUILD_ROOT %files %defattr(-,root,root,755) -%doc doc/%{readme} -%{_bindir}/%{hb_pref}-mkdyn %{_bindir}/hbmk2 %defattr(644,root,root,755) diff --git a/harbour/package/harbour.spec b/harbour/package/harbour.spec index 9e4c0ad9e5..f64a9460b9 100644 --- a/harbour/package/harbour.spec +++ b/harbour/package/harbour.spec @@ -73,7 +73,6 @@ %define hb_ctrb export HB_BUILD_CONTRIBS="hbblink hbclipsm hbct hbgt hbmisc hbmzip hbnetio hbtip hbtpathy hbhpdf hbziparc hbfoxpro hbsms hbfship hbxpp xhb rddbmcdx rddsql sddsqlt3 hbnf %{?_with_allegro:gtalleg} %{?_with_cairo:hbcairo} %{?_with_cups:hbcups} %{?_with_curl:hbcurl} %{?_with_firebird:hbfbird sddfb} %{?_with_freeimage:hbfimage} %{?_with_gd:hbgd} %{?_with_mysql:hbmysql sddmy} %{?_with_odbc:hbodbc sddodbc} %{?_with_pgsql:hbpgsql sddpg} %{?_with_qt:hbqt hbxbp} %{?_with_ads:rddads}" %define hb_env %{hb_plat} ; %{hb_cc} ; %{hb_cflag} ; %{hb_lflag} ; %{hb_dflag} ; %{shl_path} ; %{hb_gpm} ; %{hb_crs} ; %{hb_sln} ; %{hb_x11} ; %{hb_local} ; %{hb_bdir} ; %{hb_idir} ; %{hb_ldir} ; %{hb_edir} ; %{hb_ctrb} ; %{hb_cmrc} %define hb_host harbour-project.org -%define readme README.RPM ###################################################################### ## Preamble. ###################################################################### @@ -103,9 +102,6 @@ BuildRoot: /tmp/%{name}-%{version}-root package includes a compiler, pre-processor, header files, virtual machine and documentation. -See README.RPM in the documentation directory for information specific to -this RPM distribution. - %description -l pl %{dname} to kompatybilny z językiem CA-Cl*pper kompilator rozwijany na wielu różnych platformach. Ten pakiet zawiera kompilator, preprocesor, @@ -436,79 +432,6 @@ install -m644 src/rtl/gtcrs/hb-charmap.def $HB_ETC_INSTALL/hb-charmap.def # remove unused files rm -f $HB_BIN_INSTALL/hbtest -# Create a README file for people using this RPM. -cat > doc/%{readme} < # output file name --static # link with static %{dname} libs --fullstatic # link with all static libs --shared # link with shared libs (default) --mt # link with multi-thread libs --gt # link with GT driver, can be repeated to - # link with more GTs. The first one will be - # the default at runtime --xbgtk # link with xbgtk library (xBase GTK+ interface) --hwgui # link with HWGUI library (GTK+ interface) --l # link with library --L # additional path to search for libraries --[no]strip # strip (no strip) binaries --main= # set the name of main program function/procedure. - # if not set then 'MAIN' is used or if it doesn't - # exist the name of first public function/procedure - # in first linked object module (link) - -An example compile/link session looks like: ----------------------------------------------------------------------- -druzus@uran:~/tmp$ cat foo.prg -function main() -? "Hello, World!" -return nil - -druzus@uran:~/tmp$ hbmk2 foo -Harbour 2.1.0beta1 (Rev. 14701) -Copyright (c) 1999-2010, http://harbour-project.org/ -Compiling 'foo.prg'... -Lines 5, Functions/Procedures 2 -Generating C source output to 'foo.c'... Done. - -druzus@uran:~/tmp$ ls -l foo --rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo ----------------------------------------------------------------------- - -In this RPM you will find additional wonderful tools: /usr/bin/hbrun -You can run clipper/xbase compatible source files with it if you only -put in their first line: -#!/usr/bin/hbrun - -For example: ----------------------------------------------------------------------- -druzus@uran:~/tmp$ cat foo.prg -#!/usr/bin/hbrun -function main() -? "Hello, World!, This is a script !!! :-)" -? -return nil - -druzus@uran:~/tmp$ chmod +x foo.prg - -druzus@uran:~/tmp$ ./foo.prg - -Hello, World!, This is a script !!! :-) - -I hope this RPM is useful. Have fun with %{dname}. - -Many thanks to Dave Pearson - -Przemyslaw Czerpak -EOF - ###################################################################### ## Post install ###################################################################### @@ -536,14 +459,11 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,755) %doc ChangeLog* %doc doc/*.txt -%doc doc/%{readme} -%doc doc/en/ %dir %{hb_etcdir} %verify(not md5 mtime) %config %{hb_etcdir}/hb-charmap.def %{_bindir}/harbour %{_bindir}/hbpp -%{_bindir}/hb-mkdyn #%{_bindir}/hbtest %{_bindir}/hbrun %{_bindir}/hbi18n