# SPEC file to build Fedora and EL packages. # Name: dktools Version: 4.30.2 Source: file:///home/krause/work/dktools-4.30.2.tar.gz Release: 1%{?dist} Summary: Dirk Krause's tools and libraries Vendor: Dirk Krause # Packager: Dirk Krause Group: Applications/System License: BSD URL: http://sourceforge.net/p/dktools/wiki/Home/ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: mariadb-devel mariadb-connector-c-devel zlib-devel bzip2-devel libpng-devel openssl-devel libjpeg-turbo-devel libtiff-devel net-snmp-devel libdb-devel wxGTK3 wxGTK3-devel systemd %{?systemd_requires} Requires: zlib bzip2 openssl mariadb-connector-c libpng libjpeg-turbo libtiff net-snmp libdb wxGTK3 Conflicts: dktools-rescue Prefix: %{_prefix} # ___PROVIDES___ # ----- RPMLINT (Fedora Core 27) ----- # In the lines below the spelling checker finds false positives: # wxWidgets htb dk fic bmm blks eradisk recoding sqlsplit mysqldump # uid pwgen recv dkdbt octpgfpl. %description A set of tools for graphics conversion, text conversion, software development, administration and printing and some general-purpose tools. bmpp / wxbmpp Convert PNG/JPEG/TIFF to PS/EPS/PDF fig2lat Convert FIG to PGF,EPS+TeX,PDF+TeX,EPS,SVG wximgsz Suggest good sizes to scale bitmap images htmlbook Publish HTML like a book dkct Preprocessor for C, C++, Objective-C and Java (debugging/tracing, state machines, wxWidgets GUIs) dkwxwiz Create project skeleton for wxWidgets+dktools based programs wxdkhtb Viewer for *.htb help files itadmin Use a MySQL database to manage your IT dk-ls ls clone, configurable column order dk-fic File integrity checker dk-bmm Backup media manager (10 tape rotation) dk-blks Correct data stream block size (for use with dd) dk-eradisk Create data stream to erase a disk dk-hex Show data in hexadecimal or octal notation dk-cat cat clone, recoding between ASCII/UTF-8/UTF-16 dk-lines Select lines by line start pattern or line numbers dk-sort sort clone, processes ASCII/UTF-8/UTF-16 dk-t2h Text to HTML converter dk-t2l Text to LaTeX converter dk-sqlsplit Split overlong SQL lines from mysqldump dk-uid Find user ID in given range dk-pwgen Create passwords, PINs and WiFi keys dk-send Send data stream to one or multiple recipients over TCP dk-recv Receive data stream from a dk-send process dkdbt Tool for simple databases printqd Print quota enforcement for LPRng print systems wxpqdic GUI client to check print quota addctrld Add CTRL-D to end of data stream if not yet present wxdkclock Simple clock, one alert plpdftex Output driver for octpgfpl %prep %setup -q # %setup %build %configure --enable-packaging --with-systemd=%{_unitdir} echo buildroot %{buildroot} echo prefix %{_prefix} echo libdir %{_libdir} echo unitdir %{_unitdir} make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT echo 'I: chmod 0755' %{buildroot}%{_libdir}/lib*.so.* chmod 0755 %{buildroot}%{_libdir}/lib*.so.* if [ ! -d "%{buildroot}%{_datadir}/licenses" ] then mkdir -p "%{buildroot}%{_datadir}/licenses" chmod 755 "%{buildroot}%{_datadir}/licenses" fi if [ ! -d "%{buildroot}%{_datadir}/licenses/dktools" ] then mkdir -p "%{buildroot}%{_datadir}/licenses/dktools" chmod 755 "%{buildroot}%{_datadir}/licenses/dktools" fi echo 'I: Copying bsdlic.txt to LICENSE' cp bsdlic.txt %{buildroot}%{_datadir}/licenses/dktools/LICENSE chmod 644 %{buildroot}%{_datadir}/licenses/dktools/LICENSE if [ ! -d "%{buildroot}%{_datadir}/doc" ] then mkdir -p "%{buildroot}%{_datadir}/doc" chmod 755 "%{buildroot}%{_datadir}/doc" fi if [ ! -d "%{buildroot}%{_datadir}/doc/dktools" ] then mkdir -p "%{buildroot}%{_datadir}/doc/dktools" chmod 755 "%{buildroot}%{_datadir}/doc/dktools" fi echo 'I: Copying bsdlic.txt to LICENSE' cp bsdlic.txt %{buildroot}%{_datadir}/doc/dktools/LICENSE echo 'I: Copying INSTALL' cp INSTALL %{buildroot}%{_datadir}/doc/dktools/INSTALL echo 'I: Copying README' cp README %{buildroot}%{_datadir}/doc/dktools/README chmod 644 %{buildroot}%{_datadir}/doc/dktools/LICENSE chmod 644 %{buildroot}%{_datadir}/doc/dktools/INSTALL chmod 644 %{buildroot}%{_datadir}/doc/dktools/README %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc README bsdlic.txt %{_bindir}/* %{_libdir}/libdk3*.so.* %{_libdir}/libdk4*.so.* %{_libexecdir}/dktools/* %{_datadir}/applications/* %{_datadir}/dktools %{_datadir}/dk4app %{_datadir}/man/man1/* %{_datadir}/man/man5/* %{_datadir}/doc/dktools/* %{_datadir}/licenses/dktools/* %config(noreplace) %{_sysconfdir}/dk3app/dk3paper.conf %config(noreplace) %{_sysconfdir}/dk4app/dk4gra.conf %post ldconfig %postun ldconfig # # The rescue sub-package installs only those binaries useful on # a rescue live system. # %package rescue # # The devel sub-package installs developer support. # Summary: Only those DK tools binaries useful on a rescue live system Group: Applications/System Requires: zlib bzip2 openssl Conflicts: dktools Prefix: %{_prefix} %description rescue On live systems for system rescue we only need the dknet and dkt program. %files rescue %defattr(-,root,root,-) %doc README bsdlic.txt %{_bindir}/dk-send %{_bindir}/dk-recv %{_bindir}/dk-blks %{_bindir}/dk-cat %{_bindir}/dk-eradisk %{_bindir}/dk-ls %{_libdir}/libdk4socka.so.* %{_libdir}/libdk4sock.so.* %{_libdir}/libdk4maiodh.so.* %{_libdir}/libdk4maio8h.so.* %{_libdir}/libdk4app.so.* %{_libdir}/libdk4c.so.* %{_libdir}/libdk4maiodd.so.* %{_libdir}/libdk4maiowd.so.* %{_libdir}/libdk4maio8d.so.* %{_libdir}/libdk4base.so.* %{_datadir}/dktools/en/dk-send.* %{_datadir}/dktools/en/dk-recv.* %{_datadir}/dktools/en/dk-cat.* %{_datadir}/dktools/en/dk-blks.* %{_datadir}/dktools/en/dk-ls.* %{_datadir}/dktools/de/dk-send.* %{_datadir}/dktools/de/dk-recv.* %{_datadir}/dktools/de/dk-cat.* %{_datadir}/dktools/de/dk-blks.* %{_datadir}/dktools/de/dk-ls.* %post rescue ldconfig %postun rescue ldconfig %package rshdown Summary: Remote shutdown daemon Requires: dktools = %{version}-%{release} zlib bzip2 Prefix: %{_prefix} %description rshdown Using rshdown you can initiate a remote shutdown. %files rshdown %defattr(-,root,root,-) %{_sbindir}/rshdown %{_sbindir}/rshdown-init %{_sysconfdir}/rshdown/rshdown.conf.sample %{_unitdir}/rshdown.service %config(noreplace) %{_sysconfdir}/rshdown/rshdown.conf # RSHDOWN_SCRIPTLETS_START %post rshdown %systemd_post rshdown.service %preun rshdown %systemd_preun rshdown.service %postun rshdown %systemd_postun_with_restart rshdown.service # RSHDOWN_SCRIPTLETS_END %package printqd Summary: Print quota daemon for LPRng Requires: dktools = %{version}-%{release} zlib bzip2 Prefix: %{_prefix} %description printqd Printqd is a daemon to enforce print quota for the LPRng print system. %files printqd %defattr(-,root,root,-) %{_sbindir}/printqd %{_sysconfdir}/printqd/printqd.conf.sample %{_unitdir}/printqd.service %config(noreplace) %{_sysconfdir}/printqd/printqd.conf # PRINTQD_SCRIPTLETS_START %post printqd %systemd_post printqd.service %preun printqd %systemd_preun printqd.service %postun printqd %systemd_postun_with_restart printqd.service # PRINTQD_SCRIPTLETS_END %package devel Summary: Development files for libraries from the DK tools project Group: Development/Libraries Requires: dktools = %{version}-%{release} mysql-devel zlib-devel bzip2-devel libpng-devel openssl-devel libjpeg-devel libtiff-devel net-snmp-devel gcc libdb-devel wxGTK3 wxGTK3-devel Prefix: %{_prefix} %description devel If you want to use modules from the DK tools project in your programs, you need the libraries from the dktools-lib package and the header files provided by this project. %files devel %defattr(-,root,root,-) %{_includedir}/dktools-4 %{_libdir}/pkgconfig/dktools.pc %{_libdir}/libdk3*.so %{_libdir}/libdk4*.so %changelog * Tue Sep 15 2020 Dirk Krause 4.30.2-1 - Added SPDX-License-Identifier tags to many files. - Corrected full license terms back to original BSD-3-Clause text. * Sun Aug 23 2020 Dirk Krause 4.30.1-1 - Upgrade for dkct, can use SPDX-License-Identifier lines. * Thu Aug 20 2020 Dirk Krause 4.30.0-1 - Added the Dk4WxYesNoDialog class to the libdk4wx library because the wxMessageBox from the libwxgtk3.0-0v5 package in Debian 10 does not localize the button texts. - Bugfix in wxdkdraw, added menu items to create arcs. - Bugfix in the dk4gra module, pattern size for octagons now matches the pattern size for circles. - Yes / no dialogs with localized button texts in wxdkdraw. * Thu Jul 16 2020 Dirk Krause 4.29.3-1 - Bugfix in wxdkdraw: Line width 0 elements are highlighted as selection/copy/move/delete/grouping candidates now. - Modified htmlbook again for flexbox placement of navigation menu lists if the navigation menu is shown below the main content. * Thu Jul 16 2020 Dirk Krause 4.29.2-1 - Modified htmlbook so we can create more responsive designs. * Sat Jun 27 2020 Dirk Krause 4.29.1-1 - More markers are written by the itadmin program to the dhcpd.conf output. - Modified mklivesys.sh script. We can now inject files into the initramfs filesystem of a live system. - Removed libreoffice-style-galaxy from package lists for live systems. * Mon Apr 13 2020 Dirk Krause 4.29.0-1 - Bugfix in wxdkdraw: Draw control sets focus on itself in mouse enter events and mouse click events when compiled on Windows. I hope to get the mouse wheel working on Windows. - Bugfix in wximgsz: The string table in German language was completed. - New function dk4uc2l_string_encoded() in dk4uc2l module. * Thu Mar 26 2020 Dirk Krause 4.28.1-1 - Bugfix in wxdkdraw: Do no longer show "Modify spline point s value" dialog in move spline point operations. * Wed Feb 19 2020 Dirk Krause 4.28.0-1 - New program: wxdkdraw, minimalistic drawing program for use with LaTeX. - Wximgsz rewritten for DK libraries 4. Uses spin controls for input instead of standard text fields. - Library API change: The enum values DK4WX_AUTOSTART_REACTION_IGNORE and alike were moved into a public enum in the Dk4WxAutostartController class. - Library API change: The a and b parameters in the dk4gratool_dist_point_point() function were changed to const, the a, b and p parameters in dk4gratool_dist_point_track() too. - Library API change: The new dk4bb_add_bb() function in the dk4bb module allows to create a bounding box for a drawing from the object bounding boxes. * Wed Nov 27 2019 Dirk Krause 4.27.0-1 - Distinction between K and k in size specifications (K=1024, k=1000), M/m, G/g, T/t, P/p, E/e, Z/z, Y/y (powers of 1024, powers of 1000). - Bugfix in build process, size of wxChar calculated in configure script. - Bugfix in dkwxwiz, corrected name of XPM source. * Fri Oct 18 2019 Dirk Krause 4.26.0-1 - Install header files into the includedir/dktools-4 directory. - Daemons rshdown and printqd are systemd compatible now. - Module dk4dmt modified for systemd compatibility. - PID files now in /run/... when systemd is used, /var/run/... otherwise. - Build scripts check for systemd use and install systemd service unit files when systemd in use, traditional start scripts otherwise. - Build scripts modified for MinGW-w64 build and later probably cross-builds. - Program pjsnmp is now installed into libexec directory. - Packaging for RPM and DEB packages changed, separated packages for printqd and rshdown. - New module dk4bm for bit matrices. - New module dk4bml to levelize graphs represented by bit matrices. - Bugfix in the dk4apref module: Parameter pv is const, but the buffer was modified. - Bugfix in dk4sock25 and dk4sock31 modules: FreeAddrInfo() replaced by FreeAddrInfoW(). This bug was not relevant when using MSVC to build Windows binaries as the FreeAddrInfo() macro is mapped to the FreeAddrInfoW() function when using makefile.vc. - Modification in the dk4mem module: Fallback functions only compiled if needed. * Thu Sep 26 2019 Dirk Krause 4.25.0-1 - Bugfix in the dk-cat program. The program attempted to issue a byte order marker depending on the systems default encoding instead of the used output encoding. - Module dk4itmin added to search for a local minimum of an unimodal function in an interval. * Thu Aug 15 2019 Dirk Krause 4.24.2-1 - Bugfix in the dkwt/dkwtadm program. The program did not properly inform all windows about environment modifications. * Sun Aug 04 2019 Dirk Krause 4.24.1-1 - Added dk-bin2c program to convert binary data to C source code (array of unsigned char literals). - Added markdown documentation for live systems. - Classes Dk4Comparable and Dk4Container modified for C++11/C++17. * Sun Jul 14 2019 Dirk Krause 4.24.0-1 - Modifications to follow the "Updating to the latest version of wxWidgets" document. * Sun Jun 16 2019 Dirk Krause 4.23.0-1 - Bugfix in 32 bit Linux/Unix build process, 64 bit file size support was inactive on 32 bit Linux/Unix in previous versions. - Variables to store leightweight class objects returned by c_str(). - Font feature "script" added, font feature enumeration values changed. * Tue Apr 16 2019 Dirk Krause 4.22.0-1 - Configuration default for cosp in the fig2lat program changed to yes. - Added some previously internal functions to the API. - Functions to calculate 2D and 3D X-spline segment lengths. - Option "x-spline sub segments" for dk4gra.conf, "xsss" for language selection. This option specifies the number of Bezier spline segments to draw for each X-spline segment. - Parameter "rot" in the text functions in the dk4grpgf and dk4pppt modules to specify the text rotation in degree. - Bugfix in dk-lines program to avoid dereferencing NULL pointer. - Cleanup, a new directory gui-img with subdirectories was created. The *.ico and *.xpm files were moved from the source code directory into the subdirectories. * Sat Nov 17 2018 Dirk Krause 4.21.0-1 - Added complaint to dkct if GUI object has no parent object (is not mentioned as contents of another object). - Modified Dk4WxColourView class to show difference between active/inactive state and to place colour chooser over colour view. * Thu Nov 01 2018 Dirk Krause 4.20.0-1 - Function $!string added to dkct. - Added functions dk4ma_int_from_double() and dk4ma_uint_from_double() to convert double values to int and unsigned. * Tue Oct 16 2018 Dirk Krause 4.19.1-1 - Bugfix in Makefile.in for parallel make. * Sat Oct 13 2018 Dirk Krause 4.19.0-1 - Functions to calculate greatest common divisor and least common multiple. - Function for conversion to smaller integer types. - Function to convert UTF-8 encoded strings to wxChar strings. - Added event generation to Dk4WxColourView class. - Installing printqd and rshdown to /usr/sbin now. - File /etc/init.d/printqd to start and stop printqd service. * Sun Jul 29 2018 Dirk Krause 4.18.1-1 - Removed misleading warning from dkct shown when a "direction" attribute was assigned to a wxScrollBar. * Thu Jul 26 2018 Dirk Krause 4.18.0-1 - Added --no-modification-warning option to dkct. This option suppresses the warning at the beginning of output files advising users to modify the input files processed by dkct instead of the output files produced by the program. - Added new modules dk4mai8du8, dk4mai8di8, dk4mai8du16, dk4mai8di16, dk4mai8du32 and dk4mai8di32 to read uint8_t ... int32_t. * Sat Jul 07 2018 Dirk Krause 4.17.0-1 - Added options "privacy link" and "privacy page" to htmlbook configuration. - Added comments to HTML output of htmlbook. - Changed to a faster iteration algorithm in fig2lat and libdk3fig. - Added module dk4iter for numeric iterations to libdk4c. * Sun May 27 2018 Dirk Krause 4.16.0-1 - Alternative colour chooser added, uses palettes. - Dk4WxColourView can be set to be inactive. - Former Dk4WxColorView renamed to Dk4WxColourView for consistence, some methods also renamed for consistence. - Containers wxChoicebook, wxListbook, wxSimplebook, wxToolbook and wxTreebook now supported by dkct. - Attribute text allowed for wxPanel to add panels to book controls. - Stock menu items and stock buttons allowed in dkct. * Sun May 20 2018 Dirk Krause 4.15.0-1 - Added dk4xsp module for X-spline calculations. - Modified configure.ac due to warnings from Debian package building about symbols not found in any library. - Added new constants DK4_UINT8_0, DK4_INT8_0, DK4_UINT16_0, DK4_INT16_0, DK4_UINT32_0, DK4_INT32_0 to dktypes.h file. * Sat May 05 2018 Dirk Krause 4.14.1-1 - Bugfix in Makefile.in and configure.ac, library libdk4ma.a was not mentioned as dependency for libdk4maio8d.a. * Thu Apr 19 2018 Dirk Krause 4.14.0-1 - The configure script now checks the presence of the search.h include file and the availability of the qsort() and bsearch() functions. - Modified dkrgra, dk4graa and dk4pppt. A flags set was added to text output functions, so we can order a white box and/or an oval box. - Modified dk4fpe.h file, it does no longer include compiler pragmas to enable access to the floating point environment. Users might want to apply the pragma to portions of code only and not necessarily to entire source files. * Sun Apr 15 2018 Dirk Krause 4.13.0-1 - Added dk4pppt module. - Added functions to configure font size and LaTeX preamble lines in dk4gra and dk4graa modules. - Added functions to write a char string LaTeX encoded to a stream in the dk4uc2l and dk4uc2la modules. - Corrected some error messages in the dk4graa module. - Added dk4rec27 module containing the dk4recode_c8_to_dk() function to convert char strings (plain, Win1252, UTF-8) to dkChar strings. * Thu Apr 12 2018 Dirk Krause 4.12.1-1 - Changed default for expected encoding when processing standard input or input from file to DK4_FILE_ENCODING_WIN1252 to allow processing of text containing the Euro currency symbol. - Renamed some encodings. - Release mechanism modified: Presence of the preview.txt file indicates to build not an official release. * Fri Apr 06 2018 Dirk Krause 4.12.0-1 - Rewrote bmpp and wxbmpp for library version 4. - Modified dk4align.h for separated enum types for text and image alignment. - Added dk4mao8dns module to write double values without scientific notation. - Packaging changed, packaging script do no longer deal with directories for printqd. Printqd can only be used with the LPRng print system which is not available as package. Users install that software manually deciding about UID and GID to run LPRng at build time. So our package postinstallation and preremoval scripts can not know which UID and GID is used for LPRng. * Sat Feb 10 2018 Dirk Krause 4.11.4-1 - The dkct program now checks state machine descriptions for duplicated numeric values for states, inputs and outputs. State, input and output names are checked whether or not they are valid identifiers in the C programming language. - State, input, and output definitions are now written as enums by default instead of defines. When using doxygen, this results in a more readable documentation. * Thu Feb 08 2018 Dirk Krause 4.11.3-1 - Added new value 7 for co_gu field in computers database of itadmin to indicate that a computer is retired. * Fri Feb 02 2018 Dirk Krause 4.11.2-1 - Bugfix, corrected configure.ac and configure to properly detect Debian and derivative systems. * Sat Jan 27 2018 Dirk Krause 4.11.1-1 - Bugfix, some XPM files contained named colors instead of hexadecimal values. - GUI applications now restoring window position and size. * Wed Jan 24 2018 Dirk Krause 4.11.0-1 - Splitted dk4uc2l module into two modules dk4uc2la and dk4uc2l. - Appropriate changes to dk-t2l program.