Commit 5b2c3d1b authored by Colin Tuckley's avatar Colin Tuckley Committed by Christoph Berg

Import Debian changes 3.3.1-1

unixcw (3.3.1-1) unstable; urgency=medium

  [ Kamil Ignacak ]
  * New upstream release (See Changelog).
    Closes: #237891, #567394, #567392 
  * Bump standards version to 3.9.5

  [ Colin Tuckley ]
  * Add myself as uploader.
  * Ack it.po, thanks to Fabio Closes: #701677
  * Ack jt.po update, thanks to Hideki Yamane Closes: #717703
  * Fix debian/rules clean rule to allow repeated builds.
parents 616b7b12 2528f0b3
This diff is collapsed.
The source code for UnixCW version 3.0 comes with a 'configure' file. Its job
is to try and decide which features your system offers, and then configure
UnixCW the best way it can for these features.
The source code for unixcw comes with a 'configure' file. Its job is
to try and decide which features your system offers, and then
configure unixcw the best way it can for these features.
At minimum, you will need a set of sound card definitions (usually in the file
soundcard.h) and perhaps also a KIOCSOUND console sound ioctl available on your
......@@ -27,6 +27,12 @@ to indicate the Qt library directory on your system. On Debian it would be:
The configure script will then look for the Qt4 'moc' utility on either your
current $PATH or in $QT4DIR/bin.
Thanks to a patch from Diane Bruce, the ./configure script also
supports two flags that may be useful when trying to compile
xcwcp. The flags are:
--with-qt-includes=<path>
--with-qt-libraries=<path>
UnixCW may port to other platforms, but the primary target systems on which it
should "just build", perhaps with a bit of tweaking as shown above with
environment variables, are:
......
# Copyright (C) 2001-2006 Simon Baldwin (simon_baldwin@yahoo.com)
# Copyright (C) 2011-2012 Kamil Ignacak (acerion@wp.pl)
#
# 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 the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
#
-include Makefile.inc
SHELL = /bin/sh
SUBDIRS = src
DIST = unixcw-3.0.1
# Top level makefile - descends into subdirectories and executes the make in
# these one at a time.
# Macro to support descending into selected subdirectories.
DESCEND = for subdir in $(SUBDIRS); do \
( cd $$subdir; $(MAKE) $@ ); \
done
# Targets that do nothing other than descend.
all install install-strip uninstall TAGS info dvi check:
$(DESCEND)
clean:
$(DESCEND)
rm -f Makefile.inc
# Targets that do just a little more than this.
distclean mostlyclean:
$(DESCEND)
rm -f $(DIST).tar $(DIST).tar.gz $(DIST).tgz
rm -f Makefile.inc src/config.h src/config.h.in~
rm -f config.status config.cache config.log
rm -rf autom4te.cache
maintainer-clean: distclean
rm -f configure src/config.h.in aclocal.m4 configure.scan autoscan.log
rm -f po/UnixCW.po
-rmdir po
dist: distclean
rm -f $(DIST).tar $(DIST).tar.gz $(DIST).tgz
rm -f $(DIST); ln -s . $(DIST)
FILES="`ls -d $(DIST)/* | grep -v '^$(DIST)/$(DIST)$$'`"; \
tar zcvf $(DIST).tgz $$FILES
rm $(DIST)
SUBDIRS=src
EXTRA_DIST = configure.qt.inc \
icon_unixcw.svg icon_unixcw.xpm \
unixcw-2.3.spec unixcw-3.3.1.lsm \
po/UnixCW.po \
debian
This diff is collapsed.
# Copyright (C) 2001-2006 Simon Baldwin (simon_baldwin@yahoo.com)
# Copyright (C) 2011-2012 Kamil Ignacak (acerion@wp.pl)
# Copyright (C) 2011-2014 Kamil Ignacak (acerion@wp.pl)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
......@@ -26,13 +26,12 @@ AC_GZIP = @GZIP@
AC_LDCONFIG = @LDCONFIG@
AC_LIBS = @LIBS@
AC_AWK = @AWK@
AC_RANLIB = @RANLIB@
# AC_QTDIR = @QTDIR@
# AC_QTMOC = @QTMOC@
AC_QT4INC = @QT4INC@
AC_QT4CFLAGS = @QT4CFLAGS@
AC_QT4MOC = @QT4MOC@
AC_SRC_SUBDIRS = @SRC_SUBDIRS@
AC_CFLAG_PIC = @CFLAG_PIC@
AC_SUBDIRS = @SUBDIRS@
AC_CC_LINKS_SO = @CC_LINKS_SO@
AC_LD_LINKS_SO = @LD_LINKS_SO@
AC_LD = @LD@
......@@ -51,3 +50,8 @@ libdir = @libdir@
# http://www.gnu.org/s/hello/manual/autoconf/Changed-Directory-Variables.html
datarootdir = @datarootdir@
AM_CPPFLAGS = -I$(top_srcdir)/src/ \
-I$(top_srcdir)/src/libcw/ \
-I$(top_srcdir)/src/cwutils/
This diff is collapsed.
version 3.0.2 / 2012.06.18
New version. You won't find it in git repo nor in SourceForge download area.
This is a special release with two goals related to Debian packaging:
debian/:
- fixing Debian's FTBFS bug #676752
- removing debian/ from unixcw_X.Y.Z.orig.tar.gz. Contents of debian/ can be
found in separately provided unixcw_X.Y.Z-W.debian.tar.gz
Thanks to Kamal Mostafa for patiently explaining to me some details of
Debian/Ubuntu packaging.
----------------------------------------------------------------------------
version 3.0.1 / 2012.01.08
Thanks to Kamal Mostafa for providing patches that are the reason
for 3.0.1 release.
Content of upstream package unixcw-3.0.1 is approximately the same as of
Debian source package unixcw_3.0-5.
debian/:
- added proper "Section" field in control file;
- fixed library dependencies in control file;
- fixed "Replaces:"/"Conflicts:" fields in control file;
- fixed Debian bug #653411: changes in *.preinst files to remove
dangling symlinks left by old packaging (suggested by Bob Proulx);
general:
- fixed library dependencies in "configure" script;
- fixed library dependencies provided by libcw.pc file;
libcw:
- proper detection of capabilities of liboss-salsa-dev
(kfreebsd's libasound implementation); libcw now can be built
properly on Debian/kFreeBSD;
- fixing awk scripts producing man pages: the awk scripts now
work with mawk too;
cwcp:
- fixed list of libraries in Makefile;
----------------------------------------------------------------------------
version 3.0 / 2011.12.13
Thanks to Simon Baldwin for creating this software in the
first place, and to Kamal Mostafa for helping me with packaging
unixcw 3.0 for Debian.
unixcw:
- Changed major version of unixcw package to '3'. Changes listed
below probably justify this.
- New main developer: Kamil Ignacak <acerion@wp.pl>
- New website: http://unixcw.sourceforge.net
- Scripts building Debian packages now build 'libcw3' package
instead of 'unixcw' package, and 'libcw3-dev' Debian package instead
of 'unixcw-dev' Debian package.
libcw:
- Renamed 'cwlib' part of unixcw package to 'libcw'.
- Renamed library's header file from cwlib.h to libcw.h.
- Changed library's soname from 0 to 3 (/usr/lib/libcw.so.3.0.0
/ libcw.so.3).
- Added support for ALSA. OSS is still the default backend.
- As a consequence, libasound2 is a new dependency. There is no
possibility (yet) to disable or reconfigure this at build time.
It is possible to select sound backend in applications that use
libcw.
- Added implicit dependency on pthread library (which is a part
of libc library, so it should be available on target system by
default). Main routine generating sine wave operates as a separate
thread.
- Added actual slopes to dot and dash sounds produced by the
library. This should result in less of (or even none) audible
pops. Unfortunately current implementation makes dots and dashes
a tiny bit longer than they would be without the slopes. The
difference is not significant, but I plan to re-implement it
in the future to make this feature 100% correct.
The slopes are linear.
- Rewritten management of sound volume so that the library doesn't
use OSS mixer. This should resolve Debian bug #567394
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567394).
Code that controls volume level is common for OSS and ALSA.
- Since libcw doesn't touch the mixer device anymore, then Debian
bug #567392 should be resolved as well
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567392).
- Added code that attempts to discover proper audio buffer size
for both OSS and ALSA. This should resolve Debian bug #567395
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567395).
- Fix of Debian bug #567395 should also solve Debian bug #567397
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567397).
- Changed library's API. There will be more API changes in 3.1, so
consider current API to be unstable.
- Changed volume change step from 5% to 1%.
- Changed frequency change step from 100Hz to 20Hz.
- The library no longer can produce sound on console buzzer and on
sound card at the same time.
- The library knows default names of OSS, ALSA and console buzzer
devices. The names are used to open sound devices if no other
names are provided explicitly as function arguments.
- Introduced symbolic names of int values returned by most of
library's function: CW_FAILURE / CW_SUCCESS.
xcwcp:
- Ported xcwcp to QT4. This should resolve Debian bug #604386
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604386).
- Added auto-detection of QT4 headers and QT4 moc by build files.
......@@ -26,9 +26,9 @@ a lot more care over what they do, and don't do, in signal handler context.
cwcp and xcwcp now offer fully configurable modes and dictionaries through a
configuration file option, and xcwcp has been rewritten in proper C++ style.
Version 3.0 has been prepared and released by new maintainer, Kamil Ignacak.
The takeover of unixcw has been discussed with and approved by Simon Baldwin.
Main changes in 3.0 are:
Version 3.0 has been prepared and released by new lead developer,
Kamil Ignacak. The takeover of unixcw has been discussed with and
approved by Simon Baldwin. Main changes in 3.0 are:
o rewriting parts of libcw so that using OSS is less probable to cause
problems (this should solve at least one Debian bug)
o adding support for ALSA to libcw; libcw uses OSS as default audio system,
......@@ -45,6 +45,29 @@ Version 3.0.1 contains small fixes that don't influence core capabilities
of any application, but are still important. Patches for this release were
provided mainly by Kamal Mostafa (thanks Kamal!).
Version 3.1.0 adds support for PulseAudio.
Plenty of other changes in library code improve timings of tones produced
by the library.
Few library functions are deprecated, they are replaced by new functions.
Version 3.1.1 fixes small problem with interlocks in thread code.
Version 3.2.0 introduces small fixes and improvements in libcw, and
implements new debug facilities (the old ones are being deprecated).
It also fixes faulty logic checking "--disable-feature" flags in
configure.ac. The problem was spotted by Thomas Beierlein.
Version 3.3.0 is mostly fixes. More fixes in configuration flags
(thanks again to Thomas Beierlein). Patches fixing compilation under
FreeBSD (thanks to Diane Bruce). Fixes and improvements of handling of
iambic keying in libcw and xcwcp. Fixing compilation error in
cwutils/dictionary.h.
Version 3.3.1 is just one fix in libcw. Thanks to Pino Zollo ZP4KFX
for reporting a bug and testing solution.
See NEWS file for more detailed log of changes.
The heart of the package is 'libcw'. This is a library which, when built,
......@@ -62,9 +85,25 @@ offers the following basic CW services to a caller program:
o An iambic keyer, with both Curtis 8044 types A and B timing
o Straight key emulation
The library uses signals and threads to create a background task in which to do
the majority of its work, leaving the main program free to handle other tasks.
For example, the simplest CW sending program that uses the library looks like:
Relationship between version of unixcw package, and version of libcw
is following:
unixcw libcw
3.0 3.0.0
3.0.1 3.0.1
3.0.2 3.0.1
3.1.0 4.0.0
3.1.1 4.1.1
3.2.0 5.0.0
3.3.0 6.0.1
3.3.1 6.1.1
The library uses signals and threads to create a background task in
which it performs the majority of its work, leaving the main program
free to handle other tasks. For example, the simplest CW sending
program that uses the library looks like this (compile it with
"gcc -lcw example.c"):
#include <libcw.h>
......@@ -72,11 +111,11 @@ For example, the simplest CW sending program that uses the library looks like:
int main ()
{
/* Library initialization */
cw_generator_new(CW_AUDIO_ALSA, NULL);
cw_generator_new(CW_AUDIO_SOUNDCARD, NULL);
cw_generator_start();
/* Start the string sending in the background. */
cw_send_string ("Hello, world");
cw_send_string("Hello, world");
/* Wait for the string send to complete. */
cw_wait_for_tone_queue();
......@@ -85,15 +124,16 @@ int main ()
cw_generator_stop();
cw_generator_delete();
return;
return 0;
}
Instead of the cw_tone_queue_wait() call, this program could instead handle any
other work it has to do, asynchronously from the CW library's sending.
Instead of the cw_wait_for_tone_queue() call, this program could
instead handle any other work it has to do, asynchronously from the CW
library's sending.
As well as the handful of applications included in UnixCW 3.0, the following
sorts of programs might also use 'libcw' as their core:
As well as the handful of applications included in unixcw, the
following sorts of programs might also use 'libcw' as their core:
o A fully graphical CW send and receive station
o A 'CWbiff' that announces incoming email sender in CW
......@@ -109,8 +149,8 @@ sorts of programs might also use 'libcw' as their core:
The package comes with four basic applications:
o cw A CW sending 'engine' that reads characters from stdin, sounds them
on either the sound card, the console speaker, or both, and echoes
o cw A CW sending 'engine' that reads characters from stdin, sounds
them on either the sound card or the console speaker, and echoes
them to stdout.
o cwgen A simple random character generator that can be used as a feed for
......@@ -133,10 +173,11 @@ Qt library (version 4). This library is fairly standard on Linux systems, as
it is the basis of KDE, so relying on this should not be too much of a problem.
See INSTALLING for details on how to build UnixCW version 3.0 from the
distributed sources.
See INSTALL for details on how to build unixcw from the distributed
sources.
UnixCW is distributed under the GNU GPL 2 (or later). See COPYING for details.
unixcw is distributed under the terms of GNU GPL license, version 2 or
later. See COPYING for details.
Thanks to...
......
#!/bin/bash
PACKAGE="unixcw"
VERSION="3.0.1"
# setup
REPO=`pwd`
cd ../../build
BUILD=`pwd`
echo "REPO = " $REPO
echo "BUILD = " $BUILD
if [ "$REPO" == x"" ]; then
echo "REPO is empty"
exit
elif [ "$REPO" == x"/" ]; then
echo "REPO is root directory"
exit
fi
if [ "$BUILD" == x"" ]; then
echo "BUILD is empty"
exit
elif [ "$BUILD" == x"/" ]; then
echo "BUILD is root directory"
exit
fi
# clean up old files, prepare brand new, empty dir
rm -rf $BUILD/*
# prepare $PACKAGE_X.Y.Z.debian.tar.gz
cd $REPO
cp -rp debian $BUILD/
cd $BUILD
tar cvfz $PACKAGE\_$VERSION.debian.tar.gz debian
rm -rf debian
cd $REPO
cp -rp ../$PACKAGE $BUILD
cd $BUILD/$PACKAGE/
./_clean_up distclean
rm -rf _build_debian _clean_up
rm -rf .git
cd $BUILD
mv $PACKAGE $PACKAGE-$VERSION
tar cvfz $PACKAGE\_$VERSION.orig.tar.gz $PACKAGE-$VERSION --exclude=debian
# go to final build dir and start building Debian package
cd $PACKAGE-$VERSION
echo ""
echo `pwd`
debuild -us -uc
This diff is collapsed.
#!/bin/sh
#
# Copyright (C) 2001-2006 Simon Baldwin (simon_baldwin@yahoo.com)
# Copyright (C) 2011 Kamil Ignacak (acerion@wp.pl)
#
# 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 the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
autoheader
touch NEWS README AUTHORS ChangeLog
touch stamp-h
aclocal
autoconf
mkdir -p po
find src \( -name '*.c' -o -name '*.cc' -o -name '*.h' \) -print \
| xargs xgettext -k_ -kN_ -p po -d UnixCW
debuild -i -us -uc -b
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-01-04.17; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
# Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# 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
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l*)
lib=${1#-l}
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
set x "$@" "$dir/$lib.dll.lib"
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
set x "$@" "$dir/$lib.lib"
break
fi
done
IFS=$save_IFS
test "$found" != yes && set x "$@" "$lib.lib"
shift
;;
-L*)
func_file_conv "${1#-L}"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift