Revision 9fb6ccde0d28b6596c2e09ab757d932bbd0c6a84 authored by Tobias Ellinghaus on 23 November 2012, 22:44:15 UTC, committed by Tobias Ellinghaus on 23 November 2012, 22:44:15 UTC
When removing images from DB we set a bit in flags and then write the xmp files. When reimporting the film roll right after removing it that flag sometimes survives (either directly in the DB or over the xmp file, I haven't checked). This should no longer happen. I hope.
1 parent 7daeb3c
build.sh
#!/bin/sh
DT_SRC_DIR=`dirname "$0"`
DT_SRC_DIR=`cd "$DT_SRC_DIR"; pwd`
cd $DT_SRC_DIR;
# ---------------------------------------------------------------------------
# Set default values to option vars
# ---------------------------------------------------------------------------
INSTALL_PREFIX=""
BUILD_TYPE=""
MAKE_TASKS=-1
BUILD_DIR="./build"
PRINT_HELP=0
OPT_FLICKR=-1
OPT_KWALLET=-1
OPT_GNOME_KEYRING=-1
OPT_OPENMP=-1
OPT_OPENCL=-1
OPT_UNITY=-1
OPT_TETHERING=-1
OPT_EXPERIMENTAL_IOP=-1
OPT_GEO=-1
# ---------------------------------------------------------------------------
# Parse options
# ---------------------------------------------------------------------------
parse_feature()
{
feature=$1
value=$2
case $feature in
flickr)
OPT_FLICKR=$value
;;
kwallet)
OPT_KWALLET=$value
;;
gnome-keyring)
OPT_GNOME_KEYRING=$value
;;
openmp)
OPT_OPENMP=$value
;;
opencl)
OPT_OPENCL=$value
;;
unity)
OPT_UNITY=$value
;;
tethering)
OPT_TETHERING=$value
;;
experimental)
OPT_EXPERIMENTAL_IOP=$value
;;
geo)
OPT_GEO=$value
;;
*)
echo "warning: unknown feature '$feature'"
;;
esac
}
while [ $# -ge 1 ] ; do
option="$1"
case $option in
--prefix)
INSTALL_PREFIX="$2"
shift
;;
--buildtype)
BUILD_TYPE="$2"
shift
;;
--builddir)
BUILD_DIR="$2"
shift
;;
-j|--jobs)
MAKE_TASKS="$2"
shift
;;
--enable-*)
feature=${option#--enable-}
parse_feature "$feature" 1
;;
--disable-*)
feature=${option#--disable-}
parse_feature "$feature" 0
;;
-h|--help)
PRINT_HELP=1
;;
*)
echo "warning: ignoring unknown option $option"
;;
esac
shift
done
# ---------------------------------------------------------------------------
# Process user wishes
# ---------------------------------------------------------------------------
if [ $PRINT_HELP -ne 0 ] ; then
cat <<EOF
build.sh [OPTIONS]
Options:
Installation:
--prefix <string> Install directory prefix (default: /opt/darktable)
Build:
--builddir <string> Building directory (default: $DT_SRC_DIR/build)
--buildtype <string> Build type (Release, Debug, default: Release)
-j --jobs <integer> Number of tasks (default: number of CPUs)
Features:
All these options have a --disable-* equivalent. By default they are set
so that the cmake script autodetects features.
--enable-flickr
--enable-kwallet
--enable-gnome-keyring
--enable-openmp
--enable-opencl
--enable-unity
--enable-tethering
--enable-experimental
--enable-geo
Extra:
-h --help Print help message
EOF
exit 1
fi
if [ "$INSTALL_PREFIX" = "" ]; then
INSTALL_PREFIX=/opt/darktable/
fi
if [ "$BUILD_TYPE" = "" ]; then
BUILD_TYPE=Release
fi
KERNELNAME=`uname -s`
# If no Make tasks given, try to be smart
if [ "$(($MAKE_TASKS < 1))" -eq 1 ]; then
if [ "$KERNELNAME" = "SunOS" ]; then
MAKE_TASKS=$( /usr/sbin/psrinfo |wc -l )
else
if [ -r /proc/cpuinfo ]; then
MAKE_TASKS=$(grep -c "^processor" /proc/cpuinfo)
elif [ -x /sbin/sysctl ]; then
TMP_CORES=$(/sbin/sysctl -n hw.ncpu 2>/dev/null)
if [ "$?" = "0" ]; then
MAKE_TASKS=$TMP_CORES
fi
fi
fi
fi
if [ "$KERNELNAME" = "SunOS" ]; then
MAKE=gmake
PATH=/usr/gnu/bin:$PATH ; export PATH
else
MAKE=make
fi
# Being smart may fail :D
if [ "$(($MAKE_TASKS < 1))" -eq 1 ]; then
MAKE_TASKS=1
fi
cmake_boolean_option()
{
name=$1
value=$2
case $value in
-1)
# Do nothing
;;
0)
CMAKE_MORE_OPTIONS="$CMAKE_MORE_OPTIONS -D${name}=Off"
;;
1)
CMAKE_MORE_OPTIONS="$CMAKE_MORE_OPTIONS -D${name}=On"
;;
esac
}
CMAKE_MORE_OPTIONS=""
cmake_boolean_option USE_FLICKR $OPT_FLICKR
cmake_boolean_option USE_KWALLET $OPT_KWALLET
cmake_boolean_option USE_GNOME_KEYRING $OPT_GNOME_KEYRING
cmake_boolean_option USE_OPENMP $OPT_OPENMP
cmake_boolean_option USE_OPENCL $OPT_OPENCL
cmake_boolean_option USE_UNITY $OPT_UNITY
cmake_boolean_option USE_CAMERA_SUPPORT $OPT_TETHERING
cmake_boolean_option INSTALL_IOP_EXPERIMENTAL $OPT_EXPERIMENTAL_IOP
cmake_boolean_option USE_GEO $OPT_GEO
# Some people might need this, but ignore if unset in environment
CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH:-}
CMAKE_MORE_OPTIONS="${CMAKE_MORE_OPTIONS} ${CMAKE_PREFIX_PATH}"
# ---------------------------------------------------------------------------
# Let's go
# ---------------------------------------------------------------------------
cat <<EOF
Darktable build script
Building directory: $BUILD_DIR
Installation prefix: $INSTALL_PREFIX
Build type: $BUILD_TYPE
Make program: $MAKE
Make tasks: $MAKE_TASKS
EOF
if [ ! -d "$BUILD_DIR" ]; then
mkdir "$BUILD_DIR"
fi
cd "$BUILD_DIR"
cmake \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
${CMAKE_MORE_OPTIONS} \
"$DT_SRC_DIR" \
&& $MAKE -j $MAKE_TASKS
if [ $? = 0 ]; then
cat <<EOF
Darktable finished building, to actually install darktable you need to type:
# cd "$BUILD_DIR"; sudo make install
EOF
else
exit 1
fi
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...