General
=======
libquvi-scripts contains the Lua scripts for libquvi that it uses to parse
the media properties.
gitweb: <http://repo.or.cz/w/libquvi-scripts.git>
Home : <http://quvi.sourceforge.net/>
Installation
============
Notes
-----
* This document does not cover how to use GNU Autotools for building
and installing software, instead, refer to the GNU Autotools documentation,
the INSTALL file and the "configure --help" output for more information.
* If you're not familiar with GNU Autotools and/or installing software
from the source code, you may prefer to install libquvi-scripts using a
binary package, instead. You can find libquvi-scripts packaged for many
distros already.
* If you have previously installed libquvi-scripts from the source code
to your system, the recommended practice is to uninstall the previous
installation first, before you continue with the new one. You would,
typically, run "make uninstall" (as root if necessary) from the same
directory you ran "make install" from.
* If you are building libquvi-scripts from the git repository code, run
the `bootstrap.sh' first. This generates the configuration files. See also
the -h output for any additional info.
Simple install procedure
------------------------
% ./configure && make
[ Become root if necessary ]
% make install
The configure script supports also the following options which are
relevant to the installation:
--with(out)-geoblocked (default: yes)
Install the scripts written for websites that are known to geoblock
IP addresses outside of their definition of the accepted IP ranges.
These are usually websites that block IPs from countries, sometimes
even cities, based on the registered geological location of the IP
address.
--with(out)-fixme (default: no)
Install the scripts that have been marked as "FIXME". These are
known to be broken and need to be fixed. Patches welcome.
--with(out)-nsfw (default: no)
Install the scripts written for websites that host NSFW media.
--with(out)-manual (default:yes)
Install the manual page for libquvi-scripts.
--with(out)-tests (default: no)
Install with the tests. This enables the testsuite, see "Tests"
for more information.
Note that the --with(out)-* options are ignored by the testsuite.
If you need more control over which of the tests should be run,
see the "Tests: Environment variables" for more information.
Requirements
------------
* Lua BitOp 1.0.1
http://bitop.luajit.org/
$ sudo aptitude install lua-bitop
* LuaExpat 1.2.0
http://matthewwild.co.uk/projects/luaexpat/
$ sudo aptitude install lua-expat
* LuaJSON 1.1.1
http://www.eharning.us/wiki/luajson/
$ sudo aptitude install lua-json
* LuaSocket 2.0.2
http://w3.impa.br/~diego/software/luasocket/
$ sudo aptitude install lua-socket
* pkg-config for tracking the compilation flags needed for libraries
http://www.freedesktop.org/software/pkgconfig/
* GNU make is recommended
http://www.gnu.org/software/make
* asciidoc (a2x) for producing the manual pages
http://www.methods.co.nz/asciidoc/
See also "Documentation".
When the configure script is run with the `--with-tests':
* libquvi 0.9
http://quvi.sf.net/
* GLib 2.24.2
http://library.gnome.org/devel/glib/
* libcurl 7.21.0
http://curl.haxx.se/
Installation directories
------------------------
The location of the installed files is determined by the --prefix
and the --exec-prefix options given to the configure script.
The .pc file for libquvi-scripts is installed in $exec_prefix/lib/pkgconfig
to provide information when compiling packages that depend on libquvi-scripts.
Documentation
=============
To build the documentation suite, you need to have asciidoc. Because
not all users are inclined to install this tool, the default build
target does not build the documentation. See "make doc" below for
more information.
Installation: The libquvi-scripts dist tarball contains prebuilt
manual pages, and are installed by default. See `--with(out)-manual'
above. See also "make doc" below.
Make targets:
'make doc' builds the manual pages for libquvi-scripts if a2x(1) was
found by configure. The manual page files can be found at:
$top_srcdir/doc/man7/ -- input
$top_builddir/doc/man7/ -- output
Tests
=====
The tests use the GLib framework for testing. All of these tests require
the presence of the libquvi and a working internet connection. The tests
reside in the tests/ directory.
'make check' will run the test programs listed in the TEST_PROGS
variable in the tests/Makefile.am . It will fail if any of the
tests fail. This is identical to running 'make test'.
NOTE: You must run `configure --with-tests' to enable the tests,
they are not enabled by default.
'make distcheck' will fail if any of the tests fail. Note that this
would, typically, require:
env DISTCHECK_CONFIGURE_FLAGS=--with-tests make distcheck
The tests use the gtester(1) and gtester-report(1) commands to produce
the logs. These programs are part of GLib. The test programs produce:
$(top_builddir)/tests/$test_program.html # gtester-report
$(top_builddir)/tests/$test_program.xml # gtester
Tests: Environment variables
----------------------------
The testsuite supports the following environment variables:
TEST_VERBOSE will enable verbose libcurl(3) output.
TEST_SKIP will disable the specified tests. This list is a comma-separated
list of test names. The comma-separated values are treated as regular
expression patterns.
TEST_GEOBLOCKED will enable the tests for the scripts that have been
marked as "geoblocked". These are skipped by default.
TEST_FIXME will enable the tests for the scripts that have been marked
as "FIXME". These are skipped by default.
TEST_NSFW will enable the tests for the scripts that have been marked
as "NSFW". These are skipped by default.
TEST_LEVEL will set the level ('basic', 'complete') of the tests.
'complete' - additional and mandatory script tests
'basic' - mandatory script tests only (default)
Example:
% env TEST_SKIP=test_media_,test_scan_ make test
% env TEST_VERBOSE=1 TEST_FIXME=1 TEST_GEOBLOCKED=1 TEST_LEVEL=complete \
TEST_SKIP=test_media_vimeo,test_playlist_youtube make test
Tests: Scripts
--------------
The tests/ directory contains:
'find_tests.sh' will dump a list of available tests.
'run_tests.sh' is a convenience script that wraps many of the
testsuite features making them available via GUI. Note that
this script requires zenity(1).
For more info, run these scripts with the '-h' switch.
Tests: Proxy
------------
If you need to use a proxy, refer to the curl(1) manual page for a
complete list of the supported environment variables (e.g. http_proxy).
libquvi (and libquvi-scripts) uses libcurl to connect to the internet.
How to report bugs
==================
Please see: http://quvi.sourceforge.net/#bugs
Patches
=======
Please see: http://quvi.sourceforge.net/contrib/
License
=======
libquvi-scripts is Free Software licensed under the GNU Affero GPLV3+