From 59cb50f94abf6469b2d7a3baecd6dbcc09badbd3 Mon Sep 17 00:00:00 2001 From: Dan Bloomberg Date: Fri, 14 Dec 2018 09:36:07 -0800 Subject: [PATCH] Prepare for release 1.77.0. Updated documentation. * highlevel.html, READEME.html, version-notes.html, comments in several utility files (fpix numa, pta, utils). --- Doxyfile | 2 +- README.html | 37 ++++++++++++++++++++++++++++--------- src/fpix1.c | 8 ++++++-- src/fpix2.c | 2 ++ src/numafunc1.c | 12 ++++++++++++ src/numafunc2.c | 11 +++++++++++ src/ptafunc1.c | 10 ++++++++++ src/ptafunc2.c | 7 +++++++ src/utils1.c | 11 +++++++++++ src/utils2.c | 9 +++++++++ version-notes.html | 5 +++-- 11 files changed, 100 insertions(+), 14 deletions(-) diff --git a/Doxyfile b/Doxyfile index b8e761508..3f6eff31b 100644 --- a/Doxyfile +++ b/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = Leptonica # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.76.1 +PROJECT_NUMBER = 1.77.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/README.html b/README.html index 3cef9e35b..c40996e8d 100644 --- a/README.html +++ b/README.html @@ -75,12 +75,12 @@ - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *====================================================================*/ -README (version 1.76.0) -File update: 1 May 2018 +README (version 1.77.0) +File update: 14 Dec 2018 --------------------------- -gunzip leptonica-1.76.0.tar.gz -tar -xvf leptonica-1.76.0.tar +gunzip leptonica-1.77.0.tar.gz +tar -xvf leptonica-1.77.0.tar @@ -89,6 +89,7 @@

Building leptonica
I/O libraries leptonica is dependent on
+Generating documentation using doxygen
Developing with leptonica
What's in leptonica?

@@ -116,7 +117,7 @@

Libraries, executables and prototypes are easily made, as described below. When you extract from the archive, all files are put in a - subdirectory 'leptonica-1.76.0'. In that directory you will + subdirectory 'leptonica-1.77.0'. In that directory you will find a src directory containing the source files for the library, and a prog directory containing source files for various testing and example programs. @@ -251,7 +252,7 @@

make install Configure also supports building in a separate directory from the - source. Run "/(path-to)/leptonica-1.76.0/configure" and then "make" + source. Run "/(path-to)/leptonica-1.77.0/configure" and then "make" from the desired build directory. Configure has a number of useful options; run "configure --help" for @@ -446,6 +447,23 @@

+

+Generating documentation using doxygen +

+ +
+The source code is set up to allow generation of documentation using doxygen.
+To do this:
+(1) Download the Debian doxygen package:
+     sudo apt-get install doxygen
+(2) In the root client directory containing Doxyfile:
+     doxygen Doxyfile
+The documentation will be generated in a 'doc' subdirectory, accessible
+from this file (relative to the root)
+    ./doc/html/index.html
+
+ +

Developing with leptonica

@@ -488,7 +506,7 @@

2. Global parameter to enable development and testing For security reasons, with the exception of the regression utility - (regutils.c), leptonica as shipped (starting with 1.76) does not allow: + (regutils.c), leptonica as shipped (starting with 1.77) does not allow: * 'system(3)' fork/exec * writes to temp files with compiled-in names System calls are used either to run gnuplot or display an image on @@ -1096,8 +1114,8 @@

http://code.google.com/p/leptonica, as well as all versions after 1.60. These have now been transferred by Egor Pugin to github: github.com/danbloomberg/leptonica - where all releases (1.42 - 1.76.0) are available; e.g., - https://github.com/DanBloomberg/leptonica/releases/tag/1.76.0 + where all releases (1.42 - 1.77.0) are available; e.g., + https://github.com/DanBloomberg/leptonica/releases/tag/1.77.0 Most recent releases from 1.67 are also available at leptonica.org/download.html Note that if you are downloading from github, the releases are more @@ -1118,6 +1136,7 @@

1.74 : 5.1.0 1.75 : 5.2.0 1.76 : 5.3.0 + 1.77 : 5.3.0 A brief version chronology is maintained in version-notes.html. Starting with gcc 4.3.3, error warnings (-Werror) are given for diff --git a/src/fpix1.c b/src/fpix1.c index 1070faf68..f16f19f19 100644 --- a/src/fpix1.c +++ b/src/fpix1.c @@ -28,8 +28,12 @@ * \file fpix1.c *
  *
- *    This file has basic constructors, destructors and field accessors
- *    for FPix, FPixa and DPix.  It also has uncompressed read/write.
+ *    ---------------------------------------------------
+ *    This file has these FPix, FPixa and DPix utilities:
+ *         - creation and destruction
+ *         - accessors
+ *         - serialization and deserialization
+ *    ---------------------------------------------------
  *
  *    FPix Create/copy/destroy
  *          FPIX          *fpixCreate()
diff --git a/src/fpix2.c b/src/fpix2.c
index cfc782bda..e8d0a3d5a 100644
--- a/src/fpix2.c
+++ b/src/fpix2.c
@@ -28,6 +28,7 @@
  * \file fpix2.c
  * 
  *
+ *    ------------------------------------------
  *    This file has these FPix utilities:
  *       ~ interconversions with pix, fpix, dpix
  *       ~ min and max values
