From c8bddab8fd50727fa2cb982357af384c0e278547 Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Sun, 18 Aug 2019 21:26:07 -0400 Subject: [PATCH] Add first Dockerfile --- .circleci/config.yml | 11 ++ .docker/build.sh | 41 ++++++ .drone.yml | 10 ++ .travis.yml | 30 +++++ Dockerfile | 23 ++++ appveyor.yml | 5 + src/cower/PKGBUILD | 31 ----- src/log4cxx/PKGBUILD | 34 ----- .../log4cxx-0.10.0-missing_includes.patch | 38 ------ ...0.10.0-narrowing-fixes-from-upstream.patch | 117 ------------------ 10 files changed, 120 insertions(+), 220 deletions(-) create mode 100644 .circleci/config.yml create mode 100755 .docker/build.sh create mode 100644 .drone.yml create mode 100644 .travis.yml create mode 100644 Dockerfile create mode 100644 appveyor.yml delete mode 100644 src/cower/PKGBUILD delete mode 100644 src/log4cxx/PKGBUILD delete mode 100644 src/log4cxx/log4cxx-0.10.0-missing_includes.patch delete mode 100644 src/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..7ded45f --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,11 @@ +version: 2 +jobs: + build: + machine: true + steps: + - checkout + # build the application image + - run: docker build -t moparisthebest/aur:circle-ci . + - run: | + echo "$DOCKER_PASS" | docker login --username $DOCKER_USER --password-stdin + docker push moparisthebest/aur:circle-ci diff --git a/.docker/build.sh b/.docker/build.sh new file mode 100755 index 0000000..9874f7f --- /dev/null +++ b/.docker/build.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +src_dir="$1" + +#[ "$PKGS_TO_BUILD_IN_ORDER" == "" ] && PKGS_TO_BUILD_IN_ORDER='zpaq' + +# had to remove 'webkitgtk webkitgtk2 truecraft-git' from here because webkitgtk took too many hours to build... +# removed 'linux-pf-lts linux-aufs-lts' +# removed 'mingw-w64-headers mingw-w64-binutils mingw-w64-headers-bootstrap mingw-w64-gcc-base mingw-w64-crt mingw-w64-winpthreads cloog mingw-w64-gcc' +[ "$PKGS_TO_BUILD_IN_ORDER" == "" ] && PKGS_TO_BUILD_IN_ORDER='python-pycares python-pydns python-rtslib-fb python-configshell-fb srb2kart-data srb2-data python2-schedule python2-spotipy python-sleekxmpp glib2-static pcre-static python2-axolotl-curve25519-git python-aiodns python-pyspf pi-hole-ftl libgcj17-bin auracle-git trousers stoken libpcl freeradius-client php-imagick ucspi-tcp perl-sys-virt hivex htmlcxx python2-dulwich evdi osl isl ncurses5-compat-libs zpaq zelda-roth xboxdrv wireguard-module-arch wide-dhcpv6 webhook wallabag visual-studio-code-bin vdfuse ttf-oxygen ttf-ms-fonts ts-spooler ternimal-git targetcli-fb systemd-cron-next srb2kart srb2 spotify-ripper spotify sonarr sendxmpp-rs-git sendxmpp-rs sendxmpp-py searx-py3 searx scallion rusty-keys-git rusty-keys runescape-launcher rootmp-hook reprepro redis-desktop-manager react-native-cli qt5-webengine-widevine qemu-user-static python2-pyliblzma python2-axolotl-git python-spotify python-slixmpp python-postfix-policyd-spf python-authres prosody-mod-s2s-auth-dane prosody-hg-stable popstation_md popstation pkgsync pi-hole-standalone pi-hole-server php-zmq perl-file-libmagic pdftk-bin pcem panda3d pacaur openhardwaremonitor openconnect-git odamex ocserv nginx-mainline-rtmp nextcloud-app-user-sql nextcloud-app-user-external nextcloud-app-passman nextcloud-app-keeweb mprime movim-git mkinitcpio-utils mkinitcpio-tinyssh mkinitcpio-netconf mkinitcpio-dropbear minecraft memtest86-efi mellowplayer makemkv luaunbound lua51-event lua-zlib libresonic libplatform-legacy libguestfs lib32-libgme lgogdownloader kodi-standalone-socket-activation kodi-standalone-service kiwiirc jitsi jdk6 intellij-idea-ultimate-edition inspircd hg-git-hg gajim-plugin-omemo fuse-zip filebot ffmpeg-omx factorio-demo evdi-git emulationstation-themes emulationstation-git emulationstation-autoscraper doom-wads displaylink dino-git dex2jar cryptsetup-multidisk-ssh cryptsetup-multidisk crispy-doom coturn comskip chocolate-doom-git chocolate-doom ccextractor brother-hl2170w broadcom-bt-firmware-git bluez-utils-compat bitpim-release binfmt-support binfmt-qemu-static biboumi-git biboumi barrier aurutils atheme archivemount android-emulator alt-version-switcher mingw-w64-headers mingw-w64-binutils mingw-w64-headers-bootstrap mingw-w64-gcc-base mingw-w64-crt mingw-w64-winpthreads cloog mingw-w64-gcc' + +export PKGDEST="$2" + +failed='' + +for dir in $PKGS_TO_BUILD_IN_ORDER +do + cd $dir + # todo: build some source packages too or? + SECONDS=0 + sudo -u nobody PKGDEST=$PKGDEST makepkg --syncdeps --rmdeps --skippgpcheck --noconfirm + success=$? + echo "$SECONDS $dir ---seconds_to_build---" + if [ $success -ne 0 ]; then + # failed, append to failed string + failed="$failed $dir" + # this is for making logs easy to grep for failure reasons + echo "---failed--- $dir ---failed---" + else + sudo -u nobody PKGDEST=$PKGDEST makepkg --packagelist | xargs repo-add "$PKGDEST/aur.db.tar.gz" + pacman -Sy + fi + cd "$src_dir" +done 2>&1 | tee "$PKGDEST/build.log" + +gzip "$PKGDEST/build.log" +rm -f "$PKGDEST/"*.tar.gz.old + +[ "$failed" != '' ] && echo "failed packages: $failed" + +echo -n "$failed" > "$PKGDEST/failed.txt" diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..1cb5fd5 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,10 @@ +kind: pipeline +name: default + +steps: +- name: docker + image: plugins/docker + settings: + dry_run: true + repo: moparisthebest/arch-ppa + tags: latest diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..5a7a23b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,30 @@ +language: minimal + +env: + +# removed linux-aufs-lts webkitgtk + + - TAG=1 PKGS_TO_BUILD_IN_ORDER="qemu-user-static popstation_md mkinitcpio-utils truecraft-git popstation pkgsync evdi displaylink pi-hole-ftl pi-hole-standalone pi-hole-server rootmp-hook mkinitcpio-dropbear perl-file-libmagic lua51-event memtest86-efi fuse-zip searx python2-schedule python-pydns python-pyspf python-postfix-policyd-spf wide-dhcpv6 broadcom-bt-firmware-git ucspi-tcp mkinitcpio-tinyssh evdi-git xboxdrv nextcloud-app-user-sql zpaq searx-py3 reprepro openhardwaremonitor python2-axolotl-curve25519-git python2-axolotl-git rusty-keys-git python-pycares libgcj17-bin pdftk-bin alt-version-switcher rusty-keys python-sleekxmpp sendxmpp-py ttf-ms-fonts ccextractor python2-dulwich hg-git-hg sonarr sendxmpp-rs visual-studio-code-bin runescape-launcher sendxmpp-rs-git zelda-roth" + + - TAG=2 PKGS_TO_BUILD_IN_ORDER="nginx-mainline-rtmp clean-chroot-manager php-zmq dex2jar distccd-alarm prosody-mod-s2s-auth-dane crispy-doom gajim-plugin-omemo ts-spooler pcem intellij-idea-ultimate-edition atheme nextcloud-app-passman brother-hl2170w comskip odamex emulationstation-autoscraper wireguard-module-arch cryptsetup-multidisk mprime python2-pyliblzma webhook luaunbound react-native-cli nextcloud-app-user-external scallion emulationstation-themes ternimal-git kodi-standalone-socket-activation freeradius-client libpcl ocserv qt5-webengine-widevine wallabag" + + - TAG=3 PKGS_TO_BUILD_IN_ORDER="python-rtslib-fb python-configshell-fb targetcli-fb php-imagick movim-git jdk6 kiwiirc htmlcxx lgogdownloader bitpim-release ttf-oxygen makemkv vdfuse stoken trousers openconnect-git chocolate-doom srb2-data srb2 filebot" + + - TAG=4 PKGS_TO_BUILD_IN_ORDER="chocolate-doom-git biboumi-git dino-git factorio-demo ncurses5-compat-libs android-emulator isl osl cloog" + + - TAG=5 PKGS_TO_BUILD_IN_ORDER="redis-desktop-manager inspircd perl-sys-virt hivex libguestfs" + + - TAG=6 PKGS_TO_BUILD_IN_ORDER="libplatform-legacy minecraft cryptsetup-multidisk-ssh ffmpeg-omx lua-zlib archivemount mkinitcpio-netconf libresonic kodi-standalone-service prosody-hg-stable bluez-utils-compat binfmt-support panda3d emulationstation-git binfmt-qemu-static doom-wads coturn python-authres" + +# - TAG=7 PKGS_TO_BUILD_IN_ORDER="" + +# - TAG=8 PKGS_TO_BUILD_IN_ORDER="mingw-w64-headers mingw-w64-headers-bootstrap mingw-w64-binutils mingw-w64-gcc-base mingw-w64-crt mingw-w64-winpthreads mingw-w64-gcc" + + +services: + - docker + +script: + - docker build --build-arg PKGS_TO_BUILD_IN_ORDER="$PKGS_TO_BUILD_IN_ORDER" -t moparisthebest/aur:travis-ci-$TAG . || travis_terminate 1; + - echo "$DOCKER_PASS" | docker login --username $DOCKER_USER --password-stdin || travis_terminate 1; + - docker push moparisthebest/aur:travis-ci-$TAG || travis_terminate 1; diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..339bd9c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM archlinux/base:latest AS build + +ARG PKGS_TO_BUILD_IN_ORDER +ENV PKGS_TO_BUILD_IN_ORDER=$PKGS_TO_BUILD_IN_ORDER + +# Install tools required for project +# Run `docker build --no-cache .` to update dependencies +RUN mkdir -p /build/ /repo/ /var/cache/pacman/pkg/ && chown nobody: /build/ /repo/ && \ + echo -e '[aur]\nSigLevel = Never\nServer = file:///repo' >> /etc/pacman.conf && repo-add /repo/aur.db.tar.gz && \ + echo 'COMPRESSXZ=(xz -c -z - --threads=0)' >> /etc/makepkg.conf && \ + pacman -Syu --noconfirm sudo base-devel && \ + echo -e 'nobody ALL= NOPASSWD: /usr/bin/pacman\nnobody ALL= NOPASSWD: /usr/bin/makepkg' > /etc/sudoers.d/nobody + +COPY . /build/ +WORKDIR /build/src/ + +RUN chown -R nobody: /build/ /repo/ && /build/.docker/build.sh /build/src /repo + +# This results in a single layer image +FROM nginx:stable-alpine +COPY --from=build /repo/ /usr/share/nginx/html +RUN rm /usr/share/nginx/html/index.html /usr/share/nginx/html/50x.html && chown -R nginx: /usr/share/nginx/html && \ + sed -i 's@root /usr/share/nginx/html;@root /usr/share/nginx/html; autoindex on;@' /etc/nginx/conf.d/default.conf diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..fdee374 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,5 @@ +version: 1.0.{build} +image: ubuntu + +build_script: + - docker build -t moparisthebest/arch-ppa . diff --git a/src/cower/PKGBUILD b/src/cower/PKGBUILD deleted file mode 100644 index bf789ed..0000000 --- a/src/cower/PKGBUILD +++ /dev/null @@ -1,31 +0,0 @@ -# Maintainer: Dave Reisner - -pkgname=cower -pkgver=18 -pkgrel=1 -pkgdesc="A simple AUR agent with a pretentious name" -arch=('i686' 'x86_64') -url="http://github.com/falconindy/cower" -license=('MIT') -depends=('curl' 'pacman' 'yajl') -makedepends=('perl') -source=("https://pkgbuild.com/~dreisner/sources/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}) -validpgpkeys=('487EACC08557AD082088DABA1EB2638FF56C0C53') # Dave Reisner -md5sums=('ce5993a79d7e1cc33016e06e32af03e7' - 'SKIP') - -build() { - cd "$pkgname-$pkgver" - - make - sed '/^$/q' src/cower.c >LICENSE -} - -package() { - cd "$pkgname-$pkgver" - - make PREFIX=/usr DESTDIR="$pkgdir" install - install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" -} - -# vim: ft=sh syn=sh diff --git a/src/log4cxx/PKGBUILD b/src/log4cxx/PKGBUILD deleted file mode 100644 index d6d4bf5..0000000 --- a/src/log4cxx/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -pkgname=log4cxx -pkgver=0.10.0 -pkgrel=4 -pkgdesc="A C++ port of Log4j" -url="http://logging.apache.org/log4cxx" -license=("Apache") -depends=('apr-util' 'libxml2') -arch=('any') -makedepends=('autoconf' 'automake' 'libtool' 'patch' 'zip' 'gzip' 'sed') -provides=('log4cxx') -conflicts=('log4cxx-svn') - -source=("http://archive.apache.org/dist/logging/$pkgname/$pkgver/apache-$pkgname-$pkgver.tar.gz" - 'log4cxx-0.10.0-missing_includes.patch' - 'log4cxx-0.10.0-narrowing-fixes-from-upstream.patch') -sha512sums=('1c34d80983db5648bc4582ddcf6b4fdefdc6594c2769f95235f5441cd6d03cf279cc8f365e9a687085b113f79ebac9d7d33a54b6aa3b3b808c0e1a56a15ffa37' - '14fa0b19516171cbbe2c6220816819fc52cf8f3b3ded5d71966e2f4a71bda9ce1ed8fe7e57745a835e6ac5558631916ed9824d09ec7469d84c7bf99fb4946304' - '15b692b37961adbc808e4c10d2719483502f3ac060ee5be248832d4e2a2f76f7d9e120ea9a6bf908230cf230a893964040e54415cca35a12e576d0a5ab1f4176') - -build() { - cd "$srcdir/apache-$pkgname-$pkgver" - - patch -p1 < $startdir/log4cxx-0.10.0-missing_includes.patch - patch -p1 < $startdir/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch - - #./autogen.sh - ./configure --prefix=/usr --disable-static - make -} - -package() { - cd "$srcdir/apache-$pkgname-$pkgver" - make DESTDIR="$pkgdir/" install -} diff --git a/src/log4cxx/log4cxx-0.10.0-missing_includes.patch b/src/log4cxx/log4cxx-0.10.0-missing_includes.patch deleted file mode 100644 index 6834648..0000000 --- a/src/log4cxx/log4cxx-0.10.0-missing_includes.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -Naur apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp apache-log4cxx-0.10.0/src/examples/cpp/console.cpp ---- apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp 2008-04-01 00:34:52.000000000 +0200 -+++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2008-05-06 05:40:52.000000000 +0200 -@@ -15,7 +15,10 @@ - * limitations under the License. - */ - --#include -+#include -+#include -+#include -+#include - #include - #include - #include -diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp ---- apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp 2008-04-01 00:34:09.000000000 +0200 -+++ apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp 2008-05-06 05:32:31.000000000 +0200 -@@ -21,6 +21,8 @@ - #include - #include - -+#include -+ - using namespace log4cxx; - using namespace log4cxx::helpers; - -diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp ---- apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp 2008-04-01 00:34:09.000000000 +0200 -+++ apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp 2008-05-06 05:35:55.000000000 +0200 -@@ -20,6 +20,8 @@ - #include - #include - -+#include -+ - using namespace log4cxx; - using namespace log4cxx::helpers; \ No newline at end of file diff --git a/src/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch b/src/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch deleted file mode 100644 index e583e76..0000000 --- a/src/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff --git a/src/main/cpp/locationinfo.cpp b/src/main/cpp/locationinfo.cpp -index e76ea29..bd22a1d 100644 ---- a/src/main/cpp/locationinfo.cpp -+++ b/src/main/cpp/locationinfo.cpp -@@ -149,18 +149,21 @@ void LocationInfo::write(ObjectOutputStream& os, Pool& p) const { - os.writeNull(p); - } else { - char prolog[] = { -- 0x72, 0x00, 0x21, 0x6F, 0x72, 0x67, 0x2E, -- 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E, 0x6C, -- 0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69, -- 0x2E, 0x4C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, -- 0x6E, 0x49, 0x6E, 0x66, 0x6F, 0xED, 0x99, 0xBB, -- 0xE1, 0x4A, 0x91, 0xA5, 0x7C, 0x02, 0x00, 0x01, -- 0x4C, 0x00, 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49, -- 0x6E, 0x66, 0x6F, -- 0x74, 0x00, 0x12, 0x4C, 0x6A, -- 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67, -- 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B, -- 0x78, 0x70 }; -+ 0x72, -+ 0x00, -+ 0x21, 0x6F, 0x72, 0x67, 0x2E, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E, -+ 0x6C, 0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69, 0x2E, 0x4C, 0x6F, -+ 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x49, 0x6E, 0x66, 0x6F, static_cast(0xED), -+ static_cast(0x99), static_cast(0xBB), static_cast(0xE1), -+ 0x4A, static_cast(0x91), static_cast(0xA5), 0x7C, 0x02, -+ 0x00, -+ 0x01, 0x4C, -+ 0x00, -+ 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49, 0x6E, 0x66, 0x6F, 0x74, -+ 0x00, -+ 0x12, 0x4C, 0x6A, 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67, 0x2F, -+ 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B, 0x78, 0x70 -+ }; - os.writeProlog("org.apache.log4j.spi.LocationInfo", 2, prolog, sizeof(prolog), p); - char* line = p.itoa(lineNumber); - // -diff --git a/src/main/cpp/loggingevent.cpp b/src/main/cpp/loggingevent.cpp -index 1c0d4be..edbf40b 100644 ---- a/src/main/cpp/loggingevent.cpp -+++ b/src/main/cpp/loggingevent.cpp -@@ -242,7 +242,7 @@ void LoggingEvent::writeProlog(ObjectOutputStream& os, Pool& p) { - 0x68, 0x65, 0x2E, 0x6C, 0x6F, 0x67, 0x34, 0x6A, - 0x2E, 0x73, 0x70, 0x69, 0x2E, 0x4C, 0x6F, 0x67, - 0x67, 0x69, 0x6E, 0x67, 0x45, 0x76, 0x65, 0x6E, -- 0x74, 0xF3, 0xF2, 0xB9, 0x23, 0x74, 0x0B, 0xB5, -+ 0x74, static_cast(0xF3), static_cast(0xF2), static_cast(0xB9), 0x23, 0x74, 0x0B, static_cast(0xB5), - 0x3F, 0x03, 0x00, 0x0A, 0x5A, 0x00, 0x15, 0x6D, - 0x64, 0x63, 0x43, 0x6F, 0x70, 0x79, 0x4C, 0x6F, - 0x6F, 0x6B, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, -diff --git a/src/main/cpp/objectoutputstream.cpp b/src/main/cpp/objectoutputstream.cpp -index 7cd696b..5442420 100644 ---- a/src/main/cpp/objectoutputstream.cpp -+++ b/src/main/cpp/objectoutputstream.cpp -@@ -36,7 +36,7 @@ ObjectOutputStream::ObjectOutputStream(OutputStreamPtr outputStream, Pool& p) - objectHandle(0x7E0000), - classDescriptions(new ClassDescriptionMap()) - { -- char start[] = { 0xAC, 0xED, 0x00, 0x05 }; -+ char start[] = { static_cast(0xAC), static_cast(0xED), 0x00, 0x05 }; - ByteBuffer buf(start, sizeof(start)); - os->write(buf, p); - } -@@ -81,15 +81,15 @@ void ObjectOutputStream::writeObject(const MDC::Map& val, Pool& p) { - // - // TC_OBJECT and the classDesc for java.util.Hashtable - // -- char prolog[] = { -- 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61, -- 0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61, -- 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13, -- 0xBB, 0x0F, 0x25, 0x21, 0x4A, 0xE4, 0xB8, 0x03, -- 0x00, 0x02, 0x46, 0x00, 0x0A, 0x6C, 0x6F, 0x61, -- 0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49, -- 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, -- 0x6F, 0x6C, 0x64, 0x78, 0x70 }; -+ char prolog[] = { -+ 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61, -+ 0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61, -+ 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13, -+ static_cast(0xBB), 0x0F, 0x25, 0x21, 0x4A, static_cast(0xE4), static_cast(0xB8), 0x03, -+ 0x00, 0x02, 0x46, 0x00, 0x0A, 0x6C, 0x6F, 0x61, -+ 0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49, -+ 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, -+ 0x6F, 0x6C, 0x64, 0x78, 0x70 }; - writeProlog("java.util.Hashtable", 1, prolog, sizeof(prolog), p); - // - // loadFactor = 0.75, threshold = 5, blockdata start, buckets.size = 7 -diff --git a/src/test/cpp/xml/domtestcase.cpp b/src/test/cpp/xml/domtestcase.cpp -index a500628..29d67dd 100644 ---- a/src/test/cpp/xml/domtestcase.cpp -+++ b/src/test/cpp/xml/domtestcase.cpp -@@ -190,9 +190,9 @@ public: - DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase3.xml")); - LOG4CXX_INFO(logger, "File name is expected to end with a superscript 3"); - #if LOG4CXX_LOGCHAR_IS_UTF8 -- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xC2, 0xB3, 0 }; -+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast(0xC2), static_cast(0xB3), 0 }; - #else -- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xB3, 0 }; -+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast(0xB3), 0 }; - #endif - File file; - file.setPath(fname); -@@ -209,9 +209,9 @@ public: - DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase4.xml")); - LOG4CXX_INFO(logger, "File name is expected to end with an ideographic 4"); - #if LOG4CXX_LOGCHAR_IS_UTF8 -- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xE3, 0x86, 0x95, 0 }; -+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast(0xE3), static_cast(0x86), static_cast(0x95), 0 }; - #else -- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0x3195, 0 }; -+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast(0x3195), 0 }; - #endif - File file; - file.setPath(fname); \ No newline at end of file