Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into fsck-udf
Browse files Browse the repository at this point in the history
  • Loading branch information
JLMorange committed Apr 1, 2019
2 parents 31da331 + bbdd654 commit 74f35a6
Show file tree
Hide file tree
Showing 49 changed files with 862 additions and 747 deletions.
227 changes: 169 additions & 58 deletions .travis.yml
@@ -1,13 +1,5 @@
language: c

#env:
# - TESTS=
# - TESTS=--enable-tests TESTLEVEL=unit
# - TESTS=--enable-tests TESTLEVEL=basic
# - TESTS=--enable-tests TESTLEVEL=extra1
# - TESTS=--enable-tests TESTLEVEL=extra2


matrix:
include:
- compiler: gcc-4.4
Expand Down Expand Up @@ -146,6 +138,25 @@ matrix:
packages:
- libreadline-dev
- gcc-7
- compiler: gcc-8
env: PLATFORM=x86
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libreadline-dev:i386
- libc6-dev:i386
- gcc-8-multilib
- compiler: gcc-8
env: PLATFORM=x86_64
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libreadline-dev
- gcc-8
- compiler: clang-3.3
env: PLATFORM=x86
addons:
Expand Down Expand Up @@ -306,6 +317,50 @@ matrix:
packages:
- libreadline-dev
- clang-5.0
- compiler: clang-6.0
env: PLATFORM=x86
addons:
apt:
sources:
- llvm-toolchain-trusty-6.0
- ubuntu-toolchain-r-test
packages:
- libreadline-dev:i386
- libc6-dev:i386
- clang-6.0
- gcc-multilib
- compiler: clang-6.0
env: PLATFORM=x86_64
addons:
apt:
sources:
- llvm-toolchain-trusty-6.0
- ubuntu-toolchain-r-test
packages:
- libreadline-dev
- clang-6.0
- compiler: clang-7
env: PLATFORM=x86
addons:
apt:
sources:
- llvm-toolchain-trusty-7
- ubuntu-toolchain-r-test
packages:
- libreadline-dev:i386
- libc6-dev:i386
- clang-7
- gcc-multilib
- compiler: clang-7
env: PLATFORM=x86_64
addons:
apt:
sources:
- llvm-toolchain-trusty-7
- ubuntu-toolchain-r-test
packages:
- libreadline-dev
- clang-7
- compiler: gcc
dist: precise
env: PLATFORM=x86
Expand Down Expand Up @@ -342,6 +397,24 @@ matrix:
apt:
packages:
- libreadline-dev
- compiler: gcc
dist: xenial
env: PLATFORM=x86
DIST=xenial
addons:
apt:
packages:
- libreadline-dev:i386
- libc6-dev:i386
- gcc-multilib
- compiler: gcc
dist: xenial
env: PLATFORM=x86_64
DIST=xenial
addons:
apt:
packages:
- libreadline-dev
- compiler: gcc
dist: precise
env: PLATFORM=x86
Expand Down Expand Up @@ -382,6 +455,26 @@ matrix:
apt:
packages:
- libreadline-dev
- compiler: gcc
dist: xenial
env: PLATFORM=x86
DIST=xenial
NOOPT=1
addons:
apt:
packages:
- libreadline-dev:i386
- libc6-dev:i386
- gcc-multilib
- compiler: gcc
dist: xenial
env: PLATFORM=x86_64
DIST=xenial
NOOPT=1
addons:
apt:
packages:
- libreadline-dev
- compiler: clang
dist: precise
env: PLATFORM=x86
Expand Down Expand Up @@ -418,6 +511,24 @@ matrix:
apt:
packages:
- libreadline-dev
- compiler: clang
dist: xenial
env: PLATFORM=x86
DIST=xenial
addons:
apt:
packages:
- libreadline-dev:i386
- libc6-dev:i386
- gcc-multilib
- compiler: clang
dist: xenial
env: PLATFORM=x86_64
DIST=xenial
addons:
apt:
packages:
- libreadline-dev
- compiler: clang
dist: precise
env: PLATFORM=x86
Expand Down Expand Up @@ -458,6 +569,26 @@ matrix:
apt:
packages:
- libreadline-dev
- compiler: clang
dist: xenial
env: PLATFORM=x86
DIST=xenial
NOOPT=1
addons:
apt:
packages:
- libreadline-dev:i386
- libc6-dev:i386
- gcc-multilib
- compiler: clang
dist: xenial
env: PLATFORM=x86_64
DIST=xenial
NOOPT=1
addons:
apt:
packages:
- libreadline-dev
- compiler: tcc
dist: precise
env: PLATFORM=x86_64
Expand All @@ -467,7 +598,6 @@ matrix:
packages:
- libreadline-dev
- tcc
- gcc
- compiler: tcc
dist: trusty
env: PLATFORM=x86_64
Expand All @@ -477,7 +607,15 @@ matrix:
packages:
- libreadline-dev
- tcc
- gcc
- compiler: tcc
dist: xenial
env: PLATFORM=x86_64
DIST=xenial
addons:
apt:
packages:
- libreadline-dev
- tcc
- compiler: gcc
dist: trusty
env: PLATFORM=x32
Expand Down Expand Up @@ -507,69 +645,42 @@ matrix:
- compiler: gcc
if: (branch = master) AND (type != pull_request)
env:
- secure: "rH+rQS0W+0U3C/W/uRqJ8E5A3KrlbWaDRpZtdT1/SO0kEMnmuG2b0UvoadcIKOEXNHnQeZ3kPQbG2Wjfo/D6up0mXGZLXAvaJZozagxdfF2QPHSpvj2NDRLM71+UaKK/ksq3auPq+o3Y74FZOc4oBr7kPpr01H0pK8/2lljxS2daINRgFfcsaRhKNshtvHBn/KLgbwa5vEB/jadKBKM+mgAYE1sFv8P3yZ3+MzxygpurJ6enU6/9JITF5QgB11ybivYCbqoEf+IhzxgsmELz0zgL+PCVzTvrrNzpCT1UZJ35vWht5Yf7/AmK3sI/rMJm7TYswFKAc7NUbn80oIw6opp7sW1oFqMEHnHNLMNSljg8BwUrbH+y6+yV7sRfG6djCTYUYGYY9ZC2Ef4r3s3ZrRwHuBujZx/DOnFj0nd0AuvETNPkMWD1996bvSQ+WkfZ4JdW335/G61GdQv7kMTutWLKrlDquqxKM1AsoP1d99vCBzpEfRKyZjDUUSmnjdvZ/QgIDidGzH3vYFO81N39HjgKZlxH+oCuoX2ak3A6BrOT7t6mgEXnGM4H9vWhoKb7hseadBsR7YnbFSRmF2FDihEoIJ/BCPykGSZWzxTF94zC3WURI1C3HL0sAHGg3M620FgFj3M4Xkf0CPsmdsjwsnZg6TgVkYwAaKKP0HI2MFs="
addons:
apt:
packages:
- libreadline-dev
coverity_scan:
project:
name: "pali/udftools"
description: "Build submitted via Travis CI"
notification_email: pali.rohar@gmail.com
build_command_prepend: "./autogen.sh && ./configure"
build_command: make
branch_pattern: master
- secure: "rH+rQS0W+0U3C/W/uRqJ8E5A3KrlbWaDRpZtdT1/SO0kEMnmuG2b0UvoadcIKOEXNHnQeZ3kPQbG2Wjfo/D6up0mXGZLXAvaJZozagxdfF2QPHSpvj2NDRLM71+UaKK/ksq3auPq+o3Y74FZOc4oBr7kPpr01H0pK8/2lljxS2daINRgFfcsaRhKNshtvHBn/KLgbwa5vEB/jadKBKM+mgAYE1sFv8P3yZ3+MzxygpurJ6enU6/9JITF5QgB11ybivYCbqoEf+IhzxgsmELz0zgL+PCVzTvrrNzpCT1UZJ35vWht5Yf7/AmK3sI/rMJm7TYswFKAc7NUbn80oIw6opp7sW1oFqMEHnHNLMNSljg8BwUrbH+y6+yV7sRfG6djCTYUYGYY9ZC2Ef4r3s3ZrRwHuBujZx/DOnFj0nd0AuvETNPkMWD1996bvSQ+WkfZ4JdW335/G61GdQv7kMTutWLKrlDquqxKM1AsoP1d99vCBzpEfRKyZjDUUSmnjdvZ/QgIDidGzH3vYFO81N39HjgKZlxH+oCuoX2ak3A6BrOT7t6mgEXnGM4H9vWhoKb7hseadBsR7YnbFSRmF2FDihEoIJ/BCPykGSZWzxTF94zC3WURI1C3HL0sAHGg3M620FgFj3M4Xkf0CPsmdsjwsnZg6TgVkYwAaKKP0HI2MFs="
addons:
apt:
packages:
- libreadline-dev
coverity_scan:
project:
name: "pali/udftools"
description: "Build submitted via Travis CI"
notification_email: pali.rohar@gmail.com
build_command_prepend: "./autogen.sh && ./configure"
build_command: make
branch_pattern: master

