diff --git a/trunk/CMakeLists.txt b/trunk/CMakeLists.txt index cd47f0f..1579a25 100644 --- a/trunk/CMakeLists.txt +++ b/trunk/CMakeLists.txt @@ -1,86 +1,90 @@ cmake_minimum_required(VERSION 2.8) project(xmount C) include(CheckIncludeFiles) #include(CheckCSourceCompiles) +# Only for internal packaging +#set(STATIC_EWF 1) +#set(STATIC_AFF 1) + # Make sure CMAKE_BUILD_TYPE is set if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release") else(NOT CMAKE_BUILD_TYPE) if(NOT (CMAKE_BUILD_TYPE STREQUAL "Release" OR CMAKE_BUILD_TYPE STREQUAL "Debug")) message(FATAL_ERROR "Only build types 'Release' and 'Debug' are supported!") endif(NOT (CMAKE_BUILD_TYPE STREQUAL "Release" OR CMAKE_BUILD_TYPE STREQUAL "Debug")) endif(NOT CMAKE_BUILD_TYPE) # Add cmake_modules dir to CMAKE_MODULE_PATH set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake_modules/") # Check required headers check_include_files(stdlib.h HAVE_STDLIB_H) check_include_files(stdio.h HAVE_STDIO_H) check_include_files(stdint.h HAVE_STDINT_H) check_include_files(stdarg.h HAVE_STDARG_H) check_include_files(string.h HAVE_STRING_H) check_include_files(errno.h HAVE_ERRNO_H) check_include_files(fcntl.h HAVE_FCNTL_H) check_include_files(dlfcn.h HAVE_DLFCN_H) check_include_files(dirent.h HAVE_DIRENT_H) check_include_files(unistd.h HAVE_UNISTD_H) check_include_files(sys/ioctl.h HAVE_SYS_IOCTL_H) check_include_files(sys/stat.h HAVE_SYS_STAT_H) check_include_files(sys/types.h HAVE_SYS_TYPES_H) check_include_files(linux/fs.h HAVE_LINUX_FS_H) check_include_files(grp.h HAVE_GRP_H) check_include_files(pthread.h HAVE_PTHREAD_H) check_include_files(time.h HAVE_TIME_H) check_include_files(inttypes.h HAVE_INTTYPES_H) check_include_files(byteswap.h HAVE_BYTESWAP_H) check_include_files(endian.h HAVE_ENDIAN_H) check_include_files(libkern/OSByteOrder.h HAVE_LIBKERN_OSBYTEORDER_H) # Check for required libs if(NOT APPLE) find_package(LibFUSE REQUIRED) include_directories(${LIBFUSE_INCLUDE_DIRS}) set(LIBS ${LIBS} ${LIBFUSE_LIBRARIES}) else(NOT APPLE) find_package(LibOSXFUSE REQUIRED) include_directories(${LIBOSXFUSE_INCLUDE_DIRS}) set(LIBS ${LIBS} ${LIBOSXFUSE_LIBRARIES}) endif(NOT APPLE) # Generate config.h and add it's path to the include dirs configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) include_directories(${CMAKE_CURRENT_BINARY_DIR}) # Add preprocessor definitions add_definitions(-D_LARGEFILE64_SOURCE) add_definitions(-D_FILE_OFFSET_BITS=64) add_definitions(-D_GNU_SOURCE) set(CMAKE_C_FLAGS "-fno-strict-aliasing -std=c99 -Wall") set(CMAKE_C_FLAGS_RELEASE "-O2 ${CMAKE_C_FLAGS}") set(CMAKE_C_FLAGS_DEBUG "-ggdb -O0 ${CMAKE_C_FLAGS}") # Check that off_t can represent 2**63 - 1 correctly. # If it can't, we need to set _FILE_OFFSET_BITS=64 #check_c_source_compiles(" # #include # #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) # int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; # int main() { return 0; } #" _OFFT_IS_64BIT) #if(NOT ${_OFFT_IS_64BIT}) # set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-D_FILE_OFFSET_BITS=64") #endif(NOT ${_OFFT_IS_64BIT}) # Compile stuff in sub dirs add_subdirectory(libxmount_input) add_subdirectory(src) # Install man page INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/xmount.1 DESTINATION share/man/man1) diff --git a/trunk/debian/changelog b/trunk/debian/changelog index 837083e..7e17636 100644 --- a/trunk/debian/changelog +++ b/trunk/debian/changelog @@ -1,103 +1,112 @@ +xmount (0.7.0) stable; urgency=low + + * Changed build system from autoconf / automake to cmake + * Moved input image support into external libs + * Added --offset command line parameter + * Massive code cleanup including some small bug fixes + + -- Gillen Daniel Wed, 13 Aug 2014 17:00:00 +0200 + xmount (0.6.0) stable; urgency=low * Added faster aff input support (using libaaff). * Added support for split DD input files (using libdd). -- Gillen Daniel Fri, 26 Jul 2013 16:00:00 +0200 xmount (0.5.0) stable; urgency=low * Added support for virtual VHD image file emulation. -- Gillen Daniel Sun, 06 May 2012 12:00:00 +0200 xmount (0.4.7) stable; urgency=low * Made InitVirtImageInfoFile less picky about missing EWF infos. -- Gillen Daniel Mon, 30 Jan 2012 12:00:00 +0100 xmount (0.4.6) stable; urgency=low * Added support for libewf v2 -- Gillen Daniel Tue, 11 Oct 2011 20:00:00 +0200 xmount (0.4.5) stable; urgency=low * Added FUSE options to show mounted source in mount command output -- Gillen Daniel Tue, 11 Feb 2011 16:00:00 +0100 xmount (0.4.4) stable; urgency=critical * Fixed a bug in UUID generation -- Gillen Daniel Tue, 10 Aug 2010 15:00:00 +0100 xmount (0.4.3) stable; urgency=critical * Fixed a bug when moving cache files between different hw archtitectures -- Gillen Daniel Wed, 24 Mar 2010 11:30:00 +0100 xmount (0.3.1) stable; urgency=low * Added --cache and --owcache command line options * Updated some parts of the documentation -- Gillen Daniel Fri, 10 Jul 2009 10:19:00 +0100 xmount (0.3.0) stable; urgency=low * Added VMDK emulation support -- Gillen Daniel Fri, 22 May 2009 11:00:00 +0100 xmount (0.2.3) stable; urgency=critical * Virtual write support is fixed now -- Gillen Daniel Fri, 10 Apr 2009 17:02:00 +0100 xmount (0.2.2) stable; urgency=critical * Fixed yet another bug in virtual write support -- Gillen Daniel Thu, 31 Mar 2009 15:13:00 +0100 xmount (0.2.1) stable; urgency=critical * Fixed a bug in virtual write support that corrupted cache files -- Gillen Daniel Fri, 27 Mar 2009 12:00:00 +0100 xmount (0.2.0) stable; urgency=low * Changed name from mountewf to xmount * Massive code cleanup * Added support for multiple input image formats * Added support for virtual write access to emulated image files -- Gillen Daniel Mon, 16 Mar 2009 17:00:00 +0100 mountewf (0.1.2) stable; urgency=low * Added random generator initialisation * Resolved compilation issue by fixing a typo * Fixed some debian specific scripts to be able to build a package -- Gillen Daniel Tue, 10 Feb 2009 16:12:00 +0100 mountewf (0.1.1) stable; urgency=low * Fixed severe bugs in block map calculation. * VDI emulation should now work -- Gillen Daniel Thu, 03 Feb 2009 17:12:00 +0100 mountewf (0.1.0) unstable; urgency=low * Initial Release. -- Gillen Daniel Sun, 01 Feb 2009 01:30:50 +0100 diff --git a/trunk/debian/control b/trunk/debian/control index 606b20f..5a231fe 100644 --- a/trunk/debian/control +++ b/trunk/debian/control @@ -1,20 +1,21 @@ Source: xmount Section: unknown Priority: low Maintainer: Gillen Daniel -Build-Depends: debhelper (>= 5), cmake, pkg-config, libfuse-dev (>= 2.7.1-2~bpo40+1), zlib1g-dev, libewf-dev, libafflib-dev, libssl-dev +Build-Depends: debhelper (>= 5), cdbs, cmake, pkg-config, libfuse-dev (>= 2.7.1-2~bpo40+1), zlib1g-dev, libewf-dev, libafflib-dev, libssl-dev Standards-Version: 3.7.3 Package: xmount Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Tool to crossmount between multiple input and output harddisk image files xmount allows you to convert on-the-fly between multiple input and output harddisk image types. xmount creates a virtual file system using FUSE (Filesystem in Userspace) that contains a virtual representation of the input - image. The virtual representation can be in raw DD, VirtualBox's virtual disk - file format or in VmWare's VMDK file format. Input images can be raw DD, EWF + image. The virtual representation can be in raw DD, Apple's Disk Image format (DMG), + VirtualBox's virtual disk file format (VDI), VmWare's VMDK file format or Microsoft's + Virtual Hard Disk Image format (VHD). Input images can be raw DD, EWF (Expert Witness Compression Format) or AFF (Advanced Forensic Format) files. In addition, xmount also supports virtual write access to the output files that is redirected to a cache file. This makes it possible to boot acquired harddisk images using QEMU, KVM, VirtualBox, VmWare or alike. diff --git a/trunk/debian/rules b/trunk/debian/rules index bfa7033..ee1a395 100755 --- a/trunk/debian/rules +++ b/trunk/debian/rules @@ -1,108 +1,3 @@ #!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - - -CFLAGS = -Wall -g - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif - -config.status: configure - dh_testdir - # Add here commands to configure the package. - autoreconf - ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" - - -build: build-stamp - -build-stamp: config.status - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/xmount.sgml > xmount.1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - - # Add here commands to clean up after the build process. - -$(MAKE) distclean -ifneq "$(wildcard /usr/share/misc/config.sub)" "" - cp -f /usr/share/misc/config.sub config.sub -endif -ifneq "$(wildcard /usr/share/misc/config.guess)" "" - cp -f /usr/share/misc/config.guess config.guess -endif - - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/xmount. - $(MAKE) DESTDIR=$(CURDIR)/debian/xmount install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs ChangeLog - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - dh_strip - dh_compress - dh_fixperms -# dh_perl -# dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/cmake.mk diff --git a/trunk/debian/xmount.manpages b/trunk/debian/xmount.manpages deleted file mode 100644 index d832901..0000000 --- a/trunk/debian/xmount.manpages +++ /dev/null @@ -1 +0,0 @@ -xmount.1