Skip to content

Commit

Permalink
Version 1.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pgulutzan committed Oct 29, 2020
1 parent a96e2cb commit dfe84d2
Show file tree
Hide file tree
Showing 20 changed files with 366 additions and 632 deletions.
31 changes: 17 additions & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@

# FILENAME_EXTRA
# Default is blank. Ocelot passes -DFILENAME_EXTRA="qt4" when building with qt4,
# so the final package name will look like ocelotgui_1.1.0qt4-1_amd64.deb or
# ocelotgui-1.1.0qt4-1.x86_64.rpm. Ordinarily it should not be specified.
# so the final package name will look like ocelotgui_1.2.0qt4-1_amd64.deb or
# ocelotgui-1.2.0qt4-1.x86_64.rpm. Ordinarily it should not be specified.

# FILENAME_RELEASE
# Default is "1". This affects filenames generated by cpack. Ordinarily it doesn't need to be changed.
Expand All @@ -157,8 +157,8 @@
# make
# strip --remove-section=.comment ocelotgui
# cpack
# lintian ocelotgui_1.1.0-1_amd64.deb
# sudo dpkg -i ocelotgui_1.1.0-1_amd64.deb
# lintian ocelotgui_1.2.0-1_amd64.deb
# sudo dpkg -i ocelotgui_1.2.0-1_amd64.deb
# Todo: lintian will warn "new-package-should-close-itp-bug", which we ignore.
# Todo: lintian will warn about permissions if you are not root, which we work around by being root.
# but see also comments in rpm_build.sh and debian/README.Debian, we intend to stop using cpack
Expand All @@ -167,16 +167,16 @@
# cmake . -DCPACK_GENERATOR="RPM"
# make
# cpack
# rpmlint ocelotgui-1.1.0-1.x86_64.rpm
# rpm -i ocelotgui-1.1.0-1.x86_64.rpm
# rpmlint ocelotgui-1.2.0-1.x86_64.rpm
# rpm -i ocelotgui-1.2.0-1.x86_64.rpm
# Todo: rpmlint will warn "standard-dir-owned-by-package" for /usr/share/man and /usr/share/man/man1, which we ignore.
# Todo: rpmlint will warn "no-signature", which we ignore.
# Todo: rpmlint will warn "no-packager-tag", wich we ignore.
# but see also comments in rpm_build.sh and debian/README.Debian, we intend to stop using cpack

# Todo: We only check if CMAKE_SYSTEM_PROCESSOR = x86_64. On FreeBSD 12, uname -p says amd64.

message("-- CmakeLists.txt for ocelotgui 1.1.0")
message("-- CmakeLists.txt for ocelotgui 1.2.0")
message("-- see comments in CMakeLists.txt for special instructions")
message("-- see README.md for general instructions for building")

Expand Down Expand Up @@ -405,6 +405,9 @@ install(TARGETS ocelotgui RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${jpg_files} DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES ${htm_files} DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES debugger.png DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES completer_1.png DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES completer_2.png DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES completer_3.png DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES menu-debug.png DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES menu-edit.png DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES menu-file.png DESTINATION ${CMAKE_INSTALL_DOCDIR})
Expand Down Expand Up @@ -454,7 +457,7 @@ install(FILES ocelotgui-logo.png DESTINATION ${CMAKE_INSTALL_DATADIR}/pixmaps)
if (CPACK_GENERATOR MATCHES "DEB")
#lintian complains changelog-file-missing-in-native-package, this fixes it,
#but lintian will still complain new-package-should-close-itp-bug
#which we cannot fix until version >= 1.1.0 and someone posts an ITP bug
#which we cannot fix until version >= 1.2.0 and someone posts an ITP bug
execute_process(COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/changelog ${CMAKE_CURRENT_SOURCE_DIR}/changelog.bak)
execute_process(COMMAND gzip -9 -f -n ${CMAKE_CURRENT_SOURCE_DIR}/changelog)
execute_process(COMMAND mv ${CMAKE_CURRENT_SOURCE_DIR}/changelog.bak ${CMAKE_CURRENT_SOURCE_DIR}/changelog)
Expand Down Expand Up @@ -499,21 +502,21 @@ if (PACKAGE_TYPE MATCHES "RPM")
endif (PACKAGE_TYPE MATCHES "RPM")