before_script:
- if ! which "$CC" &>/dev/null; then export CC=${CC%%-*}; fi
- export CFLAGS="-W -Wall -Werror -g"
- if [ -z "$NOOPT" ]; then export CFLAGS="$CFLAGS -O2"; fi
- if ! [[ "$CC" =~ "gcc" && "`$CC -dumpversion | sed 's/^\([0-9]\)\.\([0-9]\).*/\1\2/;'`" -lt 48 ]]; then export CFLAGS="$CFLAGS -pedantic"; fi
- if [[ "$CC" =~ "gcc" && "`$CC -dumpversion | sed 's/^\([0-9]\)\.\([0-9]\).*/\1\2/;'`" = "48" ]]; then export CFLAGS="$CFLAGS -Wno-error=pedantic"; fi
- if [[ "$CC" =~ "gcc" && "$CC" != "gcc-4.4" ]]; then export CFLAGS="$CFLAGS -Wno-error=unused-but-set-variable"; fi # needed for AC_PROG_CC_C99
- if [[ "$CC" =~ "clang" ]]; then export CFLAGS="$CFLAGS -Wno-error=unused-function"; fi # -Werror=unused-function is broken on clang
- case "$PLATFORM" in
"x86") export CFLAGS="-m32 $CFLAGS" ;;
"x86_64"|"") ;;
"x32") export CFLAGS="-mx32 $CFLAGS"; export LDFLAGS="" ;;
"powerpc") export CONFIGURE_FLAGS="--host=powerpc-linux-gnu"; export LDFLAGS="--static"; export RUN=qemu-ppc; export CMOCKA_STATIC="-DWITH_STATIC_LIB=ON";;
"arm") export CONFIGURE_FLAGS="--host=arm-linux-gnueabi"; export LDFLAGS="--static"; export RUN=qemu-arm; export CMOCKA_STATIC="-DWITH_STATIC_LIB=ON";;
"x32") export CFLAGS="-mx32 $CFLAGS"; export LDFLAGS="--static" ;;
"powerpc") export CONFIGURE_FLAGS="--host=powerpc-linux-gnu"; export LDFLAGS="--static"; export RUN=qemu-ppc ;;
"arm") export CONFIGURE_FLAGS="--host=arm-linux-gnueabi"; export LDFLAGS="--static"; export RUN=qemu-arm ;;
*) echo "Unsupported platform '$PLATFORM'"; exit 1 ;;
esac
- case "$CC" in
"tcc") export CMOCKA_STATIC="-DWITH_STATIC_LIB=ON";;
*) ;;
esac
# CMocka installation
- cd ..; mkdir cmocka; cd cmocka; PTH=$(pwd); cd ..;
- wget --no-check-certificate https://github.com/argorain/udffsck-test-samples/archive/v1.0-beta.4.tar.gz
- tar xzf v1.0-beta.4.tar.gz
- cd udffsck-test-samples-1.0-beta.4/cmocka
- tar zxf cmocka-1.1.0-static-patch.tar.gz
- cd cmocka-1.1.0
- mkdir build
- cd build
- cmake -DCMAKE_INSTALL_PREFIX=$PTH -DCMAKE_BUILD_TYPE=Release $CMOCKA_STATIC ../
- make
- make install
- cd ../../../../udftools
# Configure flags
- export CFLAGS="-W -Wall -Werror -g $CFLAGS"
- export PATH="$PTH:$PATH"
- export LD_LIBRARY_PATH="$PTH/lib:$LD_LIBRARY_PATH"
- export CFLAGS="$CFLAGS -I$PTH/include/"
- export LDFLAGS="$LDFLAGS -L$PTH/lib/"
- export CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-tests"