@@ -37,6 +38,7 @@
  *       ~ border functions
  *       ~ simple rasterop (source --> dest)
  *       ~ geometric transforms
+ *    ------------------------------------------
  *
  *    Interconversions between Pix, FPix and DPix
  *          FPIX          *pixConvertToFPix()
diff --git a/src/numafunc1.c b/src/numafunc1.c
index b30663aeb..b294e7c0a 100644
--- a/src/numafunc1.c
+++ b/src/numafunc1.c
@@ -28,6 +28,18 @@
  * \file  numafunc1.c
  * 
  *
+ *      --------------------------------------
+ *      This file has these Numa utilities:
+ *         - arithmetic operations
+ *         - simple data analysis
+ *         - generation of special sequences
+ *         - permutations
+ *         - interpolation
+ *         - sorting
+ *         - data analysis requiring sorting
+ *         - joins and rearrangements
+ *      --------------------------------------
+ *
  *      Arithmetic and logic
  *          NUMA        *numaArithOp()
  *          NUMA        *numaLogicalOp()
diff --git a/src/numafunc2.c b/src/numafunc2.c
index d6ff8c237..5f37df7aa 100644
--- a/src/numafunc2.c
+++ b/src/numafunc2.c
@@ -28,6 +28,17 @@
  * \file  numafunc2.c
  * 
  *
+ *      --------------------------------------
+ *      This file has these Numa utilities:
+ *         - morphological operations
+ *         - arithmetic transforms
+ *         - windowed statistical operations
+ *         - histogram extraction
+ *         - histogram comparison
+ *         - extrema finding
+ *         - frequency and crossing analysis
+ *      --------------------------------------
+
  *      Morphological (min/max) operations
  *          NUMA        *numaErode()
  *          NUMA        *numaDilate()
diff --git a/src/ptafunc1.c b/src/ptafunc1.c
index 44b1442b1..fe0c0a127 100644
--- a/src/ptafunc1.c
+++ b/src/ptafunc1.c
@@ -29,6 +29,16 @@
  * \file  ptafunc1.c
  * 
  *
+ *      --------------------------------------
+ *      This file has these Pta utilities:
+ *         - simple rearrangements
+ *         - geometric analysis
+ *         - min/max and filtering
+ *         - least squares fitting
+ *         - interconversions with Pix and Numa
+ *         - display into a pix
+ *      --------------------------------------
+ *
  *      Simple rearrangements
  *           PTA      *ptaSubsample()
  *           l_int32   ptaJoin()
diff --git a/src/ptafunc2.c b/src/ptafunc2.c
index d0c9a3a71..09ba362ff 100644
--- a/src/ptafunc2.c
+++ b/src/ptafunc2.c
@@ -28,6 +28,13 @@
  * \file  ptafunc2.c
  * 
  *
+ *      --------------------------------------
+ *      This file has these Pta utilities:
+ *         - sorting
+ *         - ordered set operations
+ *         - hash map operations
+ *      --------------------------------------
+ *
  *      Sorting
  *           PTA        *ptaSort()
  *           l_int32     ptaGetSortIndex()
diff --git a/src/utils1.c b/src/utils1.c
index 6a6456e66..804927a78 100644
--- a/src/utils1.c
+++ b/src/utils1.c
@@ -28,6 +28,17 @@
  * \file utils1.c
  * 
  *
+ *       ------------------------------------------
+ *       This file has these utilities:
+ *         - error, warning and info messages
+ *         - low-level endian conversions
+ *         - file corruption operations
+ *         - random and prime number operations
+ *         - 64-bit hash functions
+ *         - leptonica version number accessor
+ *         - timing and date operations
+ *       ------------------------------------------
+ *
  *       Control of error, warning and info messages
  *           l_int32    setMsgSeverity()
  *
diff --git a/src/utils2.c b/src/utils2.c
index 730da3087..dde4c7b7d 100644
--- a/src/utils2.c
+++ b/src/utils2.c
@@ -28,6 +28,15 @@
  * \file utils2.c
  * 
  *
+ *      ------------------------------------------
+ *      This file has these utilities:
+ *         - safe string operations
+ *         - find/replace operations on strings
+ *         - read/write between file and memory
+ *         - multi-platform file and directory operations
+ *         - file name operations
+ *      ------------------------------------------
+ *
  *       Safe string procs
  *           char      *stringNew()
  *           l_int32    stringCopy()
diff --git a/version-notes.html b/version-notes.html
index 267ad04e9..e76895e94 100644
--- a/version-notes.html
+++ b/version-notes.html
@@ -77,7 +77,7 @@
 
 
 

Version Notes for Leptonica

-

21 Jun 2018

+

14 Dec 2018


@@ -89,7 +89,7 @@

 
-1.77.0  To be released
+1.77.0  14 Dec 18
         Here is the current status of CVE issues with leptonica; see
           https://security-tracker.debian.org/tracker/source-package/leptonlib
         * CVE-2018-7442: potential injection attack because '/' is allowed
@@ -154,6 +154,7 @@ 

Fixed uninitialized data in pixCentroid() on 1 bpp pix. New reg test: bytea_reg.c. (removed byteatest.c) Fixed bug in non-transcoding pdf generation from 1 bpp png. + Added LGTM to static analyzers that run over the library. 1.76.0 1 May 18 Modify infrastructure to fix outstanding security issues. By default,