# version = 1.1.0
# version = 1.2.0
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GUI client for MySQL or MariaDB")
set(CPACK_PACKAGE_VENDOR "Ocelot Computer Services Inc.")
set(CPACK_PACKAGE_CONTACT "Peter Gulutzan")
set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "2")
set(CPACK_PACKAGE_VERSION_PATCH "0")
# Todo: set(CPACK_PACKAGE_DESCRIPTION_FILE first-lines-of-README)
# CPACK_PACKAGE_INSTALL_DIRECTORY = default
set(CPACK_PACKAGE_ICON ocelotgui-logo.png)
# CPACK_PROJECT_CONFIG_FILE = nonexistent

# I assume nobody wants package names like ocelotgui_1.1.0-Linux.deb
# I assume nobody wants package names like ocelotgui_1.2.0-Linux.deb
# but that's what I get if CMAKE_SYSTEM_NAME = "Linux".
# I'd prefer ocelotgui_1.1.0-1_amd64.deb or ocelotgui-1.1.0.x86_64.rpm
# I'd prefer ocelotgui_1.2.0-1_amd64.deb or ocelotgui-1.2.0.x86_64.rpm
# If it's neither "DEB" nor "RPM", CPACK_PACKAGE_FILE_NAME = default.
set(FILENAME_PLATFORM_FOR_DEB "Linux")
set(FILENAME_PLATFORM_FOR_RPM "Linux")
Expand Down Expand Up @@ -556,7 +559,7 @@ if (CPACK_GENERATOR MATCHES "DEB")
# CPACK_RESOURCE_FILE_WELCOME = nonexistent
# CPACK_GENERATOR = we expect it to be specified if cpack will be used.
# CPACK_DEBIAN_PACKAGE_NAME = default = CPACK_PACKAGE_NAME = project name
# CPACK_DEBIAN_PACKAGE_VERSION = default = CPACK_PACKAGE_VERSION = 1.1.0
# CPACK_DEBIAN_PACKAGE_VERSION = default = CPACK_PACKAGE_VERSION = 1.2.0
# CPACK_DEBIAN_PACKAGE_DEPENDS = todo?
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Peter Gulutzan <pgulutzan@ocelot.ca>")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Ocelot GUI (ocelotgui), a database client, allows users to connect to
Expand All @@ -577,7 +580,7 @@ if (CPACK_GENERATOR MATCHES "RPM")
# Todo: For other than Mageia prefer CPACK_RPM_PACKAGE_GROUP "Applications/Databases"
#CPACK_RPM_PACKAGE_SUMMARY = default = CPACK_PACKAGE_DESCRIPTION_SUMMARY
set(CPACK_RPM_PACKAGE_NAME "ocelotgui")
#CPACK_RPM_PACKAGE_VERSION = DEFAULT = CPACK_PACKAGE_VERSION = 1.1.0
#CPACK_RPM_PACKAGE_VERSION = DEFAULT = CPACK_PACKAGE_VERSION = 1.2.0
set(CPACK_RPM_PACKAGE_RELEASE ${FILENAME_RELEASE})
set(CPACK_RPM_PACKAGE_LICENSE GPLv2)
set(CPACK_RPM_PACKAGE_GROUP "Databases")
Expand Down
90 changes: 48 additions & 42 deletions README.htm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Ocelot ocelotgui

<P>Version 1.1.0</P>
<P>Version 1.2.0</P>