script:
- set -e
- if [ -n "$COVERITY_SCAN_TOKEN" ]; then exit 0; fi
- ./autogen.sh
- ./configure $CONFIGURE_FLAGS
- make
- set +e
- if [[ "$PLATFORM" =~ "powerpc" ]]; then exit 0; fi # PowerPC is big-endian platform and udffsck is not currently available for BE. Therefore we are skipping them.
- ./udffsck/travis-tests.sh unit
- ./udffsck/travis-tests.sh basic v1.0-beta.4
- ./udffsck/travis-tests.sh extra1 v1.0-beta.4
- ./udffsck/travis-tests.sh extra2 v1.0-beta.4
- ./udffsck/travis-tests.sh extra3 v1.0-beta.4

after_failure:
- cat config.log
8 changes: 4 additions & 4 deletions AUTHORS
@@ -1,9 +1,9 @@
libudffs
Ben Fennema <bfennema@falcon.csc.calpoly.edu>
Ben Fennema
Pali Rohár <pali.rohar@gmail.com>

mkudffs
Ben Fennema <bfennema@falcon.csc.calpoly.edu>
Ben Fennema
Pali Rohár <pali.rohar@gmail.com>
Steve Kenton <skenton@ou.edu>

Expand All @@ -15,7 +15,7 @@ udflabel

