diff options
Diffstat (limited to 'debian')
70 files changed, 2202 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..772cda8 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,58 @@ +Upstream installation guide: + + https://asciimoo.github.io/searx/dev/install/installation.html + +The Debian setup varies at some points. Here is the most simple setup that +starts searx in the foreground without daemonization: + + 1. Copy the default configuration file + + $ mkdir /etc/searx + $ gzip --to-stdout --decompress /usr/share/doc/searx/examples/settings.yml.gz > /etc/searx/settings.yml + + 2. Generate a secret key + + $ sed -i -e "s/ultrasecretkey/$(openssl rand -hex 16)/g" /etc/searx/settings.yml + + 3. Start searx + + $ searx-run + + 4. Try it out + + $ sensible-browser 127.0.0.1:8888 + +It follows a step by step instruction of how to setup searx as a uwsgi service +behind nginx: + + 1. Copy and symlink the nginx configuration + + $ cp /usr/share/doc/searx/examples/nginx/sites-available/searx /etc/nginx/sites-available + $ ln -s ../sites-available/searx /etc/nginx/sites-enabled/searx + + 2. Copy and symlink the uwsgi configuration + + $ cp /usr/share/doc/searx/examples/uwsgi/apps-available/searx.ini /etc/uwsgi/apps-available + $ ln -s ../apps-available/searx.ini /etc/uwsgi/apps-enabled/searx.ini + + 3. Copy the default configuration file + + $ mkdir /etc/searx + $ gzip --to-stdout --decompress /usr/share/doc/searx/examples/settings.yml.gz > /etc/searx/settings.yml + + 4. Generate a secret key + + $ sed -i -e "s/ultrasecretkey/$(openssl rand -hex 16)/g" /etc/searx/settings.yml + + 5. Restart nginx and uwsgi + + $ systemctl restart nginx + $ systemctl restart uwsgi + +The differences to the upstream instructions are: + + - the uwsgi user and group are www-data + - python3 is used instead of python2 + - no virtualenv is used + - uwsgi pythonpath and chdir are Debian-specific + - no root directive is set in nginx configuration diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..136084d --- /dev/null +++ b/debian/README.source @@ -0,0 +1,17 @@ +General +======= + +This package uses the tarball-based variant of the dgit-maint-merge workflow. +Upstream uses git but distributes files constituting a copyright violation with +it. Thus, we do not want to ship upstream's git history but instead rely on +tarballs that were retrieved using uscan and repacked using mk-origtargz and +the Files-Excluded field from debian/copright. + +New upstream release +==================== + +To import a new upstream version, use: + + $ gbp import-orig --uscan + +gbp options specific to dgit will be read from debian/gbp.conf diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..ad002e6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,63 @@ +searx (0.15.0+dfsg1-1) unstable; urgency=medium + + * New upstream release + * Use require.min.js from libjs-requirejs and not from nodejs-requirejs + (closes: #901738) + * Update Homepage field to https://asciimoo.github.io/searx/ (closes: #893679) + * Fix my name in Maintainer field + * Use secure copyright format uri + * Remove X-Python3-Version field + * Bump debhelper compat level to 11 + + -- Johannes 'josch' Schauer <josch@debian.org> Sun, 06 Jan 2019 23:54:27 +0100 + +searx (0.14.0+dfsg1-2) unstable; urgency=medium + + * Add "lazy-apps = true" to uwsgi config or otherwise searx searches will + timeout. See https://github.com/asciimoo/searx/issues/1210 + + -- Johannes Schauer <josch@debian.org> Fri, 23 Feb 2018 22:20:01 +0100 + +searx (0.14.0+dfsg1-1) unstable; urgency=medium + + * New upstream release + - settings.yaml can now contain non-ascii characters (closes: #886093) + + -- Johannes Schauer <josch@debian.org> Tue, 20 Feb 2018 13:45:35 +0100 + +searx (0.13.1+dfsg1-3) unstable; urgency=medium + + * Add ionicons font to build ion.woff from source using fontforge for the + "simple" theme (closes: #882847) + + -- Johannes Schauer <josch@debian.org> Thu, 30 Nov 2017 00:49:13 +0100 + +searx (0.13.1+dfsg1-2) unstable; urgency=medium + + * Remove python3-ndg-httpsclient and python3-pyasn1 from Depends of + python3-searx. Thanks to Alexandre Flament + + -- Johannes Schauer <josch@debian.org> Mon, 27 Nov 2017 12:25:20 +0100 + +searx (0.13.1+dfsg1-1) unstable; urgency=medium + + * New upstream release. (closes: #882400) + * also fixes exception when activating image proxy + with python3 (closes: #877942) + * add debian/gbp.conf + * debian/README.source: adjust instructions for debian/gbp.conf + * debian/control: bump Standards-Version, no changes required + * debian/control: python3-searx is section python + * debian/copyright: Add files from the new simple theme to Files-Excluded + * debian/copyright: add new contributors for translations + * debian/python3-searx.install: also install simple theme + * debian/copyright: add copyright for four more files from the simple theme + * run wrap-and-sort -asbt + + -- Johannes Schauer <josch@debian.org> Fri, 24 Nov 2017 11:06:41 +0100 + +searx (0.12.0+dfsg1-1) unstable; urgency=medium + + * Initial release. (Closes: #808564) + + -- Johannes Schauer <josch@debian.org> Fri, 16 Jun 2017 12:16:41 +0200 diff --git a/debian/clean b/debian/clean new file mode 100644 index 0000000..436e84d --- /dev/null +++ b/debian/clean @@ -0,0 +1,8 @@ +searx/translations/*/LC_MESSAGES/messages.mo +searx.egg-info/ +searx/static/themes/courgette/css/ +searx/static/themes/legacy/css/ +searx/static/themes/oscar/css/ +searx/static/themes/oscar/js/searx.js +searx/static/themes/oscar/js/searx.min.js +searx/static/themes/pix-art/css/ diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..78533c2 --- /dev/null +++ b/debian/control @@ -0,0 +1,72 @@ +Source: searx +Section: web +Priority: optional +Maintainer: Johannes 'josch' Schauer <josch@debian.org> +Build-depends: + debhelper (>= 11), + dh-python, + grunt, + node-grunt-contrib-concat, + node-grunt-contrib-uglify, + node-less, + python3-all, + python3-babel, + python3-setuptools, + python, + python-fontforge, +Standards-Version: 4.1.1 +Homepage: https://asciimoo.github.io/searx/ +Vcs-Git: https://git.dgit.debian.org/searx +Vcs-Browser: https://browse.dgit.debian.org/searx.git/ + +Package: python3-searx +Architecture: all +Depends: + libjs-bootstrap, + libjs-jquery, + libjs-leaflet, + libjs-requirejs, + python3-certifi, + python3-dateutil, + python3-flask, + python3-flask-babel, + python3-lxml, + python3-openssl, + python3-pygments, + python3-requests, + python3-werkzeug, + python3-yaml, + ${misc:Depends}, + ${python3:Depends}, +Section: python +Description: Privacy-respecting metasearch engine - library package + Searx is an internet metasearch engine which aggregates results from more than + 70 search services. Searx runs as a web service and provides a web interface + that allows the user to do a general search (aggregating results from google, + bing, yahoo) or search for files (piratebay, kickass, torrentz), images (bing, + deviantart, google images, flickr), IT (github, stackoverflow, Arch Linux + wiki), maps (OpenStreetMap, photon), music (youtube, spotify, soundcloud), + news (bing news, google news, reddit), science (arxiv, wolframalpha) social + media (digg, twitter) and videos (youtube, dailymotion, vimeo). + . + This package provides the Python library. + +Package: searx +Architecture: all +Depends: + python3-searx (= ${source:Version}), + ${misc:Depends}, + ${python3:Depends}, +Suggests: + nginx, + uwsgi, + uwsgi-plugin-python3, +Description: Privacy-respecting metasearch engine + Searx is an internet metasearch engine which aggregates results from more than + 70 search services. Searx runs as a web service and provides a web interface + that allows the user to do a general search (aggregating results from google, + bing, yahoo) or search for files (piratebay, kickass, torrentz), images (bing, + deviantart, google images, flickr), IT (github, stackoverflow, Arch Linux + wiki), maps (OpenStreetMap, photon), music (youtube, spotify, soundcloud), + news (bing news, google news, reddit), science (arxiv, wolframalpha) social + media (digg, twitter) and videos (youtube, dailymotion, vimeo). diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..e364abc --- /dev/null +++ b/debian/copyright @@ -0,0 +1,1147 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: searx +Upstream-Contact: https://github.com/asciimoo/searx/issues +Source: https://github.com/asciimoo/searx +Comment: + See https://github.com/asciimoo/searx/issues/1091 for a detailed analysis + of the copyright status of the simple theme + . + A more general copyright-related upstream issue is: + https://github.com/asciimoo/searx/issues/814 +Files-Excluded: + searx/static/css + searx/static/fonts + searx/static/js + searx/static/less + searx/static/themes/*/img/github_ribbon.png + searx/static/themes/*/img/icons/*.ico + searx/static/themes/*/img/icons/*.png + searx/static/themes/courgette/css + searx/static/themes/courgette/img/bg-body-index.jpg + searx/static/themes/legacy/css + searx/static/themes/oscar/css + searx/static/themes/oscar/css + searx/static/themes/oscar/js/leaflet-0.7.3.min.js + searx/static/themes/oscar/js/searx.min.js + searx/static/themes/oscar/img/icons/README.md + searx/static/themes/pix-art/css/style.css + searx/static/themes/simple/css + searx/static/themes/simple/fonts + searx/static/themes/simple/js/searx.js + searx/static/themes/simple/js/searx.min.js + searx/static/themes/simple/js/searx.min.js.map + searx/static/themes/simple/leaflet + searx/static/themes/simple/less/ion.less + searx/translations/*/LC_MESSAGES/messages.mo + +Files: * +Copyright: + 2013-2017 Adam Tauber <asciimoo@gmail.com> + 2016 Alexandre Flament <alex@al-f.net> + 2014-2015 Cqoicebordel <Cqoicebordel@users.noreply.github.com> + 2014 Thomas Pointhuber <thomas.pointhuber@gmx.at> +License: AGPL-3+ + +Files: searx/translations/* +Copyright: + 2017 ButterflyOfFire + 2017 jugi1 + 2017 asladic <ales.sladic@gmail.com> + 2017 Dino Dugandžija <ddugandz@tutanota.com> + 2017 Morten Krogh Andersen <spam1@krogh.net> + 2014-2015 Adam Tauber <asciimoo@gmail.com> + 2015 adrian.fita <adrian.fita@gmail.com> + 2016 Akio Nishimura <akionux@gmail.com> + 2014-2016 Alejandro León Aznar, 2014 + 2017 Alexandre Flament <alex@al-f.net> + 2014-2017 André Koot <meneer@tken.net> + 2014 Benjamin Sonntag <benjamin@sonntag.fr> + 2014-20116 Caner Başaran <basaran.caner@protonmail.com> + 2016 caoswave + 2016 Carmen Fernández B. + 2017 Clon <fillip1@seznam.cz> + 2014 Cqoicebordel <david.barouh@wanadoo.fr> + 2014-2016 Cqoicebordel <david.barouh@wanadoo.fr> + 2015 Dimitris T. <dimitris@stinpriza.org> + 2015 dimqua <dimqua@riseup.net> + 2014 dp <d.pitrolo@gmx.com> + 2016 Ettore Atalan <atalanttore@googlemail.com> + 2015-2016 GenghisKhan <genghiskhan@gmx.ca> + 2016 Jona Abdinghoff <jona.abdinghoff@gmail.com> + 2016 Jonatan Nyberg <jonatan@autistici.org> + 2015-2016 juanda097 <juanda097@openmailbox.org> + 2015 Lucas Phillips <mail@lep.pw> + 2015 Luc <luc.absil2@gmail.com> + 2016 marc + 2015 Max <theshirinzu@gmail.com> + 2015-2016 Nathan Follens + 2015 Neton Brício <fervelinux@gmail.com> + 2016 Noémi Ványi <sitbackandwait@gmail.com> + 2015 Oscar Carrero <ocf@openmailbox.org> + 2016 pizzaiolo + 2014 pointhi + 2016 Rejo Zenger <rejo@zenger.nl> + 2014 rike + 2016 rivera valdez <riveravaldezmail@gmail.com> + 2014 stf <stefan.marsiske@gmail.com> + 2014-2017 Thomas Pointhuber + 2015-2017 ubone <van_ds_ff@mail.bg>, 2015 + 2016 wefwefew ewfewfewf <nnnedmz0d@moakt.ws> + 2015-2016 wenke + 2016 Дмитрий Михирев <bizdelnick@gmail.com> +License: AGPL-3+ + +Files: + searx/static/themes/simple/magnet.svg +Comment: https://thenounproject.com/term/magnet/5022/ +Copyright: Dmitry Baranovskiy from thenounproject.com +License: CC-BY-3.0 + +Files: + searx/static/themes/simple/less/autocomplete.less + searx/static/themes/simple/js/searx_src/autocomplete.js +Copyright: 2017 Baptiste Donaux +License: MIT + +Files: searx/static/themes/simple/less/normalize.less +Copyright: Nicolas Gallagher and Jonathan Neal +License: MIT + +Files: searx/static/themes/simple/js/searx_src/searx_imageresult.js +Copyright: Anh Trinh +License: MIT + +Files: debian/* +Copyright: 2017 Johannes Schauer <josch@debian.org> +License: Expat + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + +Files: debian/ionicons/svg-orig/* +Copyright: Benjamin J Sperry +Comment: https://github.com/ionic-team/ionicons/tree/master/src +License: MIT + +Files: debian/ionicons/generate.py +Copyright: + kaizau + Joshua Gross <josh@planetary.io> + Yifei Zhang + Artem Sapegin +License: MIT + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + +License: AGPL-3+ + searx is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + searx is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + . + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + . + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + . + Preamble + . + The GNU Affero General Public License is a free, copyleft license for + software and other kinds of works, specifically designed to ensure + cooperation with the community in the case of network server software. + . + The licenses for most software and other practical works are designed + to take away your freedom to share and change the works. By contrast, + our General Public Licenses are intended to guarantee your freedom to + share and change all versions of a program--to make sure it remains + free software for all its users. + . + When we speak of free software, we are referring to freedom, not price. + Our General Public Licenses are designed to make sure that you have the + freedom to distribute copies of free software (and charge for them if + you wish), that you receive source code or can get it if you want it, + that you can change the software or use pieces of it in new free + programs, and that you know you can do these things. + . + Developers that use our General Public Licenses protect your rights + with two steps: (1) assert copyright on the software, and (2) offer you + this License which gives you legal permission to copy, distribute + and/or modify the software. + . + A secondary benefit of defending all users' freedom is that + improvements made in alternate versions of the program, if they receive + widespread use, become available for other developers to incorporate. + Many developers of free software are heartened and encouraged by the + resulting cooperation. However, in the case of software used on + network servers, this result may fail to come about. The GNU General + Public License permits making a modified version and letting the public + access it on a server without ever releasing its source code to the + public. + . + The GNU Affero General Public License is designed specifically to + ensure that, in such cases, the modified source code becomes available + to the community. It requires the operator of a network server to + provide the source code of the modified version running there to the + users of that server. Therefore, public use of a modified version, on + a publicly accessible server, gives the public access to the source + code of the modified version. + . + An older license, called the Affero General Public License and + published by Affero, was designed to accomplish similar goals. This is + a different license, not a version of the Affero GPL, but Affero has + released a new version of the Affero GPL which permits relicensing + under this license. + . + The precise terms and conditions for copying, distribution and + modification follow. + . + TERMS AND CONDITIONS + . + 0. Definitions. + . + "This License" refers to version 3 of the GNU Affero General Public + License. + . + "Copyright" also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + . + "The Program" refers to any copyrightable work licensed under this + License. Each licensee is addressed as "you". "Licensees" and + "recipients" may be individuals or organizations. + . + To "modify" a work means to copy from or adapt all or part of the work + in a fashion requiring copyright permission, other than the making of + an exact copy. The resulting work is called a "modified version" of + the earlier work or a work "based on" the earlier work. + . + A "covered work" means either the unmodified Program or a work based on + the Program. + . + To "propagate" a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + . + To "convey" a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user + through a computer network, with no transfer of a copy, is not + conveying. + . + An interactive user interface displays "Appropriate Legal Notices" to + the extent that it includes a convenient and prominently visible + feature that (1) displays an appropriate copyright notice, and (2) + tells the user that there is no warranty for the work (except to the + extent that warranties are provided), that licensees may convey the + work under this License, and how to view a copy of this License. If the + interface presents a list of user commands or options, such as a menu, + a prominent item in the list meets this criterion. + . + 1. Source Code. + . + The "source code" for a work means the preferred form of the work for + making modifications to it. "Object code" means any non-source form of + a work. + . + A "Standard Interface" means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that is + widely used among developers working in that language. + . + The "System Libraries" of an executable work include anything, other + than the work as a whole, that (a) is included in the normal form of + packaging a Major Component, but which is not part of that Major + Component, and (b) serves only to enable use of the work with that + Major Component, or to implement a Standard Interface for which an + implementation is available to the public in source code form. A "Major + Component", in this context, means a major essential component (kernel, + window system, and so on) of the specific operating system (if any) on + which the executable work runs, or a compiler used to produce the work, + or an object code interpreter used to run it. + . + The "Corresponding Source" for a work in object code form means all the + source code needed to generate, install, and (for an executable work) + run the object code and to modify the work, including scripts to + control those activities. However, it does not include the work's + System Libraries, or general-purpose tools or generally available free + programs which are used unmodified in performing those activities but + which are not part of the work. For example, Corresponding Source + includes interface definition files associated with source files for + the work, and the source code for shared libraries and dynamically + linked subprograms that the work is specifically designed to require, + such as by intimate data communication or control flow between those + subprograms and other parts of the work. + . + The Corresponding Source need not include anything that users can + regenerate automatically from other parts of the Corresponding Source. + . + The Corresponding Source for a work in source code form is that same + work. + . + 2. Basic Permissions. + . + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program. The output from running a + covered work is covered by this License only if the output, given its + content, constitutes a covered work. This License acknowledges your + rights of fair use or other equivalent, as provided by copyright law. + . + You may make, run and propagate covered works that you do not convey, + without conditions so long as your license otherwise remains in force. + You may convey covered works to others for the sole purpose of having + them make modifications exclusively for you, or provide you with + facilities for running those works, provided that you comply with the + terms of this License in conveying all material for which you do not + control copyright. Those thus making or running the covered works for + you must do so exclusively on your behalf, under your direction and + control, on terms that prohibit them from making any copies of your + copyrighted material outside their relationship with you. + . + Conveying under any other circumstances is permitted solely under the + conditions stated below. Sublicensing is not allowed; section 10 makes + it unnecessary. + . + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + . + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article + 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar + laws prohibiting or restricting circumvention of such measures. + . + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such + circumvention is effected by exercising rights under this License with + respect to the covered work, and you disclaim any intention to limit + operation or modification of the work as a means of enforcing, against + the work's users, your or third parties' legal rights to forbid + circumvention of technological measures. + . + 4. Conveying Verbatim Copies. + . + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; + keep intact all notices stating that this License and any + non-permissive terms added in accord with section 7 apply to the code; + keep intact all notices of the absence of any warranty; and give all + recipients a copy of this License along with the Program. + . + You may charge any price or no price for each copy that you convey, and + you may offer support or warranty protection for a fee. + . + 5. Conveying Modified Source Versions. + . + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the terms + of section 4, provided that you also meet all of these conditions: + . + a) The work must carry prominent notices stating that you modified it, + and giving a relevant date. + . + b) The work must carry prominent notices stating that it is released + under this License and any conditions added under section 7. This + requirement modifies the requirement in section 4 to "keep intact all + notices". + . + c) You must license the entire work, as a whole, under this License to + anyone who comes into possession of a copy. This License will + therefore apply, along with any applicable section 7 additional terms, + to the whole of the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license the work in any + other way, but it does not invalidate such permission if you have + separately received it. + . + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your work + need not make them do so. + . + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, + and which are not combined with it such as to form a larger program, in + or on a volume of a storage or distribution medium, is called an + "aggregate" if the compilation and its resulting copyright are not used + to limit the access or legal rights of the compilation's users beyond + what the individual works permit. Inclusion of a covered work in an + aggregate does not cause this License to apply to the other parts of + the aggregate. + . + 6. Conveying Non-Source Forms. + . + You may convey a covered work in object code form under the terms of + sections 4 and 5, provided that you also convey the machine-readable + Corresponding Source under the terms of this License, in one of these + ways: + . + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium customarily + used for software interchange. + . + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a written + offer, valid for at least three years and valid for as long as you + offer spare parts or customer support for that product model, to give + anyone who possesses the object code either (1) a copy of the + Corresponding Source for all the software in the product that is + covered by this License, on a durable physical medium customarily used + for software interchange, for a price no more than your reasonable cost + of physically performing this conveying of source, or (2) access to + copy the Corresponding Source from a network server at no charge. + . + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This alternative is + allowed only occasionally and noncommercially, and only if you received + the object code with such an offer, in accord with subsection 6b. + . + d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to copy + the object code is a network server, the Corresponding Source may be on + a different server (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain clear directions + next to the object code saying where to find the Corresponding Source. + Regardless of what server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as needed to + satisfy these requirements. + . + e) Convey the object code using peer-to-peer transmission, provided you + inform other peers where the object code and Corresponding Source of + the work are being offered to the general public at no charge under + subsection 6d. + . + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be included + in conveying the object code work. + . + A "User Product" is either (1) a "consumer product", which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for + incorporation into a dwelling. In determining whether a product is a + consumer product, doubtful cases shall be resolved in favor of + coverage. For a particular product received by a particular user, + "normally used" refers to a typical or common use of that class of + product, regardless of the status of the particular user or of the way + in which the particular user actually uses, or expects or is expected + to use, the product. A product is a consumer product regardless of + whether the product has substantial commercial, industrial or + non-consumer uses, unless such uses represent the only significant mode + of use of the product. + . + "Installation Information" for a User Product means any methods, + procedures, authorization keys, or other information required to + install and execute modified versions of a covered work in that User + Product from a modified version of its Corresponding Source. The + information must suffice to ensure that the continued functioning of + the modified object code is in no case prevented or interfered with + solely because modification has been made. + . + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as + part of a transaction in which the right of possession and use of the + User Product is transferred to the recipient in perpetuity or for a + fixed term (regardless of how the transaction is characterized), the + Corresponding Source conveyed under this section must be accompanied by + the Installation Information. But this requirement does not apply if + neither you nor any third party retains the ability to install modified + object code on the User Product (for example, the work has been + installed in ROM). + . + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or + updates for a work that has been modified or installed by the + recipient, or for the User Product in which it has been modified or + installed. Access to a network may be denied when the modification + itself materially and adversely affects the operation of the network or + violates the rules and protocols for communication across the network. + . + Corresponding Source conveyed, and Installation Information provided, + in accord with this section must be in a format that is publicly + documented (and with an implementation available to the public in + source code form), and must require no special password or key for + unpacking, reading or copying. + . + 7. Additional Terms. + . + "Additional permissions" are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall + be treated as though they were included in this License, to the extent + that they are valid under applicable law. If additional permissions + apply only to part of the Program, that part may be used separately + under those permissions, but the entire Program remains governed by + this License without regard to the additional permissions. + . + When you convey a copy of a covered work, you may at your option remove + any additional permissions from that copy, or from any part of it. + (Additional permissions may be written to require their own removal in + certain cases when you modify the work.) You may place additional + permissions on material, added by you to a covered work, for which you + have or can give appropriate copyright permission. + . + Notwithstanding any other provision of this License, for material you + add to a covered work, you may (if authorized by the copyright holders + of that material) supplement the terms of this License with terms: + . + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + . + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + . + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + . + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + . + e) Declining to grant rights under trademark law for use of some trade + names, trademarks, or service marks; or + . + f) Requiring indemnification of licensors and authors of that material + by anyone who conveys the material (or modified versions of it) with + contractual assumptions of liability to the recipient, for any + liability that these contractual assumptions directly impose on those + licensors and authors. + . + All other non-permissive additional terms are considered "further + restrictions" within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further + restriction, you may remove that term. If a license document contains + a further restriction but permits relicensing or conveying under this + License, you may add to a covered work material governed by the terms + of that license document, provided that the further restriction does + not survive such relicensing or conveying. + . + If you add terms to a covered work in accord with this section, you + must place, in the relevant source files, a statement of the additional + terms that apply to those files, or a notice indicating where to find + the applicable terms. + . + Additional terms, permissive or non-permissive, may be stated in the + form of a separately written license, or stated as exceptions; the + above requirements apply either way. + . + 8. Termination. + . + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or + modify it is void, and will automatically terminate your rights under + this License (including any patent licenses granted under the third + paragraph of section 11). + . + However, if you cease all violation of this License, then your license + from a particular copyright holder is reinstated (a) provisionally, + unless and until the copyright holder explicitly and finally terminates + your license, and (b) permanently, if the copyright holder fails to + notify you of the violation by some reasonable means prior to 60 days + after the cessation. + . + Moreover, your license from a particular copyright holder is reinstated + permanently if the copyright holder notifies you of the violation by + some reasonable means, this is the first time you have received notice + of violation of this License (for any work) from that copyright holder, + and you cure the violation prior to 30 days after your receipt of the + notice. + . + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + . + 9. Acceptance Not Required for Having Copies. + . + You are not required to accept this License in order to receive or run + a copy of the Program. Ancillary propagation of a covered work + occurring solely as a consequence of using peer-to-peer transmission to + receive a copy likewise does not require acceptance. However, nothing + other than this License grants you permission to propagate or modify + any covered work. These actions infringe copyright if you do not + accept this License. Therefore, by modifying or propagating a covered + work, you indicate your acceptance of this License to do so. + . + 10. Automatic Licensing of Downstream Recipients. + . + Each time you convey a covered work, the recipient automatically + receives a license from the original licensors, to run, modify and + propagate that work, subject to this License. You are not responsible + for enforcing compliance by third parties with this License. + . + An "entity transaction" is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered + work results from an entity transaction, each party to that transaction + who receives a copy of the work also receives whatever licenses to the + work the party's predecessor in interest had or could give under the + previous paragraph, plus a right to possession of the Corresponding + Source of the work from the predecessor in interest, if the predecessor + has it or can get it with reasonable efforts. + . + You may not impose any further restrictions on the exercise of the + rights granted or affirmed under this License. For example, you may + not impose a license fee, royalty, or other charge for exercise of + rights granted under this License, and you may not initiate litigation + (including a cross-claim or counterclaim in a lawsuit) alleging that + any patent claim is infringed by making, using, selling, offering for + sale, or importing the Program or any portion of it. + . + 11. Patents. + . + A "contributor" is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The + work thus licensed is called the contributor's "contributor version". + . + A contributor's "essential patent claims" are all patent claims owned + or controlled by the contributor, whether already acquired or hereafter + acquired, that would be infringed by some manner, permitted by this + License, of making, using, or selling its contributor version, but do + not include claims that would be infringed only as a consequence of + further modification of the contributor version. For purposes of this + definition, "control" includes the right to grant patent sublicenses in + a manner consistent with the requirements of this License. + . + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to + make, use, sell, offer for sale, import and otherwise run, modify and + propagate the contents of its contributor version. + . + In the following three paragraphs, a "patent license" is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To "grant" such a patent license to a + party means to make such an agreement or commitment not to enforce a + patent against the party. + . + If you convey a covered work, knowingly relying on a patent license, + and the Corresponding Source of the work is not available for anyone to + copy, free of charge and under the terms of this License, through a + publicly available network server or other readily accessible means, + then you must either (1) cause the Corresponding Source to be so + available, or (2) arrange to deprive yourself of the benefit of the + patent license for this particular work, or (3) arrange, in a manner + consistent with the requirements of this License, to extend the patent + license to downstream recipients. "Knowingly relying" means you have + actual knowledge that, but for the patent license, your conveying the + covered work in a country, or your recipient's use of the covered work + in a country, would infringe one or more identifiable patents in that + country that you have reason to believe are valid. + . + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties + receiving the covered work authorizing them to use, propagate, modify + or convey a specific copy of the covered work, then the patent license + you grant is automatically extended to all recipients of the covered + work and works based on it. + . + A patent license is "discriminatory" if it does not include within the + scope of its coverage, prohibits the exercise of, or is conditioned on + the non-exercise of one or more of the rights that are specifically + granted under this License. You may not convey a covered work if you + are a party to an arrangement with a third party that is in the + business of distributing software, under which you make payment to the + third party based on the extent of your activity of conveying the work, + and under which the third party grants, to any of the parties who would + receive the covered work from you, a discriminatory patent license (a) + in connection with copies of the covered work conveyed by you (or + copies made from those copies), or (b) primarily for and in connection + with specific products or compilations that contain the covered work, + unless you entered into that arrangement, or that patent license was + granted, prior to 28 March 2007. + . + Nothing in this License shall be construed as excluding or limiting any + implied license or other defenses to infringement that may otherwise be + available to you under applicable patent law. + . + 12. No Surrender of Others' Freedom. + . + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot convey a + covered work so as to satisfy simultaneously your obligations under + this License and any other pertinent obligations, then as a consequence + you may not convey it at all. For example, if you agree to terms that + obligate you to collect a royalty for further conveying from those to + whom you convey the Program, the only way you could satisfy both those + terms and this License would be to refrain entirely from conveying the + Program. + . + 13. Remote Network Interaction; Use with the GNU General Public + License. + . + Notwithstanding any other provision of this License, if you modify the + Program, your modified version must prominently offer all users + interacting with it remotely through a computer network (if your + version supports such interaction) an opportunity to receive the + Corresponding Source of your version by providing access to the + Corresponding Source from a network server at no charge, through some + standard or customary means of facilitating copying of software. This + Corresponding Source shall include the Corresponding Source for any + work covered by version 3 of the GNU General Public License that is + incorporated pursuant to the following paragraph. + . + Notwithstanding any other provision of this License, you have + permission to link or combine any covered work with a work licensed + under version 3 of the GNU General Public License into a single + combined work, and to convey the resulting work. The terms of this + License will continue to apply to the part which is the covered work, + but the work with which it is combined will remain governed by version + 3 of the GNU General Public License. + . + 14. Revised Versions of this License. + . + The Free Software Foundation may publish revised and/or new versions of + the GNU Affero General Public License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. + . + Each version is given a distinguishing version number. If the Program + specifies that a certain numbered version of the GNU Affero General + Public License "or any later version" applies to it, you have the + option of following the terms and conditions either of that numbered + version or of any later version published by the Free Software + Foundation. If the Program does not specify a version number of the + GNU Affero General Public License, you may choose any version ever + published by the Free Software Foundation. + . + If the Program specifies that a proxy can decide which future versions + of the GNU Affero General Public License can be used, that proxy's + public statement of acceptance of a version permanently authorizes you + to choose that version for the Program. + . + Later license versions may give you additional or different + permissions. However, no additional obligations are imposed on any + author or copyright holder as a result of your choosing to follow a + later version. + . + 15. Disclaimer of Warranty. + . + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE + OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU + ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + . + 16. Limitation of Liability. + . + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR + CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, + INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT + NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES + SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO + OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY + HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 17. Interpretation of Sections 15 and 16. + . + If the disclaimer of warranty and limitation of liability provided + above cannot be given local legal effect according to their terms, + reviewing courts shall apply local law that most closely approximates + an absolute waiver of all civil liability in connection with the + Program, unless a warranty or assumption of liability accompanies a + copy of the Program in return for a fee. + . + END OF TERMS AND CONDITIONS + . + How to Apply These Terms to Your New Programs + . + If you develop a new program, and you want it to be of the greatest + possible use to the public, the best way to achieve this is to make it + free software which everyone can redistribute and change under these + terms. + . + To do so, attach the following notices to the program. It is safest to + attach them to the start of each source file to most effectively state + the exclusion of warranty; and each file should have at least the + "copyright" line and a pointer to where the full notice is found. + . + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + . + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + . + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Affero General Public License for more details. + . + You should have received a copy of the GNU Affero General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/>. + . + Also add information on how to contact you by electronic and paper + mail. + . + If your software can interact with users remotely through a computer + network, you should also make sure that it provides a way for users to + get its source. For example, if your program is a web application, its + interface could display a "Source" link that leads users to an archive + of the code. There are many ways you could offer source, and different + solutions will be better for different programs; see section 13 for the + specific requirements. + . + You should also get your employer (if you work as a programmer) or + school, if any, to sign a "copyright disclaimer" for the program, if + necessary. For more information on this, and how to apply and follow + the GNU AGPL, see <http://www.gnu.org/licenses/>. + +License: CC-BY-3.0 + Creative Commons Legal Code + . + Attribution 3.0 Unported + . + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + . + License + . + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE + COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY + COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS + AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE + TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY + BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS + CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND + CONDITIONS. + . + 1. Definitions + . + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined above) for the purposes of this + License. + c. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + d. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + e. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + f. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + g. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + h. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + i. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + . + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, + limit, or restrict any uses free from copyright or rights arising from + limitations or exceptions that are provided for in connection with the + copyright protection under copyright law or other applicable laws. + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + . + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights in + other media and formats. Subject to Section 8(f), all rights not expressly + granted by Licensor are hereby reserved. + . + 4. Restrictions. The license granted in Section 3 above is expressly made + subject to and limited by the following restrictions: + . + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(b), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(b), as requested. + b. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Section 3(b), in the case of an Adaptation, + a credit identifying the use of the Work in the Adaptation (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4 (b) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, at + a minimum such credit will appear, if a credit for all contributing + authors of the Adaptation or Collection appears, then as part of these + credits and in a manner at least as prominent as the credits for the + other contributing authors. For the avoidance of doubt, You may only + use the credit required by this Section for the purpose of attribution + in the manner set out above and, by exercising Your rights under this + License, You may not implicitly or explicitly assert or imply any + connection with, sponsorship or endorsement by the Original Author, + Licensor and/or Attribution Parties, as appropriate, of You or Your + use of the Work, without the separate, express prior written + permission of the Original Author, Licensor and/or Attribution + Parties. + c. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR + OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY + KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, + INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, + FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF + LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, + WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION + OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + . + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE + LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR + ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES + ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 7. Termination + . + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + . + 8. Miscellaneous + . + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + . + . + Creative Commons Notice + . + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + . + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of this License. + . + Creative Commons may be contacted at https://creativecommons.org/. diff --git a/debian/examples/nginx/sites-available/searx b/debian/examples/nginx/sites-available/searx new file mode 100644 index 0000000..0f95574 --- /dev/null +++ b/debian/examples/nginx/sites-available/searx @@ -0,0 +1,8 @@ +server { + listen 80; + server_name FIXME; + location / { + include uwsgi_params; + uwsgi_pass unix:/run/uwsgi/app/searx/socket; + } +} diff --git a/debian/examples/uwsgi/apps-available/searx.ini b/debian/examples/uwsgi/apps-available/searx.ini new file mode 100644 index 0000000..480fd70 --- /dev/null +++ b/debian/examples/uwsgi/apps-available/searx.ini @@ -0,0 +1,26 @@ +[uwsgi] +# Who will run the code +uid = www-data +gid = www-data + +# disable logging for privacy +#disable-logging = true + +# Number of workers (usually CPU count) +workers = 4 + +# The right granted on the created socket +chmod-socket = 666 + +# Plugin to use and interpretor config +single-interpreter = true +master = true +plugin = python3 +enable-threads = true +lazy-apps = true + +# Module to import +module = searx.webapp + +pythonpath = /usr/lib/python3/dist-packages/searx/ +chdir = /usr/lib/python3/dist-packages/searx/ diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..8b2dd41 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,8 @@ +[DEFAULT] +upstream-branch = upstream +debian-branch = master +upstream-tag = %(version)s + +sign-tags = True +pristine-tar = False +pristine-tar-commit = False diff --git a/debian/ionicons/generate.py b/debian/ionicons/generate.py new file mode 100644 index 0000000..ffefdf0 --- /dev/null +++ b/debian/ionicons/generate.py @@ -0,0 +1,133 @@ +# Based on https://github.com/FontCustom/fontcustom/blob/master/lib/fontcustom/scripts/generate.py + +import fontforge +import os +import sys +import json +import re +from subprocess import call +from distutils.spawn import find_executable + +args = json.load(sys.stdin) + +f = fontforge.font() +f.encoding = 'UnicodeFull' +f.copyright = '' +f.design_size = 16 +f.em = args['fontHeight'] +f.descent = args['descent'] +f.ascent = args['fontHeight'] - args['descent'] +if args['version']: + f.version = args['version'] +if args['normalize']: + f.autoWidth(0, 0, args['fontHeight']) + +KERNING = 15 + + +def create_empty_char(f, c): + pen = f.createChar(ord(c), c).glyphPen() + pen.moveTo((0, 0)) + pen = None + + +if args['addLigatures']: + f.addLookup('liga', 'gsub_ligature', (), (('liga', (('latn', ('dflt')), )), )) + f.addLookupSubtable('liga', 'liga') + +for dirname, dirnames, filenames in os.walk(args['inputDir']): + for filename in sorted(filenames): + name, ext = os.path.splitext(filename) + filePath = os.path.join(dirname, filename) + size = os.path.getsize(filePath) + + if ext in ['.svg']: + # HACK: Remove <switch> </switch> tags + svgfile = open(filePath, 'r+') + svgtext = svgfile.read() + svgfile.seek(0) + + # Replace the <switch> </switch> tags with nothing + svgtext = svgtext.replace('<switch>', '') + svgtext = svgtext.replace('</switch>', '') + + if args['normalize']: + # Replace the width and the height + svgtext = re.sub(r'(<svg[^>]*)width="[^"]*"([^>]*>)', r'\1\2', svgtext) + svgtext = re.sub(r'(<svg[^>]*)height="[^"]*"([^>]*>)', r'\1\2', svgtext) + + # Remove all contents of file so that we can write out the new contents + svgfile.truncate() + svgfile.write(svgtext) + svgfile.close() + + cp = args['codepoints'][name] + + if args['addLigatures']: + name = str(name) # Convert Unicode to a regular string because addPosSub doesn't work with Unicode + for char in name: + create_empty_char(f, char) + glyph = f.createChar(cp, name) + glyph.addPosSub('liga', tuple(name)) + else: + glyph = f.createChar(cp, str(name)) + glyph.importOutlines(filePath) + + if args['normalize']: + glyph.left_side_bearing = glyph.right_side_bearing = 0 + else: + glyph.width = args['fontHeight'] + + if args['round']: + glyph.round(int(args['round'])) + +fontfile = args['dest'] + os.path.sep + args['fontFilename'] + +f.fontname = args['fontFilename'] +f.familyname = args['fontFamilyName'] +f.fullname = args['fontFamilyName'] + +if args['addLigatures']: + def generate(filename): + f.generate(filename, flags=('opentype')) +else: + def generate(filename): + f.generate(filename) + + +# TTF +generate(fontfile + '.ttf') + +# Hint the TTF file +# ttfautohint is optional +if (find_executable('ttfautohint') and args['autoHint']): + call('ttfautohint --symbol --fallback-script=latn --no-info "%(font)s.ttf" "%(font)s-hinted.ttf" && mv "%(font)s-hinted.ttf" "%(font)s.ttf"' % {'font': fontfile}, shell=True) + f = fontforge.open(fontfile + '.ttf') + +# SVG +if 'svg' in args['types']: + generate(fontfile + '.svg') + + # Fix SVG header for webkit (from: https://github.com/fontello/font-builder/blob/master/bin/fontconvert.py) + svgfile = open(fontfile + '.svg', 'r+') + svgtext = svgfile.read() + svgfile.seek(0) + svgfile.write(svgtext.replace('<svg>', '<svg xmlns="http://www.w3.org/2000/svg">')) + svgfile.close() + +scriptPath = os.path.dirname(os.path.realpath(__file__)) + +# WOFF +if 'woff' in args['types']: + generate(fontfile + '.woff') + +# EOT +if 'eot' in args['types']: + # eotlitetool.py script to generate IE7-compatible .eot fonts + call('python "%(path)s/../../bin/eotlitetool.py" "%(font)s.ttf" --output "%(font)s.eot"' % {'path': scriptPath, 'font': fontfile}, shell=True) + +# Delete TTF if not needed +if (not 'ttf' in args['types']) and (not 'woff2' in args['types']): + os.remove(fontfile + '.ttf') + +print(json.dumps({'file': fontfile})) diff --git a/debian/ionicons/generate_less.py b/debian/ionicons/generate_less.py new file mode 100644 index 0000000..55fdc0c --- /dev/null +++ b/debian/ionicons/generate_less.py @@ -0,0 +1,69 @@ +# /usr/bin/env python3 +# +# Copyright: 2017 Johannes Schauer <josch@debian.org> +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. + +import sys +import json + +args = json.load(sys.stdin) + +print(""" +@font-face { + font-family:"%s";""" % args["fontFamilyName"]) + +srcs = [] +for t in args["types"]: + if t == "woff": + srcs.append("""url("../fonts/ion.woff") format("woff")""") + elif t == "woff2": + srcs.append("""url("../fonts/ion.woff2") format("woff2")""") + elif t == "ttf": + srcs.append("""url("../fonts/ion.ttf") format("truetype")""") + elif t == "svg": + srcs.append("""url("../fonts/ion.svg") format("svg")""") + else: + raise Exception("unknown font type: %s" % t) + +print("\tsrc:%s;" % ",\n\t\t".join(srcs)) + +print(""" + font-weight:normal; + font-style:normal; +} + +.ion-icon { + &:before { + font-family:"%s"; + } + display:inline-block; + vertical-align:middle; + line-height:1; + font-weight:normal; + font-style:normal; + speak:none; + text-decoration:inherit; + text-transform:none; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; +} +""" % args["fontFamilyName"]) + +for k in sorted(args["codepoints"].keys()): + print(""" +.%s-%s { + &:before { + content:"\\%s"; + } +}""" % (args["fontFamilyName"], k, hex(args["codepoints"][k])[2:])) diff --git a/debian/ionicons/input.json b/debian/ionicons/input.json new file mode 100644 index 0000000..698db92 --- /dev/null +++ b/debian/ionicons/input.json @@ -0,0 +1,37 @@ +{ + "types": ["woff", "ttf"], + "fontFamilyName": "ion", + "fontFilename": "ion", + "dest": "./debian/ionicons", + "round": 10e12, + "codepoints": { + "navicon-round": 61697, + "search": 61698, + "play": 61699, + "link": 61700, + "chevron-up": 61701, + "chevron-left": 61702, + "chevron-right": 61703, + "arrow-down-a": 61704, + "arrow-up-a": 61705, + "arrow-swap": 61706, + "telephone": 61707, + "arrow-dropdown": 61708, + "globe": 61709, + "time": 61710, + "location": 61711, + "warning": 61712, + "error": 61713, + "film-outline": 61714, + "music-note": 61715, + "close": 61716, + "more-vertical": 61717, + "magnet": 61718 + }, + "addLigatures": false, + "normalize": false, + "version": false, + "descent": 64, + "fontHeight": 512, + "inputDir": "./debian/ionicons/svg-renamed" +} diff --git a/debian/ionicons/svg-orig/alert-circled.svg b/debian/ionicons/svg-orig/alert-circled.svg new file mode 100644 index 0000000..89d1143 --- /dev/null +++ b/debian/ionicons/svg-orig/alert-circled.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<g>
+ <path d="M476.7,422.2L270.1,72.7c-2.9-5-8.3-8.7-14.1-8.7c-5.9,0-11.3,3.7-14.1,8.7L35.3,422.2c-2.8,5-4.8,13-1.9,17.9
+ c2.9,4.9,8.2,7.9,14,7.9h417.1c5.8,0,11.1-3,14-7.9C481.5,435.2,479.5,427.1,476.7,422.2z M288,400h-64v-48h64V400z M288,320h-64
+ V176h64V320z"/>
+</g>
+</svg>
diff --git a/debian/ionicons/svg-orig/android-alert.svg b/debian/ionicons/svg-orig/android-alert.svg new file mode 100644 index 0000000..1eb63d6 --- /dev/null +++ b/debian/ionicons/svg-orig/android-alert.svg @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g id="Icon_30_">
+ <g>
+ <path d="M256,48C141.6,48,48,141.601,48,256s93.6,208,208,208c114.4,0,208-93.601,208-208S370.4,48,256,48z M280,360h-48v-40h48
+ V360z M280,272h-48V144h48V272z"/>
+ </g>
+</g>
+</svg>
diff --git a/debian/ionicons/svg-orig/android-arrow-dropdown.svg b/debian/ionicons/svg-orig/android-arrow-dropdown.svg new file mode 100644 index 0000000..d46e962 --- /dev/null +++ b/debian/ionicons/svg-orig/android-arrow-dropdown.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g>
+ <polygon points="128,192 256,320 384,192 "/>
+</g>
+</svg>
diff --git a/debian/ionicons/svg-orig/android-globe.svg b/debian/ionicons/svg-orig/android-globe.svg new file mode 100644 index 0000000..677b2ac --- /dev/null +++ b/debian/ionicons/svg-orig/android-globe.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<path d="M256,48C141.124,48,48,141.125,48,256c0,114.875,93.124,208,208,208c114.875,0,208-93.125,208-208
+ C464,141.125,370.875,48,256,48z M234.451,432.999c-39.464-4.726-75.978-22.392-104.519-50.932
+ C96.258,348.393,77.714,303.622,77.714,256c0-42.87,15.036-83.424,42.601-115.659c0.71,8.517,2.463,17.648,2.014,24.175
+ c-1.64,23.795-3.988,38.687,9.94,58.762c5.426,7.819,6.759,19.028,9.4,28.078c2.583,8.854,12.902,13.498,20.019,18.953
+ c14.359,11.009,28.096,23.805,43.322,33.494c10.049,6.395,16.326,9.576,13.383,21.839c-2.367,9.862-3.028,15.937-8.13,24.723
+ c-1.557,2.681,5.877,19.918,8.351,22.392c7.498,7.497,14.938,14.375,23.111,21.125C254.396,404.351,240.494,417.954,234.451,432.999
+ z M382.067,382.067c-25.633,25.633-57.699,42.486-92.556,49.081c4.94-12.216,13.736-23.07,21.895-29.362
+ c7.097-5.476,15.986-16.009,19.693-24.352c3.704-8.332,8.611-15.555,13.577-23.217c7.065-10.899-17.419-27.336-25.353-30.781
+ c-17.854-7.751-31.294-18.21-47.161-29.375c-11.305-7.954-34.257,4.154-47.02-1.417c-17.481-7.633-31.883-20.896-47.078-32.339
+ c-15.68-11.809-14.922-25.576-14.922-42.997c12.282,0.453,29.754-3.399,37.908,6.478c2.573,3.117,11.42,17.042,17.342,12.094
+ c4.838-4.043-3.585-20.249-5.212-24.059c-5.005-11.715,11.404-16.284,19.803-24.228c10.96-10.364,34.47-26.618,32.612-34.047
+ s-23.524-28.477-36.249-25.193c-1.907,0.492-18.697,18.097-21.941,20.859c0.086-5.746,0.172-11.491,0.26-17.237
+ c0.055-3.628-6.768-7.352-6.451-9.692c0.8-5.914,17.262-16.647,21.357-21.357c-2.869-1.793-12.659-10.202-15.622-8.968
+ c-7.174,2.99-15.276,5.05-22.45,8.039c0-2.488-0.302-4.825-0.662-7.133c14.376-6.365,29.587-10.791,45.31-13.152l14.084,5.66
+ l9.944,11.801l9.924,10.233l8.675,2.795l13.779-12.995L282,87.929v-8.339c27.25,3.958,52.984,14.124,75.522,29.8
+ c-4.032,0.361-8.463,0.954-13.462,1.59c-2.065-1.22-4.714-1.774-6.965-2.623c6.531,14.042,13.343,27.89,20.264,41.746
+ c7.393,14.801,23.793,30.677,26.673,46.301c3.394,18.416,1.039,35.144,2.896,56.811c1.788,20.865,23.524,44.572,23.524,44.572
+ s10.037,3.419,18.384,2.228C421.055,330.798,405.103,359.029,382.067,382.067z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/android-more-vertical.svg b/debian/ionicons/svg-orig/android-more-vertical.svg new file mode 100644 index 0000000..c1a71c8 --- /dev/null +++ b/debian/ionicons/svg-orig/android-more-vertical.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<path d="M296,136c0-22.002-17.998-40-40-40s-40,17.998-40,40s17.998,40,40,40S296,158.002,296,136z M296,376
+ c0-22.002-17.998-40-40-40s-40,17.998-40,40s17.998,40,40,40S296,398.002,296,376z M296,256c0-22.002-17.998-40-40-40
+ s-40,17.998-40,40s17.998,40,40,40S296,278.002,296,256z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/android-time.svg b/debian/ionicons/svg-orig/android-time.svg new file mode 100644 index 0000000..f81f46e --- /dev/null +++ b/debian/ionicons/svg-orig/android-time.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g id="Icon_1_">
+ <g>
+ <g>
+ <path fill-opacity="0.9" d="M256,43C137.789,43,43,138.851,43,256s94.789,213,213,213s213-95.851,213-213S373.149,43,256,43z
+ M256,426.4c-93.718,0-170.4-76.683-170.4-170.4S162.282,85.6,256,85.6S426.4,162.282,426.4,256S349.718,426.4,256,426.4z"/>
+ </g>
+ <polygon fill-opacity="0.9" points="266.65,149.5 234.7,149.5 234.7,277.3 346.525,344.393 362.5,317.768 266.65,261.324 "/>
+ </g>
+</g>
+</svg>
diff --git a/debian/ionicons/svg-orig/arrow-down-a.svg b/debian/ionicons/svg-orig/arrow-down-a.svg new file mode 100644 index 0000000..4668ad1 --- /dev/null +++ b/debian/ionicons/svg-orig/arrow-down-a.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<polygon points="256.5,448.5 448.5,256.5 336.5,256.5 336.5,64.5 176.5,64.5 176.5,256.5 64.5,256.5 "/>
+</svg>
diff --git a/debian/ionicons/svg-orig/arrow-swap.svg b/debian/ionicons/svg-orig/arrow-swap.svg new file mode 100644 index 0000000..50740f7 --- /dev/null +++ b/debian/ionicons/svg-orig/arrow-swap.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<g>
+ <path d="M64,328v48c0,4.4,3.6,8,8,8h248v64l128-96l-128-96v64H72C67.6,320,64,323.6,64,328z"/>
+ <path d="M448,184v-48c0-4.4-3.6-8-8-8H192V64L64,160l128,96v-64h248C444.4,192,448,188.4,448,184z"/>
+</g>
+</svg>
diff --git a/debian/ionicons/svg-orig/arrow-up-a.svg b/debian/ionicons/svg-orig/arrow-up-a.svg new file mode 100644 index 0000000..e333a38 --- /dev/null +++ b/debian/ionicons/svg-orig/arrow-up-a.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<polygon points="256.5,64.5 64.5,256.5 176.5,256.5 176.5,448.5 336.5,448.5 336.5,256.5 448.5,256.5 "/>
+</svg>
diff --git a/debian/ionicons/svg-orig/chevron-left.svg b/debian/ionicons/svg-orig/chevron-left.svg new file mode 100644 index 0000000..556425e --- /dev/null +++ b/debian/ionicons/svg-orig/chevron-left.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M213.7,256L213.7,256L213.7,256L380.9,81.9c4.2-4.3,4.1-11.4-0.2-15.8l-29.9-30.6c-4.3-4.4-11.3-4.5-15.5-0.2L131.1,247.9
+ c-2.2,2.2-3.2,5.2-3,8.1c-0.1,3,0.9,5.9,3,8.1l204.2,212.7c4.2,4.3,11.2,4.2,15.5-0.2l29.9-30.6c4.3-4.4,4.4-11.5,0.2-15.8
+ L213.7,256z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/chevron-right.svg b/debian/ionicons/svg-orig/chevron-right.svg new file mode 100644 index 0000000..7ac591a --- /dev/null +++ b/debian/ionicons/svg-orig/chevron-right.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M298.3,256L298.3,256L298.3,256L131.1,81.9c-4.2-4.3-4.1-11.4,0.2-15.8l29.9-30.6c4.3-4.4,11.3-4.5,15.5-0.2l204.2,212.7
+ c2.2,2.2,3.2,5.2,3,8.1c0.1,3-0.9,5.9-3,8.1L176.7,476.8c-4.2,4.3-11.2,4.2-15.5-0.2L131.3,446c-4.3-4.4-4.4-11.5-0.2-15.8
+ L298.3,256z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/chevron-up.svg b/debian/ionicons/svg-orig/chevron-up.svg new file mode 100644 index 0000000..34355f3 --- /dev/null +++ b/debian/ionicons/svg-orig/chevron-up.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M256,213.7L256,213.7L256,213.7l174.2,167.2c4.3,4.2,11.4,4.1,15.8-0.2l30.6-29.9c4.4-4.3,4.5-11.3,0.2-15.5L264.1,131.1
+ c-2.2-2.2-5.2-3.2-8.1-3c-3-0.1-5.9,0.9-8.1,3L35.2,335.3c-4.3,4.2-4.2,11.2,0.2,15.5L66,380.7c4.4,4.3,11.5,4.4,15.8,0.2L256,213.7
+ z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/close-round.svg b/debian/ionicons/svg-orig/close-round.svg new file mode 100644 index 0000000..d8b5554 --- /dev/null +++ b/debian/ionicons/svg-orig/close-round.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M437.5,386.6L306.9,256l130.6-130.6c14.1-14.1,14.1-36.8,0-50.9c-14.1-14.1-36.8-14.1-50.9,0L256,205.1L125.4,74.5
+ c-14.1-14.1-36.8-14.1-50.9,0c-14.1,14.1-14.1,36.8,0,50.9L205.1,256L74.5,386.6c-14.1,14.1-14.1,36.8,0,50.9
+ c14.1,14.1,36.8,14.1,50.9,0L256,306.9l130.6,130.6c14.1,14.1,36.8,14.1,50.9,0C451.5,423.4,451.5,400.6,437.5,386.6z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/ios-film-outline.svg b/debian/ionicons/svg-orig/ios-film-outline.svg new file mode 100644 index 0000000..cc7b723 --- /dev/null +++ b/debian/ionicons/svg-orig/ios-film-outline.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<path d="M56,88v336h400V88H56z M128,408H72v-48h56V408z M128,344H72v-48h56V344z M128,280H72v-48h56V280z M128,216H72v-48h56V216z
+ M128,152H72v-48h56V152z M368,408H144V264h224V408z M368,248H144V104h224V248z M440,408h-56v-48h56V408z M440,344h-56v-48h56V344z
+ M440,280h-56v-48h56V280z M440,216h-56v-48h56V216z M440,152h-56v-48h56V152z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/ios-telephone.svg b/debian/ionicons/svg-orig/ios-telephone.svg new file mode 100644 index 0000000..ff1beb6 --- /dev/null +++ b/debian/ionicons/svg-orig/ios-telephone.svg @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M415.9,335.5c-14.6-15-56.1-43.1-83.3-43.1c-6.3,0-11.8,1.4-16.3,4.3c-13.3,8.5-23.9,15.1-29,15.1c-2.8,0-5.8-2.5-12.4-8.2
+ l-1.1-1c-18.3-15.9-22.2-20-29.3-27.4l-1.8-1.9c-1.3-1.3-2.4-2.5-3.5-3.6c-6.2-6.4-10.7-11-26.6-29l-0.7-0.8
+ c-7.6-8.6-12.6-14.2-12.9-18.3c-0.3-4,3.2-10.5,12.1-22.6c10.8-14.6,11.2-32.6,1.3-53.5c-7.9-16.5-20.8-32.3-32.2-46.2l-1-1.2
+ c-9.8-12-21.2-18-33.9-18c-14.1,0-25.8,7.6-32,11.6c-0.5,0.3-1,0.7-1.5,1c-13.9,8.8-24,20.9-27.8,33.2c-5.7,18.5-9.5,42.5,17.8,92.4
+ c23.6,43.2,45,72.2,79,107.1c32,32.8,46.2,43.4,78,66.4c35.4,25.6,69.4,40.3,93.2,40.3c22.1,0,39.5,0,64.3-29.9
+ C442.3,370.8,431.5,351.6,415.9,335.5z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/link.svg b/debian/ionicons/svg-orig/link.svg new file mode 100644 index 0000000..791b0d7 --- /dev/null +++ b/debian/ionicons/svg-orig/link.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<g>
+ <path d="M256.5,208H256v0C256.2,208,256.3,208,256.5,208z"/>
+ <path d="M368.5,160H320c0,0,26,17,31.6,48H368h0.5c17.6,0,31.5,13.9,31.5,31.5v32c0,17.6-13.9,32.5-31.5,32.5h-112
+ c-17.6,0-32.5-14.9-32.5-32.5V240h-48v31.5c0,11.5,2.5,22.5,6.9,32.5c12.6,28.2,40.9,48,73.6,48h112c44.2,0,79.5-36.3,79.5-80.5
+ v-32C448,195.3,412.7,160,368.5,160z"/>
+ <path d="M329.6,208c-12.1-28.3-40.1-48-73.1-48h-112c-44.2,0-80.5,35.3-80.5,79.5v32c0,44.2,36.3,80.5,80.5,80.5H192
+ c0,0-25.8-17-32.1-48h-15.4c-17.6,0-32.5-14.9-32.5-32.5v-32c0-17.6,14.9-31.5,32.5-31.5H256h0.5c17.6,0,31.5,13.9,31.5,31.5v32
+ c0,0.2,0,0.3,0,0.5h48c0-0.2,0-0.3,0-0.5v-32C336,228.3,333.7,217.6,329.6,208z"/>
+</g>
+</svg>
diff --git a/debian/ionicons/svg-orig/location.svg b/debian/ionicons/svg-orig/location.svg new file mode 100644 index 0000000..1b95b73 --- /dev/null +++ b/debian/ionicons/svg-orig/location.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<g>
+ <path d="M256,64c-65.9,0-119.3,53.7-119.3,120c0,114.6,119.3,264,119.3,264s119.3-149.4,119.3-264C375.3,117.7,321.9,64,256,64z
+ M256,242.2c-31.2,0-56.4-25.4-56.4-56.7c0-31.3,25.3-56.8,56.4-56.8c31.2,0,56.4,25.4,56.4,56.8
+ C312.4,216.8,287.2,242.2,256,242.2z"/>
+</g>
+</svg>
diff --git a/debian/ionicons/svg-orig/music-note.svg b/debian/ionicons/svg-orig/music-note.svg new file mode 100644 index 0000000..61f2548 --- /dev/null +++ b/debian/ionicons/svg-orig/music-note.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M426,32.1c-2.2,0-5.1,0.6-5.1,0.6L203.3,65.9C189.5,69.6,177,83,176,97.5V384h-61v-0.1c-28,0-51.1,20-51.1,48
+ s23.1,48,51.3,48h36.2c15.3,0,28.9-6.9,38.3-17.5c0.1-0.1,0.3-0.1,0.4-0.2c0.6-0.6,1-1.5,1.5-2.1c1.3-1.6,2.4-3.2,3.4-5
+ C204.6,441,208,422.3,208,414V182l208-38c0,0,0,136,0,192h-60.5c-28.3,0-51.2,19.9-51.2,48s22.9,48,51.2,48h37.2
+ c18.2,0,34.1-6,43.2-21c0,0,0.1,0,0.2,0c9-12,12-30.2,12-54.9c0-24.8,0-302.8,0-302.8C448,41.6,438.1,32.1,426,32.1z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/navicon-round.svg b/debian/ionicons/svg-orig/navicon-round.svg new file mode 100644 index 0000000..586a410 --- /dev/null +++ b/debian/ionicons/svg-orig/navicon-round.svg @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<g>
+ <path d="M417.4,224H94.6C77.7,224,64,238.3,64,256c0,17.7,13.7,32,30.6,32h322.8c16.9,0,30.6-14.3,30.6-32
+ C448,238.3,434.3,224,417.4,224z"/>
+ <path d="M417.4,96H94.6C77.7,96,64,110.3,64,128c0,17.7,13.7,32,30.6,32h322.8c16.9,0,30.6-14.3,30.6-32
+ C448,110.3,434.3,96,417.4,96z"/>
+ <path d="M417.4,352H94.6C77.7,352,64,366.3,64,384c0,17.7,13.7,32,30.6,32h322.8c16.9,0,30.6-14.3,30.6-32
+ C448,366.3,434.3,352,417.4,352z"/>
+</g>
+</svg>
diff --git a/debian/ionicons/svg-orig/play.svg b/debian/ionicons/svg-orig/play.svg new file mode 100644 index 0000000..2b53155 --- /dev/null +++ b/debian/ionicons/svg-orig/play.svg @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M405.2,232.9L126.8,67.2c-3.4-2-6.9-3.2-10.9-3.2c-10.9,0-19.8,9-19.8,20H96v344h0.1c0,11,8.9,20,19.8,20
+ c4.1,0,7.5-1.4,11.2-3.4l278.1-165.5c6.6-5.5,10.8-13.8,10.8-23.1C416,246.7,411.8,238.5,405.2,232.9z"/>
+</svg>
diff --git a/debian/ionicons/svg-orig/search.svg b/debian/ionicons/svg-orig/search.svg new file mode 100644 index 0000000..9c51b98 --- /dev/null +++ b/debian/ionicons/svg-orig/search.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M445,386.7l-84.8-85.9c13.8-24.1,21-50.9,21-77.9c0-87.6-71.2-158.9-158.6-158.9C135.2,64,64,135.3,64,222.9
+ c0,87.6,71.2,158.9,158.6,158.9c27.9,0,55.5-7.7,80.1-22.4l84.4,85.6c1.9,1.9,4.6,3.1,7.3,3.1c2.7,0,5.4-1.1,7.3-3.1l43.3-43.8
+ C449,397.1,449,390.7,445,386.7z M222.6,125.9c53.4,0,96.8,43.5,96.8,97c0,53.5-43.4,97-96.8,97c-53.4,0-96.8-43.5-96.8-97
+ C125.8,169.4,169.2,125.9,222.6,125.9z"/>
+</svg>
diff --git a/debian/ionicons/svg-renamed/arrow-down-a.svg b/debian/ionicons/svg-renamed/arrow-down-a.svg new file mode 120000 index 0000000..bf833d0 --- /dev/null +++ b/debian/ionicons/svg-renamed/arrow-down-a.svg @@ -0,0 +1 @@ +../svg-orig/arrow-down-a.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/arrow-dropdown.svg b/debian/ionicons/svg-renamed/arrow-dropdown.svg new file mode 120000 index 0000000..2ab7ddd --- /dev/null +++ b/debian/ionicons/svg-renamed/arrow-dropdown.svg @@ -0,0 +1 @@ +../svg-orig/android-arrow-dropdown.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/arrow-swap.svg b/debian/ionicons/svg-renamed/arrow-swap.svg new file mode 120000 index 0000000..603c680 --- /dev/null +++ b/debian/ionicons/svg-renamed/arrow-swap.svg @@ -0,0 +1 @@ +../svg-orig/arrow-swap.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/arrow-up-a.svg b/debian/ionicons/svg-renamed/arrow-up-a.svg new file mode 120000 index 0000000..a92de03 --- /dev/null +++ b/debian/ionicons/svg-renamed/arrow-up-a.svg @@ -0,0 +1 @@ +../svg-orig/arrow-up-a.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/chevron-left.svg b/debian/ionicons/svg-renamed/chevron-left.svg new file mode 120000 index 0000000..f451cdb --- /dev/null +++ b/debian/ionicons/svg-renamed/chevron-left.svg @@ -0,0 +1 @@ +../svg-orig/chevron-left.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/chevron-right.svg b/debian/ionicons/svg-renamed/chevron-right.svg new file mode 120000 index 0000000..83209fe --- /dev/null +++ b/debian/ionicons/svg-renamed/chevron-right.svg @@ -0,0 +1 @@ +../svg-orig/chevron-right.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/chevron-up.svg b/debian/ionicons/svg-renamed/chevron-up.svg new file mode 120000 index 0000000..085ce74 --- /dev/null +++ b/debian/ionicons/svg-renamed/chevron-up.svg @@ -0,0 +1 @@ +../svg-orig/chevron-up.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/close.svg b/debian/ionicons/svg-renamed/close.svg new file mode 120000 index 0000000..69cbfa5 --- /dev/null +++ b/debian/ionicons/svg-renamed/close.svg @@ -0,0 +1 @@ +../svg-orig/close-round.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/error.svg b/debian/ionicons/svg-renamed/error.svg new file mode 120000 index 0000000..1f48897 --- /dev/null +++ b/debian/ionicons/svg-renamed/error.svg @@ -0,0 +1 @@ +../svg-orig/android-alert.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/film-outline.svg b/debian/ionicons/svg-renamed/film-outline.svg new file mode 120000 index 0000000..752dcdc --- /dev/null +++ b/debian/ionicons/svg-renamed/film-outline.svg @@ -0,0 +1 @@ +../svg-orig/ios-film-outline.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/globe.svg b/debian/ionicons/svg-renamed/globe.svg new file mode 120000 index 0000000..471518d --- /dev/null +++ b/debian/ionicons/svg-renamed/globe.svg @@ -0,0 +1 @@ +../svg-orig/android-globe.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/link.svg b/debian/ionicons/svg-renamed/link.svg new file mode 120000 index 0000000..5c0a7c5 --- /dev/null +++ b/debian/ionicons/svg-renamed/link.svg @@ -0,0 +1 @@ +../svg-orig/link.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/location.svg b/debian/ionicons/svg-renamed/location.svg new file mode 120000 index 0000000..870a3f9 --- /dev/null +++ b/debian/ionicons/svg-renamed/location.svg @@ -0,0 +1 @@ +../svg-orig/location.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/more-vertical.svg b/debian/ionicons/svg-renamed/more-vertical.svg new file mode 120000 index 0000000..4ddafee --- /dev/null +++ b/debian/ionicons/svg-renamed/more-vertical.svg @@ -0,0 +1 @@ +../svg-orig/android-more-vertical.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/music-note.svg b/debian/ionicons/svg-renamed/music-note.svg new file mode 120000 index 0000000..e1df14b --- /dev/null +++ b/debian/ionicons/svg-renamed/music-note.svg @@ -0,0 +1 @@ +../svg-orig/music-note.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/navicon-round.svg b/debian/ionicons/svg-renamed/navicon-round.svg new file mode 120000 index 0000000..9105e52 --- /dev/null +++ b/debian/ionicons/svg-renamed/navicon-round.svg @@ -0,0 +1 @@ +../svg-orig/navicon-round.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/play.svg b/debian/ionicons/svg-renamed/play.svg new file mode 120000 index 0000000..fb68566 --- /dev/null +++ b/debian/ionicons/svg-renamed/play.svg @@ -0,0 +1 @@ +../svg-orig/play.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/search.svg b/debian/ionicons/svg-renamed/search.svg new file mode 120000 index 0000000..3e4619d --- /dev/null +++ b/debian/ionicons/svg-renamed/search.svg @@ -0,0 +1 @@ +../svg-orig/search.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/telephone.svg b/debian/ionicons/svg-renamed/telephone.svg new file mode 120000 index 0000000..faa7d07 --- /dev/null +++ b/debian/ionicons/svg-renamed/telephone.svg @@ -0,0 +1 @@ +../svg-orig/ios-telephone.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/time.svg b/debian/ionicons/svg-renamed/time.svg new file mode 120000 index 0000000..4246b4d --- /dev/null +++ b/debian/ionicons/svg-renamed/time.svg @@ -0,0 +1 @@ +../svg-orig/android-time.svg
\ No newline at end of file diff --git a/debian/ionicons/svg-renamed/warning.svg b/debian/ionicons/svg-renamed/warning.svg new file mode 120000 index 0000000..8ef8f9a --- /dev/null +++ b/debian/ionicons/svg-renamed/warning.svg @@ -0,0 +1 @@ +../svg-orig/alert-circled.svg
\ No newline at end of file diff --git a/debian/patches/debian-changes b/debian/patches/debian-changes new file mode 100644 index 0000000..d8d360a --- /dev/null +++ b/debian/patches/debian-changes @@ -0,0 +1,206 @@ +The Debian packaging of searx is maintained in git, using the merging workflow +described in dgit-maint-merge(7). There isn't a patch queue that can be +represented as a quilt series. + +A detailed breakdown of the changes is available from their canonical +representation - git commits in the packaging repository. For example, to see +the changes made by the Debian maintainer in the first upload of upstream +version 1.2.3, you could use: + + % git clone https://git.dgit.debian.org/searx + % cd searx + % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian' + +(If you have dgit, use `dgit clone searx`, rather than plain `git clone`.) + +A single combined diff, containing all the changes, follows. +--- searx-0.15.0+dfsg1.orig/manage.sh ++++ searx-0.15.0+dfsg1/manage.sh +@@ -110,8 +110,7 @@ tests() { + # + + npm_path_setup() { +- which npm || (printf 'Error: npm is not found\n'; exit 1) +- export PATH="$(npm bin)":$PATH ++ true + } + + npm_packages() { +@@ -133,7 +132,7 @@ npm_packages() { + build_style() { + npm_path_setup + +- lessc --clean-css="--s1 --advanced --compatibility=ie9" "$BASE_DIR/searx/static/$1" "$BASE_DIR/searx/static/$2" ++ lessc -x "$BASE_DIR/searx/static/$1" "$BASE_DIR/searx/static/$2" + } + + styles() { +@@ -147,8 +146,15 @@ styles() { + build_style themes/courgette/less/style-rtl.less themes/courgette/css/style-rtl.css + echo '[!] Building pix-art style' + build_style themes/pix-art/less/style.less themes/pix-art/css/style.css +- echo '[!] Building bootstrap style' +- build_style less/bootstrap/bootstrap.less css/bootstrap.min.css ++ echo '[!] Building simple style' ++ build_style themes/simple/less/style.less themes/simple/css/searx.min.css ++ build_style themes/simple/less/style-rtl.less themes/simple/css/searx-rtl.min.css ++ echo '[!] Building logicodev' ++ build_style themes/oscar/less/logicodev/oscar.less themes/oscar/css/logicodev.min.css ++ echo '[!] Building logicodev-dark' ++ build_style themes/oscar/less/logicodev-dark/oscar.less themes/oscar/css/logicodev-dark.min.css ++ echo '[!] Building pointhi' ++ build_style themes/oscar/less/pointhi/oscar.less themes/oscar/css/pointhi.min.css + } + + grunt_build() { +--- searx-0.15.0+dfsg1.orig/searx/settings.yml ++++ searx-0.15.0+dfsg1/searx/settings.yml +@@ -18,8 +18,8 @@ server: + http_protocol_version : "1.0" # 1.0 and 1.1 are supported + + ui: +- static_path : "" # Custom static path - leave it blank if you didn't change +- templates_path : "" # Custom templates path - leave it blank if you didn't change ++ static_path : "/usr/share/python3-searx/static" # Custom static path - leave it blank if you didn't change ++ templates_path : "/usr/share/python3-searx/templates" # Custom templates path - leave it blank if you didn't change + default_theme : oscar # ui theme + default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section + theme_args : +--- searx-0.15.0+dfsg1.orig/searx/static/themes/oscar/gruntfile.js ++++ searx-0.15.0+dfsg1/searx/static/themes/oscar/gruntfile.js +@@ -81,16 +81,8 @@ module.exports = function(grunt) { + } + }); + +- grunt.loadNpmTasks('grunt-contrib-uglify'); +- grunt.loadNpmTasks('grunt-contrib-jshint'); +- grunt.loadNpmTasks('grunt-contrib-watch'); +- grunt.loadNpmTasks('grunt-contrib-concat'); +- grunt.loadNpmTasks('grunt-contrib-less'); +- +- grunt.registerTask('test', ['jshint']); +- +- grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'less']); +- +- grunt.registerTask('styles', ['less']); ++ grunt.loadNpmTasks('grunt-contrib-uglify', '/usr/lib/nodejs'); ++ grunt.loadNpmTasks('grunt-contrib-concat', '/usr/lib/nodejs'); + ++ grunt.registerTask('default', ['concat', 'uglify']); + }; +--- searx-0.15.0+dfsg1.orig/searx/static/themes/simple/gruntfile.js ++++ searx-0.15.0+dfsg1/searx/static/themes/simple/gruntfile.js +@@ -64,12 +64,6 @@ module.exports = function(grunt) { + production: { + options: { + paths: ["less"], +- plugins: [ +- new (require('less-plugin-clean-css'))({ +- advanced: true, +- compatibility: '*' +- }) +- ], + banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n' + }, + files: { +@@ -144,15 +138,8 @@ module.exports = function(grunt) { + } + }); + +- grunt.loadNpmTasks('grunt-contrib-watch'); +- grunt.loadNpmTasks('grunt-contrib-uglify'); +- grunt.loadNpmTasks('grunt-contrib-jshint'); +- grunt.loadNpmTasks('grunt-contrib-concat'); +- grunt.loadNpmTasks('grunt-contrib-less'); +- grunt.loadNpmTasks('grunt-contrib-cssmin'); +- grunt.loadNpmTasks('grunt-webfont'); ++ grunt.loadNpmTasks('grunt-contrib-uglify', '/usr/lib/nodejs'); ++ grunt.loadNpmTasks('grunt-contrib-concat', '/usr/lib/nodejs'); + +- grunt.registerTask('test', ['jshint']); +- +- grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'less:development', 'less:production']); ++ grunt.registerTask('default', ['concat', 'uglify']); + }; +--- searx-0.15.0+dfsg1.orig/searx/static/themes/simple/js/searx_src/autocomplete.js ++++ searx-0.15.0+dfsg1/searx/static/themes/simple/js/searx_src/autocomplete.js +@@ -1,4 +1,51 @@ +-(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.AutoComplete = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ ++(function(f){ ++ if(typeof exports=== "object" && typeof module !== "undefined") { ++ module.exports = f() ++ } else if(typeof define === "function" && define.amd) { ++ define([], f) ++ }else{ ++ var g; ++ if(typeof window !== "undefined") { ++ g = window ++ } else if(typeof global !== "undefined") { ++ g = global ++ } else if(typeof self !== "undefined") { ++ g = self ++ } else { ++ g = this ++ } ++ g.AutoComplete = f() ++ } ++})(function(){ ++ var define, module, exports; ++ return (function e(t, n, r){ ++ function s(o, u){ ++ if(!n[o]){ ++ if(!t[o]){ ++ var a = typeof require == "function" && require; ++ if(!u && a) ++ return a(o, !0); ++ if(i) ++ return i(o, !0); ++ var f = new Error("Cannot find module '" + o + "'"); ++ throw f.code = "MODULE_NOT_FOUND", f ++ } ++ var l = n[o] = { ++ exports:{} ++ }; ++ t[o][0].call(l.exports,function(e) { ++ var n = t[o][1][e]; ++ return s(n?n:e) ++ }, l, l.exports, e, t, n, r) ++ } ++ return n[o].exports ++ } ++ var i = typeof require == "function" && require; ++ for(var o = 0; o < r.length; o++) ++ s(r[o]); ++ return s ++ })({ ++ 1:[function(require, module, exports){ + /* + * @license MIT + * +--- searx-0.15.0+dfsg1.orig/setup.py ++++ searx-0.15.0+dfsg1/setup.py +@@ -51,23 +51,9 @@ setup( + }, + package_data={ + 'searx': [ +- 'settings.yml', +- '../README.rst', +- '../requirements.txt', +- '../requirements-dev.txt', + 'data/*', + 'plugins/*/*', +- 'static/*.*', +- 'static/*/*.*', +- 'static/*/*/*.*', +- 'static/*/*/*/*.*', +- 'static/*/*/*/*/*.*', +- 'templates/*/*.*', +- 'templates/*/*/*.*', +- 'tests/*', +- 'tests/*/*', +- 'tests/*/*/*', +- 'translations/*/*/*' ++ 'translations/*/*/*.mo' + ], + }, + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..7bb8252 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +debian-changes diff --git a/debian/python3-searx.install b/debian/python3-searx.install new file mode 100644 index 0000000..7ac30c8 --- /dev/null +++ b/debian/python3-searx.install @@ -0,0 +1,22 @@ +# we must list each theme subdirectory manually because we do not want to +# install the less subdirectory or the oscar gruntfile or package.json +searx/static/plugins /usr/share/python3-searx/static +searx/static/themes/courgette/css /usr/share/python3-searx/static/themes/courgette +searx/static/themes/courgette/img /usr/share/python3-searx/static/themes/courgette +searx/static/themes/courgette/js /usr/share/python3-searx/static/themes/courgette +searx/static/themes/legacy/css /usr/share/python3-searx/static/themes/legacy +searx/static/themes/legacy/img /usr/share/python3-searx/static/themes/legacy +searx/static/themes/legacy/js /usr/share/python3-searx/static/themes/legacy +searx/static/themes/oscar/css /usr/share/python3-searx/static/themes/oscar +searx/static/themes/oscar/img /usr/share/python3-searx/static/themes/oscar +searx/static/themes/oscar/js /usr/share/python3-searx/static/themes/oscar +searx/static/themes/pix-art/css /usr/share/python3-searx/static/themes/pix-art +searx/static/themes/pix-art/img /usr/share/python3-searx/static/themes/pix-art +searx/static/themes/pix-art/js /usr/share/python3-searx/static/themes/pix-art +searx/static/themes/simple/css /usr/share/python3-searx/static/themes/simple +searx/static/themes/simple/img /usr/share/python3-searx/static/themes/simple +searx/static/themes/simple/js /usr/share/python3-searx/static/themes/simple +debian/ionicons/ion.woff /usr/share/python3-searx/static/themes/simple/fonts +debian/ionicons/ion.ttf /usr/share/python3-searx/static/themes/simple/fonts +searx/templates /usr/share/python3-searx +usr/lib/python3* diff --git a/debian/python3-searx.links b/debian/python3-searx.links new file mode 100644 index 0000000..8c37498 --- /dev/null +++ b/debian/python3-searx.links @@ -0,0 +1,8 @@ +/usr/share/javascript/requirejs/require.min.js /usr/share/python3-searx/static/js/require-2.1.15.min.js +/usr/share/javascript/bootstrap/css/bootstrap.min.css /usr/share/python3-searx/static/css/bootstrap.min.css +/usr/share/javascript/bootstrap/fonts/glyphicons-halflings-regular.ttf /usr/share/python3-searx/static/fonts/glyphicons-halflings-regular.ttf +/usr/share/javascript/bootstrap/fonts/glyphicons-halflings-regular.woff /usr/share/python3-searx/static/fonts/glyphicons-halflings-regular.woff +/usr/share/javascript/bootstrap/fonts/glyphicons-halflings-regular.woff2 /usr/share/python3-searx/static/fonts/glyphicons-halflings-regular.woff2 +/usr/share/javascript/bootstrap/js/bootstrap.js /usr/share/python3-searx/static/js/bootstrap.min.js +/usr/share/javascript/jquery/jquery.min.js /usr/share/python3-searx/static/js/jquery-1.11.1.min.js +/usr/share/javascript/leaflet/leaflet.css /usr/share/python3-searx/static/css/leaflet.min.css diff --git a/debian/python3-searx.lintian-overrides b/debian/python3-searx.lintian-overrides new file mode 100644 index 0000000..06cb856 --- /dev/null +++ b/debian/python3-searx.lintian-overrides @@ -0,0 +1,2 @@ +# the font is only used for the "simple" theme +font-in-non-font-package diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..c1f696b --- /dev/null +++ b/debian/rules @@ -0,0 +1,19 @@ +#! /usr/bin/make -f + +#export DH_VERBOSE = 1 + +export PYBUILD_DISABLE_python2=1 + +%: + dh $@ --with python3 --buildsystem=pybuild + +override_dh_auto_build: + python ./debian/ionicons/generate_less.py < ./debian/ionicons/input.json > searx/static/themes/simple/less/ion.less + dh_auto_build + ./manage.sh styles # needed to run lessc because grunt-contrib-less is not packaged + ./manage.sh locales # run pybabel + ./manage.sh grunt_build # build the oscar theme + python ./debian/ionicons/generate.py < ./debian/ionicons/input.json + +# do not run tests because the splinter python3 module is not packaged yet +override_dh_auto_test: diff --git a/debian/searx.docs b/debian/searx.docs new file mode 100644 index 0000000..a1320b1 --- /dev/null +++ b/debian/searx.docs @@ -0,0 +1 @@ +README.rst diff --git a/debian/searx.examples b/debian/searx.examples new file mode 100644 index 0000000..2fedfe1 --- /dev/null +++ b/debian/searx.examples @@ -0,0 +1,3 @@ +debian/examples/nginx +debian/examples/uwsgi +searx/settings.yml diff --git a/debian/searx.install b/debian/searx.install new file mode 100644 index 0000000..57db456 --- /dev/null +++ b/debian/searx.install @@ -0,0 +1 @@ +usr/bin/searx-run diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..3152b74 --- /dev/null +++ b/debian/source/options @@ -0,0 +1,4 @@ +# some source package options such that dgit can transparently handle the +# "dropping" and "refreshing" changes to the upstream source +single-debian-patch +auto-commit diff --git a/debian/source/patch-header b/debian/source/patch-header new file mode 100644 index 0000000..80cadf1 --- /dev/null +++ b/debian/source/patch-header @@ -0,0 +1,16 @@ +The Debian packaging of searx is maintained in git, using the merging workflow +described in dgit-maint-merge(7). There isn't a patch queue that can be +represented as a quilt series. + +A detailed breakdown of the changes is available from their canonical +representation - git commits in the packaging repository. For example, to see +the changes made by the Debian maintainer in the first upload of upstream +version 1.2.3, you could use: + + % git clone https://git.dgit.debian.org/searx + % cd searx + % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian' + +(If you have dgit, use `dgit clone searx`, rather than plain `git clone`.) + +A single combined diff, containing all the changes, follows. diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..dbabf19 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,3 @@ +Tests: general +Restrictions: allow-stderr, isolation-container, needs-root +Depends: @, curl, nginx, uwsgi, uwsgi-plugin-python3 diff --git a/debian/tests/general b/debian/tests/general new file mode 100644 index 0000000..2dfba3f --- /dev/null +++ b/debian/tests/general @@ -0,0 +1,15 @@ +#!/bin/sh + +set -ex + +rm /etc/nginx/sites-enabled/default +cp /usr/share/doc/searx/examples/nginx/sites-available/searx /etc/nginx/sites-available +ln -s ../sites-available/searx /etc/nginx/sites-enabled/searx +cp /usr/share/doc/searx/examples/uwsgi/apps-available/searx.ini /etc/uwsgi/apps-available +ln -s ../apps-available/searx.ini /etc/uwsgi/apps-enabled/searx.ini +mkdir /etc/searx +gzip --to-stdout --decompress /usr/share/doc/searx/examples/settings.yml.gz > /etc/searx/settings.yml +sed -i -e "s/ultrasecretkey/$(openssl rand -hex 16)/g" /etc/searx/settings.yml +systemctl restart nginx +systemctl restart uwsgi +curl localhost | grep 'input type="search" name="q"' diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..d2a6596 --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=4 +opts=compression=xz,dversionmangle=s/\+dfsg\d*$//,repacksuffix=+dfsg1,repack \ + https://github.com/asciimoo/searx/tags .*/v(\d\S+)\.tar\.gz |