# Get it
cd
test -f installed/libwebcam-src-0.2.5.tar.gz &&
mv installed/libwebcam-src-0.2.5.tar.gz .
test ! -f libwebcam-src-0.2.5.tar.gz &&
wget http://downloads.sf.net/libwebcam/libwebcam-src-0.2.5.tar.gz
# Extract the source
mkdir -p -m 0700 src
cd src
test -d ./webcam-tools && rm -r ./webcam-tools
find -maxdepth 1 -type d -name "libwebcam-src-*" -exec rm -r {} \;
find -maxdepth 1 -type d -name "libwebcam-0.*" -exec rm -r {} \;
tar xzvf ~/libwebcam-src-0.2.5.tar.gz
cd libwebcam-0.2.5
test $UID = 0 && chown -R root:root .
# Create a directory for all of the build files
mkdir build
cd build
# Configure the build with CMake
test $(uname -m) = 'x86_64' && cmake .. -DCMAKE_INSTALL_LIBDIR=lib64
test $(uname -m) != 'x86_64' && cmake ..
# Build it
make
# Become root to install it
su
# Remove version-specific binaries from old versions
find /usr/local/bin -type f -name "uvcdynctrl-*" -exec rm {} \;
# Remove shared library files from old versions
find /usr/local/lib -type f -name "libwebcam.so.0.*" -exec rm {} \;
test -d /usr/local/lib64 &&
find /usr/local/lib -type f -name "libwebcam.so.0.*" -exec rm {} \;
# Remove version-specicific man pages from old versions
find /usr/local/man/man1 -type f -name "uvcdynctrl-*" -exec rm {} \;
find /usr/local/share/man/man1 -type f -name "uvcdynctrl-*" -exec rm {} \;
# If you do not have a /usr/local/share/man symlink, create one so the
# man pages are findable later (or update MANPATH in /etc/profile*).
# They will be installed under /usr/local/share/man/man1
test ! -L /usr/local/share/man -a ! -d /usr/local/share/man &&
ln -s /usr/local/man /usr/local/share/man
# Install it
make install
ldconfig
# Run /usr/local/bin/uvcdynctrl for commandline usage
# Examples:
# - List available cameras:
# uvcdynctrl -l
# - List controls for device(s):
# uvcdynctrl -c
# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .
# Become your non-root user again
exit
# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/libwebcam-src-*.tar.gz
mv libwebcam-src-0.2.5.tar.gz installed/
# If you ever want to uninstall webcam-tools, this should do it:
cd
su
test -d src/libwebcam-* && ( cd src/libwebcam-*/build ; make uninstall )
find /usr/local/bin -type f -name "uvcdynctrl-*" -exec rm {} \;
find /usr/local/man -type f -name "uvcdynctrl-*.gz" -exec rm {} \;
find /usr/local/share/man -type f -name "uvcdynctrl-*.gz" -exec rm {} \;
test -d /usr/local/share/uvcdynctrl && rm -r /usr/local/share/uvcdynctrl
rm -f /lib/udev/rules.d/80-uvcdynctrl.rules \
/lib/udev/uvcdynctrl \
/usr/local/bin/uvcdynctrl \
/usr/local/include/webcam.h \
/usr/local/include/dynctrl-logitech.h \
/usr/local/lib/libwebcam.* \
/usr/local/lib/pkgconfig/libwebcam.pc \
/usr/local/lib64/libwebcam.* \
/usr/local/lib64/pkgconfig/libwebcam.pc \
/usr/local/man/man1/uvcdynctrl.1.gz \
/usr/local/share/man/man1/uvcdynctrl.1.gz
ldconfig
exit
test -d ~/src/libwebcam && rm -r ~/src/libwebcam
find ~/src -maxdepth 1 -type d -name "libwebcam-src-*" -exec rm -r {} \;
find ~/src -maxdepth 1 -type d -name "libwebcam-0.*" -exec rm -r {} \;
rm -f ~/installed/libwebcam-*.tar.*