cdrwtool
Jens Axboe <axboe@suse.de>
Ben Fennema <bfennema@falcon.csc.calpoly.edu>
Ben Fennema

pktsetup
Jens Axboe <axboe@suse.de>
Expand All @@ -27,6 +27,6 @@ wrudf

doc
Paul Thompson <set@pobox.com>
Ben Fennema <bfennema@falcon.csc.calpoly.edu>
Ben Fennema
Pali Rohár <pali.rohar@gmail.com>
Steve Kenton <skenton@ou.edu>
23 changes: 23 additions & 0 deletions NEWS
@@ -1,3 +1,26 @@
Changes in 2.1
* Fixed compilation with glibc >= 2.25
* Allow to compile without libreadline
* Use pkgconfig for detection of udev rules directory
* Set minimal version of autoconf to 2.64
* Enforce ISO C99 compiler
* Fixed support for big endian systems
* Fixed converting strings to integers
* Added support for UDF 1.50 Logical Volume Extended Information (contains volume label)
* Added support for UDF 1.01 revision
* Added workaround for Year 2038 Bug
* udfinfo & udflabel:
* Fixed accessing disks when MVDS and RVDS descriptors points to same location
* Fixed support for disks >= 4GB on 32bit systems
* Implemented reading VAT outside of outside of ICB
* Various fixes for reading UDF descriptors
* mkudffs:
* Space optimization for small disks
* Allow to set alignment of UDF structures via --packetlen option for any media type
* Fixed alignment of VAT and generation of DVD-R and BD-R discs
* cdrwtool:
* Disallow specifying unsupported UDF revisions

Changes in 2.0
* For UDF uuid is used same algorithm as in util-linux v2.30
* Fixed Unicode encode/decode functions to correctly process OSTA Unicode d-string and d-characters
Expand Down
2 changes: 1 addition & 1 deletion cdrwtool/Makefile.am
@@ -1,5 +1,5 @@
bin_PROGRAMS = cdrwtool
cdrwtool_LDADD = $(top_builddir)/libudffs/libudffs.la
cdrwtool_SOURCES = main.c options.c cdrwtool.c ../mkudffs/mkudffs.c ../mkudffs/defaults.c ../mkudffs/file.c options.h cdrwtool.h ../include/ecma_167.h ../include/osta_udf.h ../mkudffs/mkudffs.h ../mkudffs/defaults.h ../mkudffs/file.h ../include/libudffs.h ../include/udf_endian.h
cdrwtool_SOURCES = main.c options.c cdrwtool.c ../mkudffs/mkudffs.c ../mkudffs/defaults.c ../mkudffs/file.c options.h cdrwtool.h ../include/ecma_167.h ../include/osta_udf.h ../mkudffs/mkudffs.h ../mkudffs/defaults.h ../mkudffs/file.h ../include/libudffs.h

AM_CPPFLAGS = -I$(top_srcdir)/include
2 changes: 1 addition & 1 deletion cdrwtool/cdrwtool.c
Expand Up @@ -2,7 +2,7 @@
* cdrwtool - perform all sort of actions on a CD-R, CD-RW, and DVD-R drive.
*
* Copyright (c) 1999,2000 Jens Axboe <axboe@suse.de>
* Copyright (c) 2002 Ben Fennema <bfennema@falcon.csc.calpoly.edu>
* Copyright (c) 2002 Ben Fennema
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand Down

0 comments on commit 74f35a6

Please sign in to comment.