Skip to content

Commit

Permalink
Version 2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
pgulutzan committed Feb 15, 2024
1 parent 46bde57 commit 8fdc03b
Show file tree
Hide file tree
Showing 18 changed files with 209 additions and 158 deletions.
22 changes: 11 additions & 11 deletions CMakeLists.txt
@@ -1,4 +1,4 @@
# Copyright (c) 2023 by Peter Gulutzan. All rights reserved.
# Copyright (c) 2024 by Peter Gulutzan. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -148,8 +148,8 @@

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

# FILENAME_RELEASE
# Default is "1". Ordinarily it doesn't need to be changed.
Expand All @@ -161,21 +161,21 @@

# e.g. to generate .deb file and install with dpkg:
# deb_build.sh, which copies files and invokes debian/rules, which uses CMakeLists.txt
# sudo dpkg -i ocelotgui_2.1.0-1_amd64.deb
# sudo dpkg -i ocelotgui_2.2.0-1_amd64.deb
# but see also comments in deb_build.sh and debian/README.Debian

# e.g. to generate .rpm file and install with rpm:
# rpm_build.sh, which copies files and invokes ocelotgui.spec, which uses CMakeLists.txt
# rpmlint ocelotgui-2.1.0-1.x86_64.rpm
# rpm -i ocelotgui-2.1.0-1.x86_64.rpm
# rpmlint ocelotgui-2.2.0-1.x86_64.rpm
# rpm -i ocelotgui-2.2.0-1.x86_64.rpm
# but see also comments in rpm_build.sh

# Todo: We only check if CMAKE_SYSTEM_PROCESSOR = x86_64. On FreeBSD 12, uname -p says amd64.
# Todo: Maybe set(CMAKE_CXX_FLAGS "${Qt6Widgets_EXECUTABLE_COMPILE_FLAGS}") as we do for Qt5Widgets.
# Todo: We do not install README_tarantool.htm or the *_tarantool.png files, though we put them on github.
# Todo: We do not install ocelotgui-logo.png, we only install ocelotgui_logo.png.

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

Expand Down Expand Up @@ -546,14 +546,14 @@ if (PACKAGE_TYPE MATCHES "RPM")
install(FILES ocelotgui.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
endif (PACKAGE_TYPE MATCHES "RPM")

# version = 2.1.0
# version = 2.2.0
set(CPACK_PACKAGE_VERSION_MAJOR "2")
set(CPACK_PACKAGE_VERSION_MINOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "2")
set(CPACK_PACKAGE_VERSION_PATCH "0")

# I assume nobody wants package names like ocelotgui_2.1.0-Linux.deb
# I assume nobody wants package names like ocelotgui_2.2.0-Linux.deb
# but that's what I get if CMAKE_SYSTEM_NAME = "Linux".
# I'd prefer ocelotgui_2.1.0-1_amd64.deb or ocelotgui-2.1.0.x86_64.rpm
# I'd prefer ocelotgui_2.2.0-1_amd64.deb or ocelotgui-2.2.0.x86_64.rpm
# If it's neither "DEB" nor "RPM", = default.
set(FILENAME_PLATFORM_FOR_DEB "Linux")
set(FILENAME_PLATFORM_FOR_RPM "Linux")
Expand Down
70 changes: 39 additions & 31 deletions README.htm
@@ -1,15 +1,15 @@

ocelotgui

<P>Version 2.1.0</P>
<P>Version 2.2.0</P>

<P>The ocelotgui GUI, a database client, allows users to connect to
a MySQL or MariaDB DBMS server, enter SQL statements, and receive results.
Some of its features are: syntax highlighting, user-settable colors
and fonts for each part of the screen, result-set displays
with multi-line rows and resizable columns, and a debugger.</P>

<P>Copyright (c) 2023 by Peter Gulutzan.
<P>Copyright (c) 2024 by Peter Gulutzan.
All rights reserved.</P>

<P>For the GPL license terms see <A href="https://github.com/ocelot-inc/ocelotgui/blob/master/LICENSE.GPL">https://github.com/ocelot-inc/ocelotgui/blob/master/LICENSE.GPL</A>.</P>
Expand Down Expand Up @@ -123,21 +123,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/2.1.0/ocelotgui_2.1.0-1_i386.deb
sudo apt install ./ocelotgui_2.1.0-1_i386.deb</PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0-1_i386.deb
sudo apt install ./ocelotgui_2.2.0-1_i386.deb</PRE>
For 64-bit, Debian-like, Qt5<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0-1_amd64.deb
sudo apt install ./ocelotgui_2.1.0-1_amd64.deb</PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0-1_amd64.deb
sudo apt install ./ocelotgui_2.2.0-1_amd64.deb</PRE>
For 64-bit, RPM-like, Qt5<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0-1.x86_64.rpm
sudo rpm -i ocelotgui-2.1.0-1.x86_64.rpm</PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0-1.x86_64.rpm
sudo rpm -i ocelotgui-2.2.0-1.x86_64.rpm</PRE>
For 64-bit, any Linux, Qt5<PRE>
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0.tar.gz
tar zxvf ocelotgui-2.1.0.tar.gz
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz
tar zxvf ocelotgui-2.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/2.1.0/ocelotgui-2.1.0.tar.gz
tar zxvf ocelotgui-2.1.0.tar.gz
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz
tar zxvf ocelotgui-2.2.0.tar.gz
ocelotgui/ocelotgui-qt4</PRE>
</P>

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

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

<P>Version 2.1.0, September 29 2023</P>
<P>Version 2.2.0, February 15 2024</P>

<P>Copyright (c) 2023 by Peter Gulutzan. All rights reserved.</P>
<P>Copyright (c) 2024 by Peter Gulutzan. All rights reserved.</P>

<P>This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -1327,6 +1327,12 @@ <H3 id="Appendix-1">Appendix 1 Details about ocelotgui options</H3><HR>
<td valign="top">... Options that begin with "ocelot_" are only recognized
by the ocelotgui client. Everything on the Settings menu has an
associated option name. The intuitively-named settings options are:
ocelot_explorer_action ocelot_explorer_applicable_dbmss ocelot_explorer_applicable_types
ocelot_explorer_background_color ocelot_explorer_detached ocelot_explorer_enabled
ocelot_explorer_font_family ocelot_explorer_font_size ocelot_explorer_font_style
ocelot_explorer_font_weight ocelot_explorer_height ocelot_explorer_left
ocelot_explorer_shortcut ocelot_explorer_text ocelot_explorer_text_color
ocelot_explorer_top ocelot_explorer_visible ocelot_explorer_width
ocelot_extra_rule_1_text_color ocelot_extra_rule_1_background_color
ocelot_extra_rule_1_condition ocelot_extra_rule_1_display_as
ocelot_grid_text_color ocelot_grid_background_color
Expand Down Expand Up @@ -2081,7 +2087,7 @@ <H3 id="Appendix-3">Appendix 3 Tarantool</H3><HR>
<P>Ordinarily ocelotgui is a client for
MySQL/MariaDB, and some documentation
assumes that. However, it is possible
to connect to Tarantool Tarantool 2.x (with SQL) instead.
to connect to Tarantool 2.x or 3.x (with SQL) instead.
You get all the same features except the debugger.</P>

<P>The ocelotgui connection to Tarantool is not produced or approved by Tarantool.</P>
Expand Down Expand Up @@ -2129,12 +2135,12 @@ <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 2.1.0 version is okay at the time of release,
The Release 2.2.0 version is okay at the time of release,
but some things might not be up to date.
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>
<P>For this example we assume Tarantool 2.x. Start the Tarantool server, and say:<br>
box.cfg{listen=3301}<br>
-- Second connect if you want LUA '...' to work<br>
box.schema.user.grant('guest','read,write,execute','universe')<br>
Expand Down Expand Up @@ -2290,11 +2296,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/2.1.0/ocelotgui-2.1.0-1.ocelotgui.zip<br>
https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.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-2.1.0-1.ocelotgui.zip c:\ocelotgui<br>
PowerShell Expand-Archive ocelotgui-2.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 @@ -2538,7 +2544,7 @@ <H4>Building ocelotgui.exe from source</H4>
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 PKGBUILD 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 conditional.png explorer1.png explorer2.png explorer3.png explorer4.png explorer5.png explorer6.png explorer7.png explorer8.png explorer9.png

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


: (Dynamic linking)
Expand Down Expand Up @@ -2616,23 +2622,25 @@ <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 2.1.0 is at
https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0.orig.tar.gz.
Thus release 2.2.0 is at
https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.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/2.1.0/ocelotgui_2.1.0.orig.tar.gz
wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.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_2.1.0.orig.tar.gz.</P>
and click ocelotgui_2.2.0.orig.tar.gz.</P>

<P>On Debian-like systems some packages must be installed first.
For example on Ubuntu:<PRE>
sudo apt-get install build-essential gcc cmake make
#It is possible to say libmariadbclient-dev instead of libmysqlclient-dev
#The name of the following package (containing mysql.h) varies,
#it might be libmariadbclient-dev or libmariadb-dev
sudo apt-get install libmysqlclient-dev
#Do the following if and only if build is for use with Qt4
sudo apt-get install qt4-dev-tools
#Do the following if and only if build is for use with Qt5
#It is okay if qt5-default is absent
sudo apt-get install qt5-default qtbase5-dev qt5-qmake qtbase5-dev-tools
#Do the following if and only if build is for use with Qt6
sudo apt-get install qt-6-base-dev qt-6-base-dev-tools</PRE></P>
Expand Down Expand Up @@ -2662,8 +2670,8 @@ <H3 id="getting-and-using-the-ocelotgui-source">Appendix 5 Getting and using the
<P>(Package builds on ArchLinux-like systems can also be done with the PKGBUILD file in the ocelotgui github repository.)</P>

<P>Unpack all the source files by saying:<PRE>
tar -zxvf ocelotgui_2.1.0.orig.tar.gz
cd ocelotgui-2.1.0</PRE>
tar -zxvf ocelotgui_2.2.0.orig.tar.gz
cd ocelotgui-2.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 @@ -2687,12 +2695,12 @@ <H3 id="getting-and-using-the-ocelotgui-source">Appendix 5 Getting and using the
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_2.1.0-1_amd64.deb
#or sudo apt install /tmp/debian3/ocelotgui_2.1.0-1_i386.deb</PRE>
sudo apt install /tmp/debian3/ocelotgui_2.2.0-1_amd64.deb
#or sudo apt install /tmp/debian3/ocelotgui_2.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-2.1.0-1.x86_64.rpm
#or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.i686.rpm</PRE>
sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-1.x86_64.rpm
#or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.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

0 comments on commit 8fdc03b

Please sign in to comment.