<P>The Ocelot GUI (ocelotgui), a database client, allows users to connect to
a MySQL or MariaDB DBMS server, enter SQL statements, and receive results.
Expand Down Expand Up @@ -118,21 +118,21 @@ <H3 id="getting-the-ocelotgui-executable-package">Getting the ocelotgui executab
cut and paste the corresponding pair of instructions onto your computer and
you can be up and running in about 15 seconds.<BR><BR>
For 32-bit, Debian-like, Qt5<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.1.0/ocelotgui_1.1.0-1_i386.deb
sudo apt install ./ocelotgui_1.1.0-1_i386.deb</PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.2.0/ocelotgui_1.2.0-1_i386.deb
sudo apt install ./ocelotgui_1.2.0-1_i386.deb</PRE>
For 64-bit, Debian-like, Qt5<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.1.0/ocelotgui_1.1.0-1_amd64.deb
sudo apt install ./ocelotgui_1.1.0-1_amd64.deb</PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.2.0/ocelotgui_1.2.0-1_amd64.deb
sudo apt install ./ocelotgui_1.2.0-1_amd64.deb</PRE>
For 64-bit, RPM-like, Qt5<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.1.0/ocelotgui-1.1.0-1.x86_64.rpm
sudo rpm -i ocelotgui-1.1.0-1.x86_64.rpm</PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.2.0/ocelotgui-1.2.0-1.x86_64.rpm
sudo rpm -i ocelotgui-1.2.0-1.x86_64.rpm</PRE>
For 64-bit, any Linux, Qt5<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.1.0/ocelotgui-1.1.0.tar.gz
tar zxvf ocelotgui-1.1.0.tar.gz
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.2.0/ocelotgui-1.2.0.tar.gz
tar zxvf ocelotgui-1.2.0.tar.gz
ocelotgui/ocelotgui-qt5</PRE>
For 64-bit, any Linux, Qt4 (deprecated)<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.1.0/ocelotgui-1.1.0.tar.gz
tar zxvf ocelotgui-1.1.0.tar.gz
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.2.0/ocelotgui-1.2.0.tar.gz
tar zxvf ocelotgui-1.2.0.tar.gz
ocelotgui/ocelotgui-qt4</PRE>
</P>

Expand Down Expand Up @@ -166,7 +166,7 @@ <H2 ID="some-screenshots">Some screenshots</H2><HR>

<H2 ID="user-manual">User Manual</H2><HR><HR>

<P>Version 1.1.0, July 31 2020</P>
<P>Version 1.2.0, October 29 2020</P>

<P>Copyright (c) 2014-2020 by Ocelot Computer Services Inc. All rights reserved.</P>

Expand Down Expand Up @@ -556,15 +556,23 @@ <H3 id="special-effects">Special Effects</H3><HR>
fail to detect changes on the server. If that appears to be the case, say
SET SESSION SQL_MODE = @@SESSION.SQL_MODE; to update it.</P>

<P>RE: TAB COMPLETION. While a user is entering an SQL statement,
<P>RE: AUTOCOMPLETION. While a user is entering an SQL statement,
ocelotgui will display a list of possible words that may follow.
Hitting the Tab key will cause the first word in the list to be
displayed and accepted.</P>
displayed and accepted.
Users can use arrow keys to select other words,
and can use "set ocelot_shortcut_autocomplete='...'; to choose a different key instead of the Tab key,
and can use "set ocelot_completer_timeout=...'; to choose how many many seconds the list will be visible,
and can use "rehash;" to update the list.<br>
<A href="completer_1.png"><img src="completer_1.png" alt="completer_1.png" height="128" width="256"></A><br>
<A href="completer_2.png"><img src="completer_2.png" alt="completer_2.png" height="128" width="256"></A><br>
<A href="completer_3.png"><img src="completer_3.png" alt="completer_3.png" height="128" width="256"></A>
</P>

<P>RE: HINTING FOR COLUMN NAMES. Although hints for syntax appear by
default, hints for table / column identifiers do not. In order to
default, hints for table / column identifiers might not. In order to
make identifiers appear on the hint list: (1) ensure the setting
for auto_rehash has not been turned off; (2) enter the statement
for auto_rehash has not been turned off, and/or (2) enter the statement
"REHASH;" to make the client ask the server for a list of identifiers
in the current database; (3) when entering an SQL statement, type `
(backtick) at the point where an identifier is expected.</P>
Expand Down Expand Up @@ -1024,7 +1032,7 @@ <H3 id="Appendix-1">Appendix 1 Details about ocelotgui options</H3><HR>

<tr>
<td valign="top">ocelot_shortcut_*</td>
<td valign="top">ocelot_shortcut_connect, ocelotshortcut_exit, etc. ...
<td valign="top">ocelot_shortcut_connect, ocelot_shortcut_exit, etc. ...
You can change what the shortcut is, for any menu
item, by specifying its name and a new keysequence.
For example: SET ocelot_shortcut_paste = 'Ctrl+Shift+K';</td>
Expand Down Expand Up @@ -1711,7 +1719,7 @@ <H3 id="Appendix-3">Appendix 3 Tarantool</H3><HR>
and build from source as instructed in the Tarantool manual.</P>

<P>Usually you do not need to install the Tarantool client (libtarantool.so) library,
but it is possible to use it if you build ocelotgui with "cmake -DTHIRD_PARTY=0".
but it is possible to use it if you build ocelotgui with "cmake -DOCELOT_THIRD_PARTY=0".
If you did that, then this is how to get tarantool.so.
The tarantool-dev package does not have it any more.
Clone and follow the instructions at
Expand Down Expand Up @@ -1743,9 +1751,9 @@ <H3 id="Appendix-3">Appendix 3 Tarantool</H3><HR>
Tarantool library, its code is embedded in ocelotgui.exe.</P>

<P>You need the latest ocelotgui client.
The Release 1.1.0 version is okay at the time of release,
The Release 1.2.0 version is okay at the time of release,
but some things might not be up to date.
It is better to build it from source.
It may be better to build it from source.
Download from github.com/ocelot-inc/ocelotgui.</P>

<P>Start the Tarantool server, and say:<br>
Expand Down Expand Up @@ -1912,11 +1920,11 @@ <H3 id="Appendix-4">Appendix 4 Windows</H3><HR>
* Download the ocelotgui zip file from github.
Check https://github.com/ocelot-inc/ocelotgui/blob/master/README.md
to see where the latest release is. For example it might be
https://github.com/ocelot-inc/ocelotgui/releases/download/1.1.0/ocelotgui-1.1.0-1.ocelotgui.zip<br>
https://github.com/ocelot-inc/ocelotgui/releases/download/1.2.0/ocelotgui-1.2.0-1.ocelotgui.zip<br>
* Unzip. It was zipped with 7-zip from http://www.7-zip.org,
but other utilities should work. For example, on Windows command prompt,
if you have the PowerShell utility on your path:
PowerShell Expand-Archive ocelotgui-1.1.0-1.ocelotgui.zip c:\ocelotgui<br>
PowerShell Expand-Archive ocelotgui-1.2.0-1.ocelotgui.zip c:\ocelotgui<br>
* Read the COPYING and LICENSE arrangements.
On Windows ocelotgui is statically linked to Qt and MariaDB libraries,
so the copyright and licensing is not the same as for Linux.<br>
Expand Down Expand Up @@ -2167,9 +2175,9 @@ <H4>Building ocelotgui.exe from source</H4>
: Make sure you can unzip ocelotgui.zip with both 7-zip and winzip.
copy release\ocelotgui.exe ocelotgui.exe
del ocelotui.zip
"C:\Program Files (x86)\7-Zip\7z" a -tzip ocelotgui.zip ocelotgui.exe changelog manual.htm ocelotgui-logo.png ocelotgui_logo.png shot8.jpg CMakeLists.txt menu-debug.png ocelotgui.pro shot9.jpg codeeditor.h menu-edit.png ocelotgui.ui special-detach.png COPYING menu-file.png options.txt shot10.jpg special-images.png COPYING.thirdparty menu-help.png ostrings.h shot11.png special-settings.png copyright menu-options.png README.htm shot1.jpg special-vertical.png debugger.png menu-run.png README.md shot2.jpg starting-dialog.png debugger_reference.txt menu-settings.png README.txt shot3.png starting.png example.cnf ocelotgui.1 readmylogin.c shot4.jpg statement-widget-example.png hparse.h ocelotgui.cpp result-widget-example.png shot5.jpg third_party.h install_sql.cpp ocelotgui.desktop rpmchangelog shot6.jpg windows.txt LICENSE.GPL ocelotgui.h shot7.jpg tarantool.txt rpm_build.sh ocelotgui.spec
"C:\Program Files (x86)\7-Zip\7z" a -tzip ocelotgui.zip ocelotgui.exe changelog manual.htm ocelotgui-logo.png ocelotgui_logo.png shot8.jpg CMakeLists.txt menu-debug.png ocelotgui.pro shot9.jpg codeeditor.h menu-edit.png ocelotgui.ui special-detach.png COPYING menu-file.png options.txt shot10.jpg special-images.png COPYING.thirdparty menu-help.png ostrings.h shot11.png special-settings.png copyright menu-options.png README.htm shot1.jpg special-vertical.png debugger.png menu-run.png README.md shot2.jpg starting-dialog.png debugger_reference.txt menu-settings.png README.txt shot3.png starting.png example.cnf ocelotgui.1 readmylogin.c shot4.jpg statement-widget-example.png hparse.h ocelotgui.cpp result-widget-example.png shot5.jpg third_party.h install_sql.cpp ocelotgui.desktop rpmchangelog shot6.jpg windows.txt LICENSE.GPL ocelotgui.h shot7.jpg tarantool.txt rpm_build.sh ocelotgui.spec completer_1.png completer_2.png completer_3.png

: What we actually put in the release looks like ocelotgui-1.1.0-1.ocelotgui.zip, so rename the .zip file at some point.
: What we actually put in the release looks like ocelotgui-1.2.0-1.ocelotgui.zip, so rename the .zip file at some point.


: (Dynamic linking)
Expand Down Expand Up @@ -2247,14 +2255,14 @@ <H3 id="getting-and-using-the-ocelotgui-source">Appendix 5 Getting and using the
by github and is named ocelotgui-[version].tar.gz.
Since version 1.0.9, there is also a release file named ocelotgui_[version].orig.tar.gz
which is preferable because it does not contain unnecessary executables.
Thus release 1.1.0 is at
https://github.com/ocelot-inc/ocelotgui/releases/download/1.1.0/ocelotgui_1.1.0.orig.tar.gz.
Thus release 1.2.0 is at
https://github.com/ocelot-inc/ocelotgui/releases/download/1.2.0/ocelotgui_1.2.0.orig.tar.gz.
Typically, to get it, one would cd to a download directory, then
<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.1.0/ocelotgui_1.1.0.orig.tar.gz
wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.2.0/ocelotgui_1.2.0.orig.tar.gz
</PRE>
or use a browser to go to <A HREF="https://github.com/ocelot-inc/ocelotgui/releases">https://github.com/ocelot-inc/ocelotgui/releases</A>
and click ocelotgui_1.1.0.orig.tar.gz.</P>
and click ocelotgui_1.2.0.orig.tar.gz.</P>

<P>On Debian-like systems some packages must be installed first.
For example on Ubuntu:<PRE>
Expand Down Expand Up @@ -2285,8 +2293,8 @@ <H3 id="getting-and-using-the-ocelotgui-source">Appendix 5 Getting and using the
sudo pacman -S mariadb-clients</PRE</P>

<P>Unpack all the source files by saying:<PRE>
tar -zxvf ocelotgui_1.1.0.orig.tar.gz
cd ocelotgui-1.1.0</PRE>
tar -zxvf ocelotgui_1.2.0.orig.tar.gz
cd ocelotgui-1.2.0</PRE>
At this point it is a good idea to examine the file CMakeLists.txt.
This file has comments about options which are available to
customize the build process: CMAKE_PREFIX_PATH, CMAKE_INSTALL_PREFIX,
Expand All @@ -2306,18 +2314,16 @@ <H3 id="getting-and-using-the-ocelotgui-source">Appendix 5 Getting and using the
However, it is sometimes better to make and install a package,
which will cause a few additional steps to be performed, such as
registering so that ocelotgui can be started from the launcher.
For Debian-like platforms say:<PRE>
cmake . -DCPACK_GENERATOR="DEB"
make
cpack
sudo apt install ocelotgui_1.1.0-1_i386.deb
#or sudo apt install ocelotgui_1.1.0-1_amd64.deb</PRE>
For RPM-like platforms say:<PRE>
cmake . -DCPACK_GENERATOR="RPM"
make
cpack
sudo rpm -i ocelotgui-1.1.0-1.x86_64.rpm
#or sudo rpm -i ocelotgui-1.1.0-1.i686.rpm if it is supplied</PRE>
Ocelot provides scripts that will create .deb or .rpm packages.
Please read the comments in the scripts before using them.
For Debian-like platforms say<PRE>
./deb_build.sh
sudo apt install /tmp/debian3/ocelotgui_1.2.0-1_amd64.deb
#or sudo apt install /tmp/debian3/ocelotgui_1.2.0-1_i386.deb</PRE>
For RPM-like platforms say<PRE>
./rpm_build.sh
sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-1.2.0-1.x86_64.rpm
#or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-1.2.0-1.i686.rpm</PRE>
Usually the result will go to subdirectories of /usr, in which case,
if /usr/bin is on your PATH, then saying ocelotgui will start the program.
</P>
Expand Down
Loading

0 comments on commit dfe84d2

Please sign in to comment.