diff options
39 files changed, 2973 insertions, 143 deletions
diff --git a/classes/oplinux-mirrors.bbclass b/classes/oplinux-mirrors.bbclass index 6e9d051c3f..076cd6f1fe 100644 --- a/classes/oplinux-mirrors.bbclass +++ b/classes/oplinux-mirrors.bbclass @@ -1,14 +1,7 @@ -MIRRORS_append () { -ftp://.*/.*/ http://www.ifaistos.awmn/oplinux/stable/sources/ -http://.*/.*/ http://www.ifaistos.awmn/oplinux/stable/sources/ -ftp://.*/.*/ http://www.ifaistos.awmn/oplinux/unstable/sources/ -http://.*/.*/ http://www.ifaistos.awmn/oplinux/unstable/sources/ - -ftp://.*/.*/ http://www.ifaistos.awmn/oplinux-uclibc/stable/sources/ -http://.*/.*/ http://www.ifaistos.awmn/oplinux-uclibc/stable/sources/ -ftp://.*/.*/ http:///www.ifaistos.awmn/oplinux-uclibc/unstable/sources/ -http://.*/.*/ http://www.ifaistos.awmn/oplinux-uclibc/unstable/sources/ +# Copyright (C) 2007, Stelios Koroneos - Digital OPSiS, All Rights Reserved +# Released under the MIT license (see packages/COPYING) +MIRRORS_append () { ftp://.*/.*/ http://digital-opsis.com/oplinux/stable/sources/ http://.*/.*/ http://digital-opsis.com/oplinux/stable/sources/ ftp://.*/.*/ http://digital-opsis.com/oplinux/unstable/sources/ diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf index e371e2fd37..a9e9e0dbd8 100644 --- a/conf/distro/angstrom-2007.1.conf +++ b/conf/distro/angstrom-2007.1.conf @@ -103,7 +103,7 @@ FEED_URIS += " \ perl##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/perl \ python##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/python \ debug##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/debug \ - gstreamer##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/gsteamer \ + gstreamer##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/gstreamer \ ${MACHINE}##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/machine/${MACHINE}" # base##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${FEED_ARCH}/base \ # ${MACHINE}##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${FEED_ARCH}/machine/${MACHINE} \ diff --git a/conf/distro/include/oplinux.inc b/conf/distro/include/oplinux.inc index 2bf3e616d7..843f8e18ba 100644 --- a/conf/distro/include/oplinux.inc +++ b/conf/distro/include/oplinux.inc @@ -1,9 +1,11 @@ -# +# Copyright (C) 2007, Stelios Koroneos - Digital OPSiS, All Rights Reserved +# Released under the MIT license (see packages/COPYING) # extra checking for needed tools # # set minimal version of BitBake needed -BB_MIN_VERSION = "1.6.3" +BB_MIN_VERSION = "1.6.7" + #OPLinux and OPLinux-uclibc source mirrors INHERIT += "oplinux-mirrors" @@ -14,34 +16,25 @@ INHERIT += "multimachine" INHERIT += "sanity" -# + # Naming schemes -# -PARALLEL_INSTALL_MODULES = "1" INHERIT += "package_ipk debian" +PARALLEL_INSTALL_MODULES = "1" -# -# Packaging and output format - -IMAGE_FSTYPES = "tar jffs2 ext2 cramfs squashfs squashfs-lzma cpio.gz" +# +# Maintainer email +MAINTAINER = "Digital OPSiS Developers Team <oplinux-developers@digital-opsis.com>" +# +# Packaging and output format +IMAGE_FSTYPES = "tar.gz jffs2 ext2.gz cramfs squashfs squashfs-lzma cpio.gz" # Specifies a location to search for pre-generated tarballs when fetching # a cvs:// URI. Outcomment this, if you always want to pull directly from CVS. -#CVS_TARBALL_STASH = "http://www.digital-opsis.com/oplinux/source/current/" +CVS_TARBALL_STASH = "http://www.digital-opsis.com/oplinux/sources/current/" -#INHERIT += "owmnr-mirrors" - -#Uncommend this is if you are using bitbake multithread and you have multiple cpu's or cores you are running on -#BB_NUMBER_THREADS = "5" - -#Uncommend this if you hava icecc installed -#INHERIT += "icecc" -#PARALLEL_MAKE = "-j6" -#ICECC_PATH = "/usr/bin/icecc" -#ICECC_ENV_EXEC = "/home/stelios/icecc-create-env" # # Bootstrap & Init @@ -51,12 +44,54 @@ PREFERRED_PROVIDER_task-bootstrap = "task-base" DISTRO_FEATURES = "nfs smbfs ext2 pcmcia usbgadget usbhost pci" -OPLINUX_URI = "http://www.ifaistos.awmn/oplinux" -OPLINUX-uCLIBC_URI = "http://www.ifaistos.awmn/oplinux-uclibc" +#We need to set this to avoid problems when building for if host=target +TARGET_VENDOR = "-oplinux" + +#URI for base feeds +OPLINUX_URI = "http://www.digital-opsis.com/oplinux" +OPLINUX-uCLIBC_URI = "http://www.digital-opsis.com/oplinux-uclibc" #Dir config IMAGE_ROOTFS = "${TMPDIR}/rootfs/${MACHINE}" +#Set the name of the generated images +IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${MACHINE}-${DATE}-${SVN_REV}" +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}" + + + + + +# +#feed definitions +#i32 machines +#i486 machines +FEED_ARCH_x86 ="i486" +FEED_ARCH_wrap ="i486" + +#i586 machines +FEED_ARCH_i586-generic = "i586" +FEED_ARCH_epia = "i586" + +#i686 machines +FEED_ARCH_i686-generic = "i686" +FEED_ARCH_guinness = "i686" +FEED_ARCH_progear = "i686" + + +#powerpc machines +#ppc405 +FEED_ARCH_dht-walnut = "ppc405" +FEED_ARCH_magicbox = "ppc405" +FEED_ARCH_xilinx-ml403 = "ppc405" + +#ppc440e +FEED_ARCH_sequoia = "ppc440e" + +#ppc603e +FEED_ARCH_efika = "ppc603e" + + # #Preferred versions of packages we need # @@ -65,4 +100,9 @@ PREFERRED_VERSION_u-boot ?= "1.1.4" # Latest linphone supports yeaphone PREFERRED_VERSION_linphone ?= "1.6.0" +# +#SSH daemon +# +DISTRO_SSH_DAEMON ?= "dropbear" + diff --git a/conf/distro/oplinux.conf b/conf/distro/oplinux.conf index d3e6c0344d..03e56b0148 100644 --- a/conf/distro/oplinux.conf +++ b/conf/distro/oplinux.conf @@ -1,17 +1,20 @@ +# Copyright (C) 2007, Stelios Koroneos - Digital OPSiS, All Rights Reserved +# Released under the MIT license (see packages/COPYING) #----------------------------------------------------------------------------- #@TYPE: Distribution -#@NAME: OPLinux uClibC -#@DESCRIPTION: OPLinux uClibC Embedded Linux Distribution Configuration +#@NAME: OPLinux +#@DESCRIPTION: OPLinux Embedded Linux Distribution Configuration # #@COMMENT: This is a distribution for a number of embedded targets #@COMMENT: currently supported are -#@COMMENT: generic x86 -#@COMMENT: wrap (x86) -#@COMMENT: dht-walnut (ppc405) +#@COMMENT: x86 wrap (i486) +#@COMMENT: i586-generic epia (i586) +#@COMMENT: i686-generic (i686) +#@COMMENT: dht-walnut magicbox (ppc405) +#@COMMENT: sequoia (ppc440) #@COMMENT: efika (ppc603) -#@COMMENT: rb5xx (mips) #@COMMENT: -#@COMMENT: for additional info please check www.digital-opsis.com +#@COMMENT: for additional info please check www.digital-opsis.com/oplinux #----------------------------------------------------------------------------- require conf/distro/include/oplinux.inc @@ -22,7 +25,7 @@ require conf/distro/include/sane-srcdates.inc # Header # DISTRO_NAME = "OPLinux" -DISTRO_VERSION = ".dev-snapshot-${SRCDATE}" +DISTRO_VERSION ?= ".dev-snapshot-${SRCDATE}" #DISTRO_TYPE = "release" DISTRO_TYPE = "debug" @@ -31,23 +34,31 @@ DISTRO_TYPE = "debug" # TARGET_OS = "linux" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" + + PREFERRED_PROVIDER_dbus-glib = "dbus-glib" PREFERRED_PROVIDER_virtual/libsdl ?= "libsdl-x11" PREFERRED_PROVIDER_virtual/libxine ?= "libxine-x11" PREFERRED_PROVIDER_esound ?= "pulseaudio" -PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv" -PREFERRED_PROVIDER_virtual/libintl ?= "libintl" - -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" +# glibc: +PREFERRED_PROVIDER_virtual/libiconv ?= "glibc" +PREFERRED_PROVIDER_virtual/libintl ?= "glibc" +PREFERRED_PROVIDER_virtual/libc ?= "glibc" -#EABI stuff PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate" -PREFERRED_PROVIDER_virtual/powerpc-linux-libc-for-gcc ="glibc-intermediate" +PREFERRED_PROVIDER_virtual/arm-oplinux-linux-gnueabi-libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/armeb-oplinux-linux-gnueabi-libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/powerpc-oplinux-linux-libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/mipsel-oplinux-linux-libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/sparc-oplinux-linux-libc-for-gcc = "glibc-intermediate" @@ -81,21 +92,14 @@ PREFERRED_VERSION_binutils-cross-sdk ?= "2.17.50.0.5" PREFERRED_VERSION_linux-libc-headers_i486 ?= "2.6.18" PREFERRED_VERSION_linux-libc-headers_i586 ?= "2.6.18" PREFERRED_VERSION_linux-libc-headers_i686 ?= "2.6.18" - PREFERRED_VERSION_linux-libc-headers_powerpc ?= "2.6.18" PREFERRED_VERSION_linux-libc-headers ?= "2.6.18" -PREFERRED_VERSION_glibc ?= "2.5" -PREFERRED_VERSION_glibc_efika ?= "2.5" - -PREFERRED_VERSION_glibc-intermediate_i686 ?= "2.4" -PREFERRED_VERSION_glibc-intermediate ?= "2.5" -PREFERRED_VERSION_glibc-intermediate ?= "2.5" PREFERRED_VERSION_glibc-initial ?= "2.5" - +PREFERRED_VERSION_glibc-intermediate ?= "2.5" +PREFERRED_VERSION_glibc ?= "2.5" PCMCIA_MANAGER = "pcmciautils" - PREFERRED_VERSION_dbus ?= "1.0.2" PREFERRED_VERSION_dbus-glib ?= "0.71" @@ -114,25 +118,6 @@ DISTRO_EXTRA_RDEPENDS += "\ nano pciutils" - - -FEED_ARCH ?= "${TARGET_ARCH}" - -#i486 machines -FEED_ARCH_x86 ="i486" - -#i586 machines -FEED_ARCH_epia = "i586" - -#i686 machines -FEED_ARCH_guinness = "i686" -FEED_ARCH_progear = "i686" - -#powerpc machines -FEED_ARCH_efika = "ppc603e" -FEED_ARCH_dht-walnut = "ppc405" - - FEED_URIS += " \ no-arch##${OPLINUX_URI}/unstable/feed/all \ base##${OPLINUX_URI}/unstable/feed/${FEED_ARCH}/base \ diff --git a/conf/machine/i586-generic.conf b/conf/machine/i586-generic.conf index 6abdf0e25b..823999a208 100644 --- a/conf/machine/i586-generic.conf +++ b/conf/machine/i586-generic.conf @@ -20,6 +20,3 @@ MACHINE_FEATURES = "kernel26 screen keyboard pci ushbost acpi ext2" MACHINE_TASK_PROVIDER = "task-base" - -#tune for the i586 cpu -require conf/machine/include/tune-i586.conf diff --git a/conf/machine/i686-generic.conf b/conf/machine/i686-generic.conf index 21549653f6..1f91f89281 100644 --- a/conf/machine/i686-generic.conf +++ b/conf/machine/i686-generic.conf @@ -9,7 +9,7 @@ TARGET_ARCH = "i686" PACKAGE_EXTRA_ARCHS = "x86 i386 i486 i586" PREFERRED_PROVIDER_virtual/kernel = "linux-x86" -OLDEST_KERNEL = "2.6.18" +OLDEST_KERNEL = "2.6.20" GLIBC_ADDONS = "nptl" GLIBC_EXTRA_OECONF = "--with-tls" @@ -19,6 +19,3 @@ IMAGE_FSTYPES = "ext2.gz" MACHINE_FEATURES = "kernel26 screen keyboard pci ushbost acpi ext2" MACHINE_TASK_PROVIDER = "task-base" - -#tune for the i686 cpu -require conf/machine/include/tune-i686.conf diff --git a/packages/busybox/slingbox-1.3.1/fdisk-readhex.patch b/packages/busybox/slingbox-1.3.1/fdisk-readhex.patch new file mode 100644 index 0000000000..d8e32c40e7 --- /dev/null +++ b/packages/busybox/slingbox-1.3.1/fdisk-readhex.patch @@ -0,0 +1,20 @@ +--- busybox-1.3.1/util-linux/fdisk.c.orig 2007-06-06 21:18:45.000000000 -0500 ++++ busybox-1.3.1/util-linux/fdisk.c 2007-06-06 21:17:20.000000000 -0500 +@@ -331,13 +331,16 @@ + read_hex(const struct systypes *sys) + { + unsigned long v; ++ char *e; + while (1) { + read_nonempty(_("Hex code (type L to list codes): ")); + if (*line_ptr == 'l' || *line_ptr == 'L') { + list_types(sys); + continue; + } +- v = bb_strtoul(line_ptr, NULL, 16); ++ v = bb_strtoul(line_ptr, &e, 16); ++ /* Clear out EINVAL code if it's because of the trailing \n */ ++ if ((errno == EINVAL) && (*e == '\n')) errno = 0; + if (errno || v > 0xff) continue; + return v; + } diff --git a/packages/busybox/slingbox_1.3.1.bb b/packages/busybox/slingbox_1.3.1.bb index 89b189e325..62d150a9fe 100644 --- a/packages/busybox/slingbox_1.3.1.bb +++ b/packages/busybox/slingbox_1.3.1.bb @@ -4,7 +4,7 @@ HOMEPAGE = "http://www.busybox.net" LICENSE = "GPL" SECTION = "base" PRIORITY = "required" -PR = "r0" +PR = "r1" COMPATIBLE_MACHINE = "nslu2" SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ @@ -12,12 +12,11 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ file://shadow_h_is_required.patch;patch=1 \ file://df_rootfs.patch;patch=1 \ file://lazy_umount.patch;patch=1 \ - file://halt.patch;patch=1" \ + file://halt.patch;patch=1 \ + file://fdisk-readhex.patch;patch=1 \ file://slingbox_name.patch;patch=1 \ file://slingbox.patch;patch=1" -# file://wget-long-options.patch;patch=1 \ - S = "${WORKDIR}/busybox-${PV}" export EXTRA_CFLAGS = "${CFLAGS}" diff --git a/packages/clish/clish_0.7.1.bb b/packages/clish/clish_0.7.1.bb index 2fc7020a4c..90757de6dc 100644 --- a/packages/clish/clish_0.7.1.bb +++ b/packages/clish/clish_0.7.1.bb @@ -1,10 +1,14 @@ +# Copyright (C) 2007, Stelios Koroneos - Digital OPSiS, All Rights Reserved +# Released under the MIT license (see packages/COPYING) DESCRIPTION = "modular framework for implementing a CISCO-like CLI on a *NIX system" LICENSE = "GPL" SECTION = "console/utils" -PR="r0" +PR="r1" SRC_URI = "${SOURCEFORGE_MIRROR}/clish/clish-0.7.1.tar.gz" +PARALLEL_MAKE="" + S = "${WORKDIR}/clish-${PV}" inherit autotools diff --git a/packages/debianutils/debianutils_2.19.bb b/packages/debianutils/debianutils_2.19.bb new file mode 100644 index 0000000000..30beb5d4ed --- /dev/null +++ b/packages/debianutils/debianutils_2.19.bb @@ -0,0 +1,5 @@ +# Copyright (C) 2007, Stelios Koroneos - Digital OPSiS, All Rights Reserved +# Released under the MIT license (see packages/COPYING) + +require debianutils.inc +PR="r0" diff --git a/packages/display-brightness/display-brightness.sh b/packages/display-brightness/display-brightness.sh index 5e1a0e97d4..a82c748309 100644 --- a/packages/display-brightness/display-brightness.sh +++ b/packages/display-brightness/display-brightness.sh @@ -28,6 +28,8 @@ if [ "$1" = "up" ]; then if [ $ACTUAL_BRIGHTNESS -eq $MAX_BRIGHTNESS ]; then exit 0 else + + test -x /usr/bin/bl && bl on test "$STEP" -gt "$MAX_BRIGHTNESS" -o "$STEP" -eq "$MAX_BRIGHTNESS" && STEP=1 let CURRENT_BRIGHTNESS=$ACTUAL_BRIGHTNESS+$STEP echo $CURRENT_BRIGHTNESS >> $BRIGHTNESS_FILE diff --git a/packages/display-brightness/display-brightness_1.0.0.bb b/packages/display-brightness/display-brightness_1.0.0.bb index aa3c0995e9..bc46c16631 100644 --- a/packages/display-brightness/display-brightness_1.0.0.bb +++ b/packages/display-brightness/display-brightness_1.0.0.bb @@ -2,7 +2,7 @@ DESCRIPTION = "display brightness utility" AUTHOR = "Patrick Steiner <patrick.steiner@a1.net>" DEPENDS = "" PRIORITY = "optional" -PR = "r2" +PR = "r3" LICENSE = "GPLv2" SRC_URI = "file://display-brightness.sh" diff --git a/packages/linux/linux-epia-2.6.19.2/epia_defconfig b/packages/linux/linux-epia-2.6.19.2/epia_defconfig index db84c236cb..4c681d54f5 100644 --- a/packages/linux/linux-epia-2.6.19.2/epia_defconfig +++ b/packages/linux/linux-epia-2.6.19.2/epia_defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.19.2 -# Fri Jan 26 11:55:32 2007 +# Sun May 27 11:25:48 2007 # CONFIG_X86_32=y CONFIG_GENERIC_TIME=y @@ -464,7 +464,14 @@ CONFIG_BT_HCIUSB_SCO=y # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set +CONFIG_IEEE80211=m +# CONFIG_IEEE80211_DEBUG is not set +CONFIG_IEEE80211_CRYPT_WEP=m +CONFIG_IEEE80211_CRYPT_CCMP=m +# CONFIG_IEEE80211_CRYPT_TKIP is not set +CONFIG_IEEE80211_SOFTMAC=m +# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set +CONFIG_WIRELESS_EXT=y # # Device Drivers @@ -850,7 +857,57 @@ CONFIG_VIA_RHINE=y # # Wireless LAN (non-hamradio) # -# CONFIG_NET_RADIO is not set +CONFIG_NET_RADIO=y +# CONFIG_NET_WIRELESS_RTNETLINK is not set + +# +# Obsolete Wireless cards support (pre-802.11) +# +CONFIG_STRIP=m +CONFIG_ARLAN=m +CONFIG_WAVELAN=m + +# +# Wireless 802.11b ISA/PCI cards support +# +CONFIG_IPW2100=m +CONFIG_IPW2100_MONITOR=y +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +CONFIG_IPW2200_MONITOR=y +# CONFIG_IPW2200_RADIOTAP is not set +# CONFIG_IPW2200_PROMISCUOUS is not set +# CONFIG_IPW2200_QOS is not set +# CONFIG_IPW2200_DEBUG is not set +CONFIG_AIRO=m +CONFIG_HERMES=m +CONFIG_PLX_HERMES=m +CONFIG_TMD_HERMES=m +CONFIG_NORTEL_HERMES=m +CONFIG_PCI_HERMES=m +CONFIG_ATMEL=m +# CONFIG_PCI_ATMEL is not set + +# +# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support +# +CONFIG_PRISM54=m +CONFIG_USB_ZD1201=m +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTAP_PCI=m +CONFIG_BCM43XX=m +CONFIG_BCM43XX_DEBUG=y +CONFIG_BCM43XX_DMA=y +CONFIG_BCM43XX_PIO=y +CONFIG_BCM43XX_DMA_AND_PIO_MODE=y +# CONFIG_BCM43XX_DMA_MODE is not set +# CONFIG_BCM43XX_PIO_MODE is not set +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_NET_WIRELESS=y # # Wan interfaces @@ -972,7 +1029,11 @@ CONFIG_PPDEV=m # Watchdog Cards # # CONFIG_WATCHDOG is not set -# CONFIG_HW_RANDOM is not set +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_INTEL=y +CONFIG_HW_RANDOM_AMD=y +CONFIG_HW_RANDOM_GEODE=y +CONFIG_HW_RANDOM_VIA=y # CONFIG_NVRAM is not set # CONFIG_RTC is not set # CONFIG_GEN_RTC is not set @@ -1858,7 +1919,45 @@ CONFIG_DOUBLEFAULT=y # # Cryptographic options # -# CONFIG_CRYPTO is not set +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_BLKCIPHER=m +CONFIG_CRYPTO_MANAGER=m +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_TGR192 is not set +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_CBC=m +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_TWOFISH_586 is not set +# CONFIG_CRYPTO_SERPENT is not set +CONFIG_CRYPTO_AES=m +# CONFIG_CRYPTO_AES_586 is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set +CONFIG_CRYPTO_ARC4=m +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Hardware crypto devices +# +CONFIG_CRYPTO_DEV_PADLOCK=m +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m # # Library routines diff --git a/packages/linux/unslung-kernel/defconfig b/packages/linux/unslung-kernel/defconfig index a5ad6094ae..03247f74b5 100644 --- a/packages/linux/unslung-kernel/defconfig +++ b/packages/linux/unslung-kernel/defconfig @@ -758,11 +758,11 @@ CONFIG_SCSI_MULTI_LUN=y # # Input core support # -# CONFIG_INPUT is not set +CONFIG_INPUT=m # CONFIG_INPUT_KEYBDEV is not set # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_EVDEV is not set +CONFIG_INPUT_EVDEV=m # # Character devices @@ -1126,13 +1126,13 @@ CONFIG_USB_PRINTER=m # # USB Human Interface Devices (HID) # -# CONFIG_USB_HID is not set +CONFIG_USB_HID=m # # Input core support is needed for USB HID input layer or HIDBP support # -# CONFIG_USB_HIDINPUT is not set -# CONFIG_USB_HIDDEV is not set +CONFIG_USB_HIDINPUT=y +CONFIG_USB_HIDDEV=y # CONFIG_USB_KBD is not set # CONFIG_USB_MOUSE is not set # CONFIG_USB_AIPTEK is not set diff --git a/packages/linux/unslung-kernel_2.4.22.l2.3r63.bb b/packages/linux/unslung-kernel_2.4.22.l2.3r63.bb index df3141725c..cb3f9be78b 100644 --- a/packages/linux/unslung-kernel_2.4.22.l2.3r63.bb +++ b/packages/linux/unslung-kernel_2.4.22.l2.3r63.bb @@ -1,7 +1,7 @@ SECTION = "kernel" DESCRIPTION = "Vendor-compatible Linux kernel for the Linksys NSLU2 device" LICENSE = "GPL" -PR = "r18" +PR = "r19" COMPATIBLE_HOST = 'arm.*-linux' COMPATIBLE_MACHINE = "nslu2" diff --git a/packages/madwifi/madwifi-ng_r.inc b/packages/madwifi/madwifi-ng_r.inc index 574a8b440a..73c585b0d8 100644 --- a/packages/madwifi/madwifi-ng_r.inc +++ b/packages/madwifi/madwifi-ng_r.inc @@ -4,7 +4,7 @@ PRIORITY = "optional" LICENSE = "GPL" RDEPENDS = "kernel (${KERNEL_VERSION})" DEPENDS = "virtual/kernel" -PR="r4" +PR="r5" WACKELF_SRC_URI = "" WACKELF_SRC_URI_ixp4xx = " file://20-xscale-VFP-wackelf.patch;patch=1" @@ -23,6 +23,7 @@ inherit module-base ARCH_efika="powerpc" ARCH_dht-walnut="ppc" ARCH_magicbox="ppc" +ARCH_sequoia="ppc" EXTRA_OEMAKE = "LDFLAGS= KERNELPATH=${STAGING_KERNEL_DIR} KERNELRELEASE=${KERNEL_VERSION} TOOLPREFIX=${TARGET_PREFIX}" diff --git a/packages/mesa/mesa-6.5.2/fix-host-compile.patch b/packages/mesa/mesa-6.5.2/fix-host-compile.patch new file mode 100644 index 0000000000..d24d03d379 --- /dev/null +++ b/packages/mesa/mesa-6.5.2/fix-host-compile.patch @@ -0,0 +1,30 @@ +--- /src/mesa/x86/orig-Makefile 2005-07-01 04:54:38.000000000 +0300 ++++ /src/mesa/x86/Makefile 2007-06-07 21:52:31.000000000 +0300 +@@ -5,6 +5,7 @@ + + + INCLUDE_DIRS = \ ++ -I/usr/include \ + -I$(TOP)/include/GL \ + -I$(TOP)/include \ + -I.. \ +@@ -13,6 +14,10 @@ + -I../glapi \ + -I../tnl + ++OPT_FLAGS_host = -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os ++ ++CFLAGS_host = -Wall -Wmissing-prototypes $(OPT_FLAGS_host) $(PIC_FLAGS) $(ARCH_FLAGS) \ ++ $(DEFINES) $(ASM_FLAGS) $(X11_INCLUDES) -std=c99 -ffast-math + + default: gen_matypes matypes.h + +@@ -21,7 +26,7 @@ + + + gen_matypes: gen_matypes.c +- $(CC) $(INCLUDE_DIRS) $(CFLAGS) gen_matypes.c -o gen_matypes ++ $(CC) $(INCLUDE_DIRS) $(CFLAGS_host) gen_matypes.c -o gen_matypes + + # need some special rules here, unfortunately + matypes.h: ../main/mtypes.h ../tnl/t_context.h gen_matypes diff --git a/packages/mesa/mesa_6.5.2.bb b/packages/mesa/mesa_6.5.2.bb index 1c245f003b..79993cc1f1 100644 --- a/packages/mesa/mesa_6.5.2.bb +++ b/packages/mesa/mesa_6.5.2.bb @@ -1,3 +1,8 @@ -PR = "r0" +PR = "r1" include mesa-mesa.inc + +SRC_URI_append = " file://fix-host-compile.patch;patch=1 " + + + diff --git a/packages/opie-reader/files/qt4.patch b/packages/opie-reader/files/qt4.patch new file mode 100644 index 0000000000..82f3b9fdd1 --- /dev/null +++ b/packages/opie-reader/files/qt4.patch @@ -0,0 +1,2091 @@ +diff --git a/Aportis.cpp b/Aportis.cpp +index 37dcc99..03c26ea 100644 +--- a/Aportis.cpp ++++ b/Aportis.cpp +@@ -443,8 +443,7 @@ unsuspend(); + gotorecordnumber(tgtrec); + UInt8* imgbuffer = new UInt8[reclen]; + fread(imgbuffer, 1, reclen, fin); +- QByteArray arr; +- arr.assign((const char*)imgbuffer, reclen); ++ QByteArray arr((const char*)imgbuffer, reclen); + + QImage* qimage = new QImage(arr); + fseek(fin, cur, SEEK_SET); +diff --git a/Bkmks.cpp b/Bkmks.cpp +index 45aa045..c67db9e 100644 +--- a/Bkmks.cpp ++++ b/Bkmks.cpp +@@ -32,8 +32,7 @@ Bkmk::Bkmk(const Bkmk& rhs) : + m_annolen(0), + m_position(0) + { +- init(rhs.name(), sizeof(tchar)*(ustrlen(rhs.name())+1), rhs.anno(), +- sizeof(tchar)*(ustrlen(rhs.anno())+1), rhs.value()); ++ *this = rhs; + } + + Bkmk::Bkmk(const tchar* _nm, const tchar* _anno, unsigned int _p) : m_position(_p) +diff --git a/BuffDoc.cpp b/BuffDoc.cpp +index 355d14d..8c1eadc 100644 +--- a/BuffDoc.cpp ++++ b/BuffDoc.cpp +@@ -682,7 +682,8 @@ int BuffDoc::openfile(QWidget* _parent, const char *src) + #endif + codecpath += "/plugins/reader/codecs"; + #else +- QString codecpath(getenv("READERDIR")); ++ const char *rd = getenv("READERDIR"); ++ QString codecpath(rd?rd:"/usr/lib/uqtreader"); + codecpath += "/codecs"; + #endif + QDir d(codecpath, "*.so"); +@@ -690,19 +691,14 @@ int BuffDoc::openfile(QWidget* _parent, const char *src) + if (d.exists()) + { + +- const QFileInfoList *list = d.entryInfoList(); +- QFileInfoListIterator it( *list ); // create list iterator +- QFileInfo *fi; // pointer for traversing +- ++ QFileInfoList list = d.entryInfoList(); + int ret = -1; +- while ( ret != 0 && (fi=it.current()) ) +- { // for each file... ++ for(QFileInfoListIterator it=list.begin();ret && it!=list.end();++it) { + if (exp != NULL) delete exp; +- qDebug("Trying %s", (const char*)fi->fileName()); +- exp = new ebookcodec(fi->fileName()); ++ qDebug("Trying %s", (const char*)it->fileName()); ++ exp = new ebookcodec(it->fileName()); + ret = exp->openfile(src); +- ++it; +- } ++ } + qDebug("Buffdoc:Finished opening"); + if (ret != 0) + { +diff --git a/ButtonPrefs.cpp b/ButtonPrefs.cpp +index 762de55..2c4cad7 100644 +--- a/ButtonPrefs.cpp ++++ b/ButtonPrefs.cpp +@@ -17,7 +17,7 @@ + #include <qtooltip.h> + #include <qwhatsthis.h> + #include <qbuttongroup.h> +-#include <qmultilineedit.h> ++#include <Qt3Support/Q3MultiLineEdit> + #ifdef USECOMBO + #include <qcombobox.h> + #else +@@ -26,12 +26,14 @@ + #include <qfontdatabase.h> + + #include <qlistview.h> ++#include <Qt3Support/Q3ListViewItem> ++#include <QtGui/QKeyEvent> + +-class MyQListViewItem : public QListViewItem ++class MyQListViewItem : public Q3ListViewItem + { + orKey o; + public: +- MyQListViewItem(const orKey& _o, QListView* p, const QString& c1, const QString& c2, const QString& c3) : QListViewItem(p, c1, c2, c3), o(_o) { } ++ MyQListViewItem(const orKey& _o, Q3ListView* p, const QString& c1, const QString& c2, const QString& c3) : Q3ListViewItem(p, c1, c2, c3), o(_o) { } + orKey getKey() { return o; } + }; + +@@ -43,7 +45,7 @@ void CButtonPrefs::mapkey(Qt::ButtonState st, int _key) + void CButtonPrefs::mapkey(Qt::ButtonState st, int _key, int act) + { + orKey key(st, _key, ((act == cesScrollMore) || (act == cesScrollLess))); +- QMap<orKey,QListViewItem*>::Iterator iter = listmap.find(key); ++ QMap<orKey,Q3ListViewItem*>::Iterator iter = listmap.find(key); + if (iter != listmap.end()) + { + lb->takeItem(iter.data()); +@@ -112,7 +114,7 @@ CButtonPrefs::CButtonPrefs( QMap<orKey, int>* _kmap, QWidget* parent, const cha + { + QVBoxLayout* vo = new QVBoxLayout(this); + QHBoxLayout* lo = new QHBoxLayout(); +- setFocusPolicy(QWidget::StrongFocus); ++ setFocusPolicy(Qt::StrongFocus); + #ifdef USECOMBO + action = new QComboBox( this ); + #else +@@ -123,17 +125,17 @@ CButtonPrefs::CButtonPrefs( QMap<orKey, int>* _kmap, QWidget* parent, const cha + + + +- QMultiLineEdit* TextLabel1 = new QMultiLineEdit( this ); ++ Q3MultiLineEdit* TextLabel1 = new Q3MultiLineEdit( this ); + TextLabel1->setText( tr( "Press the key(s) you want assigned to the highlighted function.\n\nPress the delete button to unmap the key.\n\nUse the \"Close\" button (not the [x]) to finish." ) ); + TextLabel1->setReadOnly(true); +- TextLabel1->setWordWrap(QMultiLineEdit::WidgetWidth); ++ TextLabel1->setWordWrap(Q3MultiLineEdit::WidgetWidth); + + // lo->addWidget(TextLabel, 0, Qt::AlignTop); + // lo->addWidget(action, 0, Qt::AlignTop); + lo->addWidget(TextLabel1); + lo->addWidget(action); + vo->addLayout(lo); +- lb = new QListView(this); ++ lb = new Q3ListView(this); + lb->addColumn( tr( "Key" ) ); + lb->addColumn( tr( "Function" ) ); + lb->addColumn( tr( "Scroll" ) ); +diff --git a/ButtonPrefs.h b/ButtonPrefs.h +index 9af04e1..f09ad02 100644 +--- a/ButtonPrefs.h ++++ b/ButtonPrefs.h +@@ -11,11 +11,13 @@ + + #include <qvariant.h> + #include <qwidget.h> +-#include <qtabdialog.h> ++#include <Qt3Support/Q3TabDialog> + #include <qtabwidget.h> + #include <qspinbox.h> + #include <qcheckbox.h> + #include <qlineedit.h> ++#include <qnamespace.h> ++using namespace Qt; + + #define USECOMBO + +@@ -33,18 +35,18 @@ class QGridLayout; + //class QCheckBox; + class QLabel; + //class QSpinBox; +-class QListViewItem; ++class Q3ListViewItem; + +-class QListView; +-class QListViewItem; ++class Q3ListView; ++class Q3ListViewItem; + + class CButtonPrefs : public QWidget + { + Q_OBJECT + + QMap<orKey, int> *kmap; +- QMap<orKey, QListViewItem*> listmap; +- QListView* lb; ++ QMap<orKey, Q3ListViewItem*> listmap; ++ Q3ListView* lb; + void keyPressEvent(QKeyEvent* e); + #ifdef USECOMBO + void populate(QComboBox*); +diff --git a/CAnnoEdit.cpp b/CAnnoEdit.cpp +index 35821ed..6ee1321 100644 +--- a/CAnnoEdit.cpp ++++ b/CAnnoEdit.cpp +@@ -83,8 +83,8 @@ CAnnoEdit::CAnnoEdit(QWidget *parent, const char *name, WFlags f) : + { + QVBoxLayout* grid = new QVBoxLayout(this); + m_name = new QLineEdit(this, "Name"); +- m_anno = new QMultiLineEdit(this, "Annotation"); +- m_anno->setWordWrap(QMultiLineEdit::WidgetWidth); ++ m_anno = new Q3MultiLineEdit(this, "Annotation"); ++ m_anno->setWordWrap(Q3MultiLineEdit::WidgetWidth); + QPushButton* exitButton = new QPushButton("Okay", this); + connect(exitButton, SIGNAL( clicked() ), this, SLOT( slotOkay() ) ); + QPushButton* cancelButton = new QPushButton("Cancel", this); +diff --git a/CAnnoEdit.h b/CAnnoEdit.h +index 78d3eeb..c74c560 100644 +--- a/CAnnoEdit.h ++++ b/CAnnoEdit.h +@@ -4,15 +4,17 @@ + #include <qlayout.h> + #include <qpushbutton.h> + #include <qlineedit.h> +-#include <qmultilineedit.h> ++#include <Qt3Support/Q3MultiLineEdit> + #include <qcombobox.h> ++#include <qnamespace.h> ++using namespace Qt; + + class CAnnoEdit : public QWidget + { + Q_OBJECT + + QLineEdit* m_name; +- QMultiLineEdit* m_anno; ++ Q3MultiLineEdit* m_anno; + size_t m_posn, m_posn2; + QComboBox* colorbox; + public: +diff --git a/CFilter.cpp b/CFilter.cpp +index a4ea60a..4baa890 100644 +--- a/CFilter.cpp ++++ b/CFilter.cpp +@@ -673,7 +673,8 @@ ExternFilter::ExternFilter(const QString& nm, const QString& optional) : filt(NU + #endif + filterpath += "/plugins/reader/filters/lib"; + #else +- QString filterpath(getenv("READERDIR")); ++ const char *rd = getenv("READERDIR"); ++ QString filterpath(rd?rd:"/usr/lib/uqtreader"); + filterpath += "/filters/lib"; + #endif + filterpath += nm; +diff --git a/CHM.cpp b/CHM.cpp +index ace5abc..3c325bb 100644 +--- a/CHM.cpp ++++ b/CHM.cpp +@@ -335,7 +335,7 @@ int CHM::getch() { + #else + QChar letter = chmBuffer[bufpos++]; + #endif +- return (int)(char)letter; ++ return letter.unicode(); + } + + void CHM::getch(tchar& ch, CStyle& sty) +diff --git a/CloseDialog.cpp b/CloseDialog.cpp +index 741fa67..62ae906 100644 +--- a/CloseDialog.cpp ++++ b/CloseDialog.cpp +@@ -5,7 +5,7 @@ CCloseDialog::CCloseDialog(const QString& fname, bool fs, QWidget* parent, const + { + setCaption(tr("Tidy-up")); + QVBoxLayout *tmp = new QVBoxLayout(this); +- QVButtonGroup* vb = new QVButtonGroup(tr("Delete"), this); ++ Q3VButtonGroup* vb = new Q3VButtonGroup(tr("Delete"), this); + tmp->addWidget(vb); + QString filestring = tr("Delete") + " " + fname; + file = new QCheckBox(filestring, vb); +diff --git a/CloseDialog.h b/CloseDialog.h +index 54aaf1c..84609f5 100644 +--- a/CloseDialog.h ++++ b/CloseDialog.h +@@ -11,14 +11,17 @@ + + #include <qvariant.h> + #include <qwidget.h> +-#include <qtabdialog.h> ++#include <Qt3Support/Q3TabDialog> + #include <qtabwidget.h> + #include <qspinbox.h> + #include <qcheckbox.h> + #include <qcombobox.h> + #include <qlineedit.h> + //#include <qpe/menubutton.h> +-#include <qvbuttongroup.h> ++#include <Qt3Support/Q3VButtonGroup> ++#include <QtGui/QKeyEvent> ++#include <qnamespace.h> ++using namespace Qt; + + class QVBoxLayout; + class QHBoxLayout; +diff --git a/FontControl.cpp b/FontControl.cpp +index 08b8c52..b80dd6e 100644 +--- a/FontControl.cpp ++++ b/FontControl.cpp +@@ -1,4 +1,5 @@ + #include <qfontdatabase.h> ++#include <Qt3Support/Q3ValueList> + + #include "FontControl.h" + +@@ -33,9 +34,9 @@ int FontControl::gzoom() + + bool FontControl::ChangeFont(QString& n, int tgt) + { +- QValueList<int>::Iterator it; ++ Q3ValueList<int>::Iterator it; + QFontDatabase fdb; +- QValueList<int> sizes = fdb.pointSizes(n); ++ Q3ValueList<int> sizes = fdb.pointSizes(n); + if (sizes.count() == 0) + { + return false; +diff --git a/GraphicWin.h b/GraphicWin.h +index 70d5f7e..a6c556a 100644 +--- a/GraphicWin.h ++++ b/GraphicWin.h +@@ -1,14 +1,16 @@ + #ifndef __GRAPHICWIN_H + #define __GRAPHICWIN_H + +-#include <qscrollview.h> ++#include <Qt3Support/Q3ScrollView> + #include <qpixmap.h> + #include <qimage.h> + #include <qpushbutton.h> + #include <qlayout.h> + #include <qwmatrix.h> ++#include <qnamespace.h> ++using namespace Qt; + +-class GraphicScroll : public QScrollView ++class GraphicScroll : public Q3ScrollView + { + Q_OBJECT + QWidget* m_picture; +@@ -19,7 +21,7 @@ class GraphicScroll : public QScrollView + } + public: + GraphicScroll( QWidget *parent=0, const char *name=0, WFlags f = 0) +- : QScrollView(parent, name, f) ++ : Q3ScrollView(parent, name, f) + { + m_picture = new QWidget(viewport()); + addChild(m_picture); +diff --git a/Prefs.cpp b/Prefs.cpp +index 6c4d45b..f3df856 100644 +--- a/Prefs.cpp ++++ b/Prefs.cpp +@@ -27,6 +27,7 @@ + #include <qpe/menubutton.h> + #endif + #include <qfontdatabase.h> ++#include <Qt3Support/Q3ButtonGroup> + + #ifdef USECOMBO + void populate_colours(QComboBox *mb) +@@ -58,7 +59,7 @@ CLayoutPrefs::CLayoutPrefs( QWidget* parent, const char* name, WFlags fl ) + : QWidget( parent, name, fl ) + { + QHBoxLayout* hb = new QHBoxLayout(this); +- QButtonGroup* bg = new QButtonGroup(2, Qt::Horizontal, "Text", this); ++ Q3ButtonGroup* bg = new Q3ButtonGroup(2, Qt::Horizontal, "Text", this); + hb->addWidget(bg); + + StripCR = new QCheckBox( bg ); +@@ -592,7 +593,7 @@ CMiscPrefs::CMiscPrefs( QWidget* parent, const char* name, WFlags fl ) + vl->setMargin( 0 ); + hl->setMargin( 0 ); + +- QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, "Select Action", this); ++ Q3GroupBox* gb = new Q3GroupBox(1, Qt::Horizontal, "Select Action", this); + hl->addWidget( gb ); + + annotation = new QCheckBox( gb ); +@@ -607,7 +608,7 @@ CMiscPrefs::CMiscPrefs( QWidget* parent, const char* name, WFlags fl ) + boutput = new QCheckBox( gb ); + boutput->setText( tr( "Output" ) ); + +- QButtonGroup* bg = new QButtonGroup(1, Qt::Horizontal, "Plucker", this); ++ Q3ButtonGroup* bg = new Q3ButtonGroup(1, Qt::Horizontal, "Plucker", this); + hl->addWidget( bg ); + + Depluck = new QCheckBox( bg ); +@@ -618,7 +619,7 @@ CMiscPrefs::CMiscPrefs( QWidget* parent, const char* name, WFlags fl ) + + Continuous = new QCheckBox( bg ); + Continuous->setText( tr( "Continuous" ) ); +- bg = new QButtonGroup(2, Qt::Horizontal, "Background", this); ++ bg = new Q3ButtonGroup(2, Qt::Horizontal, "Background", this); + vl->addWidget( bg ); + + // QLabel* TextLabel = new QLabel( bg ); +@@ -662,7 +663,7 @@ CScrollPrefs::CScrollPrefs( QWidget* parent, const char* name, WFlags fl ) + + hl->setMargin( 0 ); + +- QButtonGroup* bg = new QButtonGroup(2, Qt::Horizontal, "Scroll", this); ++ Q3ButtonGroup* bg = new Q3ButtonGroup(2, Qt::Horizontal, "Scroll", this); + hl->addWidget( bg ); + + // scrollinplace = new QCheckBox( bg ); +@@ -715,7 +716,8 @@ CScrollPrefs::CScrollPrefs( QWidget* parent, const char* name, WFlags fl ) + #endif + codecpath += "/plugins/reader/outcodecs"; + #else +- QString codecpath(getenv("READERDIR")); ++ const char *rd = getenv("READERDIR"); ++ QString codecpath(rd?rd:"/usr/lib/uqtreader"); + codecpath += "/outcodecs"; + #endif + QDir ocd(codecpath, "lib*.so"); +@@ -772,7 +774,7 @@ CInterPrefs::CInterPrefs( QWidget* parent, const char* name, WFlags fl ) + { + QHBoxLayout* hb = new QHBoxLayout(this); + +- QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, tr("International"), this); ++ Q3GroupBox* gb = new Q3GroupBox(1, Qt::Horizontal, tr("International"), this); + + hb->addWidget(gb); + +@@ -784,7 +786,7 @@ CInterPrefs::CInterPrefs( QWidget* parent, const char* name, WFlags fl ) + TextLabel = new QLabel( gb ); + TextLabel->setText( tr( "Ideogram Width" ) ); + ideogramwidth = new QSpinBox( gb ); +- ideogramwidth->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); ++ // ideogramwidth->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); + ideogramwidth->setRange(1,200); + + propfontchange = new QCheckBox( gb ); +@@ -809,7 +811,7 @@ CInterPrefs::CInterPrefs( QWidget* parent, const char* name, WFlags fl ) + + QVBoxLayout* vb = new QVBoxLayout; + +- gb = new QGroupBox(1, Qt::Horizontal, "Dictionary", this); ++ gb = new Q3GroupBox(1, Qt::Horizontal, "Dictionary", this); + + TextLabel = new QLabel( gb ); + TextLabel->setText( tr( "Application" ) ); +diff --git a/Prefs.h b/Prefs.h +index 103484e..a499506 100644 +--- a/Prefs.h ++++ b/Prefs.h +@@ -11,11 +11,14 @@ + + #include <qvariant.h> + #include <qwidget.h> +-#include <qtabdialog.h> ++#include <Qt3Support/Q3TabDialog> + #include <qtabwidget.h> + #include <qspinbox.h> + #include <qcheckbox.h> + #include <qlineedit.h> ++#include <qnamespace.h> ++using namespace Qt; ++#include <QtGui/QKeyEvent> + + #define USECOMBO + +diff --git a/QFloatBar.h b/QFloatBar.h +index cc98233..0144fce 100644 +--- a/QFloatBar.h ++++ b/QFloatBar.h +@@ -1,10 +1,11 @@ + #ifndef __QFLOATBAR_H + #define __QFLOATBAR_H + +-#include <qtoolbar.h> +-#include <qmainwindow.h> ++#include <Qt3Support/Q3ToolBar> ++#include <Qt3Support/Q3MainWindow> ++#include <qnamespace.h> + +-class QFloatBar : public QToolBar ++class QFloatBar : public Q3ToolBar + { + Q_OBJECT + virtual void hideEvent(QHideEvent* e) +@@ -12,7 +13,7 @@ class QFloatBar : public QToolBar + /*if (e->spontaneous())*/ emit OnHide(); + } + public: +- QFloatBar(char* t, QMainWindow* mw, QMainWindow::ToolBarDock td, bool f) : QToolBar(t, mw, td, f) {} ++ QFloatBar(char* t, Q3MainWindow* mw, Qt::ToolBarDock td, bool f) : Q3ToolBar(t, mw, td, f) {} + signals: + void OnHide(); + }; +diff --git a/QTReader.cpp b/QTReader.cpp +index 75da8ac..2c698ba 100644 +--- a/QTReader.cpp ++++ b/QTReader.cpp +@@ -1999,6 +1999,7 @@ void QTReader::drawFonts() + } + } + emitRedraw(); ++ update(); + } + /* + else +@@ -2221,7 +2222,7 @@ void QTReader::init() + setBackgroundColor( m_bg ); + buffdoc.setfilter(getfilter()); + ChangeFont(m_textsize); +- setFocusPolicy(QWidget::StrongFocus); ++ setFocusPolicy(Qt::StrongFocus); + timer = new QTimer(this); + connect(timer, SIGNAL(timeout()), this, SLOT(doscroll())); + #ifdef USETIMER +@@ -3096,7 +3097,7 @@ void QTReader::blitRot(int dx, int dy, int sw, int sh, CDrawBuffer* txt) + + QPixmap pm(sw, sh); + +- QPainter pd(&pm, this); ++ QPainter pd(&pm); // , this); + if (m_bgpm.isNull()) + { + pd.eraseRect(pm.rect()); +@@ -3136,7 +3137,7 @@ void QTReader::blitRot(int dx, int dy, int sw, int sh, CDrawBuffer* txt) + /* + p.drawPixmap(QPoint(dx, dy), rp); + */ +- bitBlt(this, dx, dy, &rp, 0, 0, -1, -1, CopyROP); ++ bitBlt(this, dx, dy, &rp, 0, 0, -1, -1, QPainter::CompositionMode_Source); + } + + QString QTReader::about() +diff --git a/QTReader.h b/QTReader.h +index 9daa07a..6afa3e7 100644 +--- a/QTReader.h ++++ b/QTReader.h +@@ -8,6 +8,9 @@ + #include "BuffDoc.h" + #include "FontControl.h" + ++#include <qnamespace.h> ++using namespace Qt; ++ + //#include <qtimer.h> + + class CDrawBuffer; +diff --git a/QTReaderApp.cpp b/QTReaderApp.cpp +index b985094..b525435 100644 +--- a/QTReaderApp.cpp ++++ b/QTReaderApp.cpp +@@ -20,7 +20,9 @@ + + #include <qregexp.h> + #include <qclipboard.h> +-#include <qwidgetstack.h> ++#include <Qt3Support/Q3WidgetStack> ++#include <Qt3Support/Q3Action> ++#include <qdesktopwidget.h> + #ifdef USEQPE + #include <qpe/qpemenubar.h> + #include <qpe/qpetoolbar.h> +@@ -31,13 +33,12 @@ + #include <qpe/menubutton.h> + #endif + #include <qcombobox.h> +-#include <qpopupmenu.h> ++#include <Qt3Support/Q3PopupMenu> + #include <qaction.h> + #include <qapplication.h> + #include <qlineedit.h> + #include <qtoolbutton.h> + #include <qspinbox.h> +-#include <qobjectlist.h> + #include <qstatusbar.h> + #ifdef USEQPE + #include <qpe/global.h> +@@ -106,7 +107,8 @@ bool CheckVersion(int&, int&, char&, QWidget*); + //#define PICDIR "/home/tim/uqtreader/pics/" + QString picdir() + { +- QString hd(getenv("READERDIR")); ++ const char *rd = getenv("READERDIR"); ++ QString hd(rd?rd:"/usr/share/uqtreader"); + return hd + "/pics"; + } + #define PICDIR picdir() +@@ -156,16 +158,9 @@ void QTReaderApp::listBkmkFiles() + d.setFilter( QDir::Files | QDir::NoSymLinks ); + // d.setSorting( QDir::Size | QDir::Reversed ); + +- const QFileInfoList *list = d.entryInfoList(); +- QFileInfoListIterator it( *list ); // create list iterator +- QFileInfo *fi; // pointer for traversing +- while ( (fi=it.current()) ) { // for each file... +- +- bkmkselector->insertItem(fi->fileName(), cnt++); +- +- //qDebug( "%10li %s", fi->size(), fi->fileName().data() ); +- ++it; // goto next list element +- } ++ QFileInfoList list = d.entryInfoList(); ++ for(QFileInfoListIterator it=list.begin();it!=list.end();++it) ++ bkmkselector->insertItem(it->fileName(), cnt++); + + #else /* USEQPE */ + int cnt = 0; +@@ -207,6 +202,8 @@ void QTReaderApp::hidetoolbars() + + #if defined(USEQPE) + menubar->hide(); ++#else ++ mb->hide(); + #endif + + if (m_scrollbar != NULL) m_scrollbar->hide(); +@@ -233,7 +230,7 @@ void QTReaderApp::hidetoolbars() + } + + QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) +- : QMainWindow( parent, name, f ), m_dontSave(false), ++ : Q3MainWindow( parent, name, f ), m_dontSave(false), + fileBar(NULL), navBar(NULL), viewBar(NULL), markBar(NULL), m_scrollbar(NULL), m_localscroll(2), m_hidebars(false), m_kmapchanged(false) + { + { +@@ -337,41 +334,41 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + // QToolBar* markBar = new QToolBar("File", this); + + #if defined(USEQPE) +- menubar = new QToolBar("Menus", this, m_tbposition); ++ menubar = new Q3ToolBar("Menus", this, m_tbposition); + mb = new QPEMenuBar( menubar ); + #else + mb = new QMenuBar( this ); + #endif + + #if defined(USEQPE) +- QPopupMenu* tmp = new QPopupMenu(mb); ++ Q3PopupMenu* tmp = new Q3PopupMenu(mb); + mb->insertItem( geticon( "AppsIcon" ), tmp ); + #else + QMenuBar* tmp = mb; + #endif + +- QPopupMenu *file = new QPopupMenu( mb ); ++ Q3PopupMenu *file = new Q3PopupMenu( mb ); + tmp->insertItem( tr( "File" ), file ); + +- QPopupMenu *navigation = new QPopupMenu(mb); ++ Q3PopupMenu *navigation = new Q3PopupMenu(mb); + tmp->insertItem( tr( "Navigation" ), navigation ); + +- QPopupMenu *view = new QPopupMenu( mb ); ++ Q3PopupMenu *view = new Q3PopupMenu( mb ); + tmp->insertItem( tr( "View" ), view ); + +- QPopupMenu *marks = new QPopupMenu( this ); ++ Q3PopupMenu *marks = new Q3PopupMenu( this ); + tmp->insertItem( tr( "Marks" ), marks ); + +- QPopupMenu *settings = new QPopupMenu( this ); ++ Q3PopupMenu *settings = new Q3PopupMenu( this ); + tmp->insertItem( tr( "Settings" ), settings ); + + // addToolBar(menubar, "Menus",QMainWindow::Top); + // addToolBar(fileBar, "Toolbar",QMainWindow::Top); + +- // QPopupMenu *edit = new QPopupMenu( this ); ++ // Q3PopupMenu *edit = new Q3PopupMenu( this ); + + /* +- QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); ++ Q3Action *a = new Q3Action( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) ); + a->addTo( bar ); + a->addTo( file ); +@@ -384,7 +381,7 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + vlayout->addLayout(m_layout, 1); + vlayout->addWidget(m_prog); + +- editorStack = new QWidgetStack( widge ); ++ editorStack = new Q3WidgetStack( widge ); + // setCentralWidget( editorStack ); + + searchVisible = FALSE; +@@ -574,137 +571,137 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + connect( reader, SIGNAL(RefreshBitmap()), this, SLOT(setBackgroundBitmap())); + editorStack->addWidget( reader, get_unique_id() ); + +- m_preferences_action = new QAction( tr( "Configuration" ), geticon( "SettingsIcon" ), QString::null, 0, this, NULL); ++ m_preferences_action = new Q3Action( tr( "Configuration" ), geticon( "SettingsIcon" ), QString::null, 0, this, NULL); + connect( m_preferences_action, SIGNAL( activated() ), this, SLOT( showprefs() ) ); + m_preferences_action->addTo( settings ); + +- m_saveconfig_action = new QAction( tr( "Save Config" ), QString::null, 0, this, NULL); ++ m_saveconfig_action = new Q3Action( tr( "Save Config" ), QString::null, 0, this, NULL); + connect( m_saveconfig_action, SIGNAL( activated() ), this, SLOT( SaveConfig() ) ); + m_saveconfig_action->addTo( settings ); + +- m_loadconfig_action = new QAction( tr( "Load Config" ), QString::null, 0, this, NULL); ++ m_loadconfig_action = new Q3Action( tr( "Load Config" ), QString::null, 0, this, NULL); + connect( m_loadconfig_action, SIGNAL( activated() ), this, SLOT( LoadConfig() ) ); + m_loadconfig_action->addTo( settings ); + +- m_tidyconfig_action = new QAction( tr( "Delete Config" ), QString::null, 0, this, NULL); ++ m_tidyconfig_action = new Q3Action( tr( "Delete Config" ), QString::null, 0, this, NULL); + connect( m_tidyconfig_action, SIGNAL( activated() ), this, SLOT( TidyConfig() ) ); + m_tidyconfig_action->addTo( settings ); + + settings->insertSeparator(); +- m_toolbarprefs_action = new QAction( tr( "Toolbars" ), QString::null, 0, this, NULL); ++ m_toolbarprefs_action = new Q3Action( tr( "Toolbars" ), QString::null, 0, this, NULL); + connect( m_toolbarprefs_action, SIGNAL( activated() ), this, SLOT( showtoolbarprefs() ) ); + m_toolbarprefs_action->addTo( settings ); + +- m_buttonprefs_action = new QAction( tr( "Buttons" ), QString::null, 0, this, NULL); ++ m_buttonprefs_action = new Q3Action( tr( "Buttons" ), QString::null, 0, this, NULL); + connect( m_buttonprefs_action, SIGNAL( activated() ), this, SLOT( showbuttonprefs() ) ); + m_buttonprefs_action->addTo( settings ); + +- m_loadtheme_action = new QAction( tr( "Load Theme" ), QString::null, 0, this, NULL); ++ m_loadtheme_action = new Q3Action( tr( "Load Theme" ), QString::null, 0, this, NULL); + connect( m_loadtheme_action, SIGNAL( activated() ), this, SLOT( LoadTheme() ) ); + m_loadtheme_action->addTo( settings ); + +- m_repara_action = new QAction( tr( "EOP Marker" ), QString::null, 0, this, NULL); ++ m_repara_action = new Q3Action( tr( "EOP Marker" ), QString::null, 0, this, NULL); + connect( m_repara_action, SIGNAL( activated() ), this, SLOT( reparastring() ) ); + m_repara_action->addTo(settings); + + #ifdef USEQPE +- m_grab_action = new QAction( tr( "Grab Buttons" ), QString::null, 0, this, NULL, true ); ++ m_grab_action = new Q3Action( tr( "Grab Buttons" ), QString::null, 0, this, NULL, true ); + connect( m_grab_action, SIGNAL( toggled(bool) ), this, SLOT( setgrab(bool) ) ); + m_grab_action->setOn(m_grabkeyboard); + m_grab_action->addTo( settings ); + #endif + +- m_open_action = new QAction( tr( "Open" ), geticon( "fileopen" ), QString::null, 0, this, 0 ); ++ m_open_action = new Q3Action( tr( "Open" ), geticon( "fileopen" ), QString::null, 0, this, 0 ); + connect( m_open_action, SIGNAL( activated() ), this, SLOT( fileOpen() ) ); + m_open_action->addTo( file ); + +- m_close_action = new QAction( tr( "Close" ), geticon( "close" ), QString::null, 0, this, 0 ); ++ m_close_action = new Q3Action( tr( "Close" ), geticon( "close" ), QString::null, 0, this, 0 ); + connect( m_close_action, SIGNAL( activated() ), this, SLOT( fileClose() ) ); + m_close_action->addTo( file ); + + #ifdef _SCRIPT +- a = new QAction( tr( "Run Script" ), QString::null, 0, this, NULL); ++ a = new Q3Action( tr( "Run Script" ), QString::null, 0, this, NULL); + connect( a, SIGNAL( activated() ), this, SLOT( RunScript() ) ); + a->addTo( file ); + #endif + /* +- a = new QAction( tr( "Revert" ), geticon( "close" ), QString::null, 0, this, 0 ); ++ a = new Q3Action( tr( "Revert" ), geticon( "close" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( fileRevert() ) ); + a->addTo( file ); + +- a = new QAction( tr( "Cut" ), geticon( "cut" ), QString::null, 0, this, 0 ); ++ a = new Q3Action( tr( "Cut" ), geticon( "cut" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) ); + a->addTo( filebar() ); + a->addTo( edit ); + */ + +- m_info_action = new QAction( tr( "Info" ), geticon( "UtilsIcon" ), QString::null, 0, this, NULL); ++ m_info_action = new Q3Action( tr( "Info" ), geticon( "UtilsIcon" ), QString::null, 0, this, NULL); + connect( m_info_action, SIGNAL( activated() ), this, SLOT( showinfo() ) ); + m_info_action->addTo( file ); + +- m_touch_action = new QAction( tr( "Two/One Touch" ), geticon( "1to1" ), QString::null, 0, this, NULL, true ); ++ m_touch_action = new Q3Action( tr( "Two/One Touch" ), geticon( "1to1" ), QString::null, 0, this, NULL, true ); + connect( m_touch_action, SIGNAL( toggled(bool) ), this, SLOT( setTwoTouch(bool) ) ); + m_touch_action->setOn(m_twoTouch); + m_touch_action->addTo( file ); + +- m_find_action = new QAction( tr( "Find..." ), geticon( "find" ), QString::null, 0, this, NULL); ++ m_find_action = new Q3Action( tr( "Find..." ), geticon( "find" ), QString::null, 0, this, NULL); + connect( m_find_action, SIGNAL( activated() ), this, SLOT( editFind() ) ); + file->insertSeparator(); + // a->addTo( bar ); + m_find_action->addTo( file ); + +- m_exportlinks_action = new QAction( tr( "Export Links" ), QString::null, 0, this, NULL); ++ m_exportlinks_action = new Q3Action( tr( "Export Links" ), QString::null, 0, this, NULL); + connect( m_exportlinks_action, SIGNAL( activated() ), this, SLOT( ExportLinks() ) ); + m_exportlinks_action->addTo( file ); + +- m_scrollButton = new QAction( tr( "Scroll" ), getmyicon( "panel-arrow-down" ), QString::null, 0, this, 0, true ); ++ m_scrollButton = new Q3Action( tr( "Scroll" ), getmyicon( "panel-arrow-down" ), QString::null, 0, this, 0, true ); + connect( m_scrollButton, SIGNAL( toggled(bool) ), this, SLOT( autoScroll(bool) ) ); + m_scrollButton->addTo(navigation); + m_scrollButton->setOn(false); + +- m_start_action = new QAction( tr( "Goto Start" ), geticon( "start" ), QString::null, 0, this, NULL); ++ m_start_action = new Q3Action( tr( "Goto Start" ), geticon( "start" ), QString::null, 0, this, NULL); + connect( m_start_action, SIGNAL( activated() ), this, SLOT( gotoStart() ) ); + m_start_action->addTo(navigation); + +- m_end_action = new QAction( tr( "Goto End" ), geticon( "finish" ), QString::null, 0, this, NULL); ++ m_end_action = new Q3Action( tr( "Goto End" ), geticon( "finish" ), QString::null, 0, this, NULL); + connect( m_end_action, SIGNAL( activated() ), this, SLOT( gotoEnd() ) ); + m_end_action->addTo(navigation); + +- m_jump_action = new QAction( tr( "Jump" ), geticon( "rotate" ), QString::null, 0, this, NULL); ++ m_jump_action = new Q3Action( tr( "Jump" ), geticon( "rotate" ), QString::null, 0, this, NULL); + connect( m_jump_action, SIGNAL( activated() ), this, SLOT( jump() ) ); + m_jump_action->addTo(navigation); + +- m_pageline_action = new QAction( tr( "Page/Line Scroll" ), geticon( "pass" ), QString::null, 0, this, NULL, true ); ++ m_pageline_action = new Q3Action( tr( "Page/Line Scroll" ), geticon( "pass" ), QString::null, 0, this, NULL, true ); + connect( m_pageline_action, SIGNAL( toggled(bool) ), this, SLOT( pagemode(bool) ) ); + m_pageline_action->addTo(navigation); + m_pageline_action->setOn(reader->m_bpagemode); + +- m_pageup_action = new QAction( tr( "Up" ), geticon( "up" ), QString::null, 0, this, 0 ); ++ m_pageup_action = new Q3Action( tr( "Up" ), geticon( "up" ), QString::null, 0, this, 0 ); + connect( m_pageup_action, SIGNAL( activated() ), this, SLOT( pageup() ) ); + m_pageup_action->addTo( navigation ); + +- m_pagedn_action = new QAction( tr( "Down" ), geticon( "down" ), QString::null, 0, this, 0 ); ++ m_pagedn_action = new Q3Action( tr( "Down" ), geticon( "down" ), QString::null, 0, this, 0 ); + connect( m_pagedn_action, SIGNAL( activated() ), this, SLOT( pagedn() ) ); + m_pagedn_action->addTo( navigation ); + +- m_back_action = new QAction( tr( "Back" ), geticon( "back" ), QString::null, 0, this, 0 ); ++ m_back_action = new Q3Action( tr( "Back" ), geticon( "back" ), QString::null, 0, this, 0 ); + connect( m_back_action, SIGNAL( activated() ), reader, SLOT( goBack() ) ); + m_back_action->addTo( navigation ); + +- m_home_action = new QAction( tr( "Home" ), geticon( "home" ), QString::null, 0, this, 0 ); ++ m_home_action = new Q3Action( tr( "Home" ), geticon( "home" ), QString::null, 0, this, 0 ); + connect( m_home_action, SIGNAL( activated() ), reader, SLOT( goHome() ) ); + m_home_action->addTo( navigation ); + +- m_forward_action = new QAction( tr( "Forward" ), geticon( "forward" ), QString::null, 0, this, 0 ); ++ m_forward_action = new Q3Action( tr( "Forward" ), geticon( "forward" ), QString::null, 0, this, 0 ); + connect( m_forward_action, SIGNAL( activated() ), reader, SLOT( goForward() ) ); + m_forward_action->addTo( navigation ); + + /* +- a = new QAction( tr( "Find" ), QString::null, 0, this, NULL, true ); ++ a = new Q3Action( tr( "Find" ), QString::null, 0, this, NULL, true ); + // connect( a, SIGNAL( activated() ), this, SLOT( pagedn() ) ); + a->addTo( file ); + +- a = new QAction( tr( "Find Again" ), QString::null, 0, this, NULL, true ); ++ a = new Q3Action( tr( "Find Again" ), QString::null, 0, this, NULL, true ); + // connect( a, SIGNAL( activated() ), this, SLOT( pagedn() ) ); + a->addTo( file ); + */ +@@ -715,13 +712,13 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + + QActionGroup* ag = new QActionGroup(this); + ag->setExclusive(false); +- spacemenu = new QPopupMenu(this); ++ spacemenu = new Q3PopupMenu(this); + file->insertItem( tr( "Scrolling" ), spacemenu ); + +- a = new QAction( tr( "Set Target" ), QString::null, 0, ag, NULL); ++ a = new Q3Action( tr( "Set Target" ), QString::null, 0, ag, NULL); + connect( a, SIGNAL( activated() ), this, SLOT( setpipetarget() ) ); + +- a = new QAction( tr( "Pause Paras" ), QString::null, 0, ag, NULL, true ); ++ a = new Q3Action( tr( "Pause Paras" ), QString::null, 0, ag, NULL, true ); + connect( a, SIGNAL( toggled(bool) ), this, SLOT( setpause(bool) ) ); + a->setOn(reader->m_pauseAfterEachPara); + +@@ -731,64 +728,64 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + #endif + + /* +- a = new QAction( tr( "Import" ), QString::null, 0, this, NULL ); ++ a = new Q3Action( tr( "Import" ), QString::null, 0, this, NULL ); + connect( a, SIGNAL( activated() ), this, SLOT( importFiles() ) ); + a->addTo( file ); + */ + + /* +- a = new QAction( tr( "Paste" ), geticon( "paste" ), QString::null, 0, this, 0 ); ++ a = new Q3Action( tr( "Paste" ), geticon( "paste" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) ); + a->addTo( fileBar ); + a->addTo( edit ); + */ + +-// a = new QAction( tr( "Find..." ), geticon( "find" ), QString::null, 0, this, 0 ); ++// a = new Q3Action( tr( "Find..." ), geticon( "find" ), QString::null, 0, this, 0 ); + + m_fullscreen = false; +- m_actFullscreen = new QAction( tr( "Fullscreen" ), geticon( "fullscreen" ), QString::null, 0, this, NULL, true ); ++ m_actFullscreen = new Q3Action( tr( "Fullscreen" ), geticon( "fullscreen" ), QString::null, 0, this, NULL, true ); + connect( m_actFullscreen, SIGNAL( toggled(bool) ), this, SLOT( setfullscreen(bool) ) ); + m_actFullscreen->setOn(m_fullscreen); + m_actFullscreen->addTo( view ); + +- m_rotate_action = new QAction( tr( "Rotate" ), geticon( "repeat" ), QString::null, 0, this, NULL, true ); ++ m_rotate_action = new Q3Action( tr( "Rotate" ), geticon( "repeat" ), QString::null, 0, this, NULL, true ); + connect( m_rotate_action, SIGNAL( toggled(bool) ), this, SLOT( setrotated(bool) ) ); + m_rotate_action->setOn(reader->m_rotated); + m_rotate_action->addTo( view ); + +- m_inverse_action = new QAction( tr( "Invert" ), getmyicon( "invert" ), QString::null, 0, this, NULL, true ); ++ m_inverse_action = new Q3Action( tr( "Invert" ), getmyicon( "invert" ), QString::null, 0, this, NULL, true ); + connect( m_inverse_action, SIGNAL( toggled(bool) ), this, SLOT( setinverted(bool) ) ); + m_inverse_action->setOn(reader->bInverse); + m_inverse_action->addTo( view ); + + view->insertSeparator(); + +- m_zoomin_action = new QAction( tr( "Zoom In" ), geticon( "zoom" ), QString::null, 0, this); ++ m_zoomin_action = new Q3Action( tr( "Zoom In" ), geticon( "zoom" ), QString::null, 0, this); + connect( m_zoomin_action, SIGNAL( activated() ), this, SLOT( zoomin() ) ); + m_zoomin_action->addTo( view ); + +- m_zoomout_action = new QAction( tr( "Zoom Out" ), geticon( "mag" ), QString::null, 0, this); ++ m_zoomout_action = new Q3Action( tr( "Zoom Out" ), geticon( "mag" ), QString::null, 0, this); + connect( m_zoomout_action, SIGNAL( activated() ), this, SLOT( zoomout() ) ); + m_zoomout_action->addTo( view ); + + view->insertSeparator(); +- m_setfont_action = new QAction( tr( "Set Font" ), getmyicon( "font" ), QString::null, 0, this); ++ m_setfont_action = new Q3Action( tr( "Set Font" ), getmyicon( "font" ), QString::null, 0, this); + connect( m_setfont_action, SIGNAL( activated() ), this, SLOT( setfont() ) ); + m_setfont_action->addTo( view ); + + view->insertSeparator(); +- m_setenc_action = new QAction( tr( "Set Encoding" ), getmyicon( "charset" ), QString::null, 0, this); ++ m_setenc_action = new Q3Action( tr( "Set Encoding" ), getmyicon( "charset" ), QString::null, 0, this); + connect( m_setenc_action, SIGNAL( activated() ), this, SLOT( chooseencoding() ) ); + m_setenc_action->addTo( view ); + +- m_setmono_action = new QAction( tr( "Ideogram" ), getmyicon( "ideogram" ), QString::null, 0, this, NULL, true); ++ m_setmono_action = new Q3Action( tr( "Ideogram" ), getmyicon( "ideogram" ), QString::null, 0, this, NULL, true); + connect( m_setmono_action, SIGNAL( toggled(bool) ), this, SLOT( monospace(bool) ) ); + m_setmono_action->addTo( view ); + m_setmono_action->setOn(reader->m_bMonoSpaced); + + +- // a = new QAction( tr( "Zoom" ), QString::null, 0, this, NULL, true ); +- // a = new QAction( tr( "Zoom" ), geticon( "mag" ), QString::null, 0, this, 0 ); ++ // a = new Q3Action( tr( "Zoom" ), QString::null, 0, this, NULL, true ); ++ // a = new Q3Action( tr( "Zoom" ), geticon( "mag" ), QString::null, 0, this, 0 ); + + + +@@ -796,57 +793,57 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + // view->insertSeparator(); + + /* +- a = new QAction( tr( "Ideogram/Word" ), QString::null, 0, this, NULL, true ); ++ a = new Q3Action( tr( "Ideogram/Word" ), QString::null, 0, this, NULL, true ); + connect( a, SIGNAL( toggled(bool) ), this, SLOT( monospace(bool) ) ); + a->setOn(reader->m_bMonoSpaced); + a->addTo( view ); + */ + /* +- a = new QAction( tr( "Set Width" ), QString::null, 0, this, NULL); ++ a = new Q3Action( tr( "Set Width" ), QString::null, 0, this, NULL); + connect( a, SIGNAL( activated() ), this, SLOT( setspacing() ) ); + a->addTo( view ); + */ + +- m_mark_action = new QAction( tr( "Bookmark" ), getmyicon( "bookmark" ), QString::null, 0, this, NULL); ++ m_mark_action = new Q3Action( tr( "Bookmark" ), getmyicon( "bookmark" ), QString::null, 0, this, NULL); + connect( m_mark_action, SIGNAL( activated() ), this, SLOT( addbkmk() ) ); + m_mark_action->addTo( marks ); + +- m_annotate_action = new QAction( tr( "Annotate" ), getmyicon( "annotate" ), QString::null, 0, this, NULL); ++ m_annotate_action = new Q3Action( tr( "Annotate" ), getmyicon( "annotate" ), QString::null, 0, this, NULL); + connect( m_annotate_action, SIGNAL( activated() ), this, SLOT( addanno() ) ); + m_annotate_action->addTo( marks ); + +- m_goto_action = new QAction( tr( "Goto" ), getmyicon( "bookmark_goto" ), QString::null, 0, this, NULL, false ); ++ m_goto_action = new Q3Action( tr( "Goto" ), getmyicon( "bookmark_goto" ), QString::null, 0, this, NULL, false ); + connect( m_goto_action, SIGNAL( activated() ), this, SLOT( do_gotomark() ) ); + m_goto_action->addTo( marks ); + +- m_delete_action = new QAction( tr( "Delete" ), getmyicon( "bookmark_delete" ), QString::null, 0, this, NULL); ++ m_delete_action = new Q3Action( tr( "Delete" ), getmyicon( "bookmark_delete" ), QString::null, 0, this, NULL); + connect( m_delete_action, SIGNAL( activated() ), this, SLOT( do_delmark() ) ); + m_delete_action->addTo( marks ); + +- m_autogen_action = new QAction( tr( "Autogen" ), geticon( "exec" ), QString::null, 0, this, NULL, false ); ++ m_autogen_action = new Q3Action( tr( "Autogen" ), geticon( "exec" ), QString::null, 0, this, NULL, false ); + connect( m_autogen_action, SIGNAL( activated() ), this, SLOT( do_autogen() ) ); + marks->insertSeparator(); + m_autogen_action->addTo( marks ); + +- m_clear_action = new QAction( tr( "Clear" ), getmyicon( "bookmark_clear" ), QString::null, 0, this, NULL); ++ m_clear_action = new Q3Action( tr( "Clear" ), getmyicon( "bookmark_clear" ), QString::null, 0, this, NULL); + connect( m_clear_action, SIGNAL( activated() ), this, SLOT( clearBkmkList() ) ); + m_clear_action->addTo( marks ); + +- m_save_action = new QAction( tr( "Save" ), getmyicon( "bookmark_save" ), QString::null, 0, this, NULL ); ++ m_save_action = new Q3Action( tr( "Save" ), getmyicon( "bookmark_save" ), QString::null, 0, this, NULL ); + connect( m_save_action, SIGNAL( activated() ), this, SLOT( savebkmks() ) ); + m_save_action->addTo( marks ); + +- m_tidy_action = new QAction( tr( "Tidy" ), getmyicon( "bookmark_tidy" ), QString::null, 0, this, NULL); ++ m_tidy_action = new Q3Action( tr( "Tidy" ), getmyicon( "bookmark_tidy" ), QString::null, 0, this, NULL); + connect( m_tidy_action, SIGNAL( activated() ), this, SLOT( listBkmkFiles() ) ); + marks->insertSeparator(); + m_tidy_action->addTo( marks ); + +- m_startBlock_action = new QAction( tr( "Start Block" ), geticon( "new" ), QString::null, 0, this, NULL); ++ m_startBlock_action = new Q3Action( tr( "Start Block" ), geticon( "new" ), QString::null, 0, this, NULL); + connect( m_startBlock_action, SIGNAL( activated() ), this, SLOT( editMark() ) ); + marks->insertSeparator(); + m_startBlock_action->addTo( marks ); + +- m_endBlock_action = new QAction( tr( "Copy Block" ), geticon( "copy" ), QString::null, 0, this, NULL); ++ m_endBlock_action = new Q3Action( tr( "Copy Block" ), geticon( "copy" ), QString::null, 0, this, NULL); + connect( m_endBlock_action, SIGNAL( activated() ), this, SLOT( editCopy() ) ); + m_endBlock_action->addTo( marks ); + +@@ -868,10 +865,10 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + } + + +- pbar = new QProgressBar(this); ++ pbar = new Q3ProgressBar(this); + pbar->hide(); + +- searchBar = new QFloatBar( "Search", this, QMainWindow::Top, TRUE ); ++ searchBar = new QFloatBar( "Search", this, Qt::Top, TRUE ); + + searchBar->setHorizontalStretchable( TRUE ); + +@@ -890,17 +887,17 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + connect( searchEdit, SIGNAL( returnPressed( ) ), + this, SLOT( search( ) ) ); + #endif +- QAction*a = new QAction( tr( "Find Next" ), geticon( "next" ), QString::null, 0, this, 0 ); ++ Q3Action*a = new Q3Action( tr( "Find Next" ), geticon( "next" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); + a->addTo( searchBar ); + +- a = new QAction( tr( "Close Find" ), geticon( "close" ), QString::null, 0, this, 0 ); ++ a = new Q3Action( tr( "Close Find" ), geticon( "close" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); + a->addTo( searchBar ); + + searchBar->hide(); + +- regBar = new QFloatBar( "Autogen", this, QMainWindow::Top, TRUE ); ++ regBar = new QFloatBar( "Autogen", this, Qt::Top, TRUE ); + connect(regBar, SIGNAL( OnHide() ), this, SLOT( restoreFocus() )); + + regBar->setHorizontalStretchable( TRUE ); +@@ -913,17 +910,17 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + connect( regEdit, SIGNAL( returnPressed( ) ), + this, SLOT( do_regaction() ) ); + +- a = new QAction( tr( "Do Reg" ), geticon( "enter" ), QString::null, 0, this, 0 ); ++ a = new Q3Action( tr( "Do Reg" ), geticon( "enter" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( do_regaction() ) ); + a->addTo( regBar ); + +- a = new QAction( tr( "Close Edit" ), geticon( "close" ), QString::null, 0, this, 0 ); ++ a = new Q3Action( tr( "Close Edit" ), geticon( "close" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( regClose() ) ); + a->addTo( regBar ); + + regBar->hide(); + +- m_fontBar = new QToolBar( "Autogen", this, QMainWindow::Top, TRUE ); ++ m_fontBar = new Q3ToolBar( "Autogen", this, Qt::Top, TRUE ); + + m_fontBar->setHorizontalStretchable( TRUE ); + +@@ -965,7 +962,7 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) + + m_scrollbar->setVerticalStretchable( TRUE ); + */ +- scrollbar = m_scrollbar = new QScrollBar(QScrollBar::Vertical, widge); ++ scrollbar = m_scrollbar = new QScrollBar(Qt::Vertical, widge); + m_layout->addWidget(scrollbar); + scrollbar->setTracking(false); + // connect(scrollbar, SIGNAL(sliderMoved(int)), this, SLOT(actionscroll(int)) ); +@@ -1226,7 +1223,7 @@ void QTReaderApp::addtoolbars(Config* config) + { + if (m_bkmkAvail == NULL) + { +- m_bkmkAvail = new QAction( tr( "Annotation" ), geticon( "find" ), QString::null, 0, this, 0 ); ++ m_bkmkAvail = new Q3Action( tr( "Annotation" ), geticon( "find" ), QString::null, 0, this, 0 ); + connect( m_bkmkAvail, SIGNAL( activated() ), this, SLOT( showAnnotation() ) ); + + m_bkmkAvail->setEnabled(false); +@@ -1253,7 +1250,7 @@ bool QTReaderApp::checkbar(Config* _config, const QString& key) + } + + +-QToolBar* QTReaderApp::filebar() ++Q3ToolBar* QTReaderApp::filebar() + { + if (fileBar == NULL) + { +@@ -1270,21 +1267,21 @@ QToolBar* QTReaderApp::filebar() + case cesMenuTool: + case cesMultiple: + // qDebug("Creating new file bar"); +- fileBar = new QToolBar("File", this, m_tbposition); ++ fileBar = new Q3ToolBar("File", this, m_tbposition); + break; + } + // fileBar->setHorizontalStretchable( true ); + } + return fileBar; + } +-QToolBar* QTReaderApp::viewbar() ++Q3ToolBar* QTReaderApp::viewbar() + { + if (viewBar == NULL) + { + switch (m_tbpol) + { + case cesMultiple: +- viewBar = new QToolBar("View", this, m_tbposition); ++ viewBar = new Q3ToolBar("View", this, m_tbposition); + break; + default: + qDebug("Incorrect toolbar policy set"); +@@ -1298,7 +1295,7 @@ QToolBar* QTReaderApp::viewbar() + } + return viewBar; + } +-QToolBar* QTReaderApp::navbar() ++Q3ToolBar* QTReaderApp::navbar() + { + if (navBar == NULL) + { +@@ -1306,7 +1303,7 @@ QToolBar* QTReaderApp::navbar() + { + case cesMultiple: + // qDebug("Creating new nav bar"); +- navBar = new QToolBar("Navigation", this, m_tbposition); ++ navBar = new Q3ToolBar("Navigation", this, m_tbposition); + break; + default: + qDebug("Incorrect toolbar policy set"); +@@ -1321,14 +1318,14 @@ QToolBar* QTReaderApp::navbar() + } + return navBar; + } +-QToolBar* QTReaderApp::markbar() ++Q3ToolBar* QTReaderApp::markbar() + { + if (markBar == NULL) + { + switch (m_tbpol) + { + case cesMultiple: +- markBar = new QToolBar("Marks", this, m_tbposition); ++ markBar = new Q3ToolBar("Marks", this, m_tbposition); + break; + default: + qDebug("Incorrect toolbar policy set"); +@@ -1343,26 +1340,26 @@ QToolBar* QTReaderApp::markbar() + return markBar; + } + +-void QTReaderApp::addfilebar(Config* _config, const QString& key, QAction* a) ++void QTReaderApp::addfilebar(Config* _config, const QString& key, Q3Action* a) + { + if (_config->readBoolEntry(key, false)) a->addTo( filebar() ); + } +-void QTReaderApp::addnavbar(Config* _config, const QString& key, QAction* a) ++void QTReaderApp::addnavbar(Config* _config, const QString& key, Q3Action* a) + { + if (_config->readBoolEntry(key, false)) a->addTo( navbar() ); + } +-void QTReaderApp::addmarkbar(Config* _config, const QString& key, QAction* a) ++void QTReaderApp::addmarkbar(Config* _config, const QString& key, Q3Action* a) + { + if (_config->readBoolEntry(key, false)) a->addTo( markbar() ); + } +-void QTReaderApp::addviewbar(Config* _config, const QString& key, QAction* a) ++void QTReaderApp::addviewbar(Config* _config, const QString& key, Q3Action* a) + { + if (_config->readBoolEntry(key, false)) a->addTo( viewbar() ); + } + + void QTReaderApp::suspend() { reader->suspend(); } + +-void QTReaderApp::msgHandler(const QCString& _msg, const QByteArray& _data) ++void QTReaderApp::msgHandler(const Q3CString& _msg, const QByteArray& _data) + { + #ifndef USEMSGS + return; +@@ -1787,7 +1784,7 @@ void QTReaderApp::setfullscreen(bool sfs) + reader->update(); + } + /* +-void QTReaderApp::buttonActionSelected(QAction* _a) ++void QTReaderApp::buttonActionSelected(Q3Action* _a) + { + //// qDebug("es:%x : %s (%u)", _a, (const char *)(_a->text()), ActNameToInt(_a->text())); + m_spaceTarget = ActNameToInt(_a->text()); +@@ -2658,7 +2655,7 @@ void QTReaderApp::findNext() + #ifdef __ISEARCH + QString arg = searchEdit->text(); + #else +- QRegExp arg = searchEdit->text(); ++ QRegExp arg(searchEdit->text()); + #endif + CDrawBuffer test(&(reader->m_fontControl)); + size_t start = reader->pagelocate(); +@@ -2722,7 +2719,7 @@ bool QTReaderApp::dosearch(size_t start, CDrawBuffer& test, const QRegExp& arg) + while (strstr(test.data(),(const tchar*)arg) == NULL) + #else + #ifdef _UNICODE +- while ((offset = arg.match(toQString(test.data()))) == -1) ++ while ((offset = arg.exactMatch(toQString(test.data()))) == -1) + #else + while (arg.match(test.data()) == -1) + #endif +@@ -3799,7 +3796,7 @@ void QTReaderApp::do_autogen(const QString& regText) + } + i = reader->buffdoc.getpara(buff); + #ifdef _UNICODE +- if (re.match(toQString(buff.data())) != -1) ++ if (re.exactMatch(toQString(buff.data())) != -1) + #else + if (re.match(buff.data()) != -1) + #endif +@@ -4738,17 +4735,9 @@ bool QTReaderApp::PopulateConfig(const char* tgtdir, bool usedirs) + d.setFilter( ((usedirs) ? QDir::Dirs : QDir::Files) | QDir::NoSymLinks ); + // d.setSorting( QDir::Size | QDir::Reversed ); + +- const QFileInfoList *list = d.entryInfoList(); +- QFileInfoListIterator it( *list ); // create list iterator +- QFileInfo *fi; // pointer for traversing +- +- while ( (fi=it.current()) ) { // for each file... +- +- bkmkselector->insertItem(fi->fileName(), cnt++); +- +- //qDebug( "%10li %s", fi->size(), fi->fileName().data() ); +- ++it; // goto next list element +- } ++ QFileInfoList list = d.entryInfoList(); ++ for(QFileInfoListIterator it=list.begin();it!=list.end();++it) ++ bkmkselector->insertItem(it->fileName(), cnt++); + + #else /* USEQPE */ + int cnt = 0; +diff --git a/QTReaderApp.h b/QTReaderApp.h +index ab1b7ad..26c7695 100644 +--- a/QTReaderApp.h ++++ b/QTReaderApp.h +@@ -35,7 +35,15 @@ + #include <qmap.h> + #include <qlineedit.h> + #include <qstack.h> +-#include <qlistbox.h> ++#include <Qt3Support/Q3ListBox> ++#include <Qt3Support/Q3CString> ++#include <Qt3Support/Q3ProgressBar> ++#include <Qt3Support/Q3MainWindow> ++#include <Qt3Support/Q3Action> ++#include <Qt3Support/Q3WidgetStack> ++#include <qcombobox.h> ++#include <qnamespace.h> ++using namespace Qt; + #ifdef USEQPE + #include <qpe/qpeapplication.h> + #endif +@@ -126,7 +134,7 @@ struct searchrecord + class infowin; + class GraphicWin; + +-class QTReaderApp : public QMainWindow ++class QTReaderApp : public Q3MainWindow + { + Q_OBJECT + +@@ -180,7 +188,7 @@ class QTReaderApp : public QMainWindow + + protected: + void setfontHelper(const QString& lcn, int size = 0); +- QAction* m_bkmkAvail, *m_actFullscreen; ++ Q3Action* m_bkmkAvail, *m_actFullscreen; + CAnnoEdit* m_annoWin; + Bkmk* m_anno; + int m_scrollcolor, m_scrollbarcolor, m_background, m_foreground; +@@ -262,8 +270,8 @@ private slots: + void showAnnotation(); + void do_setencoding(int i); + void do_setfont(const QString&); +- // void buttonActionSelected(QAction*); +- void msgHandler(const QCString&, const QByteArray&); ++ // void buttonActionSelected(Q3Action*); ++ void msgHandler(const Q3CString&, const QByteArray&); + void monospace(bool); + void jump(); + void reparastring(); +@@ -346,35 +354,35 @@ private slots: + void setscrollcolour(); + void setscrollbarcolour(); + void writeUrl(const QString& file, const QString& href); +- QAction *m_preferences_action, *m_open_action, *m_close_action; +- QAction *m_info_action, *m_touch_action, *m_find_action, *m_start_action; +- QAction *m_end_action, *m_jump_action, *m_pageline_action; +- QAction *m_pageup_action, *m_pagedn_action, *m_back_action; +- QAction *m_home_action, *m_forward_action, *m_zoomin_action; +- QAction *m_zoomout_action, *m_setfont_action, *m_mark_action; +- QAction *m_annotate_action, *m_goto_action, *m_delete_action; +- QAction *m_autogen_action, *m_clear_action, *m_save_action; +- QAction *m_tidy_action, *m_startBlock_action, *m_endBlock_action; +- QAction *m_setenc_action, *m_setmono_action, *m_saveconfig_action; +- QAction *m_loadconfig_action, *m_loadtheme_action, *m_toolbarprefs_action, *m_tidyconfig_action; +- QAction *m_exportlinks_action, *m_rotate_action, *m_buttonprefs_action, *m_inverse_action; +- QAction *m_repara_action; ++ Q3Action *m_preferences_action, *m_open_action, *m_close_action; ++ Q3Action *m_info_action, *m_touch_action, *m_find_action, *m_start_action; ++ Q3Action *m_end_action, *m_jump_action, *m_pageline_action; ++ Q3Action *m_pageup_action, *m_pagedn_action, *m_back_action; ++ Q3Action *m_home_action, *m_forward_action, *m_zoomin_action; ++ Q3Action *m_zoomout_action, *m_setfont_action, *m_mark_action; ++ Q3Action *m_annotate_action, *m_goto_action, *m_delete_action; ++ Q3Action *m_autogen_action, *m_clear_action, *m_save_action; ++ Q3Action *m_tidy_action, *m_startBlock_action, *m_endBlock_action; ++ Q3Action *m_setenc_action, *m_setmono_action, *m_saveconfig_action; ++ Q3Action *m_loadconfig_action, *m_loadtheme_action, *m_toolbarprefs_action, *m_tidyconfig_action; ++ Q3Action *m_exportlinks_action, *m_rotate_action, *m_buttonprefs_action, *m_inverse_action; ++ Q3Action *m_repara_action; + #ifdef USEQPE +- QAction *m_grab_action; ++ Q3Action *m_grab_action; + #endif + void addtoolbars(Config* config); + ToolbarPolicy m_tbpol, m_tbpolsave; + ToolBarDock m_tbposition; + bool m_tbmove, m_tbmovesave; +- QToolBar* filebar(); +- QToolBar* viewbar(); +- QToolBar* navbar(); +- QToolBar* markbar(); ++ Q3ToolBar* filebar(); ++ Q3ToolBar* viewbar(); ++ Q3ToolBar* navbar(); ++ Q3ToolBar* markbar(); + void hidetoolbars(); +- void addfilebar(Config* _config, const QString& key, QAction* a); +- void addviewbar(Config* _config, const QString& key, QAction* a); +- void addnavbar(Config* _config, const QString& key, QAction* a); +- void addmarkbar(Config* _config, const QString& key, QAction* a); ++ void addfilebar(Config* _config, const QString& key, Q3Action* a); ++ void addviewbar(Config* _config, const QString& key, Q3Action* a); ++ void addnavbar(Config* _config, const QString& key, Q3Action* a); ++ void addmarkbar(Config* _config, const QString& key, Q3Action* a); + bool checkbar(Config* _config, const QString& key); + #ifdef _SCRIPT + void SaveScript(const char* sname); +@@ -401,9 +409,9 @@ private slots: + + private: + +- QAction* m_scrollButton; ++ Q3Action* m_scrollButton; + +- QAction* m_buttonAction[MAX_ACTIONS]; ++ Q3Action* m_buttonAction[MAX_ACTIONS]; + + CBkmkSelector* bkmkselector; + +@@ -418,21 +426,21 @@ private slots: + #else + bool dosearch(size_t start, CDrawBuffer& test, const QRegExp& arg); + #endif +- QWidgetStack *editorStack; ++ Q3WidgetStack *editorStack; + QTReader* reader; + QComboBox* m_fontSelector; + // QPEToolBar /* *menu,*/ *fileBar; + #if defined(USEQPE) +- QToolBar *menubar; ++ Q3ToolBar *menubar; + #endif +- QToolBar *fileBar, *navBar, *viewBar, *markBar; ++ Q3ToolBar *fileBar, *navBar, *viewBar, *markBar; + #if defined(USEQPE) + QPEMenuBar *mb; + #else + QMenuBar *mb; + #endif + QFloatBar *searchBar, *regBar/*, *m_fontBar*/; +- QToolBar /* *searchBar, *regBar,*/ *m_fontBar; ++ Q3ToolBar /* *searchBar, *regBar,*/ *m_fontBar; + QLineEdit *searchEdit, *regEdit; + bool searchVisible; + bool regVisible; +@@ -451,7 +459,7 @@ private slots: + CList<Bkmk>* pOpenlist; + infowin* m_infoWin; + GraphicWin* m_graphicwin; +- QProgressBar* pbar; ++ Q3ProgressBar* pbar; + bool m_fBkmksChanged; + // int m_nRegAction; + regedit_type m_nRegAction; +diff --git a/QtrListView.cpp b/QtrListView.cpp +index 67040f8..e73a395 100644 +--- a/QtrListView.cpp ++++ b/QtrListView.cpp +@@ -1,4 +1,7 @@ + #include "QtrListView.h" ++#include <QtGui/QKeyEvent> ++#include <qnamespace.h> ++using namespace Qt; + + void QtrListView::keyPressEvent(QKeyEvent* e) + { +@@ -19,6 +22,6 @@ void QtrListView::keyPressEvent(QKeyEvent* e) + emit OnCancelButton(); + break; + default: +- QListView::keyPressEvent(e); ++ Q3ListView::keyPressEvent(e); + } + } +diff --git a/QtrListView.h b/QtrListView.h +index c1b7f4d..02a74cc 100644 +--- a/QtrListView.h ++++ b/QtrListView.h +@@ -2,18 +2,19 @@ + #define __QTRLISTVIEW_H + + #include <qlistview.h> ++#include <Qt3Support/Q3ListViewItem> + +-class QtrListView : public QListView ++class QtrListView : public Q3ListView + { + Q_OBJECT + + virtual void keyPressEvent(QKeyEvent* e); + public: +- QtrListView(QWidget* parent, char* name) : QListView(parent, name) {}; ++ QtrListView(QWidget* parent, char* name) : Q3ListView(parent, name) {}; + + signals: +- void OnOKButton(QListViewItem*); +- void OnCentreButton(QListViewItem*); ++ void OnOKButton(Q3ListViewItem*); ++ void OnCentreButton(Q3ListViewItem*); + void OnCancelButton(); + }; + +diff --git a/Reb.cpp b/Reb.cpp +index 65de9f6..9e6e552 100644 +--- a/Reb.cpp ++++ b/Reb.cpp +@@ -105,8 +105,7 @@ QImage* CReb::getPicture(const QString& ref) + char* imgbuffer = new char[rs.len]; + fseek(fin, page2pos(iter.data()), SEEK_SET); + fread(imgbuffer, rs.len, 1, fin); +- QByteArray arr; +- arr.assign((const char*)imgbuffer, rs.len); ++ QByteArray arr((const char*)imgbuffer, rs.len); + QImage* qimage = new QImage(arr); + return qimage; + } +@@ -581,7 +580,7 @@ void RBPage::startpage(UInt32 pos, UInt32 _cp, bool _isCompressed, UInt32 _len) + int CReb::getch() + { + if (tagoffset < tagstring.length()) +- return tagstring[tagoffset++].unicode(); ++ return tagstring.at(tagoffset++).unicode(); + else + return currentpage.getch(this); + } +diff --git a/TableDialog.cpp b/TableDialog.cpp +index b67d534..d0748d6 100644 +--- a/TableDialog.cpp ++++ b/TableDialog.cpp +@@ -4,7 +4,7 @@ CTableDialog::CTableDialog(const QFont& f, const QString& tabtext, bool fs, QWid + { + setCaption("Table View"); + QVBoxLayout *tmp = new QVBoxLayout(this); +- QTextView* qtv = new QTextView(this); ++ Q3TextView* qtv = new Q3TextView(this); + qtv->setFont(f); + tmp->addWidget(qtv); + qtv->setText(tabtext); +diff --git a/TableDialog.h b/TableDialog.h +index 2257a81..14b1cf2 100644 +--- a/TableDialog.h ++++ b/TableDialog.h +@@ -2,8 +2,11 @@ + #define __TABLEDIALOG_H + + #include <qdialog.h> +-#include <qtextview.h> ++#include <Qt3Support/Q3TextView> ++#include <QtGui/QKeyEvent> + #include <qlayout.h> ++#include <qnamespace.h> ++using namespace Qt; + + class CTableDialog : public QDialog + { +diff --git a/ToolbarPrefs.cpp b/ToolbarPrefs.cpp +index 56c4e9b..10fc6ec 100644 +--- a/ToolbarPrefs.cpp ++++ b/ToolbarPrefs.cpp +@@ -22,6 +22,7 @@ + #ifdef USEQPE + #include <qpe/menubutton.h> + #endif ++#include <Qt3Support/Q3GroupBox> + + CBarPrefs::CBarPrefs(const QString& appdir, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true), config( appdir ) + { +@@ -222,7 +223,7 @@ CFileBarPrefs::CFileBarPrefs( Config& _config, QWidget* parent, const char* nam + config.setGroup( "Toolbar" ); + QVBoxLayout* vb = new QVBoxLayout(this); + +- QGroupBox* bg = new QGroupBox(2, Qt::Horizontal, "File", this); ++ Q3GroupBox* bg = new Q3GroupBox(2, Qt::Horizontal, "File", this); + vb->addWidget(bg); + + open = new QCheckBox( tr("Open"), bg ); +@@ -263,7 +264,7 @@ CNavBarPrefs::CNavBarPrefs( Config& _config, QWidget* parent, const char* name, + config.setGroup( "Toolbar" ); + QVBoxLayout* vb = new QVBoxLayout(this); + +- QGroupBox* bg = new QGroupBox(2, Qt::Horizontal, "Navigation", this); ++ Q3GroupBox* bg = new Q3GroupBox(2, Qt::Horizontal, "Navigation", this); + vb->addWidget(bg); + scroll = new QCheckBox( tr("Scroll"), bg ); + scroll->setChecked(config.readBoolEntry( "Scroll", false )); +@@ -324,7 +325,7 @@ CViewBarPrefs::CViewBarPrefs( Config& _config, QWidget* parent, const char* nam + { + QVBoxLayout* vb = new QVBoxLayout(this); + +- QGroupBox* bg = new QGroupBox(2, Qt::Horizontal, "View", this); ++ Q3GroupBox* bg = new Q3GroupBox(2, Qt::Horizontal, "View", this); + vb->addWidget(bg); + + config.setGroup( "Toolbar" ); +@@ -381,7 +382,7 @@ CMarkBarPrefs::CMarkBarPrefs( Config& _config, QWidget* parent, const char* nam + { + QVBoxLayout* vb = new QVBoxLayout(this); + +- QGroupBox* bg = new QGroupBox(2, Qt::Horizontal, "Marks", this); ++ Q3GroupBox* bg = new Q3GroupBox(2, Qt::Horizontal, "Marks", this); + vb->addWidget(bg); + mark = new QCheckBox( tr("Bookmark"), bg ); + mark->setChecked(config.readBoolEntry( "Mark", false )); +@@ -443,13 +444,13 @@ CMiscBarPrefs::CMiscBarPrefs( QWidget* parent, const char* name, WFlags fl ) + + hl->setMargin( 0 ); + +- QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, "Dialogs", this); ++ Q3GroupBox* gb = new Q3GroupBox(1, Qt::Horizontal, "Dialogs", this); + floating = new QCheckBox(gb); + floating->setText(tr("Floating")); + hl->addWidget( gb, 0, 0 ); + + +- gb = new QGroupBox(1, Qt::Horizontal, "Bars (Restart)", this); ++ gb = new Q3GroupBox(1, Qt::Horizontal, "Bars (Restart)", this); + + // QLabel* ql = new QLabel("Restart to apply changes", gb); + // TextLabel = new QLabel( gb ); +@@ -485,7 +486,7 @@ CMiscBarPrefs::CMiscBarPrefs( QWidget* parent, const char* name, WFlags fl ) + + hl->addWidget(gb, 0, 1); + +- gb = new QGroupBox(1, Qt::Horizontal, "QT Scroll Bar", this); ++ gb = new Q3GroupBox(1, Qt::Horizontal, "QT Scroll Bar", this); + + #ifdef USECOMBO + qtscroll = new QComboBox(gb); +@@ -497,7 +498,7 @@ CMiscBarPrefs::CMiscBarPrefs( QWidget* parent, const char* name, WFlags fl ) + qtscroll->insertItem(tr("Left")); + + hl->addWidget(gb, 1, 0); +- gb = new QGroupBox(1, Qt::Horizontal, "Miniscroll", this); ++ gb = new Q3GroupBox(1, Qt::Horizontal, "Miniscroll", this); + + #ifdef USECOMBO + localscroll = new QComboBox(gb); +@@ -527,7 +528,7 @@ CIndBarPrefs::CIndBarPrefs( Config& _config, QWidget* parent, const char* name, + { + QVBoxLayout* vb = new QVBoxLayout(this); + +- QGroupBox* bg = new QGroupBox(1, Qt::Horizontal, "Indicators", this); ++ Q3GroupBox* bg = new Q3GroupBox(1, Qt::Horizontal, "Indicators", this); + vb->addWidget(bg); + indannotate = new QCheckBox( tr("Annotation"), bg ); + indannotate->setChecked(config.readBoolEntry( "Annotation indicator", false )); +diff --git a/ToolbarPrefs.h b/ToolbarPrefs.h +index 9df8940..2a9d5cd 100644 +--- a/ToolbarPrefs.h ++++ b/ToolbarPrefs.h +@@ -11,12 +11,14 @@ + + #include <qvariant.h> + #include <qwidget.h> +-#include <qtabdialog.h> ++#include <Qt3Support/Q3TabDialog> + #include <qtabwidget.h> + #include <qspinbox.h> + #include <qcheckbox.h> + #include <qcombobox.h> + #include <qlineedit.h> ++#include <qnamespace.h> ++using namespace Qt; + #ifdef USEQPE + #include <qpe/menubutton.h> + #include <qpe/config.h> +@@ -25,6 +27,8 @@ + #endif + #define USECOMBO + ++#include <QtGui/QKeyEvent> ++ + class QVBoxLayout; + class QHBoxLayout; + class QGridLayout; +diff --git a/URLDialog.cpp b/URLDialog.cpp +index dd4568b..9497979 100644 +--- a/URLDialog.cpp ++++ b/URLDialog.cpp +@@ -5,7 +5,7 @@ CURLDialog::CURLDialog(const QString& fname, bool fs, QWidget* parent, const cha + { + setCaption(tr("Save URL")); + QVBoxLayout *tmp = new QVBoxLayout(this); +- QVButtonGroup* vb = new QVButtonGroup(fname, this); ++ Q3VButtonGroup* vb = new Q3VButtonGroup(fname, this); + tmp->addWidget(vb); + m_clipboard = new QCheckBox(tr("Clipboard"), vb); + m_localfile = new QCheckBox(tr("Local file"), vb); +diff --git a/URLDialog.h b/URLDialog.h +index 792d13a..fffaf2b 100644 +--- a/URLDialog.h ++++ b/URLDialog.h +@@ -11,14 +11,17 @@ + + #include <qvariant.h> + #include <qwidget.h> +-#include <qtabdialog.h> ++#include <Qt3Support/Q3TabDialog> + #include <qtabwidget.h> + #include <qspinbox.h> + #include <qcheckbox.h> + #include <qcombobox.h> + #include <qlineedit.h> + //#include <qpe/menubutton.h> +-#include <qvbuttongroup.h> ++#include <Qt3Support/Q3VButtonGroup> ++#include <QtGui/QKeyEvent> ++#include <qnamespace.h> ++using namespace Qt; + + class QVBoxLayout; + class QHBoxLayout; +diff --git a/arrierego.cpp b/arrierego.cpp +index be2a3fa..b4f857f 100644 +--- a/arrierego.cpp ++++ b/arrierego.cpp +@@ -114,8 +114,7 @@ void CArriere::setlink(QString& fn, const QString& wrd) + + QImage* CArriere::imagefromdata(UInt8* imgbuffer, UInt32 imgsize) + { +- QByteArray arr; +- arr.assign((const char*)imgbuffer, imgsize); ++ QByteArray arr((const char*)imgbuffer, imgsize); + + QImage* qimage = new QImage(arr); + +diff --git a/cbkmkselector.h b/cbkmkselector.h +index ec0c6e8..e36d31a 100644 +--- a/cbkmkselector.h ++++ b/cbkmkselector.h +@@ -1,13 +1,15 @@ + #include <qwidget.h> +-#include <qlistbox.h> ++#include <Qt3Support/Q3ListBox> + #include <qpushbutton.h> + #include <qlayout.h> ++#include <qnamespace.h> ++using namespace Qt; + +-class CBkmkSelectorItem : public QListBoxText ++class CBkmkSelectorItem : public Q3ListBoxText + { + int m_ref; + public: +- CBkmkSelectorItem(const QString& _t, int ref) : QListBoxText(_t), m_ref(ref) ++ CBkmkSelectorItem(const QString& _t, int ref) : Q3ListBoxText(_t), m_ref(ref) + { + } + int reference() { return m_ref; } +@@ -18,7 +20,7 @@ class CBkmkSelector : public QWidget + + Q_OBJECT + +- QListBox* bkmkselector; ++ Q3ListBox* bkmkselector; + QPushButton* exitButton; + /* + void keyPressEvent ( QKeyEvent * e ) +@@ -38,7 +40,7 @@ signals: + void selected(int i); + void cancelled(); + private slots: +- void slotSelected(QListBoxItem* t) ++ void slotSelected(Q3ListBoxItem* t) + { + if (t != NULL) + { +@@ -64,13 +66,13 @@ public: + + QVBoxLayout* grid = new QVBoxLayout(this); + QHBoxLayout* hgrid = new QHBoxLayout(); +- bkmkselector = new QListBox(this, tr("Bookmarks")); ++ bkmkselector = new Q3ListBox(this, tr("Bookmarks")); + QPushButton* _sort = new QPushButton(tr("Sort"), this); + connect(_sort, SIGNAL(clicked()), this, SLOT( slotSort() ) ); + exitButton = new QPushButton(tr("Cancel"), this); + // connect(bkmkselector, SIGNAL( selected(int) ), this, SLOT( slotSelected(int) ) ); +- connect(bkmkselector, SIGNAL( clicked(QListBoxItem*) ), this, SLOT( slotSelected(QListBoxItem*) ) ); +- connect(bkmkselector, SIGNAL( returnPressed(QListBoxItem*) ), this, SLOT( slotSelected(QListBoxItem*) ) ); ++ connect(bkmkselector, SIGNAL( clicked(Q3ListBoxItem*) ), this, SLOT( slotSelected(Q3ListBoxItem*) ) ); ++ connect(bkmkselector, SIGNAL( returnPressed(Q3ListBoxItem*) ), this, SLOT( slotSelected(Q3ListBoxItem*) ) ); + connect(exitButton, SIGNAL( clicked() ), this, SLOT( slotCancel() ) ); + grid->addWidget(bkmkselector,1); + grid->addLayout(hgrid); +diff --git a/decompress.cpp b/decompress.cpp +index 6034e01..1c51e5b 100644 +--- a/decompress.cpp ++++ b/decompress.cpp +@@ -68,7 +68,8 @@ size_t (*getdecompressor(char* _s))(UInt8*, size_t, UInt8*, size_t) + #endif + codecpath += "/plugins/reader/support/libpluckerdecompress.so"; + #else +- QString codecpath(getenv("READERDIR")); ++ const char *rd = getenv("READERDIR"); ++ QString codecpath(rd?rd:"/usr/lib/uqtreader"); + codecpath += "/support/libpluckerdecompress.so"; + #endif + qDebug("Codec:%s", (const char*)codecpath); +diff --git a/ebookcodec.h b/ebookcodec.h +index 4229fb9..a7767c7 100644 +--- a/ebookcodec.h ++++ b/ebookcodec.h +@@ -30,7 +30,8 @@ class ebookcodec : public CExpander_Interface + #endif + codecpath += "/plugins/reader/codecs/"; + #else +- QString codecpath(getenv("READERDIR")); ++ const char *rd = getenv("READER"); ++ QString codecpath(rd?rd:"/usr/lib/uqtreader"); + codecpath += "/codecs/"; + #endif + codecpath += _s; +diff --git a/fileBrowser.cpp b/fileBrowser.cpp +index c8c371a..688f035 100644 +--- a/fileBrowser.cpp ++++ b/fileBrowser.cpp +@@ -53,18 +53,18 @@ fileBrowser::fileBrowser( bool allownew, QWidget* parent, const char* name, boo + ListView->addColumn( tr( "Name" ) ); + ListView->setSorting( 2, FALSE); + ListView->addColumn( tr( "Size" ) ); +- ListView->setSelectionMode(QListView::Single); ++ ListView->setSelectionMode(Q3ListView::Single); + ListView->setAllColumnsShowFocus( TRUE ); +- ListView->setColumnWidthMode(0, ((modal) ? QListView::Manual : QListView::Maximum)); +- ListView->setColumnWidthMode(1, QListView::Manual); ++ ListView->setColumnWidthMode(0, ((modal) ? Q3ListView::Manual : Q3ListView::Maximum)); ++ ListView->setColumnWidthMode(1, Q3ListView::Manual); + + // signals and slots connections + connect( buttonShowHidden, SIGNAL( toggled(bool) ), this, SLOT( setHidden(bool) ) ); + connect( buttonOk, SIGNAL( clicked() ), this, SLOT( OnRoot() ) ); +- connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) ); +- connect( ListView, SIGNAL(clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); +- connect( ListView, SIGNAL(OnOKButton( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); +- connect( ListView, SIGNAL(OnCentreButton( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); ++ connect( ListView, SIGNAL(doubleClicked( Q3ListViewItem*)), SLOT(listDoubleClicked(Q3ListViewItem *)) ); ++ connect( ListView, SIGNAL(clicked( Q3ListViewItem*)), SLOT(listClicked(Q3ListViewItem *)) ); ++ connect( ListView, SIGNAL(OnOKButton( Q3ListViewItem*)), SLOT(listClicked(Q3ListViewItem *)) ); ++ connect( ListView, SIGNAL(OnCentreButton( Q3ListViewItem*)), SLOT(listClicked(Q3ListViewItem *)) ); + connect( ListView, SIGNAL(OnCancelButton()), SLOT(OnCancel()) ); + + QVBoxLayout* grid = new QVBoxLayout(this); +@@ -143,16 +143,13 @@ void fileBrowser::populateList() + currentDir.setNameFilter(filterStr); + // currentDir.setNameFilter("*.txt;*.etx"); + QString fileL, fileS; +- const QFileInfoList *list = currentDir.entryInfoList(); +- QFileInfoListIterator it(*list); +- QFileInfo *fi; +- while ( (fi=it.current()) ) +- { +- if (fi->fileName() != ".") ++ QFileInfoList list = currentDir.entryInfoList(); ++ for(QFileInfoListIterator it=list.begin();it!=list.end();++it) { ++ if (it->fileName() != ".") + { +- fileS.sprintf( "%10li", fi->size() ); +- fileL.sprintf( "%s",fi->fileName().data() ); +- if( fi->isDir() ) ++ fileS.sprintf( "%10li", it->size() ); ++ fileL.sprintf( "%s",it->fileName().data() ); ++ if( it->isDir() ) + { + fileL+="/"; + } +@@ -160,9 +157,8 @@ void fileBrowser::populateList() + { + //// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); + } +- new QListViewItem( ListView,fileL,fileS ); ++ new Q3ListViewItem( ListView,fileL,fileS ); + } +- ++it; + } + ListView->setSorting( 2, FALSE); + dirLabel->setText("Current Directory:\n"+currentDir.canonicalPath()); +@@ -174,7 +170,7 @@ void fileBrowser::upDir() + //// qDebug(currentDir.canonicalPath()); + } + +-void fileBrowser::listClicked(QListViewItem *selectedItem) ++void fileBrowser::listClicked(Q3ListViewItem *selectedItem) + { + if (selectedItem == NULL) return; + QString strItem=selectedItem->text(0); +@@ -196,12 +192,12 @@ void fileBrowser::listClicked(QListViewItem *selectedItem) + + if(QDir(strItem).exists()) + { +- currentDir.cd(strItem, TRUE); ++ currentDir.cd(strItem); + populateList(); + } + } else + { +- QListViewItem *selectedItem = ListView->selectedItem(); ++ Q3ListViewItem *selectedItem = ListView->selectedItem(); + if (selectedItem == NULL) + { + filename = ""; +@@ -218,7 +214,7 @@ void fileBrowser::listClicked(QListViewItem *selectedItem) + } + + // you may want to switch these 2 functions. I like single clicks +-void fileBrowser::listDoubleClicked(QListViewItem *selectedItem) ++void fileBrowser::listDoubleClicked(Q3ListViewItem *selectedItem) + { + } + +@@ -253,7 +249,7 @@ void fileBrowser::setHidden(bool _hidden) + + void fileBrowser::onReturn() + { +- QListViewItem *selectedItem = ListView->selectedItem(); ++ Q3ListViewItem *selectedItem = ListView->selectedItem(); + if (selectedItem == NULL) + { + filename = m_filename->text(); +@@ -282,7 +278,7 @@ void fileBrowser::onHome() + + void fileBrowser::setdir(const QString& s) + { +- currentDir.cd(s, TRUE); ++ currentDir.cd(s); + populateList(); + chdir(s); + } +diff --git a/fileBrowser.h b/fileBrowser.h +index c536e96..959e866 100644 +--- a/fileBrowser.h ++++ b/fileBrowser.h +@@ -22,6 +22,9 @@ blah,blah,blah + #include <qstringlist.h> + #include <qlabel.h> + #include <qstring.h> ++#include <qnamespace.h> ++using namespace Qt; ++#include <Qt3Support/Q3ListViewItem> + + class QVBoxLayout; + class QHBoxLayout; +@@ -50,7 +53,7 @@ class fileBrowser : public QDialog + QFile file; + QString getCurrentFile(); + QLineEdit* m_filename; +- int filterspec; ++ QDir::Filters filterspec; + // QDir::FilterSpec filterspec; + + //QListViewItem * item; +@@ -60,8 +63,8 @@ class fileBrowser : public QDialog + QString filename; + private slots: + void upDir(); +- void listDoubleClicked(QListViewItem *); +- void listClicked(QListViewItem *); ++ void listDoubleClicked(Q3ListViewItem *); ++ void listClicked(Q3ListViewItem *); + void OnRoot(); + void OnCancel(); + void setHidden(bool); +diff --git a/hrule.cpp b/hrule.cpp +index d697acb..4705057 100644 +--- a/hrule.cpp ++++ b/hrule.cpp +@@ -1,4 +1,5 @@ + #include <qimage.h> ++#include <qpixmap.h> + + QImage* hRule(int w, int h, unsigned char r, unsigned char g, unsigned char b) + { +diff --git a/infowin.cpp b/infowin.cpp +index 816a09f..0a25571 100644 +--- a/infowin.cpp ++++ b/infowin.cpp +@@ -1,7 +1,7 @@ + #include "infowin.h" + #include "version.h" + #include <stdio.h> +-#include <qmultilineedit.h> ++#include <Qt3Support/Q3MultiLineEdit> + #include <qlayout.h> + #include <qpushbutton.h> + #include "names.h" +@@ -20,9 +20,9 @@ infowin::infowin( QWidget *parent, const char *name, WFlags f) : + QWidget(parent, name, f) + { + QVBoxLayout* vl = new QVBoxLayout(this); +- aboutbox = new QMultiLineEdit(this); ++ aboutbox = new Q3MultiLineEdit(this); + aboutbox->setReadOnly(true); +- aboutbox->setWordWrap(QMultiLineEdit::WidgetWidth); ++ aboutbox->setWordWrap(Q3MultiLineEdit::WidgetWidth); + //grid->addWidget(l, 5, 0); + vl->addWidget(aboutbox); + QGridLayout* grid = new QGridLayout(vl, 10, 2); +diff --git a/infowin.h b/infowin.h +index c003998..92cff3a 100644 +--- a/infowin.h ++++ b/infowin.h +@@ -2,6 +2,9 @@ + #define __INFOWIN_H + + #include <qlabel.h> ++#include <Qt3Support/Q3MultiLineEdit> ++#include <qnamespace.h> ++using namespace Qt; + class QString; + class QMultiLineEdit; + +@@ -17,7 +20,7 @@ Q_OBJECT + QLabel* docSize; + QLabel* docLocation; + QLabel* zoom; +- QMultiLineEdit* aboutbox; ++ Q3MultiLineEdit* aboutbox; + public: + infowin( QWidget *parent=0, const char *name=0, WFlags f = 0); + void setFileSize(int sz) { fileSize->setNum(sz); } +diff --git a/opiedir/include.pro b/opiedir/include.pro +new file mode 100644 +index 0000000..8e1cc2b +--- /dev/null ++++ b/opiedir/include.pro +@@ -0,0 +1,7 @@ ++DEFINES -= OPIE USEQPE ++DEFINES += QT3_SUPPORT ++ ++LIBS -= -lopiecore2 -lopieui2 -lqpe ++LIBS += -L${OPIEDIR}/lib ++ ++QT += core gui qt3support +diff --git a/outputcodec.h b/outputcodec.h +index 727575c..6a0bdfe 100644 +--- a/outputcodec.h ++++ b/outputcodec.h +@@ -37,7 +37,8 @@ class outputcodec : public COutput + #endif + codecpath += "/plugins/reader/outcodecs/lib"; + #else +- QString codecpath(getenv("READERDIR")); ++ const char *rd = getenv("READERDIR"); ++ QString codecpath(rd?rd:"/usr/lib/uqtreader"); + codecpath += "/outcodecs/lib"; + #endif + codecpath += _s; +diff --git a/preferences.cpp b/preferences.cpp +index 67960ed..044a003 100755 +--- a/preferences.cpp ++++ b/preferences.cpp +@@ -14,7 +14,7 @@ Config::Config(const QString& _fn) : fname(_fn) + { + QTextStream t(&fl); + QString key, value; +- while (!t.eof()) ++ while (!t.atEnd()) + { + QString data = t.readLine(); + int colon = data.find(':'); +diff --git a/reader/reader.pro b/reader/reader.pro +index dc6a5dd..7552bd1 100644 +--- a/reader/reader.pro ++++ b/reader/reader.pro +@@ -51,7 +51,8 @@ HEADERS = Aportis.h \ + util.h \ + utypes.h \ + version.h \ +- ztxt.h ++ ztxt.h \ ++ preferences.h + + SOURCES = BuffDoc.cpp \ + ButtonPrefs.cpp \ +@@ -76,7 +77,8 @@ SOURCES = BuffDoc.cpp \ + main.cpp \ + orkey.cpp \ + util.cpp \ +- version.cpp ++ version.cpp \ ++ preferences.cpp + + INTERFACES = + DESTDIR = $(OPIEDIR)/bin +diff --git a/striphtml.cpp b/striphtml.cpp +index a2ad56b..6dba68e 100644 +--- a/striphtml.cpp ++++ b/striphtml.cpp +@@ -209,14 +209,14 @@ QString striphtml::dehtml(const QString& _info) + QString info; + for (int i = 0; i < _info.length(); i++) + { +- tchar ch = _info[i]; ++ tchar ch = _info[i].unicode(); + if (ch == '%') + { + ch = 0; + for (int j = 0; j < 2; j++) + { + ch <<= 4; +- tchar ch1 = _info[++i]; ++ tchar ch1 = _info[++i].unicode(); + if ('0' <= ch1 && ch1 <= '9') + { + ch += ch1 - '0'; +@@ -285,7 +285,7 @@ bool striphtml::findanchor(const QString& _info) + while (1) + { + // qApp->processEvents(); +- if ((offset = name.match(toQString(test.data()))) != -1) break; ++ if ((offset = name.exactMatch(toQString(test.data()))) != -1) break; + #ifdef USEQPE + if ((offset = id.match(toQString(test.data()))) != -1) break; + #endif +@@ -333,7 +333,8 @@ void striphtml::initentmap() + #endif + fname += "/plugins/reader/data"; + #else +- QString fname(getenv("READERDIR")); ++ const char *rd = getenv("READERDIR"); ++ QString fname(rd?rd:"/usr/share/uqtreader"); + fname += "/data"; + #endif + QFileInfo fi; +@@ -347,7 +348,7 @@ void striphtml::initentmap() + { + QTextStream t(&fl); + QString key, value; +- while (!t.eof()) ++ while (!t.atEnd()) + { + QString data = t.readLine(); + int colon = data.find(':'); +diff --git a/version.cpp b/version.cpp +index aafb3d8..743ef38 100644 +--- a/version.cpp ++++ b/version.cpp +@@ -2,9 +2,9 @@ + #include "names.h" + #include <qmessagebox.h> + +-#include <qmultilineedit.h> ++#include <Qt3Support/Q3MultiLineEdit> + #include <qlayout.h> +-#include <qtextview.h> ++#include <Qt3Support/Q3TextView> + class versionbox : public QDialog + { + public: +@@ -19,7 +19,7 @@ public: + box->setWordWrap(QMultiLineEdit::WidgetWidth); + box->setText(txt); + */ +- QTextView* box = new QTextView(this); ++ Q3TextView* box = new Q3TextView(this); + v->addWidget(box); + box->setText(txt); + #ifdef USEQPE diff --git a/packages/opie-reader/uqtreader_cvs.bb b/packages/opie-reader/uqtreader_cvs.bb new file mode 100644 index 0000000000..a19491d92f --- /dev/null +++ b/packages/opie-reader/uqtreader_cvs.bb @@ -0,0 +1,71 @@ +DESCRIPTION = "qt4-x11 opie-reader ebook reader port" +SECTION = "x11/applications" +PRIORITY = "optional" +LICENSE = "GPL" + +RRECOMMENDS="${PN}-filter-html" + +S = "${WORKDIR}/opie-reader" +PV = "${OPIE_CVS_PV}" +PR = "r1" + +SRC_URI = "${HANDHELDS_CVS};module=opie/noncore/apps/opie-reader \ + ${HANDHELDS_CVS};module=opie/pics \ + ${HANDHELDS_CVS};module=opie/apps \ + file://qt4.patch;patch=1" + +export OPIEDIR="${S}/opiedir" + +inherit qmake-base qt4x11 + +do_configure() { + ${OE_QMAKE_QMAKE} -recursive opie-reader.pro +} +do_compile() { + oe_runmake +} +do_install() { + install -d ${D}/usr/bin + install -m 0755 ${S}/opiedir/bin/opie-reader ${D}/usr/bin/uqtreader + install -d ${D}/usr/lib/uqtreader + cp -Rpd ${S}/opiedir/{lib,plugins/reader/support}/lib*.so.* ${D}/usr/lib/ + for so in ${S}/opiedir/plugins/reader/{codecs,filters,outcodecs}/lib*.so ; do + soso="${so#${S}/opiedir/plugins/reader/}" + dd="${D}/usr/lib/uqtreader/$(dirname "$soso")" + install -d "$dd" + install -m 0755 "$so" "${dd}/$(basename "$soso")" + done + install -d ${D}/usr/share/uqtreader + cp -Rpd ${S}/opiedir/plugins/reader/data ${D}/usr/share/uqtreader/ + install -d ${D}/usr/share/uqtreader/pics + cp \ + ${WORKDIR}/pics/opie-reader/*.png \ + ${WORKDIR}/pics/inline/{AppsIcon,SettingsIcon,fileopen,close,cut,UtilsIcon,1to1,find,start,finish,rotate,up,down,back,home,forward,paste,fullscreen,repeat,zoom,mag,exec,new,copy,next,enter}.png \ + ${D}/usr/share/uqtreader/pics/ + install -d ${D}/usr/share/applications + sed <${WORKDIR}/apps/Applications/opie-reader.desktop \ + -e '/^CanFastLoad/d' -e 's,^Icon=.*,Icon=/usr/share/uqtreader/pics/OpieReader.png,g' \ + -e 's,^Exec=.*,Exec=/usr/bin/uqtreader,g' \ + -e '$aType=Application' -e 'aCategories=Applications' \ + -e '/^Name/s/Opie/UQT/g' \ + >${D}/usr/share/applications/uqtreader.desktop +} +PACKAGES += "${PN}-pdblib ${PN}-codeclib \ + ${PN}-codec-aportis ${PN}-codec-arrierego ${PN}-codec-chm ${PN}-codec-plucker ${PN}-codec-reb ${PN}-codec-weasel ${PN}-codec-isilo ${PN}-codec-ppms \ + ${PN}-filter-html ${PN}-output-flitecmd" + + +FILES_${PN}-pdblib = "/usr/lib/libreader_pdb.so.*" +FILES_${PN}-codeclib = "/usr/lib/libreader_codec.so.*" +FILES_${PN}-codec-aportis = "/usr/lib/uqtreader/codecs/libAportis.so" +FILES_${PN}-codec-arrierego = "/usr/lib/uqtreader/codecs/libArriereGo.so" +FILES_${PN}-codec-chm = "/usr/lib/uqtreader/codecs/libCHM.so" +FILES_${PN}-codec-plucker = "/usr/lib/uqtreader/codecs/libPlucker.so /usr/lib/lib*plucker*.so.*" +DEBIAN_NOAUTONAME_${PN}-codec-plucker = 1 +FILES_${PN}-codec-reb = "/usr/lib/uqtreader/codecs/libReb.so" +FILES_${PN}-codec-weasel = "/usr/lib/uqtreader/codecs/libWeasel.so" +FILES_${PN}-codec-isilo = "/usr/lib/uqtreader/codecs/libiSilo.so" +FILES_${PN}-codec-ppms = "/usr/lib/uqtreader/codecs/libppms.so" +FILES_${PN}-filter-html = "/usr/lib/uqtreader/filters/libHTMLfilter.so" +FILES_${PN}-output-flitecmd = "/usr/lib/uqtreader/outcodecs/libflitecmd.so" +FILES_${PN} = "/usr/bin/uqtreader /usr/share/uqtreader/data/* /usr/share/uqtreader/pics/* /usr/share/applications/*.desktop" diff --git a/packages/perl/perl-5.8.8/native-ssp.patch b/packages/perl/perl-5.8.8/native-ssp.patch new file mode 100644 index 0000000000..f815aad452 --- /dev/null +++ b/packages/perl/perl-5.8.8/native-ssp.patch @@ -0,0 +1,14 @@ +Fix for compiling with ssp enabled gcc: +See http://bugs.openembedded.org/show_bug.cgi?id=1980 + +diff -Naur perl-5.8.7.orig/cflags.SH perl-5.8.7/cflags.SH +--- perl-5.8.7.orig/cflags.SH 2002-09-30 10:59:07.000000000 +0000 ++++ perl-5.8.7/cflags.SH 2005-10-02 04:08:39.000000000 +0000 +@@ -165,6 +165,8 @@ + esac + + : Can we perhaps use $ansi2knr here ++ [[ $file == regcomp ]] && export ccflags="${ccflags} -fno-stack-protector" ++ [[ $file == regexec ]] && export ccflags="${ccflags} -fno-stack-protector" + echo "$cc -c -DPERL_CORE $ccflags $optimize $warn" + eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"' diff --git a/packages/perl/perl-native_5.8.8.bb b/packages/perl/perl-native_5.8.8.bb index d4896daa12..dd9a581614 100644 --- a/packages/perl/perl-native_5.8.8.bb +++ b/packages/perl/perl-native_5.8.8.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.perl.org/" SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS = "virtual/db-native gdbm-native" -PR = "r10" +PR = "r11" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/perl-${PV}" @@ -14,7 +14,8 @@ SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \ file://native-nopacklist.patch;patch=1 \ file://native-no-gdbminc.patch;patch=1 \ file://native-perlinc.patch;patch=1 \ - file://native-makedepend-dash.patch;patch=1" + file://native-makedepend-dash.patch;patch=1 \ + file://native-ssp.patch;patch=1" S = "${WORKDIR}/perl-${PV}" diff --git a/packages/python/python-gst_0.10.7.bb b/packages/python/python-gst_0.10.7.bb index d206c0ab12..ef4cac7b6b 100644 --- a/packages/python/python-gst_0.10.7.bb +++ b/packages/python/python-gst_0.10.7.bb @@ -1,7 +1,8 @@ DESCRIPTION = "Python Gstreamer bindings" SECTION = "devel/python" LICENSE = "LGPL" -DEPENDS = "gstreamer" +DEPENDS = "gstreamer python-pygobject" +PR = "r1" SRC_URI = "http://gstreamer.freedesktop.org/src/gst-python/gst-python-${PV}.tar.bz2 \ file://python-path.patch;patch=1" @@ -20,3 +21,5 @@ do_configure_prepend() { do_stage() { autotools_stage_all } + +FILES_${PN}-dbg = "${libdir}/python2.4/site-packages/gst-0.10/gst/.debug/" diff --git a/packages/qt/qt4-x11-free_4.3.0.bb b/packages/qt/qt4-x11-free_4.3.0.bb index 830b93e229..4ff41fa8fd 100644 --- a/packages/qt/qt4-x11-free_4.3.0.bb +++ b/packages/qt/qt4-x11-free_4.3.0.bb @@ -51,11 +51,11 @@ do_configure() { echo "DEFINES += QT_NO_XIM" >>src/qbase.pri unset QMAKESPEC ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake - ln -sf ./linux-g++ mkspecs/linux-gnueabi-g++ + ln -s linux-g++ mkspecs/${TARGET_OS}-oe-g++ #export QMAKESPEC="linux-oe-g++" #rm -rf ./mkspecs #ln -sf ${QMAKE_MKSPEC_PATH} ./mkspecs - echo yes | ./configure -prefix / -platform ${TARGET_OS}-g++ -crossarch ${QT_ARCH} ${QT_CONFIG_FLAGS} -fast \ + echo yes | ./configure -prefix / -platform ${TARGET_OS}-oe-g++ -crossarch ${QT_ARCH} ${QT_CONFIG_FLAGS} -fast \ -L${STAGING_LIBDIR} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/mysql } @@ -85,6 +85,7 @@ do_stage() { install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${STAGING_QT_DIR}/bin/rcc install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${STAGING_QT_DIR}/bin/moc install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${STAGING_QT_DIR}/bin/uic + sed -i -e 's,^QMAKE_RPATHDIR.*,QMAKE_RPATHDIR=${STAGING_QT_DIR}/lib,g' ${STAGING_QT_DIR}/mkspecs/qconfig.pri } # FIXME: Might want to call oe_runmake install INSTALL_ROOT=${D}/${prefix} as well... @@ -97,7 +98,7 @@ do_install() { do oe_libinstall -so -C lib libQt$part ${D}${libdir} done - oe_libinstall -a -C lib libQtUiTools ${STAGING_QT_DIR} + oe_libinstall -a -C lib libQtUiTools ${D}${libdir} cp -pPR include/* ${D}${includedir} cp -pPR plugins ${D}${libdir} cp -pPR bin/* ${D}${bindir} diff --git a/packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch b/packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch index 4ea5908737..381a44d303 100644 --- a/packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch +++ b/packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch @@ -1,26 +1,63 @@ ---- rp-pppoe-3.8/src/configure.in 2007/04/30 07:21:25 1.1 -+++ rp-pppoe-3.8/src/configure.in 2007/04/30 07:22:06 -@@ -5,6 +5,12 @@ +Index: src/configure.in +=================================================================== +--- rp-pppoe-3.8.orig/src/configure.in 2006-04-03 00:29:42.000000000 +1000 ++++ rp-pppoe-3.8/src/configure.in 2007-06-07 22:19:36.000000000 +1000 +@@ -5,6 +5,13 @@ dnl pppd directory for kernel-mode PPPoE PPPD_DIR=ppp-2.4.1.pppoe2 +dnl hard code some paths +PPPD=/usr/sbin/pppd +ID=/usr/bin/id ++ECHO=/bin/echo +AC_ARG_VAR(PPPD) +AC_ARG_VAR(ID) + AC_CONFIG_HEADER(config.h) AC_PREFIX_DEFAULT(/usr) -@@ -131,15 +137,10 @@ +@@ -44,7 +51,7 @@ + AC_MSG_RESULT($ac_cv_struct_sockaddr_ll) + + if test "$ac_cv_struct_sockaddr_ll" = yes ; then +-AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL) ++AC_DEFINE([HAVE_STRUCT_SOCKADDR_LL], [], [Have struct SOCKADDR_LL]) + fi + + dnl Check for N_HDLC line discipline +@@ -55,7 +62,7 @@ + ac_cv_n_hdlc=no) + AC_MSG_RESULT($ac_cv_n_hdlc) + if test "$ac_cv_n_hdlc" = yes ; then +-AC_DEFINE(HAVE_N_HDLC) ++AC_DEFINE([HAVE_N_HDLC], [], [Have N_HDLC]) + fi + + AC_ARG_ENABLE(plugin, [ --enable-plugin=pppd_src_path build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no) +@@ -100,13 +107,13 @@ + if test "$ac_cv_header_linux_if_pppox_h" = yes ; then + if test "$ac_cv_pluginpath" != no ; then + LINUX_KERNELMODE_PLUGIN=rp-pppoe.so +- AC_DEFINE(HAVE_LINUX_KERNEL_PPPOE) ++ AC_DEFINE([HAVE_LINUX_KERNEL_PPPOE], [], [Have kernel PPPoE]) + PPPD_INCDIR=$ac_cv_pluginpath + fi + fi + + if test "$ac_cv_debugging" = "yes" ; then +- AC_DEFINE(DEBUGGING_ENABLED) ++ AC_DEFINE([DEBUGGING_ENABLED], [], [Debugging enabled]) + fi + + AC_SUBST(LINUX_KERNELMODE_PLUGIN) +@@ -131,15 +138,8 @@ AC_CHECK_SIZEOF(unsigned int) AC_CHECK_SIZEOF(unsigned long) -dnl Check for location of pppd -AC_PATH_PROG(PPPD, pppd, NOTFOUND, $PATH:/sbin:/usr/sbin:/usr/local/sbin) - AC_PATH_PROG(ECHO, echo, echo) - +-AC_PATH_PROG(ECHO, echo, echo) +- -dnl Check for setsid (probably Linux-specific) -AC_PATH_PROG(SETSID, setsid, "", $PATH:/sbin:/usr/sbin:/usr/local/sbin) - @@ -30,7 +67,7 @@ dnl Check for Linux-specific kernel support for PPPoE AC_MSG_CHECKING(for Linux 2.4.X kernel-mode PPPoE support) -@@ -183,44 +184,8 @@ +@@ -183,44 +183,8 @@ CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -ansi" fi @@ -76,7 +113,7 @@ AC_TRY_RUN([ union foo { struct bar { -@@ -245,6 +210,7 @@ +@@ -245,10 +209,11 @@ } }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, $ECHO "no defaults for cross-compiling"; exit 0) @@ -84,3 +121,16 @@ if test "$rpppoe_cv_pack_bitfields" = "rev" ; then AC_MSG_RESULT(reversed) +- AC_DEFINE(PACK_BITFIELDS_REVERSED) ++ AC_DEFINE([PACK_BITFIELDS_REVERSED], [], [Reversed bitfields]) + else + AC_MSG_RESULT(normal) + fi +@@ -312,6 +277,7 @@ + AC_SUBST(RDYNAMIC) + AC_SUBST(LIBEVENT) + AC_SUBST(ECHO) ++AC_SUBST(HAVE_STRUCT_SOCKADDR_LL) + + datadir_evaluated=`eval echo $datadir` + AC_SUBST(datadir_evaluated) diff --git a/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.default b/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.default new file mode 100644 index 0000000000..996d57f3cf --- /dev/null +++ b/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.default @@ -0,0 +1,22 @@ +# PPPoE Server options + +# Maximum segment size, not used for in kernel PPPoE +#MSS=1412 + +# Device(s) - Space seperated list of devices to listen on +#DEVICES="eth1" + +# Local IP +#LOCAL_IP=10.0.0.1 + +# Starting remote IP +#REMOTE_IP=10.67.15.1 + +# Service name +#SERVICE_NAME="acme" + +# Maximum number of sessions, default is 16 +#MAX_SESSIONS=64 + +# Access concentrator name, default is the hostname +#ACCESS_CONCENTRATOR_NAME="pppoe-rtr-1" diff --git a/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.init b/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.init new file mode 100755 index 0000000000..21afe0be39 --- /dev/null +++ b/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.init @@ -0,0 +1,59 @@ +#! /bin/sh + +test -f /usr/sbin/pppoe-server || exit 0 +test -f /etc/default/pppoe-server && . /etc/default/pppoe-server + +case $1 in + start) + OPTIONS="" + if [ -n "$MSS" ]; then + OPTIONS="$OPTIONS -m $MSS" + fi + if [ -n "$DEVICES" ]; then + for i in $DEVICES; do + OPTIONS="$OPTIONS -I $i" + done + fi + if [ -n "$LOCAL_IP" ]; then + OPTIONS="$OPTIONS -L $LOCAL_IP" + fi + if [ -n "$REMOTE_IP" ]; then + OPTIONS="$OPTIONS -R $REMOTE_IP" + fi + if [ -n "$SERVICE_NAME" ]; then + OPTIONS="$OPTIONS -S $SERVICE_NAME" + fi + if [ -n "$MAX_SESSIONS" ]; then + OPTIONS="$OPTIONS -N $MAX_SESSIONS" + fi + if [ -n "$ACCESS_CONCENTRATOR_NAME" ]; then + OPTIONS="$OPTIONS -C $ACCESS_CONCENTRATOR_NAME" + fi + echo -n "Starting PPPoE server: pppoe-server" + start-stop-daemon --start --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS + echo "." + ;; + stop) + echo -n "Stopping PPPoE server: pppoe-server" + start-stop-daemon --stop --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS + echo "." + ;; + status) + pid=$(pidof pppoe-server) + if [ -n "$pid" ] ; then + echo "Running with pid $pid" + else + echo "Not running" + fi + ;; + restart|force-reload) + $0 stop + $0 start + ;; + *) + echo "Usage: /etc/init.d/pppoe-server {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 diff --git a/packages/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch b/packages/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch new file mode 100644 index 0000000000..e3b0482984 --- /dev/null +++ b/packages/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch @@ -0,0 +1,25 @@ +The autoconf stuff is all in a subdirectory, which is rather annoying +as OE expects patches to be applied and autoconf stuff to be done in +S. This adds enough autoconf at the top level to allow it to be +called there - all it does is run a sub autoconf stuff in the src +directory. + +Index: rp-pppoe-3.8/Makefile.am +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ rp-pppoe-3.8/Makefile.am 2007-06-08 15:58:16.000000000 +1000 +@@ -0,0 +1,5 @@ ++PACKAGE = rp-pppoe ++VERSION = 3.8 ++ ++dnl AM_CFLAGS = -Wall -DDEBUG ++SUBDIRS = src +Index: rp-pppoe-3.8/configure.in +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ rp-pppoe-3.8/configure.in 2007-06-08 15:58:16.000000000 +1000 +@@ -0,0 +1,4 @@ ++AC_INIT(src/pppoe.c) ++AM_INIT_AUTOMAKE([rp-pppoe], [3.8]) ++AC_CONFIG_SUBDIRS(src) ++AC_OUTPUT(Makefile) diff --git a/packages/rp-pppoe/rp-pppoe-3.8/update-config.patch b/packages/rp-pppoe/rp-pppoe-3.8/update-config.patch new file mode 100644 index 0000000000..5642e3cfee --- /dev/null +++ b/packages/rp-pppoe/rp-pppoe-3.8/update-config.patch @@ -0,0 +1,30 @@ +Set the timeout to 0 since we don't want pppoe to try reconnecting, +we want whatever is calling it to reconnect. Lots of odd things +happen when you have pppoe retrying itself. + +The path for the plugin is wrong, it's now part of ppp and is in a +ppp's plugin lib directory. If no path is specified then that's where +ppp looks, so that's what we do here. + +Index: rp-pppoe-3.8/configs/pppoe.conf +=================================================================== +--- rp-pppoe-3.8.orig/configs/pppoe.conf 2006-04-03 00:29:41.000000000 +1000 ++++ rp-pppoe-3.8/configs/pppoe.conf 2007-06-08 16:02:47.000000000 +1000 +@@ -66,7 +66,7 @@ + # to connect forever after pppoe-start is called. Otherwise, it will + # give out after CONNECT_TIMEOUT seconds and will not attempt to + # connect again, making it impossible to reach. +-CONNECT_TIMEOUT=30 ++CONNECT_TIMEOUT=0 + + # How often in seconds pppoe-start polls to check if link is up + CONNECT_POLL=2 +@@ -115,7 +115,7 @@ + FIREWALL=NONE + + # Linux kernel-mode plugin for pppd. If you want to try the kernel-mode +-# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so ++# plugin, use LINUX_PLUGIN=rp-pppoe.so + LINUX_PLUGIN= + + # Any extra arguments to pass to pppoe. Normally, use a blank string diff --git a/packages/rp-pppoe/rp-pppoe_3.8.bb b/packages/rp-pppoe/rp-pppoe_3.8.bb index c4d5ff88d2..6b2084ea4a 100644 --- a/packages/rp-pppoe/rp-pppoe_3.8.bb +++ b/packages/rp-pppoe/rp-pppoe_3.8.bb @@ -2,28 +2,56 @@ DESCRIPTION = "A user-mode PPPoE client and server suite for Linux" HOMEPAGE = "http://www.roaringpenguin.com/en/penguin/openSourceProducts/rpPppoe" SECTION = "console/network" LICENSE = "GPLv2" -RDEPENDS = "ppp" -PR = "r0" +RDEPENDS_${PN} = "ppp" +RDEPENDS_${PN}-server = "${PN}" +RRECOMMENDS_${PN} = "ppp-oe" +PR = "r4" SRC_URI = "http://www.roaringpenguin.com/files/download/${P}.tar.gz \ - file://configure_in_cross.patch;patch=1;pnum=2 \ - file://pppoe-src-restrictions.patch;patch=1;pnum=2" + file://top-autoconf.patch;patch=1 \ + file://configure_in_cross.patch;patch=1 \ + file://pppoe-src-restrictions.patch;patch=1 \ + file://update-config.patch;patch=1 \ + file://pppoe-server.default \ + file://pppoe-server.init" -S = "${WORKDIR}/${P}/src" +S = "${WORKDIR}/${P}" -inherit autotools +inherit autotools update-rc.d do_install() { - # Set timeout to 0. Fixes lots of reconnect issues - # Can't patch this in because it's outside of what we have {S} set to. - sed -i -e 's,\(CONNECT_TIMEOUT=\)30,\10,g' ${S}/../configs/pppoe.conf + # Install init script and default settings + install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d + install -m 0644 ${WORKDIR}/pppoe-server.default ${D}${sysconfdir}/default/pppoe-server + install -m 0755 ${WORKDIR}/pppoe-server.init ${D}${sysconfdir}/init.d/pppoe-server # Install oe_runmake -C ${S} RPM_INSTALL_ROOT=${D} docdir=${docdir} install } -pkg_postinst() { +# Insert server package before main package +PACKAGES = "${PN}-dbg ${PN}-server ${PN}-relay ${PN}-sniff ${PN} ${PN}-doc" + +FILES_${PN}-server = "${sysconfdir}/default/pppoe-server \ + ${sysconfdir}/init.d/pppoe-server \ + ${sbindir}/pppoe-server \ + ${sysconfdir}/ppp/pppoe-server-options" +FILES_${PN}-relay = "${sbindir}/pppoe-relay" +FILES_${PN}-sniff = "${sbindir}/pppoe-sniff" + +pkg_postinst_${PN} () { if [ x"$D" != "x" ]; then exit 1 fi chmod 4755 ${sbindir}/pppoe } + +CONFFILES_${PN} = "${sysconfdir}/ppp/pppoe.conf \ + ${sysconfdir}/ppp/firewall-standalone \ + ${sysconfdir}/ppp/firewall-masq" +CONFFILES_${PN}-server = "${sysconfdir}/ppp/pppoe-server-options \ + ${sysconfdir}/default/pppoe-server" + +INITSCRIPT_PACKAGES = "${PN}-server" +INITSCRIPT_NAME_${PN}-server = "pppoe-server" +INITSCRIPT_PARAMS_${PN}-server = "defaults 92 08" + diff --git a/packages/rt2x00/rt73-k2wrlz_1.0.0.bb b/packages/rt2x00/rt73-k2wrlz_1.0.0.bb new file mode 100644 index 0000000000..764f779cbd --- /dev/null +++ b/packages/rt2x00/rt73-k2wrlz_1.0.0.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Enhanced Driver for Ralink rt73 USB 802.11g WiFi sticks" +HOMEPAGE = "http://homepages.tu-darmstadt.de/~p_larbig/wlan" +SECTION = "kernel/modules" +LICENSE = "GPL" + +SRC_URI= "http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt73-k2wrlz-1.0.0.tar.bz2" +inherit module + +S = "${WORKDIR}/${PN}-${PV}/Module/" + +do_compile() { + export KERNDIR=${STAGING_KERNEL_DIR} + module_do_compile +} + +do_install() { + install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra + install -m 0644 rt73${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra/ +} diff --git a/packages/twisted/twisted-2.5.0/.mtn2git_empty b/packages/twisted/twisted-2.5.0/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/twisted/twisted-2.5.0/.mtn2git_empty diff --git a/packages/twisted/twisted-2.5.0/remove-zope-check.patch b/packages/twisted/twisted-2.5.0/remove-zope-check.patch new file mode 100644 index 0000000000..2bd1b191da --- /dev/null +++ b/packages/twisted/twisted-2.5.0/remove-zope-check.patch @@ -0,0 +1,18 @@ +Index: Twisted-2.5.0/TwistedCore-2.5.0/twisted/__init__.py +=================================================================== +--- Twisted-2.5.0.orig/TwistedCore-2.5.0/twisted/__init__.py 2007-03-05 16:30:08.117422472 +0100 ++++ Twisted-2.5.0/TwistedCore-2.5.0/twisted/__init__.py 2007-03-05 16:30:13.810553949 +0100 +@@ -14,13 +14,6 @@ + raise RuntimeError("Twisted requires Python 2.3 or later.") + del sys + +-# Ensure zope.interface is installed +-try: +- from zope.interface import Interface +- del Interface +-except ImportError: +- raise ImportError("you need zope.interface installed " +- "(http://zope.org/Products/ZopeInterface/)") + + # Ensure compat gets imported + from twisted.python import compat diff --git a/packages/twisted/twisted_2.5.0.bb b/packages/twisted/twisted_2.5.0.bb new file mode 100644 index 0000000000..c7620e4b84 --- /dev/null +++ b/packages/twisted/twisted_2.5.0.bb @@ -0,0 +1,180 @@ +DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \ +Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \ +(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." +HOMEPAGE = "http://www.twistedmatrix.com" +SECTION = "console/network" +PRIORITY = "optional" +LICENSE = "LGPL" +RDEPENDS = "python-core python-zopeinterface" +RDEPENDS_python-twisted += "python-twisted-bin python-twisted-conch python-twisted-core \ + python-twisted-lore python-twisted-mail python-twisted-names \ + python-twisted-news python-twisted-runner python-twisted-web \ + python-twisted-words" +PR = "r6" + +SRC_URI = "http://tmrc.mit.edu/mirror/twisted/Twisted/2.5/Twisted-${PV}.tar.bz2 \ + file://remove-zope-check.patch;patch=1" + +S = "${WORKDIR}/Twisted-${PV}" + +inherit distutils + +PACKAGES += "python-twisted-zsh python-twisted-test python-twisted-protocols \ + python-twisted-runner-dbg \ + python-twisted-bin python-twisted-conch python-twisted-lore \ + python-twisted-mail python-twisted-names python-twisted-news python-twisted-runner \ + python-twisted-web python-twisted-words python-twisted python-twisted-core \ + " + +ALLOW_EMPTY = "1" +FILES_${PN} = "" +FILES_python-twisted = "" + +FILES_python-twisted-test = " \ +${libdir}/python2.4/site-packages/twisted/python/web/test \ +" + +FILES_python-twisted-protocols = " \ +${libdir}/python2.4/site-packages/twisted/python/protocols/ \ +" + +FILES_python-twisted-zsh = " \ +${libdir}/python2.4/site-packages/twisted/python/zsh \ +${libdir}/python2.4/site-packages/twisted/python/zshcomp.* \ +" + +FILES_python-twisted-bin = " \ +${libdir}/python2.4/site-packages/twisted/protocols/_c_urlarg.so \ +${libdir}/python2.4/site-packages/twisted/spread/cBanana.so" + +FILES_python-twisted-conch = " \ +${bindir}/ckeygen \ +${bindir}/tkconch \ +${bindir}/conch \ +${bindir}/conchftp \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_conch.py \ +${libdir}/python2.4/site-packages/twisted/conch \ +" + +FILES_python-twisted-core = " \ +${bindir}/manhole \ +${bindir}/mktap \ +${bindir}/twistd \ +${bindir}/tap2deb \ +${bindir}/tap2rpm \ +${bindir}/tapconvert \ +${bindir}/tkmktap \ +${bindir}/trial \ +${libdir}/python2.4/site-packages/twisted/*.py \ +${libdir}/python2.4/site-packages/twisted/plugins/__init__.py \ +${libdir}/python2.4/site-packages/twisted/plugins/notestplugin.py \ +${libdir}/python2.4/site-packages/twisted/plugins/testplugin.py \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_ftp.py \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_inet.py \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_manhole.py \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_portforward.py \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_socks.py \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_telnet.py \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_trial.py \ +${libdir}/python2.4/site-packages/twisted/plugins/dropin.cache \ +${libdir}/python2.4/site-packages/twisted/application \ +${libdir}/python2.4/site-packages/twisted/cred \ +${libdir}/python2.4/site-packages/twisted/enterprise \ +${libdir}/python2.4/site-packages/twisted/internet \ +${libdir}/python2.4/site-packages/twisted/manhole \ +${libdir}/python2.4/site-packages/twisted/manhole \ +${libdir}/python2.4/site-packages/twisted/persisted \ +${libdir}/python2.4/site-packages/twisted/protocols\ +${libdir}/python2.4/site-packages/twisted/python\ +${libdir}/python2.4/site-packages/twisted/python/timeoutqueue.py \ +${libdir}/python2.4/site-packages/twisted/python/filepath.py \ +${libdir}/python2.4/site-packages/twisted/python/dxprofile.py \ +${libdir}/python2.4/site-packages/twisted/python/plugin.py \ +${libdir}/python2.4/site-packages/twisted/python/htmlizer.py \ +${libdir}/python2.4/site-packages/twisted/python/__init__.py \ +${libdir}/python2.4/site-packages/twisted/python/dispatch.py \ +${libdir}/python2.4/site-packages/twisted/python/hook.py \ +${libdir}/python2.4/site-packages/twisted/python/threadpool.py \ +${libdir}/python2.4/site-packages/twisted/python/otp.py \ +${libdir}/python2.4/site-packages/twisted/python/usage.py \ +${libdir}/python2.4/site-packages/twisted/python/roots.py \ +${libdir}/python2.4/site-packages/twisted/python/versions.py \ +${libdir}/python2.4/site-packages/twisted/python/urlpath.py \ +${libdir}/python2.4/site-packages/twisted/python/util.py \ +${libdir}/python2.4/site-packages/twisted/python/components.py \ +${libdir}/python2.4/site-packages/twisted/python/logfile.py \ +${libdir}/python2.4/site-packages/twisted/python/runtime.py \ +${libdir}/python2.4/site-packages/twisted/python/reflect.py \ +${libdir}/python2.4/site-packages/twisted/python/context.py \ +${libdir}/python2.4/site-packages/twisted/python/threadable.py \ +${libdir}/python2.4/site-packages/twisted/python/rebuild.py \ +${libdir}/python2.4/site-packages/twisted/python/failure.py \ +${libdir}/python2.4/site-packages/twisted/python/lockfile.py \ +${libdir}/python2.4/site-packages/twisted/python/formmethod.py \ +${libdir}/python2.4/site-packages/twisted/python/finalize.py \ +${libdir}/python2.4/site-packages/twisted/python/win32.py \ +${libdir}/python2.4/site-packages/twisted/python/dist.py \ +${libdir}/python2.4/site-packages/twisted/python/shortcut.py \ +${libdir}/python2.4/site-packages/twisted/python/zipstream.py \ +${libdir}/python2.4/site-packages/twisted/python/release.py \ +${libdir}/python2.4/site-packages/twisted/python/syslog.py \ +${libdir}/python2.4/site-packages/twisted/python/log.py \ +${libdir}/python2.4/site-packages/twisted/python/compat.py \ +${libdir}/python2.4/site-packages/twisted/python/zshcomp.py \ +${libdir}/python2.4/site-packages/twisted/python/procutils.py \ +${libdir}/python2.4/site-packages/twisted/python/text.py \ +${libdir}/python2.4/site-packages/twisted/python/_twisted_zsh_stub \ +${libdir}/python2.4/site-packages/twisted/scripts/ \ +${libdir}/python2.4/site-packages/twisted/spread/ \ +${libdir}/python2.4/site-packages/twisted/tap/ \ +${libdir}/python2.4/site-packages/twisted/trial/ \ +${libdir}/python2.4/site-packages/twisted/__init__.py \ +${libdir}/python2.4/site-packages/twisted/_version.py \ +${libdir}/python2.4/site-packages/twisted/copyright.py \ +${libdir}/python2.4/site-packages/twisted/im.py \ +${libdir}/python2.4/site-packages/twisted/plugin.py \ +" + +FILES_python-twisted-lore = " \ +${bindir}/bookify \ +${bindir}/lore \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_lore.py \ +${libdir}/python2.4/site-packages/twisted/lore \ +" + +FILES_python-twisted-mail = " \ +${bindir}/mailmail \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_mail.py \ +${libdir}/python2.4/site-packages/twisted/mail \ +" + +FILES_python-twisted-names = " \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_names.py \ +${libdir}/python2.4/site-packages/twisted/names \ +" + +FILES_python-twisted-news = " \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_news.py \ +${libdir}/python2.4/site-packages/twisted/news \ +" + +FILES_python-twisted-runner = " \ +${libdir}python2.4/site-packages/twisted/runner/portmap.so \ +${libdir}/python2.4/site-packages/twisted/runner\ +" + +FILES_python-twisted-web = " \ +${bindir}/websetroot \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_web.py \ +${libdir}/python2.4/site-packages/twisted/web\ +" + +FILES_python-twisted-words = " \ +${bindir}/im \ +${libdir}/python2.4/site-packages/twisted/plugins/twisted_words.py \ +${libdir}/python2.4/site-packages/twisted/words\ +" + +FILES_python-twisted-runner-dbg = " \ +${libdir}/python2.4/site-packages/twisted/runner/.debug" + diff --git a/packages/usb-gadget-mode/files/usb-gadget b/packages/usb-gadget-mode/files/usb-gadget index 611703f09d..4fdc429f5b 100755 --- a/packages/usb-gadget-mode/files/usb-gadget +++ b/packages/usb-gadget-mode/files/usb-gadget @@ -10,7 +10,7 @@ # # 20070606 - v0.0.1 - Initial release -CONF_FILE="/etc/usb-gadget.conf" +CONF_FILE="/etc/default/usb-gadget" die() { echo "ERROR: $1" diff --git a/packages/usb-gadget-mode/usb-gadget-mode.bb b/packages/usb-gadget-mode/usb-gadget-mode.bb index 0950dd4978..3109a4d92e 100644 --- a/packages/usb-gadget-mode/usb-gadget-mode.bb +++ b/packages/usb-gadget-mode/usb-gadget-mode.bb @@ -15,7 +15,7 @@ LICENSE = "GPL" ###################################################################################### PV = "0.0.1" -PR = "r0" +PR = "r2" ###################################################################################### @@ -30,14 +30,14 @@ SRC_URI = "file://usb-gadget.conf \ ###################################################################################### do_install() { - install -d ${D}/etc - install -d ${D}/etc/default - install -d ${D}/etc/init.d - install -d ${D}/usr/bin - - install -m 0644 ${WORKDIR}/usb-gadget.conf ${D}/etc - install -m 0755 ${WORKDIR}/usb-gadget.init ${D}/etc/init.d/usb-gadget - install -m 0755 ${WORKDIR}/usb-gadget ${D}/usr/bin + install -d ${D}${sysconfdir} + install -d ${D}${sysconfdir}/init.d + install -d ${D}${bindir} + install -d ${D}${sysconfdir}/default + + install -m 0644 ${WORKDIR}/usb-gadget.conf ${D}${sysconfdir}/default/usb-gadget + install -m 0755 ${WORKDIR}/usb-gadget.init ${D}${sysconfdir}/init.d/usb-gadget + install -m 0755 ${WORKDIR}/usb-gadget ${D}${bindir} } pkg_postinst() { diff --git a/packages/xserver-common/files/sl-cxx00-modmap.patch b/packages/xserver-common/files/sl-cxx00-modmap.patch index c5dbebdbbf..057f9880bf 100644 --- a/packages/xserver-common/files/sl-cxx00-modmap.patch +++ b/packages/xserver-common/files/sl-cxx00-modmap.patch @@ -102,12 +102,12 @@ +! The Menu key generates F12 when pressed with Fn or Shift. + +! "Calendar" label and icon, "Sync" label beneath it: -+keycode 67 = F13 F14 F14 ++keycode 67 = F9 F14 F14 +! "Address" label and icon: -+keycode 68 = F15 F15 F15 ++keycode 68 = F10 F15 F15 +! "Mail" label and icon, "Check" label beneath it: -+keycode 76 = F16 F17 F17 ++keycode 76 = F13 F17 F17 +! "Home" label and icon: -+keycode 107 = F18 F18 F18 ++keycode 107 = F12 F18 F18 +! "Menu" label and icon: -+keycode 96 = F19 F12 F12 ++keycode 96 = F11 F12 F12 diff --git a/packages/xserver-common/xserver-common_1.16.bb b/packages/xserver-common/xserver-common_1.16.bb index 5a8739e679..ca1c2f09cd 100644 --- a/packages/xserver-common/xserver-common_1.16.bb +++ b/packages/xserver-common/xserver-common_1.16.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Common X11 scripts and support files" LICENSE = "GPL" SECTION = "x11" RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo" -PR = "r5" +PR = "r6" PACKAGE_ARCH = "all" diff --git a/packages/zope/zope_3.3.1.bb b/packages/zope/zope_3.3.1.bb new file mode 100644 index 0000000000..156de2134f --- /dev/null +++ b/packages/zope/zope_3.3.1.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "A full fledged pluggable content management system with integrated web server and much more." +SECTION = "console/network" +PRIORITY = "optional" +DEPENDS = "python" +RDEPENDS = "python-core python-shell" +LICENSE = "ZPL" +PR = "r2" + +SRC_URI = "http://www.zope.org/Products/Zope3/${PV}/Zope-${PV}.tgz" + +S = "${WORKDIR}/Zope-${PV}" + +do_configure() { + ./configure --with-python=${STAGING_BINDIR_NATIVE}/python --prefix=${prefix} --force +} + +do_compile() { + oe_runmake HOST_SYS=${HOST_SYS} BUILD_SYS=${BUILD_SYS} +} + +do_install() { + oe_runmake install prefix=${D}${prefix} HOST_SYS=${HOST_SYS} BUILD_SYS=${BUILD_SYS} +} + +PACKAGES =+ "python-zopeinterface python-zopeinterface-dbg" + +FILES_${PN} = "${prefix}" +FILES_${PN}_doc = "${prefix}/doc" +FILES_${PN}-dbg += "\ +${libdir}/python/BTrees/.debug \ +${libdir}/python/persistent/.debug \ +${libdir}/python/zope/proxy/.debug \ +${libdir}/python/zope/thread/.debug \ +${libdir}/python/zope/security/.debug \ +${libdir}/python/zope/hookable/.debug \ +${libdir}/python/zope/app/container/.debug \ +${libdir}/python/zope/i18nmessageid/.debug \ +${libdir}/python/ZODB/.debug" +FILES_python-zopeinterface-dbg += "${libdir}/python/zope/interface/.debug " + +FILES_python-zopeinterface = "${libdir}/python/zope/interface/*.* ${libdir}/python/zope/interface/common" |