diff options
author | Britney Fransen <brfransen@gmail.com> | 2017-12-09 14:34:12 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2017-12-09 14:34:12 (GMT) |
commit | f06d8e1bedfcf6d424a4736d43f366d95fb33690 (patch) | |
tree | a78baa8ac9914820a0c470c391772bcdb9e17b4d /abs/extra | |
parent | ada13c3f17134c5885f686509d128080450efa1b (diff) | |
parent | e4b0dec19f02e6d8e995b19a22110cac26f07ac4 (diff) | |
download | linhes_pkgbuild-f06d8e1bedfcf6d424a4736d43f366d95fb33690.zip linhes_pkgbuild-f06d8e1bedfcf6d424a4736d43f366d95fb33690.tar.gz linhes_pkgbuild-f06d8e1bedfcf6d424a4736d43f366d95fb33690.tar.bz2 |
Merge branch 'testing'
Diffstat (limited to 'abs/extra')
41 files changed, 8745 insertions, 467 deletions
diff --git a/abs/extra/flexget/ChangeLog b/abs/extra/flexget/ChangeLog new file mode 100644 index 0000000..361a57e --- /dev/null +++ b/abs/extra/flexget/ChangeLog @@ -0,0 +1,5367 @@ + +=== 1.2.304 (2015.05.04) === + + * (1b46638) v1.2.304 + * (0eec0b3) Merge pull request #488 from ianstalk/sftp[[BR]] + Plugins to download from SFTP + * (c8de466) Fixing the style issues/typos that @gazpachoking pointed out. + * (64ee28d) Accept both lists and strings for directories list; remove my username from the useage + * (bca7dd5) Not sure where that character came from + * (120e298) Fully qualify plugin.PluginError + * (34fede7) Rewrote directory handling, added better support for Windows-style paths, simplified config + * (3f2ebe4) Rename variables to be clearer about what they do + * (414f80b) Now fully pep8 compliant! + * (b3d030f) Add retry logic for connecting, switch to a more idiomatic way of handling group by + * (e60d1e6) Fix variable reference before assignment issue. + * (92a74c3) Fix some copypasta errors + * (6ab8642) Plugins to download from SFTP + * (b8b0d2c) Merge branch 'new_lazy2' into develop + * (f6f51dc) Factor lazy lookup system out of Entry Enable better support for lazy lookups from jinja. refs #2985, fix #2988 + * (ecfe79a) Fix up sort_by plugin + * (556cdfc) Merge pull request #489 from jpts/develop[[BR]] + Fix deluge sparse files/movedone functionality. fix #2881 + * (310f8b3) Fixed issue where content_filename not specified in user config + * (b3da452) Added support for directories in content_filename + * (3d99290) Updated edited sections to adhere to pep8 + * (4bb5e63) Modified content_filename parsing, so that it doesnt pop the main file to the top of the directory tree. Modified sparse files functionality, to be a subfolder of the top folder + * (aa57761) Merge pull request #496 from sergiogiogio/develop[[BR]] + fix for titles with non-ascii characters + * (8df277e) fix for titles with non-ascii characters + * (1679a81) Remove set literal from subliminal plugin to maintain python 2.6 compatibility + * (1bed497) Attempt to fix travis builds + * (2de8309) force proper provider names + * (ab36590) Prepare v1.2.304.dev + +=== 1.2.303 (2015.04.24) === + + * (cdc0377) v1.2.303 + * (0680d93) Remove task.session use in remember_rejected. fix #2720 + * (eff9e77) Prepare v1.2.303.dev + +=== 1.2.302 (2015.04.23) === + + * (8b06d6c) v1.2.302 + * (2cb0de5) Merge pull request #481 from programatix/develop[[BR]] + Updated to use the download plugin + * (1317fe5) Update utorrent.py[[BR]] + Removed unneeded duplicate add torrent.[[BR]] + Fixed the download path for download by download plugin. + * (854e584) Update utorrent.py[[BR]] + Fixed problem where urlrewriter not called. + * (62f0be7) Update utorrent.py + * (cfe69da) Update utorrent.py[[BR]] + Updated to use the download plugin. + * (e2729a3) Merge pull request #482 from matrixagent/patch-2[[BR]] + Allow history to be filtered by task + * (70e1910) Allow history to be filtered by task + * (628c16b) Merge pull request #485 from Flexget/pR0Ps-add_whatcd_ua[[BR]] + Add what.cd user agent option + * (644141f) Add what.cd user agent option[[BR]] + - Add back the option to use a custom user agent for searching on what.cd.[[BR]] + - Fix small oversight in response handling. + * (4c1ecca) Prepare v1.2.302.dev + +=== 1.2.301 (2015.04.19) === + + * (9bcdac1) v1.2.301 + * (574929d) Merge pull request #474 from ianstalk/rarfile[[BR]] + Plugin to decompress Zip and RAR files + * (977eccb) Python 2.6 doesn't like "with"syntax + * (3ae14d5) Return when rarfile isn't installed + * (2545536) Add missing SkipTest import + * (44cd428) Switch to using __tmp__ instead of rolling my own temp directories + * (e48e247) Directory test was reversed for zips + * (03d0e3f) keep_dirs actually works now! For real! Fix test teardown so it doesn't break the build. + * (66e2278) Use info instead of path for extractions, make sure is_dir doesn't accept anything that's not an Info object. + * (fbb9e73) Tests and associated files for Decompress plugin + * (a7bb8a2) Fix keep_dirs behavior + * (cd03c2b) Merge remote-tracking branch 'upstream/master' into rarfile + * (05a72de) Fail entry if extraction fails + * (fd1f789) Don't treat directories in zips as files. + * (4f41266) You missed a spot. + * (8dc2934) Rename to avoid confusion with the archive plugin + * (5db42ed) Fix issue with deleting Zip files. + * (5b34c43) Add Zip support, change name of plugin to reflect extended functionality. + * (7723b71) Replace import hack with something cleaner. + * (6705a96) Wrap rarfile import in a try/except block so it doesn't blow up everything Fix logging statement that was printing the wrong value + * (db5e9dc) Remove outdated config parameter from example in docstring + * (b3d2dcb) Remove leaked plugin_transmission_files.py changes + * (cc956b5) Plugin to extract RAR files + * (2204153) Revert "Plugin to extract RAR files"[[BR]] + This reverts commit 3fef155e816048063cccd91da7f2e5eb03a6be4f. + * (3fef155) Plugin to extract RAR files + * (b7d56fa) Rename "info_hash" to "torrent_info_hash" to be consistent with task naming conventions. Make sure the Transmission session is created anew each time in case the user is connecting to multiple daemons. + * (1a8903d) Plugin to list files from a transmission instance + * (fe0d5c6) Prepare v1.2.301.dev + +=== 1.2.300 (2015.04.17) === + + * (c276e4e) v1.2.300 + * (55ceb98) Merge pull request #487 from sergiogiogio/develop[[BR]] + fix aria2 plugin + * (7915a83) fix aria2 plugin + * (99ab8c1) Prepare v1.2.300.dev + +=== 1.2.299 (2015.04.09) === + + * (3349208) v1.2.299 + * (371a12c) Merge pull request #479 from wakemaster39/yts_search[[BR]] + added yts + * (4ba54a1) Update search_yts.py + * (b6d0604) added yts search engine + * (70bdd9c) Allows using secrets in any jinja rendered template. fix #2883 + * (f47bf43) Merge pull request #480 from tubedogg/sleep[[BR]] + Add additional phases of execution to sleep plugin + * (d9de3c0) Add additional phases of execution + * (a666126) Prepare v1.2.299.dev + +=== 1.2.298 (2015.04.06) === + + * (69f3453) v1.2.298 + * (6da0770) Allow --inject to be used multiple times + * (186c737) Prepare v1.2.298.dev + +=== 1.2.297 (2015.04.04) === + + * (bf931f7) v1.2.297 + * (672a7a9) fix exec list + * (b3e8028) Merge pull request #472 from tubedogg/sleep[[BR]] + Make sleep more flexible + * (b8dea65) Make sleep more flexible[[BR]] + Operate it in any phase for the specified number of seconds. + * (5060942) Prepare v1.2.297.dev + +=== 1.2.296 (2015.04.03) === + + * (321a23b) v1.2.296 + * (e037372) Merge pull request #470 from patsissons/urllib3-logging-fix[[BR]] + remove extra urllib3 INFO logging + * (8e04155) adding the original line back, so that we now have both (with an explanation) + * (ff43930) apply warn log filter to proper logger name to exclude INFO log messages when opening url's (i.e. Starting new HTTP connection (1): ... ) + * (9214e96) Merge pull request #475 from Ram-Z/exec_list[[BR]] + Allow list of exec commands + * (162509f) Allow list of exec commands + * (3635b8d) Merge pull request #476 from lildadou/doc[[BR]] + Details to enable the unit test of a development environnement. + * (249a31a) Details to enable the unit test. + * (07859f6) Merge pull request #477 from Ram-Z/tvdb_actors[[BR]] + Add tvdb_actors to api + * (49f459f) Add tvdb_actors to api + * (693f23f) Revert "Discover keeps finding episodes as long asnew ones are accepted."[[BR]] + This reverts commit 2bfe5b252c873ec6ce70eebbde5f71ecaed34d3d.[[BR]] + Unit tests broke, unable to run them locally. + * (acbdfed) Fix test in case tvrage_id is not set + * (9e3e69e) Don't lookup_series if tvrage_id exists in entry + * (a8fd733) Merge pull request #442 from cvium/rarbg[[BR]] + search plugin for rarbg + * (0f279dd) use rarbg's new api + * (4a7f868) search plugin for rarbg + * (2bfe5b2) Discover keeps finding episodes as long asnew ones are accepted.[[BR]] + - Handle cli series with ! in names + * (5d28d41) Prepare v1.2.296.dev + +=== 1.2.295 (2015.03.25) === + + * (7f22eba) v1.2.295 + * (2eb870a) Merge pull request #462 from patsissons/trans-magnet-wait[[BR]] + Transmission plugin magnetization waiting + * (05adfa0) if torrent is a magnet URI, then start as paused. this will allow magnetization to occur before pre-processing the files + * (1b6970f) If the magnetization_timeout is set and the torrent is a magnet URI (and the file list is empty), then block-wait for magnetization or until the timeout elapses. If magnetization is successful, then re-fetch the torrent total size this addresses issue #2911 http://flexget.com/ticket/2911 + * (1d020f2) adding configuration item, magnetization_timeout, to allow selective enabling of the 'wait for magnetization' feature. By default the value is 0 (seconds) which disables the feature completely. + * (1cc8815) adding new _wait_for_files function that will block until the rpc client returns a non-empty file list or until the timeout elapses + * (40332fb) Merge pull request #457 from bozho/develop[[BR]] + reverting changes from 761c2f206c... (pull request #453) + * (9d803d0) reverting changes from 761c2f206c... (pull request #453)[[BR]] + Looks like the old code works again. I could have sworn that while[[BR]] + testing the patch, KAT was returning 404 if rss wasn't the first query[[BR]] + parameter. It was late, I may have been seeing things... + * (88dfd9b) Merge pull request #468 from Ram-Z/newznab_size[[BR]] + Get content_size from newznab searches + * (5f0c2ff) Get content_size from newznab searches + * (3966877) Prepare v1.2.295.dev + +=== 1.2.294 (2015.03.24) === + + * (98067d3) v1.2.294 + * (1de5355) Merge pull request #463 from v17al/topic/extratorrent[[BR]] + Add search/urlrewrite plugin for extratorrent.cc + * (869175f) Add search/urlrewrite plugin for extratorrent.cc[[BR]] + - extratorrent doesn't mesh well with the search_rss plugin as[[BR]] + the data doesn't alway contains a .torrent link[[BR]] + - Work around this issue by converting the .html link (always present)[[BR]] + into a downlad link + * (64acd8a) Merge pull request #465 from patsissons/remove-redundant-config-default[[BR]] + removing redundant config default setter for main_file_ratio + * (0734e4f) removing redundant config default setter for main_file_ratio (it is now set in the transmission base class) + * (3b889b7) Prepare v1.2.294.dev + +=== 1.2.293 (2015.03.22) === + + * (34626a8) v1.2.293 + * (c92c898) Merge pull request #464 from patsissons/deluge-fix[[BR]] + fixing deluge plugin crash due to unset main_file_ratio + * (7ee530a) fixing deluge plugin crash due to main_file_ratio config value not being present in modify_opts see https://github.com/Flexget/Flexget/pull/460#issuecomment-84051984 + * (5a4d092) fix bug created by main_file_ratio #2951 + * (8e7e4a1) Prepare v1.2.293.dev + +=== 1.2.292 (2015.03.18) === + + * (4011595) v1.2.292 + * (6d554b9) Merge pull request #460 from patsissons/main_file_ratio[[BR]] + Main file ratio + * (94729bb) adding quotes around torrent title + * (5148364) adding log warning to transmission plugin when no main file is discovered (similar to deluge plugin) + * (e9e135c) updating transmission plugin to support using the main_file_ratio config value when discovering the main_id + * (4d8f9e1) updating torrent_info function in transmission plugin to support fetching main_file_ratio from config (replacing hard coded 90) NOTE: this may need fixing to support a per-torrent main_file_ratio + * (8678b35) updating transmission plugin to support making the main_file_ratio config value available to use + * (5f72486) replacing hard coded 90% main file ratio values in deluge plugin with new main_file_ratio config value + * (089f576) adding new main_file_ratio config option to deluge and transmission plugins, default value is 0.90 (i.e. 90%, as was previously hard coded into the plugins) + * (4fa8d99) Prepare v1.2.292.dev + +=== 1.2.291 (2015.03.13) === + + * (5b5016f) v1.2.291 + * (b0ac6e6) Add support for T411 login captcha + * (8d8f338) Add download_auth param to created entries + * (dc22730) Prepare v1.2.291.dev + +=== 1.2.290 (2015.03.12) === + + * (d31c66f) v1.2.290 + * (e57e0a9) Merge pull request #458 from crawln45/develop[[BR]] + Fixed BTN Search to allow for non strict searching + * (cfb01cc) Fixed invalid import of request.exception.Timeout + * (c684fe8) Reword BTN Search for better code and added what we are doing. Fixed Trakt_List to detect Timeout errors. Fixed Trakt authentication error catching. + * (a55c823) Fixed BTN Search to allow for non strict searching of series_id since some episodes return series_id - episode_name on certain shows. + * (68a323a) Prepare v1.2.290.dev + +=== 1.2.289 (2015.03.05) === + + * (1342dba) v1.2.289 + * (5eda00b) fix subtitles_missing field not being set if subs already exist + * (8f040ff) Prepare v1.2.289.dev + +=== 1.2.288 (2015.03.03) === + + * (f93305b) v1.2.288 + * (761c2f2) Merge pull request #453 from bozho/develop[[BR]] + fixed kat search plugin URL + * (e520873) fixed kat search plugin URL + * (4620b66) Merge pull request #456 from wjohnson5/patch-1[[BR]] + Fix authentication.py typo for webui username. + * (e34a217) Update authentication.py[[BR]] + Seems like a simple typo. Tested locally. + * (5203e8e) Prepare v1.2.288.dev + +=== 1.2.287 (2015.03.01) === + + * (ff5e0d3) v1.2.287 + * (413f57a) fix bug introduced by latest feature + * (5fe1ff5) Prepare v1.2.287.dev + +=== 1.2.286 (2015.02.28) === + + * (366efb2) v1.2.286 + * (d7cdb04) new feature to remove non-existing file from queue + * (eb66aac) change verbosity, fix bug in subliminal #2927 + * (a399b27) Prepare v1.2.286.dev + +=== 1.2.285 (2015.02.27) === + + * (2fe47fa) v1.2.285 + * (9d3e7a3) Merge pull request #454 from jesjimher/develop[[BR]] + Disabled SSL certificate validation to avoid SSLErrors in TPB + * (9dd4af7) Disabled SSL certificate validation to avoid SSLErrors + * (60a40b2) Prepare v1.2.285.dev + +=== 1.2.284 (2015.02.23) === + + * (e7578b2) v1.2.284 + * (12a3073) Merge pull request #450 from guaycuru/master[[BR]] + Update EZTV URL from .IT to .CH + * (89f60f7) Update EZTV URL from .IT to .CH + * (3bc9fb4) Prepare v1.2.284.dev + +=== 1.2.283 (2015.02.22) === + + * (0242e24) v1.2.283 + * (109b446) Merge pull request #448 from krozer/patch-1[[BR]] + rewrite t411.me to t411.io + * (95d85dd) rewrite .me to .io[[BR]] + The tracker changed hostname from t411.me to t411.io + * (a04af80) Prepare v1.2.283.dev + +=== 1.2.282 (2015.02.21) === + + * (5a4e9b4) v1.2.282 + * (4a2d3ce) encode filenames with utf-8, #2915 + * (9f2c0d4) Prepare v1.2.282.dev + +=== 1.2.281 (2015.02.20) === + + * (e6ccc4c) v1.2.281 + * (c2d5a00) Fix crash in the what.cd plugin + * (4763616) Prepare v1.2.281.dev + +=== 1.2.280 (2015.02.18) === + + * (a222eff) v1.2.280 + * (44421f6) Merge pull request #438 from cvium/develop[[BR]] + cleaning up alternate name in series + * (4dabdaa) add alternate names after if-else + * (3994d14) cleaning up alternate name in series + * (c618848) Prepare v1.2.280.dev + +=== 1.2.279 (2015.02.17) === + + * (5418068) v1.2.279 + * (80595d1) Merge pull request #447 from crawln45/develop[[BR]] + Added new 720hd as match for 720p quality[[BR]] + Move to new trakt v2 api endpoint + * (8df61a5) Added new trakt_list cassette. + * (9d2b17c) Fixed comparison on quality. + * (0cfe3f4) Fixed 720hd test to correct what it's suppost to find which is 720p + * (76e4718) Added test for 720hd under test_qualities.py + * (fe0d822) Reverted new 720 standard added option of "HD" to the 720P subset + * (24eb594) Added new api url for trakt. + * (fa7148f) Added new Subset of 720 definition "720HD" + * (9d3199b) Prepare v1.2.279.dev + +=== 1.2.278 (2015.02.15) === + + * (b836f47) v1.2.278 + * (9e3a413) Merge pull request #446 from aidan-/develop[[BR]] + use only ascii letters for IPC password generation + * (094c38c) use only ascii letters for password generation + * (442be38) Prepare v1.2.278.dev + +=== 1.2.277 (2015.02.12) === + + * (79a1c3d) v1.2.277 + * (32e7020) update kat TLD + * (952e37c) Prepare v1.2.277.dev + +=== 1.2.276 (2015.02.10) === + + * (8700e0a) v1.2.276 + * (06d3ee6) Merge pull request #441 from lildadou/develop[[BR]] + [t411] Fix and update WebRip subcategories + * (1cab8ef) Fix and update WebRip subcategories + * (1bf65c4) Prepare v1.2.276.dev + +=== 1.2.275 (2015.02.09) === + + * (4a03a92) v1.2.275 + * (d551ce2) Merge pull request #443 from X-dark/develop[[BR]] + update TPB to new TLD and search API + * (33bdf85) update TPB to the new search API + * (30cd4c7) update TPB TLD + * (1243729) Prepare v1.2.275.dev + +=== 1.2.274 (2015.02.06) === + + * (bcb32d4) v1.2.274 + * (3828bb0) change str representation of subtitle queue to handle no language + * (7d63cd9) don't queue english as default language + * (e724e6c) Prepare v1.2.274.dev + +=== 1.2.273 (2015.02.05) === + + * (6ca6206) v1.2.273 + * (5b33567) emit_series will also output a search without parenthetical (year, country). refs #2900 + * (145dbc6) Prepare v1.2.273.dev + +=== 1.2.272 (2015.02.02) === + + * (9c4ccbe) v1.2.272 + * (1ff72d0) Let seen_movies also filter on trakt_movie_id + * (6cd417e) Allow 'local' mode for seen_movies + * (f69d137) Allow 'local' mode for seen_info_hash Convert seen plugin family to use schema instead of validator + * (d338315) Prepare v1.2.272.dev + +=== 1.2.271 (2015.01.30) === + + * (0fcbb19) v1.2.271 + * (607907f) Fix a crash with guessit series parser + * (cd59c7a) trakt_list now adds year to series names trakt_list uses show ids rather than episode ids for eps split trakt_id field into trakt_show_id, trakt_movie_id and trakt_episode_id + * (99e6a1a) Prepare v1.2.271.dev + +=== 1.2.270 (2015.01.29) === + + * (60ceee3) v1.2.270 + * (fecc4ed) go through all entries instead of exiting after the first one + * (4d81b89) Make hide_sparse_files false by default for deluge + * (440e201) Prepare v1.2.270.dev + +=== 1.2.269 (2015.01.26) === + + * (aa19b5f) v1.2.269 + * (481e105) Merge pull request #436 from Toilal/bootstrap-update[[BR]] + Bootstrap update + * (c669983) Update bootstrap.py with latest virtualenv + * (7366d70) Add virtualenv to jenkins-requirements.txt for paver bootstrap to work + * (945cd52) Allow 3 digit episodes for series begin (SXXEYYY) + * (5ee161f) Add itorrents.org to torrent_cache plugin + * (2b465b4) Prepare v1.2.269.dev + +=== 1.2.268 (2015.01.23) === + + * (d009d3d) v1.2.268 + * (494f2a4) Stop crash during exit for certain commands. + * (9135514) Prepare v1.2.268.dev + +=== 1.2.267 (2015.01.23) === + + * (4bf25c3) v1.2.267 + * (97a1633) Clean up daemon shutdown: Stops scheduler from adding to the queue once shutdown has been requested. Adds better log message for 'daemon stop' command. + * (7d61ce5) Prepare v1.2.267.dev + +=== 1.2.266 (2015.01.19) === + + * (ab56d1b) v1.2.266 + * (bc377a1) Allow secrets plugin to run on dict keys + * (868872e) Fix 'database reset-plugin' cli command. fix #2877 + * (2c998d9) Tweak backlog cli command a bit + * (d347dc9) Add cli command for viewing/clearing backlog + * (7c9ce2e) Prepare v1.2.266.dev + +=== 1.2.265 (2015.01.18) === + + * (7627943) v1.2.265 + * (6ead356) Merge pull request #435 from Lugoues/disable_crash_fix[[BR]] + Fix disable plugin crash when interval not met. + * (f87e164) fixed an issue with disabled.py where it would crash if the interval was not yet met + * (026ff0b) Fix unit test crash from manager.crash_report + * (511330c) Fix some bugs with lazy setting of fields by set plugin. + * (d9d3111) Don't make crash reports for unit tests. + * (f0b8317) Merge pull request #433 from Flexget/crash_reports[[BR]] + Separate crash report logs. fix #2876 + * (d4fe516) Simplify exception handling in task_queue + * (44bc4df) Add manager.crash_report to write last debug log and traceback to separate log files + * (385786b) Merge pull request #420 from Ram-Z/exits_movies[[BR]] + Scan for files and dirs, and allow different qualities. + * (4047e89) Fix variable name.[[BR]] + Oops + * (e5ba9c8) Update documentation + * (18d3d19) Add unit test for lookup: imdb + * (4a44a4b) Change syntax to lookup: imdb + * (23b40c5) use pattern to exclude dirs + * (2945b42) use path.py + * (a76b603) precompile pattern + * (d27b97a) Scan for files and dirs, and allow different qualities. + * (663ad17) Prepare v1.2.265.dev + +=== 1.2.264 (2015.01.17) === + + * (e96fef1) v1.2.264 + * (6e78dba) Add log message when daemon shutdown requested. + * (ba7ef17) Fix issue with emit_series outputting duplicates in some cases + * (cb66e2b) Improve emit_series tests to expose some issues with backfill combined with series begin + * (5993008) Let trakt_list fill series_name field for show type list items + * (d9d62b0) Prepare v1.2.264.dev + +=== 1.2.263 (2015.01.15) === + + * (cbdf069) v1.2.263 + * (9371824) Hide DeprecationWarning. Show internal ones when using a dev version. fix #2870 + * (563e5e8) Remember tail plugin position per task. fix #2874 + * (bcce7e9) make sure the request exception has a response object + * (064a0c7) Merge pull request #431 from cvium/trakt_error_messages[[BR]] + separate authentication and regular http errors in trakt + * (28d614c) separate validation and regular http errors + * (650daaa) warn about empty folders when emitting queue + * (dfaad2d) Remove input caching for tail plugin. + * (5894656) Fix specifying exec arguments with inject cli command. + * (ac4cd7a) Prepare v1.2.263.dev + +=== 1.2.262 (2015.01.14) === + + * (f8761ef) v1.2.262 + * (51c304e) Merge pull request #427 from cvium/develop[[BR]] + handle disappearing folders (eg. samba shares) in listdir + * (12a4598) changed log message + * (08fb5f5) handle disappearing folders (eg. samba shares) + * (b2fa5cb) Stop replacing dashes in trakt slugs. + * (6cf01e2) Merge pull request #424 from grasdal/develop[[BR]] + trakt_emit: fixed parsing error for getting show data + * (a0d48f4) trakt_emit: fixed parsing error for getting show data[[BR]] + See example of json response data from[[BR]] + http://docs.trakt.apiary.io/#reference/users/watched/get-watched[[BR]] + Previous Flexget code was looking for a "type"-attribute that is no longer available in the response. + * (d85eecd) Merge pull request #430 from Flexget/lazy_set[[BR]] + Refactor set plugin to render templates lazily. + * (0f8c15b) Set plugin won't make non-jinja templates lazy. + * (574ef5e) Fix comment typo. + * (f0b240c) Refactor set plugin to render templates lazily. + * (6cdaa0e) normalize location path so already queued items can be updated + * (1b0091f) Prepare v1.2.262.dev + +=== 1.2.261 (2015.01.13) ^[wiki:UpgradeActions#a2015.1.121.2.261 upgrade actions]^ === + + * (6248c4a) v1.2.261 + * (3381cb4) Merge pull request #429 from blastcodem/patch-4[[BR]] + Fix 503 Internal Error with urlrewrite_torrentleech when Char : is in the title. + * (d8199d6) Update urlrewrite_torrentleech.py[[BR]] + Fix 503 Internal Error when Char : is in the title. + * (72c45e6) Add basic test for `series list` cli command. + * (9e12abf) Combine disable_builtins and disable_plugin into disable plugin. + * (31bedb9) Prepare v1.2.261.dev + +=== 1.2.260 (2015.01.12) === + + * (e519a86) v1.2.260 + * (5758a0c) Fix default loglevel when sending commands to daemon. + * (da1b722) Fix loglevel sometimes not being set and causing crash. fix #2849 + * (b91f956) Ensure turning off retry_failed plugin totally turns it off. + * (a516a55) fix duplicate entries in queue and small changes + * (895733f) Prepare v1.2.260.dev + +=== 1.2.259 (2015.01.12) === + + * (0f1345a) v1.2.259 + * (0c801c2) Fix accidential deletion from last argparse commit + * (bb4a99e) Fix custom cli commands to work with latest argparse change + * (cdebffa) Merge pull request #422 from Flexget/digest[[BR]] + Digest plugin. refs #1366 + * (fade1f7) Add some more tests for digest plugin + * (3083dcc) Fix digest plugin unit test + * (b560bf1) Merge branch 'develop' into digest + * (c901d4c) Fix problems with cli arg parsing. (daemon loglevel issues) + * (13a3297) Change how specific task loglevel changing works. Fix up subparser defaults overriding parser action defaults. + * (7534f15) Change (fix) how nested namespaces work with our argparse customization + * (89be2fd) Prepare v1.2.259.dev + +=== 1.2.258 (2015.01.11) === + + * (7229a90) v1.2.258 + * (770f242) Merge pull request #423 from sideeffffect/develop[[BR]] + Pass on the hide_sparse_files and keep_subs options + * (25b49b2) Pass on the hide_sparse_files and keep_subs options + * (333395e) Merge pull request #425 from cvium/develop[[BR]] + handle pluginerrors in configure_series + * (b55fee3) catch plugin errors to avoid task aborts + * (b1a09b7) fix subtitle_queue tests + * (1ce6d75) Prepare v1.2.258.dev + +=== 1.2.257 (2015.01.10) === + + * (2dfd33e) v1.2.257 + * (0eff479) Update trakt testing url + * (02396d7) temporarily remove failing tests + * (0d132ee) Merge remote-tracking branch 'upstream/develop' into udevelop + * (1430b08) Fix trakt_list crash when there is no title for item. + * (277e9f3) better approximation of directory name in queue, and handle upper case file extensions + * (fce5304) fixed missing entry field and queue now handles multi-file torrents + * (acfa0e2) fix bug from last commit + * (c0e9c2d) fix unhandled error, pep8 and do not delete from queue in the first 24 hours when file does not exist + * (56d2758) Prepare v1.2.257.dev + +=== 1.2.256 (2015.01.09) === + + * (2e38e60) v1.2.256 + * (f0e5c6b) Fix bug in last emit_series commit. + * (181574d) Make sure emit_series only emits next episode when backfill is off. + * (ef9128a) Add test to make sure backlog isn't emitted from emit_series when backfill is off + * (c0f01d3) Don't error on warnings during unit tests anymore + * (5443cee) Add basic test for digest plugin + * (6ada38f) Change default email template to support digest + * (891a911) Fix up 'limit' and 'expire' options for digest plugin. + * (842d20e) Start working on digest expire options. + * (4371b21) Don't overwrite existing task field with metainfo_task plugin. + * (0e2bd32) Initial digest plugin implementation. + * (7505443) Merge pull request #394 from cvium/subtitlequeue_v2[[BR]] + subtitle queue + * (7c77ee6) fix entries not marked as downloaded and add more robust subtitle checking + * (dd19d37) fix bug introduced in last commit + * (2e94b21) really fix the bug and some session changes + * (d7c32fa) fixed a dict bug + * (7afa347) some cleaning up + * (f3828aa) change missing_subtitles to subtitles_missing + * (be0d393) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2 + * (8613af9) Merge branch 'subtitlequeue_v2' of http://github.com/cvium/Flexget into subtitlequeue_v2 + * (faac0de) set downloaded field if no missing subs, delete from queue if both paths do not exist + * (1f0c6ef) set field in entry 'missing_subtitles' + * (90756e0) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2 + * (a6917e6) fixed merge conflicts + * (0bf08b1) changed tests to accommodate new config schema + * (1d244a3) fixed some unhandled exceptions, changed json schema + * (26974f4) fixed queueing of accepted entries + * (2e8b363) fixed nonetype + * (9349fe8) some refactoring, no more task aborts + * (75f0217) skip subliminal test if subliminal is not installed + * (b47e5d6) unix file system is case sensitive + * (fc4b5fe) slight change + * (6bf1c37) subliminal requires absolute paths + * (7bf248e) set literals not in python2.6 + * (20568bc) added a new test that uses subliminal + * (81d45b6) fixed some bugs (unicode and dict key missing) + * (74d98ec) fixed a bug in the test + * (4883b54) more refactoring, fixed some bugs in alternate_path and location handling + * (d840350) added mock torrent tests + * (f670e90) refactoring, no more downloading + * (b0de634) more tests + * (c915669) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2 + * (f35dc29) pep8, use utils/bittorrent, some refactoring + * (6b4e382) entry langs override config langs + * (9b51c10) use unicode() instead of __str__() + * (f04448a) bandaid fix for uniqueness constraints and some other changes + * (e8faa46) added another test for language uniqueness, emit test fails + * (a510938) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2 + * (9b72da5) https://gist.github.com/darkrho/1126793 + * (97e70a5) fixed bugs and changed some logic + * (010dc13) added simple tests for subtitle_queue + * (0fc1527) beta draft of subtitle_queue + * (a3d8ae2) fixed set/list error + * (71cfcb9) fixed pep8 compliance and prepared subliminal for subtitle_queue + * (a56f172) Prepare v1.2.256.dev + +=== 1.2.255 (2015.01.08) === + + * (d26c59e) v1.2.255 + * (95fe35c) Merge pull request #414 from Ram-Z/plugin-path[[BR]] + Search for plugins in config_base + * (1f5989b) Don't use mutable default argument + * (dd21b84) Search for plugins in config_base[[BR]] + instead of the hardcoded ~/.flexget/plugins. This effectively allows to[[BR]] + put plugins in $XDG_CONFIG_HOME/flexget/plugins. + * (f66ea82) Merge pull request #417 from Ram-Z/inject-fields[[BR]] + Set entry fields when injecting. fix #2845 + * (96b2a45) Set entry fields when injecting. fix #2845 + * (4c661d2) Make sure manual tasks don't run when --tasks * is used. fix #2830 + * (52c3f30) Prepare v1.2.255.dev + +=== 1.2.254 (2015.01.07) === + + * (12976e9) v1.2.254 + * (fc85826) Merge pull request #416 from programatix/patch-1[[BR]] + Update scheduler.py to ignore certain pytz errors. + * (36bfd5a) Update scheduler.py[[BR]] + Removed parenthesis. + * (6d9d8ae) Update scheduler.py[[BR]] + Updated exception handling using new catch syntax. + * (e026fcc) Update scheduler.py + * (09ac32e) Update scheduler.py[[BR]] + Added struct.error exception handling + * (8ea0460) Update scheduler.py[[BR]] + Catch all type of exception instead of just pytz.UnknownTimeZoneError + * (655cd6e) Better logging of simple persistence flushes Only flushes taskless simple persistence after tasks when in daemon mode + * (f3084f2) Catch network errors from rapidpush plugin. refs #2833 + * (8ddc90f) Update cpasbien search for new search api. + * (2d1c540) Merge branch 'search_api_update' into develop + * (08ee521) Convert search_rss to use task session + * (5a2261c) Convert btn and kat search to use task session + * (6fb4e4b) Update some search plugins to take task argument. + * (0acb0df) Update search api to take task as an argument. + * (e0dd388) Stop replacing underscore in trakt slugs. + * (2ea84c2) Pushover sound default changed, now goes to client default really. + * (b02ca49) Add missing dependency apscheduler to rtd-requirements.txt + * (43a0fc8) Prepare v1.2.254.dev + +=== 1.2.253 (2015.01.06) === + + * (c56ab3b) v1.2.253 + * (751a249) Fix database cleanup crash. + * (1924e28) Prepare v1.2.253.dev + +=== 1.2.252 (2015.01.06) === + + * (3c5a27a) v1.2.252 + * (7bb8ccc) Count ftp_download as an output plugin. fix #2757 + * (bc6e685) Make sure template and include plugins run before all other plugins. refs #2830 + * (571313a) Make db upgrade system use single database session. refs #2838 + * (b9502fc) Fix db locked error when upgrading series plugin database. fix #2838 + * (c6f3747) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop + * (8248571) Prepare v1.2.252.dev + +=== 1.2.251 (2015.01.05) === + + * (beed92f) v1.2.251 + * (3fc959b) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop + * (5f657a6) Merge pull request #413 from Flexget/simple_per_update[[BR]] + Switch simple persistence to load/flush from/to db outside task runs fix #2820, #2672, #2835 + * (fe3f267) Make sure simple persistence flushes taskless key/values on shutdown Fix bug in simple persistence task loading + * (fdc6f47) Only load simple persistence values from db the first time a task is run + * (3016652) Make simple persistence load task values before task runs refs #2820, #2762 Add a cleanup method to simple persistence to delete values from removed tasks + * (a23f2d9) Make manager.db_cleanup event pass manager instance Add task.execute.started event Make sure task.execute.completed event only runs once when task reruns + * (b829f96) Add a docstring to simple persistence Make sure newly added values are stored to db + * (4c82773) Implement db flushing for simple persistence + * (1070f44) Start switching simple_persistence away from immediate db writes + * (cbc95aa) Prepare v1.2.251.dev + +=== 1.2.250 (2015.01.05) === + + * (95c0158) v1.2.250 + * (4967df4) Merge pull request #406 from Flexget/emit_series_cleanup[[BR]] + Change how emit_series tries on reruns. fix #2826 + * (b430529) Merge branch 'develop' into emit_series_cleanup[[BR]] + Conflicts:[[BR]] + flexget/plugins/input/emit_series.py + * (66d59a4) Switch to session context manager in api_tvdb + * (fcf383c) Switch input cache away from task.session + * (5b6b264) Fix typo, hvec -> hevc + * (58b7cc3) Add hvec as alias for h265 + * (1c9dd84) Add h265 codec to quality parser + * (d43f458) Prepare v1.2.250.dev + +=== 1.2.249 (2015.01.04) === + + * (6c071d0) v1.2.249 + * (de32f33) Remove debug sqlalchemy hook which is no longer needed + * (2a4c45e) Switch away from task.session in several plugins + * (857f645) Make sure log_once uses already open session from imdb_lookup + * (994f966) Convert log_once to use with_session helper + * (dce7902) Fix trakt_list for collection and watched lists. + * (80cf715) Merge pull request #411 from cvium/subliminal[[BR]] + fixed attribute error when downloading subtitles for movies + * (9a3e6f5) fixed attribute error when downloading subtitles for movies + * (40211bd) Merge pull request #412 from cvium/guessit[[BR]] + Don't let guessit parser set global guessit options fix #2775 + * (ad41573) set default settings inside the parserguessit object instead of globally + * (2a88b86) Prepare v1.2.249.dev + +=== 1.2.248 (2015.01.03) === + + * (a160d46) v1.2.248 + * (d6d47c5) Make sure a db session isn't open when series plugin calls 'set' plugin. refs #2828 + * (ee61602) Update trakt_list test cassette to https + * (6deffbc) Switch trakt api to use https + * (2fced04) Prevent blank series name bug with trakt_emit. + * (ef5b57a) Switch from task.session to session context manager in emit_series + * (244ec69) Fix advancement to next season in emit_series cleanup branch + * (af1caa5) Change how emit_series tries on reruns + * (8d3a474) Prevent crash when giving ambiguous arguments to delete movie from queue + * (7a8080f) Fix a crash with trakt_list when it gets an item without a title. + * (1f7d9f5) Prepare v1.2.248.dev + +=== 1.2.247 (2015.01.02) ^[wiki:UpgradeActions#a2015.1.11.2.247 upgrade actions]^ === + + * (b515edd) v1.2.247 + * (a506e95) Merge pull request #409 from Flexget/trakt_v2[[BR]] + Update trakt_list, trakt_emit, and trakt_add/remove plugins to the v2 api + * (c55ab41) Get trakt_emit working on trakt v2 api + * (ce7dd23) Make a helper to construct trakt api endpoint urls. + * (bec5256) Switch trakt_list test to use vcr + * (e86c926) Switch trakt to production site. + * (455da98) Fix trakt_slug setting for movies in trakt_list + * (1abefb4) Work a bit more on trakt_emit v2 + * (57f4e0e) Merge branch 'develop' into trakt_v2 + * (80be126) Populate a few more fields with trakt_list. Give eps proper urls. + * (83632ff) Update trakt_add/trakt_remove to trakt v2 + * (5380868) Start updating trakt_emit for trakt v2 + * (46463c5) Separate some common trakt functions to separate file + * (81c88cd) Initial implementation of trakt api v2 in trakt_list + * (217668b) Merge pull request #402 from kasperj/develop[[BR]] + update URL on language match only + * (f752137) Update urlrewrite_serienjunkies.py + * (b566663) update URL on language match only[[BR]] + The URL will only be updated if the language matches the requirements + * (d349f74) Update urlrewrite_serienjunkies.py + * (948cc28) Allow skipping of guessit roman numeral test. + * (f4291bf) Merge pull request #286 from Lugoues/dequeue_movie[[BR]] + combine queue_movies into movie_queue, add remove functionality + * (c972873) Fix movie_queue unit test again + * (b58cbe3) Add 'forget' action to movie_queue plugin. + * (0e8d64c) Fix a couple things and unit tests for movie_queue refactor + * (97a76aa) Merge branch 'dequeue_movie' of https://github.com/Lugoues/Flexget into new_movie_queue + * (97deff3) Update test_movie_queue.py + * (db37b1d) added unit tests for movie_queue accept/add/remove + * (7d78d1b) pep8 + * (91fb2f8) remove deprecated queue_movie plugin + * (836e7d0) removed dequeue_movie plugin and updated movie_queue to support accept/add/remove + * (b5dbffc) added dequeue_movie plugin + * (fe6a73a) Prepare v1.2.247.dev + +=== 1.2.246 (2015.01.01) === + + * (05d4634) v1.2.246 + * (f2e4618) Merge pull request #401 from grrr2/develop[[BR]] + Update plugin_transmission.py to fix #2804 + * (122b21f) Update plugin_transmission.py + * (a5d8018) Update plugin_transmission.py to fix bug #2804[[BR]] + Try to fix bug #2804 by making RPC client object re-initiated for every task rather then doing it once for whole plugin. + * (1a21705) Prepare v1.2.246.dev + +=== 1.2.245 (2014.12.31) === + + * (e258fd2) v1.2.245 + * (6a8824a) Use current session when series plugin adds to backlog. refs #2829 + * (d64c527) Fix db locking issue with thetvdb_favorites. fix #2827 + * (f4b3e37) Prepare v1.2.245.dev + +=== 1.2.244 (2014.12.30) === + + * (2624eba) v1.2.244 + * (4b26031) Stop using task.session in discover plugin. refs #2825 + * (dc1398c) Merge pull request #408 from Bop4yN/develop[[BR]] + Added url_title parameter to PushOver plugin. Use 'urltitle' to setup your own title for url. + * (960e29c) Added url_title parameter to pushover plugin + * (f4ccb0c) Merge pull request #407 from calvin/develop[[BR]] + Fixes for send_email plugin, hmac only works with `str` type in Python 2 + * (5d3750b) hmac only works with `str` type in Python 2[[BR]] + See also http://bugs.python.org/issue5285 + * (7dd1871) Prepare v1.2.244.dev + +=== 1.2.243 (2014.12.29) === + + * (a7d00c1) v1.2.243 + * (860e618) Merge pull request #393 from xfouloux/develop[[BR]] + add search_cpasbien.py for tracker cpasbien.pe fix #2801 + * (65c9a9b) updated plugins/search_cpasbien.py for join to work and modified according to dl link changes on the tracker. + * (19777d4) posixpath.join utilisation, and sanitize to use only single quotes + * (a66cdda) modified to have the all category + * (b192a71) did some change to update flexget doc cpasbien + * (c8491cb) changed for set literal again + * (02a7b38) changed set literal + * (e35ea46) fixed some indent errors in search_cpasbien.py + * (e66af59) changed pep8 indent as flexget supports 120 char per lines + * (20453b3) pep8 ok for urlrewrite_frenchtorrentdb.py + * (379e3be) pep8 indent ok for search_cpasbien.py + * (f7aa56d) modified urlrewrite_frenchtorrentdb.py now you get the message according to the right issue when the rewriter can't get the torrent file. + * (b1c3ab7) add search_cpasbien.py for tracker cpasbien.pe + * (1d214ab) Prepare v1.2.243.dev + +=== 1.2.242 (2014.12.28) === + + * (bfdf488) v1.2.242 + * (be88951) UrlRewriter nyaa now supports new categories, default changed.[[BR]] + - anime eng (new default)[[BR]] + - anime raw[[BR]] + - anime non-eng + * (4b045d6) Merge pull request #404 from Konubinix/develop[[BR]] + Add an urlrewriter for the koreus site + * (52d1ceb) Add an urlrewriter for the koreus site[[BR]] + It was copied/pasted from the urlrewrite_deadfrog.py file and adapted.[[BR]] + It rewrite the url from the koreus rss entry to the download url from the[[BR]] + download page. + * (d289db9) Merge pull request #403 from Flexget/nullpool[[BR]] + Test if using a NullPool for db connections helps db issues. + * (3d41e83) Test if using a NullPool for db connections helps db issues. + * (db1cf26) Prepare v1.2.242.dev + +=== 1.2.241 (2014.12.27) === + + * (d7ca9b6) v1.2.241 + * (2f7bc45) Make sure --discover-now is not activated on reruns. + * (8abf2d7) Don't forget identified_by when forgetting an episode if begin episode is set. + * (993d565) Reduce verbosity on emit_series reruns. + * (b373cb2) Plugin --dump now can now be instructed to dump only title field. + * (4caebb5) Quiet down emit_series log about non seq/ep based shows on reruns. + * (e4d5b92) Add some debug messages to explain emit_series reruns. + * (45a9cae) Merge pull request #405 from asm0dey/fix_rutracker[[BR]] + Fix rutracker plugin + * (5a7e269) Update plugin_rutracker.py[[BR]] + Removed itertools + * (4431d02) Update plugin_rutracker.py + * (16c40d6) Update plugin_rutracker.py + * (9cc926f) Prepare v1.2.241.dev + +=== 1.2.240 (2014.12.25) === + + * (9c2bcab) v1.2.240 + * (aff0e86) Hide rpyc messages if we aren't running with debug logging. fix #2798 + * (157a49e) Attempt to recover after database errors. refs #2820, #2762 + * (e676bca) Prepare v1.2.240.dev + +=== 1.2.239 (2014.12.20) === + + * (730e13d) v1.2.239 + * (9c8427f) Log error instead of crashing when search_rss has invalid template + * (73947d5) Prepare v1.2.239.dev + +=== 1.2.238 (2014.12.19) === + + * (cdc284e) v1.2.238 + * (f460460) Merge pull request #395 from kasperj/develop[[BR]] + changed logging again + * (925d2b9) Update urlrewrite_serienjunkies.py[[BR]] + Travis CI should pass now + * (2efe2d1) changed Logging again[[BR]] + The changes i made a couple of days ago, are spamming logs even more then before, should be fixed with this update + * (56cdd05) Merge pull request #400 from cvium/develop[[BR]] + fixed keyerror in subliminal plugin + * (3dcdc10) fixed keyerror by forcing languages on config, also pep8 fixes + * (3a01bd7) Merge pull request #396 from kecksk0enig/develop[[BR]] + fix broken clean_transmission plugin for seeding only torrent. fix #2803 + * (0b217ea) clean up big elsif mess + * (42a93e4) Also remove seeding-only torrent after given timeframe + * (79836c5) fix broken clean_transmission plugin for seeding only torrent see #2803 + * (99dcd02) Prepare v1.2.238.dev + +=== 1.2.237 (2014.12.16) === + + * (95a6aed) v1.2.237 + * (5d6f349) Update tpb domain + * (fd9d6ff) Update kat search plugin domain + * (5f1dd09) Fix issue with urlrewrite_redirect in unit tests from last commit + * (2cd300e) Allow multiple redirects in urlrewrite redirect. Prevent url being set to fragment with urlrewrite redirect. fix #2815 + * (2ef45d6) Allow overriding of different (non-container) types in merge tool. fix #2814 + * (da79dfa) Prepare v1.2.237.dev + +=== 1.2.236 (2014.12.14) === + + * (8d8d1fa) v1.2.236 + * (56fe0da) Fix bug in last urlrewrite commit + * (affe8fc) Make sure urlrewrite plugin only affects tasks it is configured in. fix #2812 + * (2023f8f) Fix crash when urlrewrite is configured to allow infinite rewriting + * (34dbc96) Prepare v1.2.236.dev + +=== 1.2.235 (2014.12.13) === + + * (5817493) v1.2.235 + * (d02f1d4) verify_ssl_certificates now runs after include plugin. fix #2800 + * (b3de5c9) Prepare v1.2.235.dev + +=== 1.2.234 (2014.12.09) === + + * (b5e5013) v1.2.234 + * (353cbd5) Fix --test sending executions to live daemon when running + * (9e36359) Show usage for correct command when invalid arguments given + * (2543d16) Fix --help not showing plugin options. fix #2807 + * (5a5f769) Refactor filling of content_files field for torrents to be separate than content_filter plugin + * (2c9c6ad) Prepare v1.2.234.dev + +=== 1.2.233 (2014.12.09) === + + * (06a1c34) v1.2.233 + * (5b5ebff) Merge pull request #385 from kasperj/develop[[BR]] + Update urlrewrite_serienjunkies.py + * (9e29d38) Update urlrewrite_serienjunkies.py[[BR]] + Changed language RegEx, language error is send to urlrewriter, so it doesn't spam logs + * (070fb20) Update urlrewrite_serienjunkies.py[[BR]] + english language fixed, debug message added + * (0250c35) Fix timeframe calculations when assume_quality plugin is used. fix #2797 + * (ac4893c) Prepare v1.2.233.dev + +=== 1.2.232 (2014.12.08) === + + * (5ece527) v1.2.232 + * (5eec1dc) Prevent some crashes from secrets plugin when trying to render non-secrets jinja + * (0357e48) Prepare v1.2.232.dev + +=== 1.2.231 (2014.12.06) === + + * (439c172) v1.2.231 + * (074c9bb) Try to reduce spamminess of rerun log messages a bit + * (e4173f0) Prepare v1.2.231.dev + +=== 1.2.230 (2014.12.02) === + + * (9c32854) v1.2.230 + * (373c95d) Fix inject cli command. fix #2795 + * (3c3f1f3) Tweak log message about tasks reamining to execute. refs #2798 + * (78c262e) Fix parser errors going to client instead of daemon + * (72b5477) Add debug message when ipc runs a command for client + * (91ea43e) Only log ipc exit codes when they are non-zero + * (8038772) Fix --help and --version options when connected to daemon + * (009a46a) Add ability to specify file-like to output parser messages to + * (744a8df) Fix `schedules: no` turning off scheduler + * (6dada08) Prepare v1.2.230.dev + +=== 1.2.229 (2014.12.01) === + + * (3a737e3) v1.2.229 + * (1eeb9ef) Merge pull request #390 from vincentbernat/fix/qualities-aac-priority[[BR]] + qualities: rank aac lower than ac3 + * (3413fb9) qualities: rank aac lower than ac3[[BR]] + When the audio track is encoded with AAC, it is not uncommon for it to[[BR]] + be stereo only. On the other hand, the DD5.1 tag usually translates to[[BR]] + an AC3 audio track.[[BR]] + Therefore, rank an AAC encoded audio track below a DD5.1 audio track. + * (7dce196) Merge pull request #391 from vbabiy/720p50[[BR]] + Add support for 720p50 + * (27f756a) Add support for 720p50 + * (80aa940) Prepare v1.2.229.dev + +=== 1.2.228 (2014.11.30) === + + * (43e3d59) v1.2.228 + * (d52c02d) Delete of alphe version of plugin_plex + * (c987214) Added TODOs + * (0929894) Initial commit of new plex plugin. + * (02d4468) Prepare v1.2.228.dev + +=== 1.2.227 (2014.11.25) === + + * (db6c89c) v1.2.227 + * (2cf423d) Update kickass domain for kat search plugin kat search plugin now tries next search on failure instead of aborting + * (f668d34) Change qualities tests so that guessit mismatches are skipped and logged, not failed + * (467b3c8) Prepare v1.2.227.dev + +=== 1.2.226 (2014.11.23) === + + * (961a3c2) v1.2.226 + * (95ac517) Some cleanups to commands using manager.execute events + * (0e05b16) Fix many debug options to execute command to work when sending to daemon + * (daad63b) Improve Manager.start and handle_cli documentation + * (e9f8ff8) Strip out some unneeded locking code. Document Manager initialization better. + * (ad6341d) Return root logger level to default when changed by capture_output context manager + * (4d2fba2) Fix logging formatter on python 2.6 + * (35f072d) Switch 'setting loglevel' messages to verbose log. + * (c8f0fb1) Prepare v1.2.226.dev + +=== 1.2.225 (2014.11.22) === + + * (d2efdac) v1.2.225 + * (d4a0aca) Fix unit tests for config validation change + * (066606b) Change before_config_validate event so that it can run on not currently active configs Fix 'flexget check' on running daemon with secrets plugin + * (213e067) Allow events to modify argument before passing it to next handler + * (e6a8abf) Fix 'check' command for running daemon + * (ed06234) Properly report config errors on manager startup + * (8caa25d) Fix an error with last commit + * (f30e4fd) Make remote streamer for ipc allow both str and unicode + * (1cd575f) Fix non-built-in commands + * (238708f) Prepare v1.2.225.dev + +=== 1.2.224 (2014.11.22) ^[wiki:UpgradeActions#a2014.11.221.2.224 upgrade actions]^ === + + * (bf752fb) v1.2.224 + * (609dde7) Merge pull request #379 from Flexget/cli-daemon[[BR]] + Refactor client/daemon architecture:[[BR]] + - Second process doesn't load db/plugins/config[[BR]] + - All commands are proxied to running daemon[[BR]] + - Multiple execute commands can now queue into eachother[[BR]] + - --cron now a base flexget option (goes before 'execute') + * (8d22b95) Switch some plugins to use console method instead of print + * (efaf872) Remove Tee helper + * (8a0aa4e) Move all output redirection logic into logger module. Get output redirecting to proper stream via ipc. + * (8a48036) Make execute command wait for tasks to finish (without --cron) + * (f840cf9) CLI commands now sent to running daemon without loading plugins/config/db (still a bit more work/cleanup to do) + * (83b2193) Refactor logging capture to better handle threads + * (aaf7369) Fix last commit for python 2.6 + * (8d8c1de) Refactor how contextual information is added to log records a bit. Prepare for adding command information to log records. + * (40097c7) Move --cron option to root level instead of execute command + * (f8cef65) Convert retry_failed to do its own rejecting instead of using remember_rejected + * (08ec260) Fix --dump showing failed entries + * (3de11b0) Convert backlog plugin to do its own db session management (drop task.session) + * (1195eb5) Make mock plugin generated urls constant per title. + * (2e75764) Merge pull request #386 from camon/develop[[BR]] + Fix language code prob and add extra config options to subliminal plugin + * (0dc2cef) Updated name variables and cleaned up a bit[[BR]] + Updated name variables and cleaned up the code that fixes[[BR]] + subtitles_subliminal plugin + * (7316709) Fix language code prob and add extra config options[[BR]] + There was a problem with Language codes, e.g. pt-BR was not supported.[[BR]] + Subliminal already supports this by using IETF codes[[BR]] + Added two extra options (that are not mandatory off course):[[BR]] + providers - allows to chose specific providers that are used for[[BR]] + subliminal to download subtitles[[BR]] + single - allows to download subtitles in single mode (no language code[[BR]] + added to subtitle filename) + * (01e0947) Merge pull request #377 from cvium/develop[[BR]] + Store series alternate_name in db[[BR]] + Use alternate_name in emit_series. fix #2530, #2588 + * (7fbc35f) changed alt_name_lower column to alt_name_normalized + * (046e2da) added db unit-test and made other tests clearer + * (6fe0262) removed table edit + * (2087007) added unit-test for duplicate alternate names + * (29c1e89) raise pluginerror if duplicate alternames across multiple series + * (5a57468) Merge remote-tracking branch 'upstream/develop' into develop + * (856cc92) Prepare v1.2.224.dev + +=== 1.2.223 (2014.11.22) === + + * (e5587ea) v1.2.223 + * (33b36ce) Merge pull request #382 from cvium/subliminal[[BR]] + subtitles_subliminal.py + * (408e947) actually save subtitles next to files + * (c5d1ed0) Merge pull request #383 from tnwhitwell/develop[[BR]] + Preventing AttributeError: object has no attribute 'title', BUG #2786 + * (8821266) Changed warning to debug[[BR]] + -Removes some bloat from the log + * (240d6fa) Prevented AttributeError throwing more pythonly[[BR]] + throws warning if there is no title in first feed entry + * (5820177) Prevented throwing AttributeError if no title attr + * (f339d5a) Prepare v1.2.223.dev + +=== 1.2.222 (2014.11.20) === + + * (1278ccb) v1.2.222 + * (dd0cad7) Merge pull request #381 from blastcodem/patch-2[[BR]] + Update urlrewrite_redirect.py + * (37793ec) Update urlrewrite_redirect.py[[BR]] + not log in = redirect[[BR]] + logged in = not redirect[[BR]] + we need to check the headers logged in. + * (a6de2e9) More unit tests + * (b09975b) Moved alternate names extraction inside search_entry + * (9db657b) added unit tests for alternate names + * (dc62414) Some more cleaning up + * (5f287ed) Cleaned up a bit and added better uniqueness constraints (per series) and duplicate handling. + * (08bd7d4) added log debug + * (e3f46e7) Fetching alternatenames from database instead of config + * (3901a94) Added table for AlternateNames, which is referenced in Series + * (cf7c766) Fixed unhandled iteration on NoneType + * (c4ac887) Handling alternate_name in emit_series. + * (e329501) Fixed typo + * (2ac1b3b) Prepare v1.2.222.dev + +=== 1.2.221 (2014.11.17) === + + * (fa12e55) v1.2.221 + * (95e8edf) Fix crash in imdb_list with unexpected imdb page format. fix #2777 + * (efa220c) Improve imdb_list schema: - Don't require user_id when using a custom list - Better error messages for invalid list specifications + * (6d31981) Make sure series timeframe doesn't crash when no qualifying releases in db. fix #2779 + * (4ecbd1d) Make sure configured series are marked in database again. fix #2772 + * (4649412) Prepare v1.2.221.dev + +=== 1.2.220 (2014.11.13) === + + * (5faeec0) v1.2.220 + * (128c363) Merge pull request #376 from Flexget/quality_tweaks[[BR]] + Tweak quality parsing and interaction between series/quality/assume_quality plugins, fix #2748 + * (3ad0659) Some cleanups to assume_quality plugin + * (8e16c8d) Stop passing quality into series parsers Make series parsing run before metainfo quality plugin Make assume_quality run after all other quality parsing + * (335bf15) Some cleanups to secrets plugin + * (321bf59) Regexp plugin reports errors properly for invalid regexps with options defined. fix #2769 + * (e57ca00) Do not count plain 'web' as webdl quality. refs #2748 + * (c62489e) Prepare v1.2.220.dev + +=== 1.2.219 (2014.11.11) === + + * (7320ef5) v1.2.219 + * (3e945b1) Revert the prowl newline handling tweaks. They come through with proper yaml quoting. + * (20ce993) Make sure WAL mode is disabled on DB to prevent errors. refs #2749 + * (224aedd) Merge pull request #374 from wick2o/develop[[BR]] + Removed Fancy encoding for simple replace() + * (280d3f9) added utf encoding + * (b05a234) Prepare v1.2.219.dev + +=== 1.2.218 (2014.11.09) === + + * (6a5843a) v1.2.218 + * (b16b482) Merge pull request #373 from wick2o/develop[[BR]] + removed quote_plus in favore of quote + * (d3775bf) added utf encoding + * (1047b26) added utf encoding + * (2f73b1d) removed quote_plus in favore of quote + * (d9fb60b) Prepare v1.2.218.dev + +=== 1.2.217 (2014.11.09) === + + * (5a21352) v1.2.217 + * (f12c947) Fix frenchtorrentdb urlrewriter. fix #2652 + * (6d1803e) Stop sqlalchemy warning from series plugin when running with no tasks. fix #2539 + * (e3a1300) Fix transmission rename when file already exists. fix #2765 + * (a8396bb) Merge pull request #372 from wick2o/develop[[BR]] + adding \n support for prowl description + * (9481807) repaced replace() with urllib.quote_plus + * (d1f013e) adding \n support for prowl description + * (dfddd0f) Merge pull request #371 from wick2o/develop[[BR]] + adding \n support for prowl description + * (a601ebc) adding \n support for prowl description + * (d6ed8ee) Raise match requirement when comparing movies to imdb names. + * (390fbe5) Prepare v1.2.217.dev + +=== 1.2.216 (2014.11.09) === + + * (094fad7) v1.2.216 + * (b8b1c3d) Make sure plugin loading doesn't try to travers non-directories. + * (79a6317) Make sure imdb cache doesn't ever have negative expiration dates. fix #2759 + * (9f095c8) Fix scheduler when no system timezone at all is specified. fix #2741 + * (2bff7de) Prepare v1.2.216.dev + +=== 1.2.215 (2014.11.06) === + + * (4118e95) v1.2.215 + * (b71b423) Merge pull request #370 from hordurk/develop[[BR]] + Improved date parsing in RSS feeds + * (6ec898e) Improved date parsing in RSS feeds + * (87214d7) Catch ValueErrors from plugin imports. refs #2755 + * (c0340be) Prepare v1.2.215.dev + +=== 1.2.214 (2014.10.31) === + + * (5664ea2) v1.2.214 + * (121616e) Don't let parsing plugin touch other plugin instances too early refs #2754 + * (35d19c5) Fix bad traceback being printed for an rss debug statement + * (3bbc4d6) Prepare v1.2.214.dev + +=== 1.2.213 (2014.10.30) === + + * (1ac6703) v1.2.213 + * (f6cf7ef) Merge pull request #369 from Flexget/release_process_version_changes[[BR]] + Release process and versioning changes + * (71fff53) Stop including unit tests in our releases + * (7011fc5) Fix increment_version tool to handle versions without revision number properly Add some notes about versions and releases in _version.py + * (ee8a800) Clean up pavement.py + * (680ff8a) Clean up --version implementation a bit + * (e18592b) Remove references to {git} version number + * (2cf86bf) Refactor how pavement version management works some more + * (61e15a4) Move version number to its own file + * (14e1eb9) Start storing version number in source Redo some paver tasks to manage version number + * (ad22507) Add pep8 and flake8 defaults to setup.cfg + * (62e5988) Merge pull request #358 from malkavi/develop[[BR]] + Urlrewriter for anime-index.org + * (1769045) Simplify a lot the urlrewrite for anime-index + * (c7b5e0d) Merge pull request #2 from Flexget/develop[[BR]] + Don't have scheduler wait on jobs to finish when shutdown requested + * (cbdda7c) removed copy/paste line + * (47c38cd) Merge pull request #1 from Flexget/develop[[BR]] + Merge last changes + * (5871bf1) code cleaned + * (266cecc) First version of the urlrewriter for anime-index.org + * (3f9e6e0) Merge pull request #368 from nikdoof/develop[[BR]] + Add Cinemageddon rewrite plugin. + * (d0c65c2) Remove extra unneeded empty line. + * (527328b) Minor style/pep8 fixes for urlrewrite_cinemaggedon + * (4be1fcd) Add Cinemageddon rewrite plugin. + * (6c953eb) Another cleanup to search_rss + * (2470108) Make sure emit_series doesn't create duplicate search terms for sequence series + * (30b4c81) Fix search_rss plugin to handle multiple search terms properly + * (a329e31) Try another fix for scheduler timezones. refs #2741 + * (4d643d0) Remove some magic and start documenting the parsing api + * (81b5acb) Clean up some unneeded bits from series parser + * (0ab3ee0) Add some tests to validate modular parsing api + * (11f5b91) Merge pull request #367 from z00nx/develop[[BR]] + Updated notifymyandroid api url + * (8e2448d) Updated notifymyandroid api url The old notifymyandroid url no longer has a valid ssl certificate and also all notifymyandroid documentation no longer refer to the old url. + * (831901e) Simplify plugin loading to not use pkgutil + * (3f801f6) Merge pull request #366 from Flexget/parsing_cleanup[[BR]] + Modular parsing system simplification + * (265d6b1) Remove metainfo argument to guessit series parser + * (bd85125) Use guessit autodetect type for metainfo + * (273394a) Merge branch 'develop' into parsing_cleanup + * (5f5e101) Series parser now take name param optionally and guess if not given A bunch of cleanup to the new parser code + * (b5bf408) Prevent tests that run against guessit/internal parsers from running a third time + +=== 1.2.212 (2014.10.25) === + + * (53047b6) Disable caching in find plugin + +=== 1.2.211 (2014.10.24) === + + * (012b015) Fix imdb genres test + * (b4ebc83) IPTorrents code cleanup + * (95d52d6) Use python's html parser for IPT search plugin + * (3ef1619) TSH search plugin add option to filter between P2P and scene releases + * (6cda5d8) Actually fix problems with unknown timezones in scheduler. fix #2741 + * (b842318) Merge pull request #365 from geirgp/feature/imdb_filter_accept_genres[[BR]] + Added 'accept_genres' parameter to imdb plugin + * (c8a4eef) Added 'accept_genres' parameter to imdb plugin + * (d46dbe4) Fix urllib3 warning filtering on older versions of urllib3 + * (2c1dcdc) Merge pull request #364 from Flexget/vcrpy[[BR]] + VCR.py + * (f7e667f) Add test for imdb_lookup caching + * (7f0bbcc) use_vcr will pass cassette as argument into function Add 'off' mode for vcr + * (66e8274) Set vcr record mode to none for travis + * (4273ee9) Remove some unused imports + * (b0fe590) Add vcr.py to jenkins requirements + * (00061e2) Switch all online tests to use vcr.py + * (7620458) Add use_vcr decorator to test suite Refactor domain_delay handling so that it can be mocked away + * (b06d6ad) Remove some unused imports + +=== 1.2.210 (2014.10.22) === + + * (dd5de57) Merge pull request #363 from nikdoof/develop[[BR]] + Add additional Torrentz domains to url rewrite_torrentz + * (c70a0eb) Update Torrentz domains + * (a8b2b47) Fix imdb_lookup caching + * (b2f8e5b) Fix path.py dependency in rtd-requirements + * (55ccd1d) Don't have scheduler wait on jobs to finish when shutdown requested + +=== 1.2.209 (2014.10.20) === + + * (7f12e48) Tweak log language about tasks still executing when shutdown is called + * (bcd55a0) Merge pull request #351 from sideeffffect/develop[[BR]] + hide sparse files Deluge creates when main_file_only is set + * (605b5cc) hide sparse files Deluge creates when main_file_only is set + * (a191739) Fix crash when invalid config was given for cronlike schedule. fix #2742 + * (e8b8a1a) Merge pull request #356 from xetix/ftplist_patch[[BR]] + Ftplist patch + * (4bc96e8) Pep8-ized + * (e91c772) Better error handling + * (f74cce1) Added support to disable the size-check to speed up process if needed. + * (3d6b677) Fix for exception raised when issuing nlst on empty directories + * (2848e84) Merge pull request #361 from jawilson/pushbullet-links[[BR]] + Add support for pushbullet "Link" types with config specified URL + * (05bd67c) Add support for pushbullet "Link" types with config specified URL + * (7c5fd1f) Fix issue with updating local cache with tvdb info + * (03c507e) Make with_session decorator default sessions not expire_on_commit Should fix some DetachedInstanceErrors + * (65a026e) Scheduler stores times in UTC when local tz name cannot be determined. fix #2741 + * (1099f99) Some cleanups to trakt_lookup + * (5d661db) Fix trakt_lookup db session usage + * (d3378e6) Fix imdb language test for changed imdb data. + * (b80b222) Catch tvrage library crash. fix #2739 + * (e85cfc0) Cleanups in plugin_parsing + * (1190c21) Series plugin no longer tries to parse description field + +=== 1.2.208 (2014.10.15) === + + * (754bfbf) Merge pull request #357 from kabracity/patch-4[[BR]] + Update urlrewrite_divxatope + * (03d5e4e) Update urlrewrite_divxatope.py[[BR]] + Some changes to reflect format changes on divxatope + +=== 1.2.206 (2014.10.14) ^[wiki:UpgradeActions#a2014.10.141.2.206 upgrade actions]^ === + + * (35f7563) Merge pull request #343 from Flexget/apscheduler[[BR]] + replacing our scheduler with apscheduler + * (6e91391) Rename key for advanced schedules from 'cron' to 'schedule' in config + * (3c3d08e) Fix running of schedules that were due while daemon was offline + * (7c4b3b3) Ensure schedules not fired faster than they can finish with new scheduler + * (3b984ef) Fix plugin importing code on python 2.6 + * (97df321) Adjust apscheduler logging to be quieter unless we are at debug level Improve apscheduler debug messages to display tasks being scheduled + * (3bd865a) Fix running schedules with a single task listed in apscheduler + * (d00941f) Adjust plugin loading so plugins can still be imported by regular means + * (1a784a1) Implement (still a bit broken) adding of jobs to apscheduler + * (6a60ec7) Remove unneeded bit from cron schedule schema + * (dedcce3) Start work replacing our scheduler with apscheduler + +=== 1.2.205 (2014.10.13) === + + * (fc8a92d) Stop warning about invalid encoded filenames to avoid path.py bug refs #2704, #2719 + +=== 1.2.204 (2014.10.12) === + + * (efaa2cd) Let beautifulsoup do text decoding instead of requests in html plugin + +=== 1.2.203 (2014.10.11) === + + * (734c11c) Add --wait option to 'daemon stop' command, to wait for all tasks to finish task queue now logs how many tasks have to finish before shutdown + * (3165bb9) Improve output streaming from daemon to client process. refs #2721 + * (213c547) Switch task to use new capture_output context manager + * (5acd94f) Make a context manager to capture all output to a stream. + +=== 1.2.202 (2014.10.10) === + + * (eabd5cf) Merge pull request #353 from Flexget/session_changes[[BR]] + Cleanup usage of database sessions + * (be24334) Alter how api_tvrage does subqueries and session management. + * (603983f) Don't expire automatic created sessions for tvdb lookup_series + * (2b4cdfe) Fix some imdb online tests + * (c853584) Move commits in imdb_lookup to only store new data. + * (4ed35cc) Remove unneeded db commits from api_tmdb. Improve documentation for api_tmdb behavior. + * (049dcdd) Remove unneeded db commits from api_tvdb. Document api_tvdb lookup behavior. + * (300abf5) Allow specifying arguments for Session when using with_session decorator + * (82d5126) Remove unused import + * (53c4cd6) Improve --debug-db-sessions output + * (6f32ae8) Shorten transaction lengths in api_tvdb + * (a2064c8) Update api_tmdb to minimize transaction open time + * (2e7291c) Update imdb_lookup Session usage + * (deb4d16) fix error in log message + * (7821049) Simplify with_session definition + * (99eb72b) SimpleTaskPersistence now manages its own Session + * (b06aa81) Make session context manager close session as well as transaction Prevents any instances from session opening a new transaction + * (3a8b2b9) Stop using task.session in series plugin Split up long transaction into one per series + * (4408cea) Stop storing Release db instances on entries + * (bf999d1) Split imdb_lookup session usage into chunks to reduce open transaction time + * (2420c8b) Add another missing dep to RTD requirements file + * (79e2a17) Attempt to fix RTD builds + * (a4c6c25) Handle ctrl-c when executing task on remote daemon. fix #2727 + * (4b2bcfa) Make sure flexget arguments are always used as unicode. fix #2726 + * (077a5b6) Switch some usages of Session to new context manager support + * (ba5df2d) Make our db Session usable as a context manager + +=== 1.2.201 (2014.10.07) === + + * (0705fad) --debug-db-sessions now logs when a transaction will write to db + +=== 1.2.200 (2014.10.07) === + + * (572ebcb) Add --debug-db-sessions + +=== 1.2.199 (2014.10.05) === + + * (dac3c76) Don't let urlrewrite_redirect rewrite urls it can't handle + * (6dffda8) Don't log url rewritten message if url hasn't changed. Fix urlrewriting passing task to urlrewriters + +=== 1.2.198 (2014.10.05) === + + * (73a8a70) Merge pull request #349 from skasi7/newpct[[BR]] + Fixes newpct urlrewrite plugin + * (3094113) Fixes newpct urlrewrite plugin + * (6b662c0) Fix a bug with guessit series parser and manually specified name_regexps + * (7cd21de) Add a warning when locale declares filesystem encoding as ascii. refs #2719, #2704, #2643, #2631, #2623 + * (43024b7) Improve warning about no filters in a task. + * (7e9acd3) Fix bug in scan_imdb, fix #2722 + +=== 1.2.197 (2014.09.30) === + + * (0e4a61b) Fix setting loglevel on python 2.6 + * (35cbed0) Try to eliminate cases wher logging doesn't start properly. + * (ce8bbe4) Make manager init failure message print to stderr instead of stdout + * (7f20215) Make console logging go to stdout instead of stderr + * (6af769c) Error to console when failing to initialize manager, in case logging init failed + +=== 1.2.196 (2014.09.30) === + + * (84d8604) Ensure messages still logged to console when config file missing. Move sys.exit calls out of manager.py and into __init__.py + * (5facb01) Merge pull request #348 from kabracity/patch-4[[BR]] + update urwlrewrite_divxatope link handling + * (0f65266) update urwlrewrite_divxatope link handling[[BR]] + Update to reflect the new format for the links: "redirectlink" to identify the link and url without the "url" keyword. Backwards compatibility is maintained. + * (a874f1d) Merge pull request #347 from TomSpyCell/develop[[BR]] + Correct the entry field where size is saved in ftp_list + * (07fdc2a) Correct the entry field where size is saved + +=== 1.2.195 (2014.09.29) === + + * (c85a201) Error properly when content_filename is used with transmission <2.8 + * (8a76f95) Merge pull request #345 from crawln45/develop[[BR]] + Fix rendering content_filename in transmission plugin. Fix #2714 + * (1c30b3f) Fix rendering content_filename in transmission plugin. Fix #2714 + * (d37d4f6) Sceneaccess plugin: Add docstring for process_categories method, session persistence across searches + * (46864aa) Torrentshack plugin code cleanup, session persistence between searches, fix for unhandled exception when there was no category configured + +=== 1.2.194 (2014.09.28) === + + * (8a49567) Merge pull request #344 from TomSpyCell/develop[[BR]] + Several fixes to ftp_list plugin + * (3423e51) Format urls when spaces are present in directories name + * (09e044e) Workaround for the weird behaviour of nlst function when multiple subdirectories are used + * (b701dba) Fix size computation for folders when MLST is not supoorted + * (2ae5aa3) Add proper detection of folders + * (7e47c1e) Revert "Make __version__ specification PEP8 compliant"[[BR]] + This reverts commit f79a2adbdf11b86e5590b1d8c241e23ff9034d0c. + * (795be78) Make session persistent between searches fix download URL construction error + * (8863d55) PTN plugin: fix for data scraping; login session persistence between searches + * (1150a96) Increase timeout when waiting for a database lock refs #2699, #2693, #2686, #2360, #2409 + +=== 1.2.193 (2014.09.28) === + + * (58b4ce7) Merge pull request #342 from Flexget/per_plugin_sessions[[BR]] + Per plugin DB sessions[[BR]] + refs #2699, #2693, #2686, #2360, #2409 + * (6730bdc) Fix emit_series plugin for per plugin sessions + * (8ed805b) Fix remember_rejected plugin for per plugin sessions + * (f8beb52) Fix series plugin remembering accepted releases to database + * (52dec74) Change task.session to be commited per plugin instead of per task + * (f79a2ad) Make __version__ specification PEP8 compliant + * (885a5e1) Cleanup redundant request headers in various plugins + * (86a5b08) Default FlexGet useragent string. + * (4972493) Move __version__ declaration before imports + * (71dcf2e) Clean up metainfo_imdb_url plugin + * (a57d9d0) Rip out old imdb_url hack + * (207293a) PTN admins were suspicious of python-requests UA - let's identify ourselves properly. + +=== 1.2.192 (2014.09.25) === + + * (b2e5e23) check command now displays the path of config file it is checking + * (47b6b36) Couple more cleanups to logging setup + * (d133ac5) No need to set formatter on the log buffer handler + * (ce8de01) Make sure all log messages emitted before logging start are stored + * (576f4da) Move --cron back to execute option + * (aecb857) Simplify logging setup, make messages before manager init more reliable + +=== 1.2.191 (2014.09.23) === + + * (47409aa) Let log_once be used when there is no active manager + * (a2b18a4) Make sure internal parser warnings are not spammed to log + * (fa1d4f8) Stop using Thread.join in scheduler + * (41dc0df) Make sure scheduler can actually be shut down on python 2.6 fix #2705 + +=== 1.2.190 (2014.09.22) === + + * (6ce0f85) Merge pull request #341 from vkosh/develop[[BR]] + Fix log message args in exist_series + * (f714a78) Fix log message args in exist_series + +=== 1.2.189 (2014.09.20) === + + * (5ee3cce) Merge pull request #326 from Flexget/guessit[[BR]] + Add parsing plugin with choosable support for guessit + * (756b078) Make parsing logging debug level + * (aae6221) Clean up imports in parsing plugins + * (8d37a15) Change status __str__ + * (7a96e2a) Make travis build less verbose and set guessit logging to info + * (bccae21) Update guessit to 0.9.3 + * (01a79e2) Make more tests run against both guessit and internal parser + * (a200942) Add config_functions and tasks_functions to FlexGetBase (testing) + * (a71171a) Make parsing qualities same results with both parsers (with tests) + * (bd7eefd) Make movie parser tests run against both guessit and internal parser + * (cd284c6) Make sure default parser gets reset on task abort + * (0846bcb) Make series parser tests run against both guessit and internal parser + * (93abf7a) Make internal parser the default one + * (7647a8c) Reformat logging message + * (dce6c0d) Move docstring to good place + * (1efeeba) Fix custom parser configuration + * (6f5a25c) Make the parsers verbose + * (d9cf77d) Merge branch 'develop' into guessit[[BR]] + Conflicts:[[BR]] + pavement.py + * (6a7d1dd) Use guessit >= 0.9.2 + * (fc17624) Make plugin_parsing a bit more dynamic + * (d5f44a0) Better parsers validation + * (7da4c8a) Move common parser code to plugin + * (66cc91a) Move whole internal parser code to plugin + * (bbf2df7) Move whole guessit code to plugin + * (f9b734a) Move parsers and make default parser less hardcoded + * (e69c5d6) Add plugins parsing (builtin), parser_guessit and parser_internal. + * (ebfcde7) Merge branch 'develop' into guessit + * (ce209b8) Fix allow_groups option + * (89a20af) Update guessit to 0.9.1 + * (f8b7154) Merge branch 'develop' into guessit[[BR]] + Conflicts:[[BR]] + flexget/plugins/filter/exists_movie.py[[BR]] + flexget/plugins/filter/exists_series.py[[BR]] + pavement.py + * (3a9d923) Add guessit 0.9.0 dependency + * (e6ca7c4) Fix date options with latest guessit + * (b575159) Fix more unit tests for series parser + * (3383f1f) Fix unit tests for series parser + * (e5bee59) Change parser in seriesparser unit tests + * (467e0de) Fix strict_name option for guessit parser + * (6bc169b) Fix identifier_type option for guessit parser + * (9644bdb) Add strict_name option to guessit_parser + * (e9f6353) Remove useless and buggy parsed_name in guessit parser + * (5a1f8ab) Add prefer_specials option to guessit parser + * (085ead7) Fix HR resolution quality from guessit parser + * (a645bd7) Add assume_special option to guessit parser + * (eaa9a50) Add episode complete and pack validation + * (7482040) Add allow_seasonless option to guessit parser + * (fd6ab94) Add proper_count in guessit parser + * (3aa6dad) Add allow_groups option to guessit parser + * (19bd3fa) Add id_regexps support in guessit + * (f9636c7) Use guessit version property for proper_count implementation + * (8dd375b) Fix idiotic name support (with identified_by: ep) + * (e8e09be) Add name cleanup and parsed compare support + * (05bf924) Disable weak episodes transformer for name parsing + * (a509160) Append year to name for series + * (19441f0) Add episode_prefer_number option to guessit parser + * (3a2ff25) Fix name normalization for series metainfo + * (ffc122f) Add name validation to parser_common + * (fb12b50) Move series metainfo plugin to new parser API + * (1b56d5d) Move series filter plugin to new parser API + * (174a9dd) Add new parsing API + * (8fbc6e7) Remove SeriesParser from pogcal_acquired + * (8ac57b2) Fix ParserInternal to work for movies + * (f210372) Replace MovieParser by guessit + * (b11bedc) Add guessit parser and get_parser method + +=== 1.2.188 (2014.09.17) === + + * (c054b5c) Merge pull request #339 from fcharlier/transmission_check_seed_limits[[BR]] + Fix check_seed_limits for transmission plugin + * (dc44213) Fix check_seed_limits for transmission plugin[[BR]] + The comparison between torrent.seedRatioLimit and torrent.uploadRatio[[BR]] + is inverted when checking against the torrent's own seed ratio limit. + * (3d34bbf) Merge pull request #338 from crawln45/develop[[BR]] + Fix RenderError Crash make_html + * (c3f905a) Raise PluginError and log RenderError on make_html + * (5679512) Added try block to make_html to catch RenderErrors + * (beda57a) Don't let queue_movies fail items because they were already downloaded + +=== 1.2.187 (2014.09.16) === + + * (067d398) Don't let redirect urlrewriter go online in unit tests. + * (deff8ff) Add a urlrewriter for urls that redirect. fix #2702 + * (139d0b0) Make sure download plugin replaces % escapes if making filename from url. fix #2683 + * (d940abd) Fix an emit_series debug message + +=== 1.2.186 (2014.09.13) === + + * (3447ceb) Don't join scheduler thread while waiting for it to exit. + +=== 1.2.185 (2014.09.13) === + + * (929048d) Make sure scheduler thread shuts down cleanly. + +=== 1.2.184 (2014.09.12) === + + * (8998028) Fix column type for storing schedule trigger ids. + +=== 1.2.183 (2014.09.11) === + + * (d6f322f) Revert "Try switching to NullPool to solve database locked issues. refs #2360, #2686"[[BR]] + This reverts commit 756e05d4c1215a6e3785cbde2df8c64998732ae0. + * (941f4a1) Catch timeouts in form login plugin. fix #2700 + * (756e05d) Try switching to NullPool to solve database locked issues. refs #2360, #2686 + * (4e4c333) Revert "Enable sqlite WAL to try to solve database locked problems." refs #2699 This reverts commit e2c118e32866605abb96bafd5dd7a5f0d1e53863. + +=== 1.2.182 (2014.09.09) === + + * (f4307c4) Fix plex plugin error introduced a few versions ago. refs #2697 + * (921c275) Relax pushover url validation so that jinja works properly. + * (e714dd9) Clarify bootstrap.py requirements in readme a bit. + * (a100877) Fix api_tvdb on python 2.6. fix #2695 + +=== 1.2.181 (2014.09.08) === + + * (94266cb) Actually set different user agent in torrentz plugin + * (2ed2d2c) Set different user agent in torrentz plugin. fix #2677, #2678 Improve error messages for torrentz search + * (45f5cf5) Make errors from search plugins in discover log to error log + * (2c86cd8) Disallow requests 2.4.0 in requirements. fixes #2690, #2684 + * (4eca7a3) Fix docstring indentation + * (d2da5d3) Merge pull request #318 from blastcodem/patch-1[[BR]] + url_rewrite_torrent411 -> Discover+RSS with login + * (fb0159a) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] + fixed :) + * (be20d97) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] + copy / paste junk + * (fae6f7a) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] + Missing S + * (469503e) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] + First Fixes.. still need to fix re.compile. + * (7512d87) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] + Sorry for double post.. I had to remove a line.. so here it is.. I had time to test it a bit and seems to work nicely![[BR]] + It will login only once a day. It will store the login info to the database for 1day[[BR]] + it will search in the html.[[BR]] + download files with login info..[[BR]] + all categories, sub-catogories are supported.[[BR]] + the rss is supported with login info.. works nicely.[[BR]] + formated with pep8 -> only some lines are too longs.[[BR]] + Thks! + +=== 1.2.180 (2014.09.08) === + + * (147327f) Fix debugging with pydevd (Eclipse, Intellij and PyCharm at least) + * (933eb87) Fix root level email configuration + * (09055c0) Fix torrent_alive crash when not configured in dict form + * (3f941e0) Fix email plugin schema declaration + +=== 1.2.179 (2014.09.07) === + + * (86502f8) Cleanups for pushbullet plugin + * (00fba96) Fix pushbullet default device value. fix #2691 + * (c3c4345) Merge pull request #328 from Flexget/sqlite_wal[[BR]] + Enable sqlite WAL to try to solve database locked problems. + * (e2c118e) Enable sqlite WAL to try to solve database locked problems. refs #2409, #2360, #2686 + * (581da08) Add httmock as a testing dep Add an offline test for trakt_list + +=== 1.2.178 (2014.09.07) === + + * (817ee34) Merge pull request #332 from crawln45/plugin_repair[[BR]] + Plugin Fixes + * (e74125d) Plugin Fixes + +=== 1.2.177 (2014.09.07) ^[wiki:UpgradeActions#a2014.9.61.2.177 upgrade actions]^ === + + * (7c4de4c) Merge pull request #331 from crawln45/develop[[BR]] + Fix emit_movie_queue prepare_config + * (cd7bd89) Fix emit_movie_queue prepare_config + * (8531fa4) Merge pull request #330 from crawln45/develop[[BR]] + Fix plugins by reverting prepare_config + * (77f6593) Fix plugins by reverting prepare_config + * (d739756) Add namespace declaration in test/rss.xml + * (63eba70) Merge pull request #329 from crawln45/develop[[BR]] + Plugin schema update 1 + * (d04316a) Plugin fixup + * (5121886) Update 2 Plugin Schema + * (532e372) Plugin Schema update 1 + * (f0fe9c4) Catch TMDBErrors on tmdb lookup to prevent aborts. fix #2689 + +=== 1.2.176 (2014.09.05) === + + * (dfa991c) Merge pull request #327 from crawln45/develop[[BR]] + Converting plugins to schema type validator + * (f359206) Converting plugins to schema type validator + * (8d6aca2) Make sure lockfile errors happen before daemonizing. refs #2688 + +=== 1.2.175 (2014.09.04) === + + * (72c49eb) Attempt to recover if scheduler thread crashes. refs #2686 + * (bf7f39b) custom fields are sanitized properly for feedparser in rss plugin + +=== 1.2.174 (2014.09.04) === + + * (f7953fd) Merge pull request #325 from crawln45/develop[[BR]] + Add instructions for bootstrap.py in docs + * (3295691) Fixed rst markup to show correctly + * (75dec22) Adding more bootstrap.py instructions + * (87a91a0) Added instruction to bootstrap.py in docs + * (ee2a1e4) Allow 4 digit seasons in config for 'begin' setting in series. refs #2197 + * (eb6573f) pep8ify all imports in core files + * (4389351) Remove unused import from scheduler + +=== 1.2.173 (2014.09.02) === + + * (5d59b7c) Merge pull request #322 from vbabiy/custom-virtualenv-readme[[BR]] + Updated readme, to explain how to get flexget in a custom virtualenv. + * (088cb00) Update quoting. + * (ebb79a2) Updated readme, to explain how to get flexget in a custom virtualenv without using bootstrap. + * (586b4fb) Merge pull request #323 from vbabiy/paver-upgrade[[BR]] + Upgrader paver and virtualenv version for bootstrap.py + * (b6854cc) Upgrader paver to 1.2.3 + * (3bfec75) Merge pull request #324 from X-dark/develop[[BR]] + [FIX] netrc is a valid key for plugin transmission + * (4936266) [FIX] netrc is a valid key for plugin transmission[[BR]] + This fix the netrc key not being recognized after the ec1c113d commit. + +=== 1.2.172 (2014.08.30) === + + * (52383cd) Make sure any exceptions in task_queue thread are logged + * (fcef4ff) Make sure any exceptions in scheduler thread are logged + * (90c97e6) Make scheduler restartability less hacky + * (56a9acf) Remove unused imports from download plugin + * (2abc5eb) Fall back to entry title when jinja render fails in make_rss + * (9087f5a) make_rss handles rendering errors for the title properly + * (be60dfb) Merge pull request #317 from thomasleveil/torrent-cache-zoink.it[[BR]] + [magnet] add zoink.it to list of torrent caches + * (a683140) [magnet] add zoink.it to list of torrent caches[[BR]] + See gh-316 + * (f35bfda) Merge pull request #315 from thomasleveil/download-better-err-msg[[BR]] + [download] improve error message + * (7d1ab08) [download] improve error message[[BR]] + while give[[BR]] + ```[[BR]] + 2014-08-30 12:24 INFO download bt-chat.com Downloading: Bering.Sea.Gold.Under.the.Ice.S03E02.480p.HDTV.x264-mSD[[BR]] + 2014-08-30 12:24 WARNING download bt-chat.com RequestException [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, while downloading https://torcache.net/torrent/C28D6A86369E095B7D3509D4C86C0BC09286995B.torrent[[BR]] + ```[[BR]] + instead of[[BR]] + ```[[BR]] + 2014-08-30 12:30 INFO download bt-chat.com Downloading: Bering.Sea.Gold.Under.the.Ice.S03E02.480p.HDTV.x264-mSD[[BR]] + 2014-08-30 12:30 WARNING download bt-chat.com RequestException [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed[[BR]] + ``` + +=== 1.2.171 (2014.08.30) === + + * (bcd2552) torrentshack TLD change + +=== 1.2.170 (2014.08.28) ^[wiki:UpgradeActions#a2014.8.281.2.170 upgrade actions]^ === + + * (9b06295) Make webui launchable again. (though still not work properly) + * (0433837) Fix unicode handling in listdir. + * (5e67450) Let requests handle url encoding in download plugin. refs #2676 Remove some urllib code from download plugin. + * (1806694) Fix unicode handling in exists_movie. + * (7584c31) Fix unicode handling in exists. + * (8b9cdef) Fix unicode handling in exists_series. Fix #1462 + * (6adc85a) Oops, remove some leftover code. + * (5db72e4) Fix find plugin when some filenames aren't decodable. + * (83cf489) Switch to path.py for path handling in find plugin + +=== 1.2.169 (2014.08.28) === + + * (1ec1578) Make sure scheduler error about interval length isn't spammed + * (5256c91) Switch the hashing for scheduler triggers. All schedules will fire on the first run after this upgrade. + * (005eda0) Ensure tasks are marked as finished no matter what refs #2672 + +=== 1.2.168 (2014.08.26) === + + * (c67bc46) Make sure we close our database sessions in a couple places refs #2672 + * (429f5fb) Remove some unused imports + +=== 1.2.167 (2014.08.26) === + + * (0685ed9) Some cleanups and error message improvements to trakt plugin + +=== 1.2.166 (2014.08.24) === + + * (a1382a4) Turn off scheduler when no schedules defined. + * (2018736) Clean up scheduler event hooks Fix ability to restart scheduler + * (3146c8d) Merge branch 'daemon_plugins' into develop + * (bb4e2bd) Make scheduler loadable/unloadable on config change + * (4b76484) Change singleton pattern a bit, split it into tools + * (a353cfa) Fix warning about __new__ not taking arguments + * (3c04dfc) Change scheduler into a plugin. + * (5ba2f3b) Make sure error messages about --tasks are shown to ipc client fix #2667 + +=== 1.2.165 (2014.08.21) === + + * (5567f06) Reduced rapidpush log level. + +=== 1.2.164 (2014.08.19) === + + * (1d98604) Merge pull request #311 from nielsenj/transbt[[BR]] + Many fixes and feature additions + * (6c3958d) Updates torrent start to do fewer queries. + * (ec1c113) Many fixes and feature additions + * (da95864) Use SIZE command to retrieve content-size when MLST is not supported + * (0780d6e) Add content-size to ftp_list produced entries + * (b92d36a) Add files-only and recursive option to ftp_list + * (0662ab1) Add proper encoding support to ftp_list + +=== 1.2.163 (2014.08.17) === + + * (6918bc5) Missing title in exception handler. + +=== 1.2.162 (2014.08.15) === + + * (4290f32) Fix for unlikely authentication error. + * (28c4d4b) Merge pull request #309 from Flexget/manager_refactor2[[BR]] + Move task execution out of scheduler + * (9a93e58) Move scheduler starting back to webui code. + * (da71d58) Fix ipc checking for tasks already in the queue. + * (5c1df90) Move BufferQueue to tools + * (b7f63ab) Move task execution to own thread to handle signals/ctrl-c gracefully + * (fbd9fe6) Fix some references to removed scheduler.execute + * (d842780) Refactor task queue and execution to be in manager Strip down scheduler to just queue executions + * (383f2e9) Move Tee class to utils + * (98bd70b) Remove `Job` class, merge the important bits of it straight to `Task` + * (b7692d5) Actually fix imdb_list with movies with no date. + * (f448440) Merge pull request #249 from tarzasai/config_secrets[[BR]] + Configuration secrets + * (6f7fc3f) manager.py fixed + * (add52f0) Plugin mode + * (3b2e5c8) Configuration secrets[[BR]] + As discussed in http://flexget.com/ticket/2523 + +=== 1.2.161 (2014.08.14) === + + * (58262a3) Merge pull request #310 from dj-nitehawk/develop[[BR]] + Make imdb_list not assume the number of movies on a page is 250 + * (e61d3c0) make imdb_list not assume the number of movies on a page is 250[[BR]] + issue discussed here:[[BR]] + - http://flexget.com/ticket/2663#comment:8 + +=== 1.2.160 (2014.08.13) === + + * (0741201) Make sure loglevels don't get touched when not needed. refs #2660 + +=== 1.2.159 (2014.08.12) === + + * (02751fa) Switch imdb_list to html5lib parsing and hack it to work + * (63951b6) Prevent imdb_list from crashing on movies with no year + * (6e57a24) Merge pull request #307 from Pretagonist/patch-1[[BR]] + Added keep_extension option, default true + * (660fadf) Added keep_extension option, default true[[BR]] + Sometimes it's desirable to be able to change a files extension with move plugin + +=== 1.2.158 (2014.08.12) === + + * (2423f7a) Merge pull request #306 from dj-nitehawk/develop[[BR]] + imdb_list import from HTML page instead RSS feed + * (f221aa3) new and improved imdb_list plugin completed + * (147912f) imdb_list improvements to include imdb_year + * (8d5c038) imdb_list finalized + * (539ccee) imdb_list with multipage html parsing super powers[[BR]] + this will parse all pages of a given imdb list without the 250 entry[[BR]] + limit of rss. + * (b79ef50) html parsing for imdb_list import with multipage support[[BR]] + html parsing with multipage support for imdb lists. no more 250 entries[[BR]] + limit of RSS. + * (821176f) auto fallback to html parsing if rss failed for imdb_list import[[BR]] + when the imdb watchlist page returns html (as at 11/8/2014) instead of a[[BR]] + valid rss feed, imdb_list will now automatically parse that html for[[BR]] + entries. will go back to rss when the feed corrects itself without any[[BR]] + need for flexget config changes. + * (0e9927c) imdb_list import from HTML page instead RSS feed[[BR]] + imdb watchlist rss feed is broken right now and can't be sure when and[[BR]] + if it will be back up. this will now parse the html page for movies and[[BR]] + create entries. + * (34e861f) Raise loglevel for message about changing loglevel. Try something else to troubleshoot ref #2660 + * (da05d18) Merge pull request #304 from nanulf/develop[[BR]] + Add content_filename to transmission plugin. + * (c600ec0) Add content_filename to transmission plugin.[[BR]] + Add content_filename to transmission plugin, mimics the behavior of deluge plugin.[[BR]] + Tested with:[[BR]] + -Transmission 2.84[[BR]] + -TransmissionRPC 0.11 + +=== 1.2.157 (2014.08.10) === + + * (93f4d9b) Fix for kat searches sometimes failing[[BR]] + For example when search query contains `-`, Kat strips it and redirects to a new search URL with HTTP return code 301.[[BR]] + This is probably better way to fix than hardcoding any acceptable characters. + +=== 1.2.156 (2014.08.09) === + + * (6cd162e) Add a log message when changing log verbosity. refs #2660 + +=== 1.2.155 (2014.08.04) === + + * (0bcc083) Fix some issues with nyaa search + +=== 1.2.154 (2014.08.04) === + + * (6129f77) Merge pull request #298 from mirilex/patch-2[[BR]] + Update emit_series.py + * (4242255) Update emit_series.py[[BR]] + Sequences are documented with leading zeros, but emit_series does not emit any of those. + +=== 1.2.153 (2014.08.01) === + + * (4297dd9) Merge commit '4ee26f6701a422f974ba1fe85f3e4015de17474f' + * (4ee26f6) Merge pull request #300 from tarzasai/transmission_activitydate[[BR]] + Int field used instead of datetime. fix #2658 + * (1997be7) Int field used instead of datetime + +=== 1.2.152 (2014.07.31) === + + * (81deb18) Merge commit 'b779ed6c9b19decfb215e8162923d72c31b5cbbb' + * (b779ed6) Log error when bad data from tvdb. refs #2657 + * (3a67f01) Better error handling for bad tvdb data. fix #2657 + * (6fbae76) Fix make_rss pubDate values. fix #2656 + +=== 1.2.151 (2014.07.28) === + + * (37cc773) Merge commit '9651543d25ace9330a3c2ae470ce91f327f8076d' + * (9651543) Add support for text dates to series plugin. e.g. 1st may 2014 + * (0b90465) Fix exec auto_escape option. fix #2529 + * (fdf02dc) Prevent crash in imdb_list if no status from feedparser. fix #2621 + * (7281c37) pep8 + * (8b3eb9c) --stop-waiting normalizes series name. fix #2624 + +=== 1.2.150 (2014.07.27) === + + * (152ca29) Merge commit '774dd237b4524c5a0f8f7e47273396287b72734c' + * (774dd23) Merge pull request #296 from nielsenj/trmajor[[BR]] + Added support for only downloading main file and optional subs + * (540c921) Fixed a few PEP problems and added other subtitles. + * (bf2b840) Only modify selected files if we find a main file. If addpaused is not defined use client defaults + * (8109b76) Fixes camelCase + * (aa183be) Added support for only downloading main file and optional subs + +=== 1.2.149 (2014.07.26) === + + * (eca46e4) Merge commit '8d8fd488fd4c129926c220f77de2cb60c2a8cbf0' + * (8d8fd48) Remove need for separate --loglevel for execute + * (efbe05d) Allow loglevel set per execution + +=== 1.2.148 (2014.07.23) === + + * (0b692ed) Merge commit 'd1d33525b23c38701bb70dbc20b359306206cd9f' + * (d1d3352) Better tvrage error handling. refs #2648 + * (0a730da) Fix est_released crash with invalid movie_year. fix #2637 + +=== 1.2.147 (2014.07.20) === + + * (15c9980) Merge commit 'd53e59b75e81abff0f794b723e1c9df76f6d8f39' + * (d53e59b) Merge pull request #297 from mirilex/patch-1[[BR]] + Updates urlrewrite_torrentz + * (913846e) Update urlrewrite_torrentz.py[[BR]] + search tries to get the wrong field "search_string" instead of "search_strings" + +=== 1.2.146 (2014.07.15) === + + * (0e3fd19) Merge commit '21489ba3ead1864dc65d05026b8810ec210b0e13' + * (21489ba) Merge pull request #292 from albel727/develop[[BR]] + Prevent some episode numbers from being treated as quality + * (da20558) Prevent some episode numbers from being treated as quality + +=== 1.2.145 (2014.07.14) === + + * (4426b89) Merge commit '7a51a5593aff01c47b7436cb50f3ee9d2a5d0b46' + * (7a51a55) Merge pull request #294 from kabracity/patch-3[[BR]] + urlrewrite_newpct.py torrent ID update + * (5d84350) urlrewrite_newpct.py torrent ID update[[BR]] + Added support for new torrent ID format detection ('id' : '<id>' instead of torrentID: '<id>'). Backwards compatibility maintained for links using the old format. + * (8cb82b6) Merge pull request #293 from immenz/develop[[BR]] + Fixed folder setting with PyLoad + * (dd888fc) update pyload.py folder looks if SET PATH is given in Entry and chose it over given folder config. This enables setting folder for each entry separately. (maybe reverse: folder setting over path setting) + * (049f537) update pyload.py Added possibility to change pyload folder dynamicly with jinja support + * (c655c55) Update pyload.py This fixes #2451 http://flexget.com/ticket/2451 (Pyload raises Internal API Error when adding Links with folder set) + +=== 1.2.144 (2014.07.13) === + + * (a4e7a88) Merge pull request #277 from kabracity/patch-1[[BR]] + Update to reflect inclusion of newpct1 domain + * (04b80e0) Update to reflect inclusion of newpct1 domain[[BR]] + - Detect newpct1 url as re-writable.[[BR]] + - Switched to regular expressions to simplify.[[BR]] + - Minor logic changes to save code. + +=== 1.2.143 (2014.07.07) === + + * (1bc8ac3) Merge pull request #290 from wakemaster39/fix_clean_transmission[[BR]] + Fixed clean transmission plugin torrent removal logic. + * (fd8be4f) Update plugin_transmission.py[[BR]] + Fixed a missing bracket causing the internal limits always to allow torrent removal. + * (39f47e5) Merge pull request #288 from exscriber/develop[[BR]] + plex plugin additions + * (a9ce52c) Update plex.py[[BR]] + change 'strip_non_alpha' option to except apostrophes (') + * (3fbc9f1) Revert da1156e..54d4e5b[[BR]] + This rolls back to commit da1156e4ce52b6047915a24a5743cbcc6d44d54c. + * (54d4e5b) Update plex.py[[BR]] + can be like this, but python regex smart enough to divide range '-' char from literal '-' without escape. + * (da1156e) Update plex.py + * (87d7757) Update plex.py + * (ba81c36) plex plugin additions[[BR]] + new option for non-latin letters in title[[BR]] + new generalized option for stripping all parens + +=== 1.2.142 (2014.06.27) === + + * (d0922ec) Merge commit 'b8c2f083132c20587708af291a21ddfb2935693b' + * (b8c2f08) To not append the extension to directory name[[BR]] + About http://flexget.com/ticket/2633 + +=== 1.2.141 (2014.06.24) === + + * (645dab3) Merge commit 'b7878a4a9f6d68bb169c355686b02a6079d128f2' + * (b7878a4) Merge pull request #260 from tarzasai/file_operations[[BR]] + Added plugins to copy and delete files + * (0507ba1) Missing spaces + * (db2f4db) Changes in error handling + * (f3b8e3b) Just a missing pathscrub + * (d93e585) Added plugins to copy and delete files[[BR]] + "move" has been updated too. + +=== 1.2.140 (2014.06.23) === + + * (b31be56) Merge commit 'e985871f6f97bbc2bb3b3e990c8bad7e753073d0' + * (e985871) Merge pull request #258 from tarzasai/fix_exists[[BR]] + A more reliable exists plugin + * (503fef3) A more reliable exists plugin[[BR]] + The plugin currently compares entries and files/folders by title, but[[BR]] + the entry title for a file usually doesn't include its extension, so is[[BR]] + pratically impossible rely on exists when task input is provided by[[BR]] + find, listdir and several other plugins. + * (0ca12de) Merge pull request #250 from explo910/patch-1[[BR]] + pyload plugin updates, fixes #2527 + * (c728eff) Update pyload.py[[BR]] + fixed http://flexget.com/ticket/2527 + * (3845c05) Merge pull request #280 from wicastchen/patch-2[[BR]] + fix a bug with 'file_exts' option in aria2 plugin + * (355b184) fix a bug with 'file_exts' option[[BR]] + torrent file won't be downloaded in default,because of a 'not'. + * (c7a0f08) Merge pull request #285 from kabracity/patch-2[[BR]] + update urlrewrite_newpct.py url + * (9606bf4) update urlrewrite_newpct.py url[[BR]] + Updated return link to reflect the new www.newpct1.com links. (old url was working but wrongly matching the tv shows) + +=== 1.2.139 (2014.06.23) === + + * (dda53b4) Merge pull request #279 from Shorny/master[[BR]] + FIX urlrewrite_torrentleech bug (NONE Type contents) + * (43db292) Get back function validate_config() webui need + * (1e59639b) FIX urlrewrite_torrentleech bug NONType contents[[BR]] + Add size Terabyte to size parser + +=== 1.2.138 (2014.06.18) === + + * (e14460e) Merge pull request #283 from BrainDamage/transmission_seed[[BR]] + Improvements to transmission plugin + * (85b042c) forgot to rename entry in option validator in transmission plugin + * (bb6238e) renamed transmission_seeds_limits config key to transmission_seed_limits, corrected pathc to comply pep8 + * (7ab3099) Edited the transmission plugin so that it can handle transmission internal limits for seed ratio and idle time, they are applied by default on the input plugin when onlycomplete is true, and optional in transmission_clean with transmission_seeds_limits + +=== 1.2.137 (2014.06.07) === + + * (50f75bd) Updated dnspython module name + +=== 1.2.136 (2014.05.27) === + + * (d4d87ed) Strip out categories from titles in imdb_list plugin. refs #2608 + * (2444a03) Escape some characters in series regexes, refs #2608 + * (b599986) Add category options to ptn plugin + +=== 1.2.135 (2014.05.27) === + + * (c1f0663) Remove reliance on manual cookie entry for ptn plugin. + * (8858a88) Fix issue with regexp plugin within if plugin. + +=== 1.2.134 (2014.05.25) === + + * (99b42bd) Fix PtN downloading. + * (8ba799b) Add a search plugin for PtN + +=== 1.2.133 (2014.05.24) === + + * (364a646) Don't mark btn as debug plugin + * (7b6cf14) Fix imdb tests + * (0f5e068) Merge pull request #259 from atabel/develop[[BR]] + Added urlrewrite for www.divxatope.com + * (8bb64fa) use flexget.utils.requests instead of urlopener + * (2a6d6d2) Added urlrewrite for www.divxatope.com + +=== 1.2.132 (2014.05.23) === + + * (9b43631) Don't validate path exists for transmission plugin. fix #2572 + * (2c3a4da) Merge remote-tracking branch 'origin/deluge_schema' into develop + * (87d8a19) Update deluge plugin to new config schema + * (8932a04) Fix crash with est_released_series. fix #2522 + +=== 1.2.131 (2014.05.21) === + + * (7cd9072) Fix issue with subliminal errors without messages + +=== 1.2.130 (2014.05.21) === + + * (d7398e4) Merge pull request #255 from tarzasai/content_bigfile[[BR]] + Filter torrents without a main file + * (a93c496) Filter torrents without a main file[[BR]] + An option in content_filter to reject multifile torrents without a file[[BR]] + at least 90% of total size. + * (a0b13a8) Merge pull request #262 from tarzasai/trakt_collected_lookup[[BR]] + A metainfo plugin for owned episodes + * (464d1d2) A metainfo plugin for owned episodes[[BR]] + Sets the trakt_in_collection flag for episodes found in the user library[[BR]] + (i.e. previously sent with trakt_add). + * (7a6584a) Don't break exec plugin on python 2.6 + * (56e416a) Make sure non-ascii output from commands does not crash exec plugin. fix #2599, #2366, #2203 + * (b0f9675) Switch torrentz search to use requests refs #2575 + * (49b41e5) Fix a crash in set_series_begin output plugin. + +=== 1.2.129 (2014.05.20) === + + * (1801d04) Fix log message when uTorrent path not authorized + * (689519e) Fix new_eps_after series helper. (fix episode behind notification in cli series list) + +=== 1.2.128 (2014.05.19) ^[wiki:UpgradeActions#a2014.5.191.2.128 upgrade actions]^ === + + * (3c0d13a) Handle corrupted lock files better fix #2566 + * (d889cc6) Make sure regexp_parse isn't sharing cache with text plugin + * (36698e3) regexp_parse now assumes local files are encoded in utf-8 refs #2584 + * (701b428) Revert "Revert "Merge pull request #171 from scottwallacesh/master""[[BR]] + This reverts commit 5c8d8170403b269e3bba525e31f3327714e55232.[[BR]] + Clean up imdb_list now that logging in is dead. + * (d04ce8e) Fix bug with numeric task names and --tasks. fix #2593 + * (99315e4) Monkey patch tvrage library to work around url change. fixes #2602, #2601, #2596, #2597 + +=== 1.2.127 (2014.05.02) === + + * (9e0f699) Added dnspython as plugin requirement[[BR]] + Without a dns module most systems will loop for minutes (or forever), trying to connect. + +=== 1.2.126 (2014.04.16) === + + * (22b78cf) Added virtualenv activation example in the documentation. + * (e088354) Merge pull request #257 from gandazgul/patch-2[[BR]] + Added a new option "delete_files: Boolean" to clean_transmission + * (2ca2641) Added a new option "delete_files: Boolean"[[BR]] + Added an option to clean_transmission "delete_files", by default is false. If set to yes it will remove the downloaded files as when removing torrents from transmission. Useful when files have already been copied and were just left behind to finish a seeding goal. + +=== 1.2.125 (2014.04.04) === + + * (98615b6) Fix deprecation warning + * (6d4e40e) Merge pull request #251 from tarzasai/tvdb_submit[[BR]] + Manage TVDB favorites + * (ea212d8) Manage TVDB favorites[[BR]] + 2 plugins to add and remove series from user's tvdb favorites. + * (7e63ce3) Merge pull request #253 from dj-nitehawk/develop[[BR]] + fix duplicate pushes with pushbullet + * (4fb8fb1) minor update to pushbullet plugin + * (a623054) properly fixed the multi device push duplication[[BR]] + by not specifying any device idens, the push will be sent to all devices[[BR]] + of the user. or the user can specify only the devices they want to[[BR]] + receive pushes on. + * (28512e9) fix for flexget sending duplicate pushes with pushbullet[[BR]] + issue described here:[[BR]] + http://discuss.flexget.com/t/pushbullet-plugin-sending-2-pushes-per-match/81 + +=== 1.2.124 (2014.04.02) === + + * (961b7aa) Fix deprecation warning + +=== 1.2.123 (2014.03.30) === + + * (4654abb) Merge branch 'whatcd_plugin' into develop + * (1eefbbc) Fixed schema formatting + * (a4a95aa) Enable specifying year as a non-string + +=== 1.2.122 (2014.03.29) === + + * (d4ff020) Merge pull request #242 from Flexget/whatcd_plugin[[BR]] + What.cd input plugin + * (b33d9a0) Reduce line-lengths to 120 or less + * (40d4820) Fix all PEP 8 errors except line length + * (5485c48) Improve invalid login detection + * (0ea1476) Made the User-Agent configurable + * (6baf196) Added some basic tests + * (f8e893a) Fix taglist + * (be49cf1) Added documentation + * (9781132) Change case of input parameters[[BR]] + This change can be stripped out if it would be better to leave them in[[BR]] + title case instead of lowercase (except acronyms and brnd names). + * (b936386) Fix case issue in params + * (4d1c9fa) Improve isinstance logic + * (c28fbc1) Fix boolean behaviour + * (0577779) Added support for the 'searchstr' parameter + * (bf6d1e5) Fixed boolean options not being correctly used + * (fadf15e) Fix paging logic + * (7b6ecd4) Add rate limiting + * (73f3906) Made dictionary comprehensions Python 2.6 compatible + * (2245aac) Fix schema + * (3250f9b) Add parsing of response + * (abace27) Change API parameters without a mapping to a list instead of a dict + * (73c0458) Changed config validation to use the schema property instead of the validator + * (046e4f0) Use PluginError instead of returning None + * (e913c80) First commit of a what.cd input plugin.[[BR]] + Nothing works except logging in and performing a search + +=== 1.2.121 (2014.03.27) === + + * (44f46ce) Merge pull request #245 from bepix/develop[[BR]] + Adding support for Jinja2 enabled specification of package names + * (94b5eb4) Added 'package' property with Jinja2 support.[[BR]] + The added property allows for setting indidivual package names.[[BR]] + Usage:[[BR]] + pyload:[[BR]] + api: xxx[[BR]] + username: xxx[[BR]] + password: xxx[[BR]] + parse_url: yes[[BR]] + queue: no[[BR]] + hoster:[[BR]] + - xxx[[BR]] + multiple_hoster: no[[BR]] + package: 'Series - {{series_name}} - {{series_id}}' + * (5c5fc35) Adding support for entry specific package names[[BR]] + This allows for a Jinja2 enabled specification of package names.[[BR]] + Usage:[[BR]] + pyload:[[BR]] + api: xxx[[BR]] + username: xxx[[BR]] + password: xxx[[BR]] + parse_url: yes[[BR]] + queue: no[[BR]] + hoster:[[BR]] + - xxx[[BR]] + multiple_hoster: no[[BR]] + set:[[BR]] + pyload_package: 'Series - {{series_name}} - {{series_id}}' + +=== 1.2.120 (2014.03.26) === + + * (5b546d3) Support for new sceneaccess section (nonscene releases) + +=== 1.2.119 (2014.03.22) === + + * (144e114) A bit faster + +=== 1.2.118 (2014.03.20) === + + * (df13c4c) Fix some false positives with series pack detection. fix #2521 + +=== 1.2.117 (2014.03.20) ^[wiki:UpgradeActions#a2014.3.201.2.117 upgrade actions]^ === + + * (8035038) Rename episode advancement to episode tracking. - rename --disable-advancement to --disable-tracking for CLI - remove `allow_backfill: yes` option in favor of 'tracking: backfill' + +=== 1.2.116 (2014.03.20) === + + * (538c605) Fix login issue for sceneaccess[[BR]] + Caused when user-agent header is absent + +=== 1.2.115 (2014.03.18) === + + * (f9bdc0b) Work on json api a bit + +=== 1.2.114 (2014.03.17) === + + * (2702066) Merge pull request #247 from thisirs/tvrage[[BR]] + Force tvrage lookups when no upcoming shows + * (6642706) Force tvrage lookups when no upcoming shows + +=== 1.2.113 (2014.03.16) === + + * (7c55066) Series parser will not override passed in quality. Fixes assume_quality plugin with series plugin + * (82e210d) Merge pull request #246 from thisirs/eztv[[BR]] + Use requests from task in eztv rewriter + * (2a49cdc) Use requests from task + * (73307b8) Merge pull request #238 from thisirs/short[[BR]] + Add url rewriter for shortened urls + * (6e02077) Add url rewriter for shortened urls + +=== 1.2.112 (2014.03.15) === + + * (e1667ec) Prevent ImportError from twitterfeed plugin + * (a04ba3f) Order ep shows properly in cli series util. fix #2512 + +=== 1.2.111 (2014.03.14) === + + * (9d95fc3) Merge pull request #241 from blastcodem/patch-2[[BR]] + Update urlrewrite_iptorrents.py + * (ebd6022) Update urlrewrite_iptorrents.py[[BR]] + nevermind[[BR]] + worked[[BR]] + No results from iptorrents: Page title unexpected: Could it be the login page?... + * (c88003d) Update urlrewrite_iptorrents.py[[BR]] + That did the trick for me. Is it how I should raise error? page title is different from logged in/not logged in + * (384e5f9) Merge pull request #243 from thisirs/eztv[[BR]] + Use find_all instead of just find to set attr urls + * (61db65e) Add url rewriter for eztv + * (839c19c) Merge pull request #235 from thisirs/develop[[BR]] + Add twitter feed plugin + * (274390a) Add twitterfeed plugin[[BR]] + Input plugin that tracks a twitter account for links + +=== 1.2.110 (2014.03.10) === + + * (0634fe4) Add sceneaccess and torrentshack search plugins. + +=== 1.2.109 (2014.03.09) === + + * (8c97bd9) Merge pull request #230 from JimShoe/master[[BR]] + Pushbullet send notifications to multiple devices + * (6015304) code formatting + * (9629f3b) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop + * (70f21ec) pushbullet can now send notifications to multiple devices + +=== 1.2.108 (2014.03.08) === + + * (31d2b56) Tweaks to iptorrents search fix #2495 - search uses + instead of %20 for spaces - prevent crash + +=== 1.2.107 (2014.03.07) === + + * (48a6c99) Fix possible case of emit_series doing multiple seasons without backfill + * (4ab2db0) Show series begin with `series show` CLI command + +=== 1.2.106 (2014.03.07) === + + * (5d7de5e) Prevent crash of emit_series when used in discover plugin + * (4cbb8b3) Remove wheel universal flag, add license-file to setup.cfg + +=== 1.2.105 (2014.03.06) === + + * (0b36d3b) Merge pull request #239 from blastcodem/patch-1[[BR]] + Add Iptorrents search plugin and urlrewriter + * (55210f8) Update urlrewrite_iptorrents.py[[BR]] + Some line size, the rest is too tricky to change tell me what you think thanks![[BR]] + Style pep8 is done + * (ba33b32) Update urlrewrite_iptorrents.py[[BR]] + Style Check. Still need to clean long lines + * (2051906) Update urlrewrite_iptorrents.py[[BR]] + removed cookiejar stuff + * (e92a9ac) IpTorrent url_rewrite for discover plugin[[BR]] + Hi! Here is my first of any open source project ever :). I just needed a private torrent site other than torrentleech because lately they lost half of their database. So I just took the torrentleech plugin and adapt it to iptorrents. Work super good for me! Just need rss key, uid, and pass from cookies and rss page. Hope you like it, i'm not a super scripter but It work good for me. [[BR]] + Thanks! + * (609b04d) Merge pull request #233 from nlf/backfill[[BR]] + Add series backfill support:[[BR]] + - Add allow_backfill option for series plugin[[BR]] + - Add backfill option for emit_series plugin + * (9390e81) dont keep trying to backfill on reruns that are season advancements + * (95256b3) test season advancement + * (0870c92) make sure were on latest season before trying to advance to next season + * (11cb5ad) check for latest_season before try_next_season so we dont do too much searching in backfill mode + * (5b42597) more emit_series tests + * (eb8bb1d) more tests + * (61cc2e8) clean up discover tests a tad + * (419d94d) add more emit_series tests + * (8236600) move backfill tests to their own method + * (4f1cd64) more meaningful test for backfill: yes + * (870f68f) add basic backfill test + * (16defd8) add allow_backfill test + * (f8ffd88) allow_backfill allows backward advancement + * (64c8733) restore SeriesTask query + * (75a6ee3) Merge branch 'develop' into backfill + * (ae25df3) Merge branch 'develop' into backfill + * (436e7ce) first pass at backfilling + * (a4df46d) Merge pull request #236 from tarzasai/trakt_submit_types[[BR]] + Wrong type for entries with no series_name fix #2488 + * (591e271) Wrong type for entries with no series_name + * (2955fe4) Merge pull request #237 from thisirs/eztv[[BR]] + Add url rewriter for eztv + * (c7987bd) Add url rewriter for eztv + +=== 1.2.104 (2014.03.04) === + + * (1d8492a) Merge pull request #234 from tarzasai/protect_imdb_id[[BR]] + Protect imdb_id field from rottentomatoes_lookup + * (0414c6c) Protect imdb_id field from rottentomatoes_lookup[[BR]] + If the alternate_ids list in rottentomatoes_lookup's movie object does[[BR]] + not contains a valid imdb_id, the plugin assign it to None on target[[BR]] + entry, eventually clearing a real value. + +=== 1.2.103 (2014.03.01) === + + * (051ff36) revert 653f67d... Merge pull request #226 from Flexget/subtasks + * (fd38205) Add a (currently failing) test for emit_series with discover + * (653f67d) Merge pull request #226 from Flexget/subtasks[[BR]] + Subtasks! + * (64d6cc9) Make inputs plugin run using subtasks + * (2070cc1) make_subtask helper now accepts an options dict + * (10dbd07) Make if plugin pass through requests session + * (4aabe30) Add a discover test using new subtask functionality + * (d4780b0) Allow passing requests session into new Task Make a helper for creating subtasks + * (8bae8ee) Make crossmatch just run one task for inputs Config format change, crossmatch/from now take a dict + * (77e1025) Convert discover plugin to running a subtask Config format change, discover/what now take a dict + * (4a6d8ef) Make a way to pass an already made session into a Task + * (9671b9f) Convert if plugin to running subtask + * (a14bb3a) crossmatch and configure_series to use auto_accept task option + * (c6c1b5b) Make accept_all plugin control task auto_accept option + * (2a829a1) Add auto_accept option to task + * (e2f7e60) Improve only_new test + * (245f7e6) Convert crossmatch to run subtasks + * (e552a70) Add a test for crossmatch + * (5bee64a) Test item filtering in subtask Automatically accept_all if no filter plugins + * (e92744b) Quick conversion of configure_series to run a subtask + * (c8410b9) Add task option for disabling builtins + * (f2d9704) Get rid of Task._reset() + +=== 1.2.102 (2014.02.28) === + + * (6e90977) Merge pull request #229 from mingtang/develop[[BR]] + Pushbullet Plugin[[BR]] + Thank you for the contribution @mingtang =) + * (284798e) pushbullet plugin: tweaked positioning of output and declaration of loop-specific (title and body) vs pushbullet (api_key, device_iden, type) options + * (2b4bd77) pushbullet plugin: changed log.debug for 500 response status to log.warning + * (c645cda) pushbullet plugin: cleaned up error handling output + * (1950d64) pushbullet plugin: updated default title + * (0004dfc) pushbullet output plugin[[BR]] + Example:[[BR]] + pushbullet:[[BR]] + apikey: <API_KEY>[[BR]] + device: <DEVICE_IDEN>[[BR]] + [title: <MESSAGE_TITLE>] (default: "{{task}} - Download started" -- accepts Jinja2)[[BR]] + [body: <MESSAGE_BODY>] (default: "{{series_name}} {{series_id}}" -- accepts Jinja2) + +=== 1.2.101 (2014.02.26) === + + * (2e0a48d) Merge pull request #227 from tubedogg/apple_trailers_2[[BR]] + Fix bug in apple_trailers + * (28540f7) Fix bug in apple_trailers[[BR]] + Download actual file… + +=== 1.2.100 (2014.02.25) === + + * (40ae77d) Fixed regexp for TPB URL rewriter + * (70207ac) Make sure clean_transmission respects --test mode + * (a153fae) Merge pull request #223 from tarzasai/trakt_list_ratings[[BR]] + Personal info on trakt list items. + * (9337037) Prefix + * (64bf8e8) Personal info on trakt list items.[[BR]] + Some info always present in custom list items, might come in handy to[[BR]] + filter stuff + +=== 1.2.99 (2014.02.24) === + + * (1c4466f) Make tvdb_id from trakt_list an int + * (dbcd978) Fix some issues with trakt_emit: - 'next' mode now works when next season is not yet in trakt - make tvdb_id an int - comments and cleanup + * (2683421) Make sure --inject and -v work together. + * (afdffa0) Fix schema + * (0cbbb37) Delicious unit tests[[BR]] + Also axes a defunct import. + * (53d075b) Allow old-style apple_trailers: 720p config[[BR]] + Updates docs and also removes some unneeded imports. + * (b1149e0) Fix trakt_emit schema defaults failing Copy trakt list slug making ability from trakt_list + * (8645306) Separate making trakt list slug to own function + * (954a5a4) Merge pull request #222 from tubedogg/apple_trailers_2[[BR]] + Apple Trailers 2.0 + * (1f64d5e) Reenable apple_trailers unit test + * (84b8af5) Apple Trailers 2.0[[BR]] + Fixes the following bugs:[[BR]] + “The workingness” is now True.[[BR]] + Add genre filtering option.[[BR]] + Add movie_year, movie_studio and genres to entry. + +=== 1.2.98 (2014.02.21) === + + * (fe943b1) Merge pull request #221 from philbot9/develop[[BR]] + Updated deprecated functions in transmission plugin + * (9fadedd) Updated deprecated functions.[[BR]] + Updated "Client.info()" to Client.get_torrents()[[BR]] + and "Client.remove()" to Client.remove_torrent() + +=== 1.2.97 (2014.02.21) === + + * (d319759) Fix some bare excepts + * (7a42dbe) Fix example in trakt_emit + * (11fc457) Rename trakt_watched_lookup file + * (07db76b) Merge pull request #218 from tarzasai/trakt_latest[[BR]] + Emit episodes from trakt.tv + * (43c909d) Names + * (f2d4cb8) Little fixes for empty lists + * (c802df0) Class name + * (122da7e) Renamed in trakt_emit[[BR]] + When a custom list is provided, S01E01 will be the default "next[[BR]] + episode" for series never marked seen or collected by the user on[[BR]] + trakt.tv + * (603a281) Emit episodes from trakt.tv[[BR]] + The latest/next watched/collected. + * (bff92a9) Merge pull request #219 from tarzasai/trakt_watched[[BR]] + Set entries as watched by trakt seen status + * (e11080b) Name + * (ce13020) Set entries as watched by trakt seen status + * (82e34c1) Make utorrent plugin respect --test mode + +=== 1.2.96 (2014.02.20) === + + * (e5baf99) Merge pull request #220 from vergessen/develop[[BR]] + Changed nzbget plugin + * (3fbdfcb) added .nzb to the title passed to nzbget. Without this the downloads do not start as expected. Tested on nzbget current and develop + +=== 1.2.95 (2014.02.19) === + + * (2ba85fd) Merge pull request #217 from tarzasai/set_series_begin[[BR]] + Add set_series_begin plugin to set the first episodes to accept + * (3de4e07) A plugin to set the first episodes to download + * (07ba834) Fix up fallback filename decoding in bittorrent util. fix #2462 + * (20041b0) Make sure find plugin won't crash on non-ascii extensions either. fix #2461 + * (a0e5e22) Find plugin does not crash with non-decodable filenames. Better error messages when this happens. refs #2462 + +=== 1.2.94 (2014.02.17) === + + * (534bfb4) Make sure a couple of seriesparser tests also work in auto mode + * (c797f2e) Cleanups to series parser and tests. Log when season packs are ignored. + +=== 1.2.93 (2014.02.17) === + + * (5326d81) Expand matching for unwanted_ep_regexps[[BR]] + Allows unwanted_ep_regexps to match 'Series 04 complete' and[[BR]] + 's04 complete' as well as 'season 04 complete'. + * (73aeb6d) Catch timeouts looking up from tmdb. fix #2284 + * (573aa0a) More deprecation warnings fixed + +=== 1.2.92 (2014.02.16) === + + * (c3f1338) Merge branch 'master' into develop + +=== 1.2.91 (2014.02.16) ^[wiki:UpgradeActions#a2014.2.151.2.91 upgrade actions]^ === + + * (c609bf2) Merge commit '9764230787afc49bd4d3a6a8a4dd4c1e5dc51eef' + +=== 1.2.90 (2014.02.15) === + + * (5bc3a37) Merge commit '1d0355dd09db8ea8def3fa624c9ec2cda993374c' + +=== 1.2.89 (2014.02.14) === + + * (41fe067) Fix two deprecation warnings about e.message + +=== 1.2.88 (2014.02.13) === + + * (81203c3) Fix deprecation warning by changing e.message -> e.args[0] + * (1277840) Fix setting series begin for large seasons. fix #2197 + * (9764230) Remove some possible separators for series date identifiers. + * (acc7222) Add support for series with 4 digit seasons (year). fix #2197 + * (5c8cd3e) Add support for YYYYxMM.DD series date identifiers. fix #2210 + * (3da3859) Convert pogcal to new schema + * (b6b8db9) Merge pull request #216 from night199uk/transmissiondep[[BR]] + [transmission] fix #2456: recent changes require a more modern transmissionrpc (0.11) + * (b432552) [transmission] fix #2456: recent changes require a more modern transmissionrpc (0.11) + * (1d0355d) Merge pull request #215 from tarzasai/tvdb_overview[[BR]] + TVDB series overview + * (21bd417) TVDB series overview + * (8a229f2) Fix two deprecation warnings about e.message + * (003e510) Don't crash with invalid lock file. fix #2407 + * (202b7c4) typo + * (ffa7a3d) Add urlrewriter for frenchtorrentdb from foulou and tuxik fix #1561 + +=== 1.2.87 (2014.02.12) === + + * (7d740d2) Make some debug tracebacks a bit more clear they were handled. + * (3f2c8d9) Make sure PluginError.value is always a string. refs #2454 + * (38e7595) Move history plugin to learn phase. + * (d788ca9) Make sure no crash when current directory doesn't exist. fix #2452 + * (8210b00) Make sure some possible config paths are native strings. refs #2452 + +=== 1.2.86 (2014.02.11) === + + * (28d7649) Fix tvdb online test. + * (ac5432e) Workaround for tmdb3 bug. refs #2437 + +=== 1.2.85 (2014.02.10) === + + * (b83ad3d) Merge pull request #211 from tubedogg/develop[[BR]] + aria2 Plugin - Bug Fixes + * (18d6684) Bug fixes[[BR]] + Set default for aria_config/dir so we don’t have to check it’s[[BR]] + existence repeatedly[[BR]] + Set correct parent_folders when multiple directories exist in the[[BR]] + torrent structure[[BR]] + Get movie_year and year to be set correctly when parsing movie names[[BR]] + Fix unicode bug when rendering fields before passing to aria2 + * (9fa4454) Merge remote-tracking branch 'upstream/develop' into develop + * (7f3d969) s/aria/aria2/ + * (f2c21de) Make bittorrent utility return native strings instead of byte strings. fix #2428 + * (72853b8) Fix a unit test. + * (0021322) Make sure email plugin does not email on silent aborts. + * (8500514) Make task abort properties public, for plugins to view. + * (a01072b) imdb_lookup no longer tries to capitalize non-string errors. fix #2450 + +=== 1.2.84 (2014.02.10) === + + * (f878117) Removed joinedload from imdb, improves performance. Refs #2364. + * (dfdd4b4) Tweak imdb joinedload query a bit. + +=== 1.2.83 (2014.02.08) === + + * (f027cb0) Merge pull request #210 from DColl/patch-1[[BR]] + Update plugin_transmission.py (base64encode & cli.add_torrent & cli.change_torrent) fix #2415 + * (fab5866) Update plugin_transmission.py[[BR]] + corrected ommission, thanks Chase + * (1ed174a) Update plugin_transmission.py[[BR]] + Verified the access to the id with the return from the new add_torrent() function.[[BR]] + Valid + * (7cf4e3a) Update plugin_transmission.py[[BR]] + As of transmissionrpc-0.11-py2.7.egg/client.py[[BR]] + add() & add_uri() are deprecated.[[BR]] + Althought, I was getting transmissionError (Query failed with result:...) when trying to launch a new torrent. So I went in the rpc/client code and used the same syntax they use to base64 the data and everything'sback to normal working order ^^[[BR]] + Althought I suspect that line 339 (for id in r.keys(): ) won't work with the return from cli.add_torrent(), I'm not equipped to deal with that (don't know when it occurs) + * (ea538c3) Add description to default make_rss template + +=== 1.2.82 (2014.02.07) === + + * (518659a) Merge pull request #206 from tubedogg/aria_bugfix_1-2-81[[BR]] + aria2 Plugin - Better sample config; bug fixes + * (1224a71) Pythonic + * (b923891) Better sample config; bug fixes[[BR]] + Provide better sample configuration for cli[[BR]] + Catch additional render errors[[BR]] + Bug fix - use correct method of allowing aria2 to set gid + * (3a27003) Try to make download plugin failure reasons more descriptive. + * (e082ce5) Merge pull request #207 from tubedogg/prowl_bug_1-2-81[[BR]] + prowl Plugin - Change API URL + * (e386cac) Change API URL + +=== 1.2.81 (2014.02.06) === + + * (b188668) Make pylint be quiet + * (1304a5a) Add no_entries_ok plugin to silence nuisance warning messages + +=== 1.2.80 (2014.02.06) ^[wiki:UpgradeActions#a2014.2.61.2.80 upgrade actions]^ === + + * (5befcd7) Merge pull request #203 from tarzasai/trakt_submit[[BR]] + New trakt.tv add/remove plugins + * (2565a37) Small fixes + * (2b82d20) New trakt.tv acquire/remove plugins[[BR]] + Movies, series and episodes are automatically recognized and[[BR]] + added/removed to/from the trakt watchlists, collections, seen and custom[[BR]] + lists. + +=== 1.2.79 (2014.02.06) === + + * (e2e1626) Make sure find plugin doesn't crash with invalid timestamps. fix #2434 + * (35a54ff) Work around encoding bug in tmdb3. refs #2392 + * (4daebd3) Silence an ImportWarning from deluge plugin + * (8df3361) Add back --profile + * (0f4ab3d) Fix --explain-sql + +=== 1.2.78 (2014.02.05) === + + * (af72102) Make path encoding/decoding helpers a bit closer to python 3 ones + * (ad938d3) Find plugin handles filesystem encoding better. refs #2295, #2065, #989, #1347 + * (6da03be) Cleanups + * (b296f22) Make sure imdb_id field is being used over imdb_url + * (fa3a5dc) Fix a bug in subtitles plugin + * (0fe2150) Remove broken imdb_rated plugin + +=== 1.2.77 (2014.02.04) === + + * (3ef8558) Let dump try converting field values to strings[[BR]] + Values in some fields can be objects, which may be able to produce[[BR]] + their own string representations. Give it a shot before outputting[[BR]] + 'not printable'. Mostly for series_parser. + +=== 1.2.76 (2014.02.04) ^[wiki:UpgradeActions#a2014.2.31.2.76 upgrade actions]^ === + + * (507a8b2) Fix archive plugin schema + * (864d051) Make sure __unicode__ method of PluginError always returns unicode + * (57e5f95) Update some more plugins to new schemas + * (3b33a68) Fix series assume_special test + * (4ec3718) apple_trailers plugin now raises a PluginError Disable apple_trailers test + * (fbe090d) Rename scenereleases plugin to sceper and update a bit. Fix the unit test for it. + * (683863b) Add python 2.7 check to subliminal plugin. fix #2420 + * (9b76cc2) Expand default special identifiers + +=== 1.2.75 (2014.02.02) === + + * (7a2a6ce) Make --test mode work properly with a running daemon. fix #2376 + * (b3c774e) Merge pull request #199 from tubedogg/develop[[BR]] + aria2 - PEP8 & cli documentation + * (ab28a49) Bug fixes + * (43892f6) cli documentation + * (dbc4a15) PEP8 compliance + * (32a0541) Make sure api_tvdb is supplying unicode text values, fixes some SQLAlchemy warnings + * (f04cf87) Better debug info for @internet decorator + * (3f83001) Raise all warnings in unit tests + * (9f9d7dc) Add --debug-warnings cli flag to raise warnings to errors Catch raised warnings and print traceback without exiting + * (9fa864a) Merge pull request #196 from tubedogg/develop[[BR]] + Handle error cases better in aria2 plugin + * (a6f98f4) Need to import the error class first. + * (d38dc35) Catch render errors. + * (b3993c6) Catch socket errors + * (612fbe4) configure_series now sets series options based on the series plugin schema + * (5c80625) Tests for assume_special + * (7f0ead8) Add assume_special support to series[[BR]] + Series now accepts option 'assume_special'. If true, will cause any[[BR]] + entries with no IDs found to be flagged and processed as specials.[[BR]] + Also adds support to configure_series and fixes a typo in[[BR]] + configure_series. + * (4e22c8d) assume_special support for SeriesParser[[BR]] + Flag which, if true, causes any entries with no IDs found to be[[BR]] + flagged as specials. + * (935ddac) Reinforce this is only remember_rejected[[BR]] + Remind users that only rejections known by remember_rejected are[[BR]] + listed or cleared. + * (e976c88) Rejected command[[BR]] + Rejected command, functions the same as failed. Allows rejected[[BR]] + entries to be listed or cleared. + * (f7b6c0e) Make some help text a little more dynamic + * (c575563) List available levels in --loglevel output[[BR]] + Fixes http://flexget.com/ticket/2421 + * (91f5891) prefer_specials support for configure_series[[BR]] + Also allows plugin to accept list of special_ids + * (730b4b9) Add prefer_series support to series[[BR]] + Series now accepts an option 'prefer_specials'. If true, entries in[[BR]] + that series which parse as both a normal id type (ep, etc) and a[[BR]] + special will be flagged as specials. If false, they will be flagged as[[BR]] + the normal id type. + * (234b06b) Support for prefer_specials in SeriesParser[[BR]] + If prefer_specials is True, an entry matching both a normal id type[[BR]] + and special will be flagged as a special. If false, entry will be[[BR]] + flagged as the normal id type.[[BR]] + E.g.: title: the show s03e04 special[[BR]] + prefer_specials = True -> series_id_type: special[[BR]] + prefer_specials = False -> series_id_type: ep + * (421a52e) Tests for prefer_specials[[BR]] + Will ensure prefer_specials is being obeyed correctly. + +=== 1.2.74 (2014.01.31) === + + * (b5eda12) Fix archive plugin handling of task aborts + * (5e12001) Fix spy_headers plugin + * (782e595) Merge pull request #192 from tarzasai/find_filedate[[BR]] + Find include file timestamp + * (4a12aa6) Find include file timestamp + * (78505f8) Merge pull request #194 from tubedogg/aria2[[BR]] + aria2 plugin + * (c6e0d39) aria2 plugin[[BR]] + Plugin for aria2, the "ultra fast download utility".[[BR]] + Requires [aria2c](http://aria2.sourceforge.net) be installed and[[BR]] + running in [daemon[[BR]] + mode](http://aria2.sourceforge.net/manual/en/html/aria2c.html#cmdoption-[[BR]] + D) with[[BR]] + [XML-RPC](http://aria2.sourceforge.net/manual/en/html/aria2c.html#rpc-in[[BR]] + terface) enabled, which are both set in the aria2 config file.[[BR]] + Plugin documentation can be found[[BR]] + [here](https://github.com/tubedogg/.flexget/blob/master/plugins/README.m[[BR]] + d).[[BR]] + (Note I added as a plugin in the main plugins directory since it is[[BR]] + [eventually] intended to be both an input plugin and an output plugin.) + * (bca5255) Merge pull request #195 from tubedogg/develop[[BR]] + Expose full torrent directory structure in content_files + * (43b4b22) Expose full torrent directory structure in content_files + * (771b0e6) Work on the windows service installer a bit more + * (d85f30a) Merge pull request #193 from tarzasai/metainfo_subtitles[[BR]] + Local subtitles check + * (c17d6c0) Local subtitles check[[BR]] + A metainfo plugin to check local files for subtitles. + +=== 1.2.73 (2014.01.30) === + + * (c651d51) Make sure emit_movie_queue test doesn't go online + * (53104ef) Add 'special_ids' support to configure_series[[BR]] + Will now be set for generated series from entry['configure_series_special_ids'] + * (72b5f01) Add ability to specify 'special_ids' to series[[BR]] + Allow list of identifiers which will cause entry to be id'd as a special[[BR]] + to be extended. + * (6d2aa87) Add 'special_ids' to seriesparser[[BR]] + Allow list of identifiers which will cause entry to be id'd as a special[[BR]] + to be extended. + * (8559326) Update usage[[BR]] + Also remove unneeded debug messages. + * (1d9eac1) Ability to specify entry states to dump[[BR]] + Dump now supports multiple arguments, adding 'accepted', 'rejected'[[BR]] + and/or 'undecided' will cause dump to only output entries with matching[[BR]] + state. + * (3806171) Don't notify on travis successes. + * (a7ae953) Remove pypy test again + * (7c4e36b) Try some new travis settings + * (93f7657) Merge pull request #190 from crawln45/dev[[BR]] + Fixed tests for trakt and thetvdb. + * (18ed4c3) Fixed tests for trakt and thetvdb. Replaced lookup runtime with status. + +=== 1.2.72 (2014.01.29) === + + * (d92c8c3) Merge pull request #186 from tarzasai/subliminal_fail2retry[[BR]] + subliminal plugin now fails entries like periscope does + * (878545e) To fails entries like periscope do + * (879b8d8) Merge pull request #185 from tarzasai/transmission_better_check[[BR]] + Completed check fixed github:179 + * (972619f) Completed check fixed[[BR]] + Now we define a torrent "downloaded" if its total size is greater than 0[[BR]] + and all selected files are > 0 (and downloaded). + * (ae966c2) Allow configure_series to set anything series can[[BR]] + Also ensures values given match the restrictions in schema. + +=== 1.2.71 (2014.01.28) === + + * (9b168f5) Merge pull request #182 from crawln45/develop[[BR]] + fixing test_trakt + * (d925c45) fixed typo in test_trakt.py + * (824065f) fixing test_trakt + * (b413e65) Fix some issues with trakt plugin + * (fc14790) Fix a tvdb test + * (87c2535) Left wrong rottentomatoes key in + +=== 1.2.70 (2014.01.28) ^[wiki:UpgradeActions#a2014.1.281.2.70 upgrade actions]^ === + + * (36cff4c) Make a manager.initialize event + * (57318b7) Fix client daemon ipc version negotiation + * (71cbeb5) Bump ipc version + * (31602c9) Add a 'daemon reload' command to reload the daemon config from disk + * (e4099fc) Make manager events a bit more consistent Change config loading to not call sys.exit() Moved config pre-check code to the check plugin. + * (0feedaa) Prefix field name with plugin[[BR]] + Series alternate names are now loaded from[[BR]] + entry['configure_series_alternate_name'] + * (5b37b48) Configure_series with alternate_name[[BR]] + Series output by configure_series will now have alternate_name set to[[BR]] + the contents of entry['alternate_name'].[[BR]] + This commit merges tests used in development into test_series. + * (66017cd) Ability to import single alternate name + * (bdadf9b) Test for series configure loading alternate name + * (c93292f) Fix some references to import_series + * (c3eac19) Don't break python 2.6 compatibility + * (3804ca7) Rename deluge `user` and `pass` options to `username` and `password` Deprecate old options + * (545dd7e) Fix some deprecated usage of Exception.message + * (d6d5238) Stop suppressing deprecation warnings Make unit tests fail due to deprecation warnings Fix a few instances of deprecated get_plugins functions + * (1d1a9ea) Make our logging capture python warnings + +=== 1.2.69 (2014.01.25) === + + * (a054e34) Revert multiple keys for now, may be against the terms + * (8978e63) Add a third api key to api_rottentomatoes + * (2836e52) Add a second api key to api_rottentomatoes + * (02935c0) Update rottentomatoes_lookup schema + * (f86ecdc) Put a rate limit on requests to api.rottentomatoes.com Couple other tweaks to rottentomatoes + * (4be3d82) Allow fractional intervals + +=== 1.2.68 (2014.01.25) ^[wiki:UpgradeActions#a2014.1.251.2.68 upgrade actions]^ === + + * (356c544) fix headers test when run with other tests + * (748ca8c) Make sure @cached decorator obeys --no-cache flag. + * (3babb4c) username and password are required with imdb_list now. refs #2377, #2382 + * (4d0c077) Merge pull request #178 from crawln45/develop[[BR]] + Catch IOErrors in move plugin, fix #2403 + * (aa0eab0) Added full Error output for IOError + * (e86c819) Fixed up the error Handling a bit. Added the entry as failed. + * (d3cc072) Added check for single file move + * (6a9d51f) Make config selected log message actually work + +=== 1.2.67 (2014.01.25) === + + * (66f64d3) Merge pull request #177 from scottwallacesh/revert_pull_request_171[[BR]] + Revert imdb_list back to using CSV data instead RSS feeds. + * (5c8d817) Revert "Merge pull request #171 from scottwallacesh/master"[[BR]] + This reverts commit 41fad297d98ed03534a230ef9b0f2dc9948c5b1f, reversing[[BR]] + changes made to 3d488fec9c70a45f76737caea69a761182304159. + * (f0accaa) Merge pull request #176 from theaquamarine/coverage[[BR]] + Add a nose config file to check coverage in tests + * (5942b73) Add a nose config file to check coverage in tests[[BR]] + Also adds appropriate files to .gitignore. + +=== 1.2.66 (2014.01.24) ^[wiki:UpgradeActions#a2014.1.241.2.66 upgrade actions]^ === + + * (c128dec) Periscope plugin now fails entries when subs cannot be found. refs #2398 + * (1640a4b) Couple more tweaks for config loading + * (992dc9d) Make sure ~ is handled correctly with -c + * (2ae02d1) Few cleanups to config loading + * (52fa19f) Merge pull request #175 from crawln45/develop[[BR]] + Fix for ticket #2401, changed config options + * (6a666a8) Appeasing Gazpachoking + * (b6847aa) Fix for ticket #2401 + * (321fab0) Added virutal Env check, added current path to config lookup + +=== 1.2.65 (2014.01.24) === + + * (0d12ee5) Merge branch 'master' into develop + * (5c96cfd) Re-wrote large portions of plex plugin, should be faster now. + * (e7c2a27) Update the internal timeout caching a bit. refs #2380 + * (f6a95e8) Set site as unresponsive on requests.ConnectionError.[[BR]] + Log for this error: https://gist.github.com/Gargauth/b54298ca62119836ddec#file-flexget-log-L85 + +=== 1.2.64 (2014.01.23) === + + * (c48f001) Merge branch 'master' of https://github.com/Flexget/Flexget into publichd_fix + +=== 1.2.63 (2014.01.23) === + + * (8c65fb1) Fix email plugin abort sending + * (a5b9ce2) Merge branch 'learn_phase' + * (4b4c8f6) Fix some log text + * (e5f8462) Switch some more plugins to learn phase + * (4d4c3a3) Add seen plugin test for --learn + * (b434e8a) Make a 'learn' phase, and move some plugins to use it. + * (727dd36) Fixed a crash that would occur when publichd found a torrent which size would contain decimal mark with colon (eg. 1,000.00-1024,00MB) + +=== 1.2.62 (2014.01.23) === + + * (2f1f5fa) Added entry statuses: seen, inprogress, unwatched. + +=== 1.2.61 (2014.01.21) === + + * (505cb35) Tweak rerun and discover logging. + +=== 1.2.60 (2014.01.21) === + + * (0271663) Merge remote-tracking branch 'origin/master' + +=== 1.2.59 (2014.01.21) === + + * (f5d31b2) Fix --learn in 1.2 + +=== 1.2.58 (2014.01.20) === + + * (41fad29) Merge pull request #171 from scottwallacesh/master[[BR]] + Moved from CSV to RSS as a data transport for the 'imdb_list' plugin. + * (44de5cf) Used an already existing method to extract the IMDB ID from the provided URL. + * (f91ddc0) Moved from CSV to RSS as a data transport for the 'imdb_list' plugin. + +=== 1.2.57 (2014.01.20) === + + * (3d488fe) Merge pull request #113 from tarzasai/xmpp[[BR]] + Notifications via XMPP + * (1a24966) Switch to new plugin registration style + * (c4b084d) Correct import style for SleekXMPP + * (51d6ece) Notifications via XMPP + +=== 1.2.56 (2014.01.20) === + + * (157e157) Merge pull request #169 from tarzasai/torrentz_fallback[[BR]] + Alternate access to torrentz feeds + * (ffd8603) Alternate access to torrentz feeds[[BR]] + When the original torrentz domain .eu fails (usually for a 429: too many[[BR]] + requests) the urlrewriter falls back to the .me version. + +=== 1.2.55 (2014.01.20) === + + * (fe28af9) Move email plugin to output phase. refs #2390 + +=== 1.2.54 (2014.01.19) === + + * (e43d61f) Merge pull request #168 from Gargauth/kat_search_tweaks[[BR]] + Tweaked Kat searching + * (8e08608) Tweaked search to allow for more meaningful search results, especially for older titles. + +=== 1.2.53 (2014.01.19) === + + * (9ad6a72) Merge pull request #158 from Gargauth/publichd[[BR]] + Adding PublicHD search plugin. + * (e880a86) - Fixed downloads failing Download url is now publichd's direct download url instead of torrent cache service - Fixed categories settings (can now set properly single or multiple categories as intended) + * (d180aaf) Adding PublicHD search plugin. + +=== 1.2.52 (2014.01.19) === + + * (a82c0bc) Catch error from tmdb3 library. fix #2368, #2377, #2298, #2287 + +=== 1.2.51 (2014.01.19) === + + * (e643451) Merge pull request #166 from Gargauth/tvrage_fix_searchfail[[BR]] + Fix for errors caused when searching tvrage for release estimations + * (040153f) Fix for errors caused when searching tvrage for episodes release estimations. + +=== 1.2.50 (2014.01.19) === + + * (71ed1d2) Merge pull request #165 from tarzasai/clean_transmission-config-error[[BR]] + Forgotten prepare_config + * (6090e69) Forgotten prepare_config + +=== 1.2.49 (2014.01.18) === + + * (d86d63b) Merge pull request #164 from marcoacarvalho/patch-1[[BR]] + Cleanup entries + * (241a480) Cleanup entries[[BR]] + Parsing row returned in order to remove additional text and line feeds around show name returned by BeautyfulSoup + +=== 1.2.48 (2014.01.18) === + + * (85f37cf) Fix the webui (well, at least let it start again) + +=== 1.2.47 (2014.01.18) === + + * (4d45fc5) Merge pull request #163 from Gargauth/fix_ticket_2387[[BR]] + Fix for config errors not being reported + * (9ce0bc7) Fix for config errors not being reported (instead flexget crashes with traceback)[[BR]] + http://flexget.com/ticket/2387 + +=== 1.2.46 (2014.01.18) === + + * (6587d00) Some cleanups for api_trakt + * (b3d71a5) Added support for movies (2356) Added support for downloading art. + +=== 1.2.45 (2014.01.17) === + + * (64a3d65) Merge pull request #161 from Gargauth/SearchKAT_Fix[[BR]] + Fix for certain TV shows not being discovered with KAT search plugin. + * (c1f2d64) Fix for certain TV shows not being discovered. + +=== 1.2.44 (2014.01.16) === + + * (0e2053d) Merge pull request #160 from asm0dey/master[[BR]] + Update template.py + * (123fe00) Update template.py[[BR]] + Added some useful custom filters + +=== 1.2.43 (2014.01.16) === + + * (f9abe68) Merge pull request #159 from marcoacarvalho/patch-1[[BR]] + Change in www.pogdesign.co.uk/cat/showselect.php + * (249f2df) Change in www.pogdesign.co.uk/cat/showselect.php + +=== 1.2.42 (2014.01.16) === + + * (a146fa4) Merge pull request #152 from tarzasai/move_with[[BR]] + Move support collecting and moving additional files like subtitles. + * (9e0e77b) Refining/2[[BR]] + (forgotten loop) + * (60039b7) Refining + * (4653e4c) Move with namesakes[[BR]] + Video and subtitles can be moved and eventually renamed together. + +=== 1.2.41 (2014.01.16) === + + * (9f2d27b) Merge pull request #156 from asm0dey/master[[BR]] + Fixes into rutracker plugin + * (eba0377) fixes error with follow_redirects in rutracker plugin.[[BR]] + Adds retry to rutracker plugin. + +=== 1.2.40 (2014.01.15) === + + * (5026949) Merge pull request #151 from crawln45/trakt[[BR]] + adding trakt_lookup + * (2c1cf46) fixed default.template to properly display trakt_series_banner_url + * (ad79194) Added nosetests fixed pep8 errors for paranoidi + * (b14b4a2) adding trakt_lookup api_trakt and adding trakt_* to default rss + +=== 1.2.39 (2014.01.15) === + + * (37bfd11) Switch find plugin from old validator to new schema + +=== 1.2.38 (2014.01.15) === + + * (48d218c) Merge pull request #154 from theaquamarine/failrewriter[[BR]] + Check entries being urlrewritten are accepted + * (97ad3b9) Check entries being urlrewritten are accepted[[BR]] + URLrewriters can now fail/reject entries properly. Previously, there[[BR]] + was no continued checking entries were accepted so failing/rejecting[[BR]] + would have no effect and url_rewrite would run in an infinite loop. + +=== 1.2.37 (2014.01.15) === + + * (9fb9c7d) Merge pull request #153 from theaquamarine/rtlookuptest[[BR]] + Fix test_rottentomatoes + * (9af310b) Changed test title in test_rottentomatoes[[BR]] + Dropped 'in' from 'Star Wars: Episode I - The Phantom Menace (in 3D)'[[BR]] + as parser was not able to strip this, causing rotten tomatoes to be[[BR]] + unable to find the movie. Test therefore now passes.[[BR]] + Maybe a relevant thing for parser testing, but the aim here is test[[BR]] + rt functionality rather than MovieParser so removed. + * (c86c70f) Switch api_rottentomatoes to use requests[[BR]] + Removes flexget.utils.urlopener and flexget.utils.json dependencies.[[BR]] + Appears to fix rottentomatoes api returning ids as either ints or[[BR]] + strings- all tests which were failing because of this now pass. + +=== 1.2.36 (2014.01.14) === + + * (7287ee8) Fix some issues where task priority plugin wouldn't work properly. + +=== 1.2.35 (2014.01.13) === + + * (4f50899) Merge pull request #146 from tarzasai/cleaning_transmission[[BR]] + Remove completed torrents from Transmission + * (18c98ef) Correct evaluation + * (6eaf5c2) Config defaults + * (d5ff497) Remove completed torrents from Transmission + * (29463f9) Merge pull request #147 from asm0dey/master[[BR]] + Create plugin_rutracker.py + * (b048233) Fixed Session and formatting + * (e420169) Create plugin_rutracker.py[[BR]] + Plugin, which supports authentication and automatic downloading from rutracker.[[BR]] + Usage: ```[[BR]] + rutracker_auth:[[BR]] + username:[[BR]] + password: + +=== 1.2.34 (2014.01.13) ^[wiki:UpgradeActions#a2014.1.21.2.34 upgrade actions]^ === + + * (50293ce) Merge pull request #149 from tarzasai/subliminal_region_error[[BR]] + RegionAlreadyConfigured fix + * (401df43) RegionAlreadyConfigured fix + +=== 1.2.33 (2014.01.12) === + + * (809b1a4) Remove use of deprecated sqlalchemy reflection + * (2ccd544) No more UserDict + +=== 1.2.32 (2014.01.12) === + + * (8ac232f) Merge pull request #144 from tarzasai/subtitles[[BR]] + Subtitles plugins + * (7d059d5) Subtitles plugins + +=== 1.2.31 (2014.01.11) === + + * (892807a) Fixed merge errors. + * (7444225) Cleanup of plex.py. + * (560eb42) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.2.30 (2014.01.10) === + + * (e77a750) Ensure schedules are not being executed faster than they can be run. + * (65dfaee) Merge branch 'planeturban'[[BR]] + Conflicts:[[BR]] + flexget/plugins/input/plex.py + * (feacbe9) More entries. Added: plex_duration - duration of media in seconds, as requested in #2357 plex_episode_thumb - url for episode thumbnail. plex_series_art - url for series cover art. plex_season_cover - url for season thumbnail. plex_episode_title - episode title as indexed. plex_episode_summary - episode sumamry as indexed. plex_url - original url to media. + +=== 1.2.29 (2014.01.10) === + + * (38fdb03) Fix some bugs introduced in latest torrentleech change. fix #2369 + +=== 1.2.28 (2014.01.09) === + + * (7e60230) Merge pull request #138 from jawilson/tl_changes[[BR]] + Updated torrentleech plugin + * (5fc1ef1) Updated torrentleech plugin[[BR]] + Added TV categories[[BR]] + Allow searching of multiple categories + * (e1a1291) Merge pull request #140 from jawilson/rt_support[[BR]] + Add ability to config personal Rotten Tomatoes API key + * (1e3598c) Fix rottentomatoes boolean config checking + * (09b07df) Adding user api key ability into rotten tomatoes + * (032256d) Merge pull request #139 from jawilson/torrentz_changes[[BR]] + Torrentz improvements + * (5e33165) Typo in urlrewrite_torrentz.py + * (6ed2ea4) Allow user to specify extra search terms in torrentz (mostly for limiting feed) + +=== 1.2.27 (2014.01.08) === + + * (bb62b2f) Convert SimplePersistence to a MutableMapping + * (282d6ae) Add some more tests for simple_persistence + * (02748d9) Make sure simple_persistence never leaves a session it creates open + * (c69d1d2) Add download_auth entry field which can contain custom requests authentication handler for download plugin to use Switch rss plugin to use this field to pass auth info to download plugin + * (0bd0ddf) Interval plugin cleanups + +=== 1.2.26 (2014.01.08) === + + * (27a4621) Set isPermaLink = false in output rss + * (422d92c) Fix generate + +=== 1.2.25 (2014.01.08) === + + * (9692e0e) Add -L and -l short options for --loglevel and --logfile refs #2359 + +=== 1.2.24 (2014.01.07) === + + * (281f50c) Fix error about sqlite thread access. fix #2352 + +=== 1.2.23 (2014.01.07) === + + * (f3e8f19) Change back to if entry.get('blah')[[BR]] + Handles false-y non-None values in a more helpful manner. + +=== 1.2.22 (2014.01.07) === + + * (91f1ca9) Merge pull request #134 from theaquamarine/download[[BR]] + Download patches + * (08de18f) Requested tweaks + * (0bfabac) Implement TODO in download_entry() - filename from URL[[BR]] + If the end of download_entry() is reached and no filename is set,[[BR]] + get one from the URL. + * (6189135) Fix crash in download_entry()[[BR]] + download_entry() would crash when getting a file with no content-type[[BR]] + eg http://www.speedtest.qsc.de/1kB.qsc from the tests. Now defaults[[BR]] + to unknown/unknown + +=== 1.2.21 (2014.01.07) === + + * (993afd9) Fix "FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead." in api_tvdb + +=== 1.2.20 (2014.01.06) === + + * (98c8e5f) Merge pull request #133 from theaquamarine/test_aq[[BR]] + Unit tests for assume_quality + * (36d6280) Fix Python 2.6 compatibility[[BR]] + Use of assertRaises and therefore assert_raises as a context manager[[BR]] + was only enabled in Python 2.7 and never backported.[[BR]] + http://docs.python.org/2/library/unittest.html#unittest.TestCase.assertRaises + * (002125b) Unit tests for assume_quality + +=== 1.2.19 (2014.01.06) === + + * (5233a2c) Merge pull request #124 from tarzasai/transmission_filename[[BR]] + Transmission filename + * (3eb6553) correct path separator + * (6030026) some fixes + * (6dfb78e) location for transmission completed downloads[[BR]] + (untested) + +=== 1.2.18 (2014.01.06) === + + * (82bf581) Open up sqlalchemy requirements. fix gh#127 + * (509a5db) Small optimizations to magnet_btih + +=== 1.2.17 (2014.01.05) === + + * (feb9805) Add magnet_info_hash plugin. Thanks lolilolicon. fix gh#132 + +=== 1.2.16 (2014.01.04) === + + * (f0d6f04) Move some plugin methods to output phase from exit phase, to prevent problems with reruns + +=== 1.2.15 (2014.01.04) === + + * (83de8b5) Merge pull request #120 from theaquamarine/assumequality[[BR]] + AssumeQuality plugin - default quality for tasks + * (aa3bb37) Correct schema bug[[BR]] + Can't validate dict keys, so allow any. + * (61ae896) Update plugin to v1.2.0 compatibility + * (f787d21) Changed to using 'any' req instead of 'everything'[[BR]] + Switched to using the real quality component 'any', which allows the[[BR]] + removal of some special cases. Also tweaked precision(). + * (9dd7269) Documentation updated[[BR]] + Applies quality components to entries that match specified quality[[BR]] + requirements.[[BR]] + When a quality is applied, any components which are unknown in the[[BR]] + entry are filled from the applied quality. Quality requirements are[[BR]] + tested in order of increasing precision (ie "720p h264" is more[[BR]] + precise than "1080p" so gets tested first), and applied as matches are[[BR]] + found. A pseudo-requirement "everything" is also supported, which will[[BR]] + match all qualities. Using the simple configuration is the same as[[BR]] + specifying an "everything" rule. + * (acb68a3) Improve precision calculation + * (eb42640) Added advanced usage example + * (3b1aa47) All rules now tested and applied + * (6ac5b65) Refactor 'everything' test + * (423839b) Store rules in sorted list[[BR]] + Rules are now stored as namedtuples in a sorted list (sorted by[[BR]] + precision of the rule, see precision()). This allows rules to have[[BR]] + priorities, currently more specific rule = higher priority. + * (47091b9) Rule matching now performed + * (d1a1bdb) Case insensitivity on 'everything'[[BR]] + Not sure why I wrote the if that way round. + * (98ac626) Advanced rules now used for default case[[BR]] + No other rule matching yet + * (18cf008) Advanced Configuration start[[BR]] + Plugin now understands advanced configuration in the form of quality[[BR]] + requirements and qualities to assume if the entry matches them. These[[BR]] + rules are not yet used for assuming, only tested and stored.[[BR]] + Also refactored the act of assuming an entry's quality into a separate[[BR]] + method. + * (df3eb4a) added underscores to filename & plugin name + * (481b441) moved to plugins/metainfo + * (d78aff4) Operate on individual quality components[[BR]] + Now applies defaults by quality component, so that defaults can be used even if other components are filled by the release.[[BR]] + For example: "assumequality: 1080p webdl 10bit truehd" and a release flagged 720p h264 is output with "720p webdl h264 truehd"[[BR]] + Should also handle the addition of more quality components as mentioned in https://github.com/Flexget/Flexget/pull/104#issuecomment-29127271 + * (5d23b7a) AssumeQuality plugin - default quality for tasks[[BR]] + Many releases no longer explicitly flag 720p, breaking quality filters or requiring complex manipulate setups. This allows a default quality to be applied to entries when none is found.[[BR]] + http://flexget.com/ticket/1498 + +=== 1.2.14 (2014.01.04) === + + * (f3ca1da) Make sure series plugin output handler runs at correct priority. + +=== 1.2.13 (2014.01.04) === + + * (8025897) Add a 'daemon status' command + +=== 1.2.12 (2014.01.04) === + + * (a909a7c) Hide the service plugin, it's not ready yet. + +=== 1.2.11 (2014.01.04) === + + * (95f26db) Update plugin registration in doc example + * (9c68758) Fix issue with deleting test database when --testing between client and daemon + +=== 1.2.10 (2014.01.04) === + + * (6f9f24b) Fix sending other options to running daemon using inject command. fix #2344 again + +=== 1.2.9 (2014.01.04) === + + * (47a0ebd) Fix an issue when sending some options via ipc to a running daemon. fix #2344 + +=== 1.2.8 (2014.01.04) === + + * (7ec739e) Fix issues with series plugin recording downloads during reruns. fix #2345 + * (3dd68da) Add mock_output plugin for debugging. + +=== 1.2.7 (2014.01.04) === + + * (d666f54) Merge pull request #131 from harywilke/patch-1[[BR]] + Update tdd.rst + * (c9a119b) Update tdd.rst[[BR]] + updated the warning. Ironically, the warning was missing 'an' + +=== 1.2.6 (2014.01.03) === + + * (91a4514) Fix imdb_list login issue. fix #2313 + * (ed299b2) Remove bs3 stuff from change_warn + +=== 1.2.5 (2014.01.03) === + + * (ef3c76f) Fix some online unit tests + * (4a1152b) Futurize! + +=== 1.2.4 (2014.01.03) === + + * (8fdaae8) Make sure 'check' command handles non-ascii configs + * (4ab7700) Remove unused import + * (4bf3473) If statement errors now include the offending if statement. + +=== 1.2.3 (2014.01.03) === + + * (f85d00d) Fix download unit test url. + * (a78b0cb) Catch timeouts while downloading files. fix #1306, #645, #85 + +=== 1.2.2 (2014.01.02) === + + * (2f434e0) Lower message about commits without db lock to debug log + * (17fb99e) Fix movie-queue add + +=== 1.2.1 (2014.01.02) === + + * (4c447b9) Only print bug message if actual changes are tried on db commit + +=== 1.2.0 (2014.01.02) ^[wiki:UpgradeActions#a2014.1.21.2.0 upgrade actions]^ === + + * (8afcbae) Fix locking in unit tests + * (55c0ad7) Make sure we have a db lock when updating the schema table + * (5025f18) Upgrade periscope plugin + * (7d4211d) Merge branch 'master2' into cli_subcommands[[BR]] + Conflicts:[[BR]] + flexget/plugins/output/ftp_download.py[[BR]] + flexget/plugins/urlrewrite_newpct.py + +=== 1.1.174 (2013.12.22) === + + * (39bb36b) Merge pull request #126 from foux/master[[BR]] + ftp_download plugin bugfixes + * (37da454) Bug fixes in ftp_download : - Plugin schema was wrong - When reconning, the wrong FTP instance was used + * (dc8e28b) Merge branch 'master' into develop + +=== 1.1.173 (2013.12.21) === + + * (930f04b) Merge pull request #125 from skasi7/plugin_newpct2[[BR]] + Updated plugin newpct to flexget.utils.requests + * (210fbc7) Updated plugin newpct to flexget.utils.requests + +=== 1.1.172 (2013.12.19) === + + * (688d12a) Update tpb domain (again) + +=== 1.1.171 (2013.12.16) === + + * (1e302cf) Merge pull request #119 from tarzasai/subtitles[[BR]] + Download subtitles with Periscope + * (ab24cb1) Download subtitles with Periscope + * (ff21a99) Merge pull request #121 from theaquamarine/plugin_warning[[BR]] + Change PluginDetails to output warning event + * (e821e53) Change PluginDetails to output warning event[[BR]] + Changes PluginDetails to output a warning log event rather than[[BR]] + verbose when a task with no_entries_ok == false produces no entries.[[BR]] + Brings it more in line with similar errors (no input plugins, etc) and[[BR]] + makes problem more obvious in logs. + * (9c64e3f) Merge branch 'master' into develop + * (b71d58d) Merge branch 'hotfix/ftp_list_verbosity' into develop + * (a3f10ff) Merge branch 'hotfix/ftp_download_fixes' into develop + * (8eb3640) Fix error handling in api_tvdb. fix #2320 + * (145b92f) Upgrade trakt_remove plugin registration + * (79cb952) Merge branch 'master' into cli_subcommands + +=== 1.1.170 (2013.12.12) === + + * (d9fb337) Update tpb domain + * (888a9e9) Small cleanups to ftp_download plugin. upgrade plugin registration + * (938c4ea) Merge branch 'master' into cli_subcommands[[BR]] + Conflicts:[[BR]] + flexget/plugins/download/ftp_download.py[[BR]] + flexget/plugins/input/thetvdb_favorites.py[[BR]] + flexget/plugins/metainfo/imdb_lookup.py[[BR]] + flexget/plugins/plugin_change_warn.py + +=== 1.1.169 (2013.12.10) === + + * (e64a222) TPB rewriter: Make sure the current TLD is in the list of all TLDs + +=== 1.1.168 (2013.12.10) === + + * (c916f58) Merge pull request #117 from JimShoe/patch-1[[BR]] + updated CUR_TLD in urlrewrite_piratebay.py + * (d59f766) updated CUR_TLD in urlrewrite_piratebay.py[[BR]] + The Pirate Bay changed their TLD. + +=== 1.1.167 (2013.12.09) === + + * (4add74c) Merge pull request #116 from foux/master[[BR]] + Corrections on ftp_download plugin + * (9e5543c) Merge branch 'hotfix/ftp_list_verbosity' + * (68dc3b5) Changing verbosity of empty directory Adding log for accepted entries + * (5c6ae6a) Merge branch 'hotfix/ftp_download_fixes' + * (8977b6e) Adding schema validation + * (95f5731) Removing a test that might fail on OSX + * (5359b6a) Moving ftp_download to an output plugin + +=== 1.1.166 (2013.12.08) === + + * (03a51cc) Merge pull request #115 from foux/master[[BR]] + Corrections on ftp_download plugin + * (f7d18f6) Changing log levels + * (c270bd7) Deleting folders only if the config says so + * (f4628cf) Correction on folders deletion + * (0b27446) Functionnal version. Remains some fail test + * (c958bd3) Adding connexion status tests + * (c1444e9) Correcting recursion Allowing to resume + +=== 1.1.165 (2013.11.27) === + + * (3780566) Less verbosity for IMDB and TMDB lookups + * (cd5d5db) Change log levels in html input plugin + +=== 1.1.164 (2013.11.19) === + + * (9a3ccb8) Fix string formatting error + +=== 1.1.163 (2013.11.18) === + + * (256a4a9) Merge pull request #110 from Flexget/handle_no_firstaired[[BR]] + Handle cases where a series doesn't have a FirstAired date listed + * (14f442e) Handle cases where a series doesn't have a FirstAired date listed + +=== 1.1.162 (2013.11.18) === + + * (8b79e43) Fix possible crash when validating quality requirements. + +=== 1.1.161 (2013.11.18) === + + * (b67b962) Merge pull request #90 from niawag/patch-4[[BR]] + Create trakt_remove.py + * (636b6c0) Update trakt_remove.py + * (c413b0f) Update trakt_remove.py[[BR]] + Added watchlist movie support + * (9a54ca8) Update trakt_remove.py + * (e30c811) Create trakt_remove.py[[BR]] + I created trakt_remove.py as discussed here : https://github.com/Flexget/Flexget/pull/88[[BR]] + I've debugged and tested it and it's working fine for movies, I didn't developped it for TV Shows yet as it doesn't seems really necessary.[[BR]] + With this plugin you can ask trakt.tv to remove collected movies from a list (Watchlist or custom).[[BR]] + The code is practically entirely based on trakt_acquired, I just changed the post_url and change the JSON item to respect trakt.tv API : http://trakt.tv/api-docs/lists-items-delete[[BR]] + I hope you'll find this usefull! + +=== 1.1.160 (2013.11.17) === + + * (9109f21) Handle cases where a series doesn't have a FirstAired date listed. Fixes #2285 + +=== 1.1.159 (2013.11.13) === + + * (579c8f3) Merge pull request #98 from Flexget/deprecate_bs3[[BR]] + Deprecate BeautifulSoup 3 + * (cf80997) Remove BS3 from dependencies + * (4c5b8fb) Remove BeautifulStoneSoup from TVDB Favorites + * (47e3dd3) Remove BeautifulStoneSoup from TVDB API + * (6b2b2cc) Change imdb parsing utils to BS4 + * (ea684e5) Make sure archive inject does not run scheduled tasks + * (238b8b8) Remove the lock_required option, commands must call manager.acquire_lock on their own now if needed. + * (fc10968) PEP8 cleanups + * (c6d19d5) Added deprecation docstrings to task entry properties. + * (eb6212c) Fix archive injection + * (9bdb7ef) Fix injection + * (422c467) Improved docstrings. + * (097d9c5) Work on windows service installer a bit more + * (855d59b) Remove --del-db argument + * (51c3ff4) Add some sanity testing to make sure we have a database lock when commiting + * (6cf061e) Ensure we are closing sessions properly in a bunch of places + * (6488bbd) Make sure series database updating happens even when config changes in daemon mode Make sure we don't leave the session open during series repair + * (f499257) Add wheel info to setup.cfg + * (6eb6f6b) Add a currently broken plugin to manager a windows service to run the daemon + * (f625b9d) Fix run_task plugin + * (85ca3a0) Make sure schedules are not run with execute command + * (48caf28) Actually fire the manager.lock-acquired event + * (e33ae6f) Start switching around manager events + * (adc4d4b) Convert urlrewrite_search to new schema + * (4366499) Convert queue_movies to new schema + * (eb23982) Fixed an issue with logging crashing. + * (3d06410) Merge branch 'master' into cli_subcommands + +=== 1.1.158 (2013.11.07) === + + * (58facf3) Add discovered_from and discovered_with fields to entries created by discover plugin + +=== 1.1.157 (2013.11.07) === + + * (c32e03d) Don't count 'already in queue' as a failure with queue_movies plugin. + * (f9d40b4) Don't count 'already in queue' as a failure with queue_movies plugin. + * (e3352a1) Make sure to close the session. + * (6c0cdb9) Only run the manager.upgrade event if needed. Make sure there is a database lock before running the upgrade event. + * (e7cd449) Make rpyc use our ipc logger + * (702808e) Add handler for SIGTERM in daemon mode + * (1cadd35) Add a version system to the ipc protocol + * (a16cd46) Oops, missed a spot + * (b85be0a) Finish implementing ipc auth + * (e025dab) Break IPC while I work on authentication. + * (dc282d2) Remove some broken code + * (2b69fd8) Deprecate api v1 + * (ff8a394) est_released cleanups + * (93b15ee) Merge branch 'master' into cli_subcommands[[BR]] + Conflicts:[[BR]] + flexget/config_schema.py + +=== 1.1.156 (2013.11.04) === + + * (ccb95a0) jsonschema 2.3.0 support fix #105[[BR]] + See https://pypi.python.org/pypi/jsonschema/2.3.0, and how it is fixed for built in jsonschema formats https://github.com/Julian/jsonschema/commit/c763ab974c36891e2b8bcb6a6c1ebb1dd84009b6 + +=== 1.1.155 (2013.11.02) === + + * (f88486f) Improved bootstrap error message. + +=== 1.1.154 (2013.11.02) === + + * (a347363) Fixes #2262. Crashed with input html plugin. + * (5f6d6b4) Make sure manual tasks are not run on a default schedule + * (3c38e51) Misc cleanups and TODO's + * (33e6e88) Improved bootstrap error message. + * (e8fa2d3) Fixes #2262. Crashed with input html plugin. + * (dc810ce) Make if plugin better. fix #1440 + * (2eaa078) Convert all plugins to api v2 Convert a couple more plugins to use schemas + * (c41cf14) Remove old string replacement + * (d80fc82) Update betaseries_list to new api + * (f10f77d) Merge branch 'master' into cli_subcommands + +=== 1.1.153 (2013.11.01) === + + * (74717a1) Merge pull request #101 from thomasleveil/plugin_betaseries_list[[BR]] + [betaseries_list] add a plugin for querying the series from www.betaseri... + * (5ce6069) [betaseries_list] fix tests (better) + * (df6fb49) Merge remote-tracking branch 'flexget/master' into plugin_betaseries_list + * (cc4fcd4) [betaseries_list] fix tests[[BR]] + importing the flexget.plugins.filter.series in this module was making lots of other tests to fail + * (880c3fc) [betaseries_list] fix examples + * (afdd3d4) [betaseries_list] Sphinx compliant docstrings + * (2e5771b) [betaseries_list] anticipate Python 3 compatibility + * (fd9a961) [betaseries_list] remove the ability to define 'members' as null in the config + * (36a8a22) [betaseries_list] add a plugin for querying the series from www.betaseries.com[[BR]] + Api key can be requested at http://www.betaseries.com/api.[[BR]] + The plugin is meant to work with the import_series plugin as follow:[[BR]] + import_series:[[BR]] + from:[[BR]] + betaseries_list:[[BR]] + username: xxxxx[[BR]] + password: xxxxx[[BR]] + api_key: xxxxx + * (63ff831) Make ipc server choose any open port by default + * (c471abc) Merge branch 'req-fixes' into cli_subcommands[[BR]] + Conflicts:[[BR]] + pavement.py + +=== 1.1.152 (2013.11.01) === + + * (3394105) Merge pull request #102 from thomasleveil/patch-1[[BR]] + blacklist python-dateutil v2.2 + * (7687a7a) blacklist python-dateutil v2.2 in pavement.py (again) + * (9d94d6d) sync rtd-requirements.txt with pavements.py + * (49117f7) blacklist python-dateutil v2.2 in pavement.py + * (d162973) blacklist python-dateutil v2.2[[BR]] + which suffers from a bug as described at https://gist.github.com/thomasleveil/7274698[[BR]] + Running the Flexget test suite with dateutil 2.2 produces 2 errors and 2 failures ; with 2.1, all pass[[BR]] + bug reported upstream by contacting the author by email + +=== 1.1.151 (2013.11.01) === + + * (cf67653) Merge pull request #100 from Flexget/tpb_tests[[BR]] + Add tests to urlrewrite_piratebay.py + * (cbcada1) Add more pirate bay tests + * (7d317f0) Fix URL in the pirate bay URL rewriter + +=== 1.1.150 (2013.10.29) === + + * (fe1e744) Restore better error handling to bootstrap.py for missing setuptools/pip Add message about how to fix missing setuptools/pip problem + +=== 1.1.149 (2013.10.29) === + + * (b561c54) Back to virtualenv 1.10.1 bootstrap :P + * (84b8631) Oops, we want virtualenv 1.9, not 0.9 + * (ad94da7) Revert bootstrap.py to virtualenv 0.9.2 refs #2259 + * (f3f2fd5) Merge pull request #97 from pR0Ps/master[[BR]] + Add old TLDs for the pirate bay url rewriter. + * (4046648) Add old TLDs for the pirate bay url rewriter + * (12270ed) Merge pull request #91 from Toilal/html_increment[[BR]] + Add incremented variable to support paginated pages + * (1ace161) Now using jinja2 templating library + * (b24ac46) increment {...} content is now evaluated only if required + * (ea1f9ed) Add incremented variable to support paginated pages + * (cc1841d) Merge pull request #96 from Toilal/build[[BR]] + Git ignore changes + * (70cc0df) eclipse configuration added to git ignore + * (1d37bfb) setuptools and pip added to git ignore + * (da6a355) Remove overridden bootstrap task in pavement, it is no longer needed Add a manual edit to bootstrap to make sure setuptools/pip missing errors are more clear + +=== 1.1.148 (2013.10.27) === + + * (91ba92e) Update README.rst[[BR]] + Added travis and download count badges + +=== 1.1.147 (2013.10.27) === + + * (df40aa0) Merge pull request #94 from bitdeli-chef/master[[BR]] + Add a Bitdeli Badge to README + * (89219b7) Add a Bitdeli badge to README + * (065b27e) Scheduler now runs all tasks on a 1 hour interval if no schedules are defined in config + * (2b66c2d) Fix issue with arg order in Task init make calls to it specify optional arguments explicitly + * (4509aab) Allow wildcards in schedule task specification Allow a single task instead of a list as task specification Refactor scheduler execute to not take task argument. Tasks can be specified in 'tasks' option Refactor how ipc sends text back to the client + * (35528a4) Add start and stop actions to `flexget daemon` command + * (6288777) Fix series begin test for new ep advancement behavior + * (1424e6d) Make sure series begin episode isn't blocked by episode advancement fix #2236 + * (3fbb9d2) Make sure emit_series doesn't emit negative number sequence shows + * (95d2956) Fix template plugin working on reruns + * (229d2a4) Fix merge error in series plugin + * (8b12f8a) Make current directory config higher priority than home directory one for git installs + * (77032c1) Merge branch 'master' into cli_subcommands[[BR]] + Conflicts:[[BR]] + flexget/plugins/api_tmdb.py[[BR]] + flexget/plugins/cli/series.py[[BR]] + flexget/plugins/filter/movie_queue.py[[BR]] + flexget/plugins/output/pyload.py[[BR]] + flexget/plugins/output/rss.py[[BR]] + flexget/plugins/plugin_deluge.py[[BR]] + pavement.py + +=== 1.1.146 (2013.10.25) === + + * (e1c201c) Merge pull request #93 from Toilal/tmdb_v3[[BR]] + TMBD API updated. Fixes #92 + * (03aaf11) Fixed TMDBContainer for empty constructor parameters + * (df12855) tmdb3 package is now available on PyPI + * (8363989) API Key fixed and better logging + * (dd140e2) bootstrap.py generated with paver 1.2.1 + * (f605b86) tmdb3 dependency added to pavement + * (5fadf91) TMBD API updated. Fixes #92 + +=== 1.1.145 (2013.10.22) === + + * (6bb3a43) Merge pull request #89 from pR0Ps/master[[BR]] + Fix bug in movie lookup code + * (8163d55) Fix bug in movie lookup code + +=== 1.1.144 (2013.10.23) === + + * (bdadf61) Make sure series episodes with lower case identifiers can be --series-forgotten + +=== 1.1.143 (2013.10.22) === + + * (64109db) Replace thepriratebay.se with thepiratebay.sx fix #2255 + +=== 1.1.142 (2013.10.22) === + + * (02db53b) Better error messages for bad templates in make_rss + +=== 1.1.141 (2013.10.22) === + + * (2d2b87b) Fix make_rss to allow setting template for description + +=== 1.1.140 (2013.10.17) === + + * (388b1a6) Rename dts-hd quality to dtshd to not interfere with ranges + +=== 1.1.139 (2013.10.17) === + + * (4c02d34) Add dts-hd and truehd to audio qualities. fix #1716 + +=== 1.1.138 (2013.10.15) === + + * (81998c0) Add a unit test for previously fixed issue. + * (4fdbf9a) Fix issue with series names containing parens which had alternate_name defined. + +=== 1.1.137 (2013.10.11) === + + * (a384187) Fix an issue with pathscrub utility erroring unnecessarily + +=== 1.1.134 (2013.10.11) === + + * (cc96ad9) Change default pushover task name + +=== 1.1.133 (2013.10.10) === + + * (198d6f7) Add more tests for pathscrub, make sure path components are not surrounded by spaces on any platform + +=== 1.1.132 (2013.10.10) === + + * (6804a24) Fix up some pathscrub behavior and add unit tests + +=== 1.1.131 (2013.10.09) === + + * (bf63d5e) Allow latest versions of beautifulsoup and requests + +=== 1.1.130 (2013.10.09) === + + * (bd9b9a2) Don't let series plugin ignore sequence shows with episode 0 + +=== 1.1.129 (2013.10.07) === + + * (ee964e5) Catch distributionerrors from deluge on latest version + * (f57bdc6) Make series plugin populate 'path' and set plugin fields on metainfo phase + +=== 1.1.128 (2013.10.07) === + + * (923ca2f) Merge pull request #86 from miracle2k/patch-1[[BR]] + Make pyload plugin use requests + * (147d74f) Remove unused import. + * (3dc61fc) Assorted improvements. + * (8a7d7d5) Make pyload plugin use requests[[BR]] + This would fix #85 (pyLoad server requiring gzip). + +=== 1.1.127 (2013.10.06) === + + * (8c6de53) movie_queue will now use either imdb or tmdb automatically now, with no lookup plugins in the task + +=== 1.1.126 (2013.10.06) === + + * (304bc47) Switch imdb to be first priority with movie queue + +=== 1.1.125 (2013.10.06) === + + * (d2a0e4a) Make --movie-queue cli interface use tmdb and imdb + * (7a40bdb) Make sure imdb parser doesn't get false positives on rating ineligibility check. fix #2223 + +=== 1.1.124 (2013.10.02) === + + * (a3079db) Merge pull request #84 from jgnog/patch-1[[BR]] + Fix little mistake in rottentomatoes.py docstring + * (31da4aa) Fix little mistake in rottentomatoes.py docstring + +=== 1.1.123 (2013.09.30) === + + * (441af56) Merge pull request #83 from Gyran/master[[BR]] + new url for myepisodes + * (00efab2) new url for myepisodes + +=== 1.1.122 (2013.09.21) === + + * (27559ff) Merge pull request #80 from skasi7/master[[BR]] + Fixes newpct page change. + * (f051b6f) Fixes newpct page change. + * (b37d853) Persist the last_run time of schedules + * (edeeba4) Add rpyc to pavement.py requirements + * (d7e8da8) Clean up done todo + * (3bcafad) Add some notes on current state of priority plugin + * (fd09ea6) Fix make_rss to work with new system + * (29c806f) Tweak how output is sent back over ipc + * (01c1ad5) Try out rpyc for ipc communication Make ScopedNamespaces iterable + * (7525bcc) Switch around a couple manager events for before config load and before validate Switch config pre-check to run only with check command + * (67a31ca) Fix options parsing for non-execute commands + * (26618d1) Make --help message a littel better for archive inject + * (a7ff4cf) Clean up some of the options code Add a custom action to parse remaining arguments with a different parser Allow execute options to be specified during archive inject + * (c56fc04) Upgrade ipc protocol to support multiple commands + * (aa3a350) Make sure include plugin validates included config before merging + * (ed1cea2) Restore root level email configuration for execute command + * (47e8da9) Switch to new way to handle sqlalchemy sessions in flask + * (cabcf30) Refactor cli series list a bit + * (636670d) Rename import_series to configure_series + * (ad1f8a8) Fix correct subparser help message to show at cli Add option to parse_args to raise instead of exiting + * (23b0877) Playing with ideas for json api + * (c66cdd2) Fix cli help messages with new defaults handling + * (b9b56a4) Fix schedules without at_time + * (ac0c8af) Fix at_time schedules + * (c60de1d) Rename some of the properties in the schedule config + * (72d513b) Fix running scheduled tasks at lower priority + * (3ec0c9a) Switch schedules to take a new config format + * (cac7a02) Increase cached_input to 5 minutes + * (c26ac39) Don't stream back remote log on --cron execution + * (476f638) Only write the ipc port to the lock file when the ipc server is actually running + * (e43f23b) Allow explicitly overriding loglevel with --cron + * (7faa34c) Switch ipc to use SocketServer Switch --ipc-port to be a root level option Better debug messages on task abort + * (c591e5b) Add 'always' mode to run_task + * (e82be8f) Add a bit of logging to run_task plugin + * (953579d) Add run_task plugin + * (1cb5a70) Move daemonize complete message before detatching from sys.stdout + * (b22955c) Remove some old code + * (6552e00) Log the new pid when daemonizing. + * (202e697) Small tweaks + * (d60f9e8) Fix cached_input accessing task options + * (6b0aaae) Make sure IPC is communicating in bytes + * (5d2eb26) Only bind to a socket once for ipc + * (39fe631) Improve the ipc loop a little bit + * (b8de367) small comment fix + * (ebce251) Fix task priority hack + * (971cda2) Fix daemonize option crashing on windows + * (a977f7a) Switch --task to --tasks and make it core option Add a hack to use old task priorities in execute command Actually call daemonize method + * (7d999a9) Fix --task with upper case task names + * (8e7a718) Fix the check command + * (ad2c949) More junk + * (3da445e) Add and clean up uTorrent plugin from tyjtyj refs #2205 + * (021c601) Rename the preset module to template Fix a bug for tasks that did not define templates + * (cf3c47b) A bunch of unfinished crap which will eventually serve our schemas. + * (5aa3215) Fix the templates for blueprint system Start updating scheduler config + * (86bff47) Fix pavement.py Update webui plugin registration to use blueprints Remove some crap from webui schedule plugin + * (6acdccc) Tweak BufferQueue usage a bit + * (0369eeb) Continue work on webui + * (3ab21c0) Start converting webui to run on new system Webui is now started with `flexget webui` + * (3aaf64c) Start getting webui ready for 1.2 changes + * (8cd1ca6) Start fleshing out json api for config + * (0c89288) Fix default log levels for 'execute' and 'daemon' command + * (fd387c7) Fix log level with --debug flag + * (d47126d) Switch exists_movie to a timed cache + * (89c2414) Add an exception to raise when a plugin database needs reset to upgrade tvrage plugin now caches failed lookups and has less false matches + * (939eb4e) ctrl-c now schedules shutdown after task completion second ctrl-c aborts currently running task + * (68772eb) Ctrl-c now interrupts cli execution again + * (615d21d) Limit emit_series to only emitting missing sequence shows within last 10 + * (5847186) Implement root level config validation Remove prepare phase from tasks Rename presets to templates + * (a7bff89) Make a manager.config.pre-process event Switch --cli-config to run on it + * (4b26c7d) Move some plugins using task prepare phase to start + * (e3cdb41) Fix plugins that modify the config after task start for reruns + * (6194631) Fix how cli execute command waits for shutdown Remove bits of change_warn that didn't do anything + * (8ae6bcc) Update metainfo content_size to api v2 and json schema + * (2c2a46d) Make task.aborted be true even if it was silent + * (db6ebca) Change --tasks and manual plugin to use task start instead of task prepare phase Change --task to use a space as delimeter instead of comma + * (2559315) Make sure plugins don't call manager.shutdown prematurely + * (331c89f) Change task_start and exit phases to only run once, even if the task is rerun multiple times Update the plugins dealing with reruns + * (85be94e) Fix manager.execute.started/completed events Add manager.daemon.started/completed events + * (ea2330e) Merge branch 'cli_subcommands' of github.com:Flexget/Flexget into cli_subcommands + * (d83fd71) Add some more metadata to preset plugin schema + * (ec1da5c) Refactor memusager and cron_env to use manager.execute.started/completed events + * (3ec4052) Restore manager.execute.started and completed events, now for cli execute command + * (c645499) Fix some download tests for python 2.6 + * (1980f14) Fix a few more usages of process_start + * (1a7d6d0) Fix more plugins reference to backlog + * (e1f9199) Add a note in developer docs about the schema test in the suite + * (039d4f1) Switch a few more plugins to json schema + * (765864b) Fix rss unit test + * (deb27dc) Fix cookies plugin and switch it to using timed dict cache + * (c1106ef) Switch cached_input to use timed dict and fix tests for it + * (9465c17) Implement a timed dictionary to use in caches + * (5339ae8) Switch how series plugin stores reference to backlog plugin. fix #2207 + * (a4f5844) Fix plugin api tests even better + * (be14c04) Fix plugin api tests + * (cf14f2c) Move plugin instantiation to after all plugins are registered + * (e50a633) Fix a bug in tvrage lookups + * (f5b61ca) Make sure plugins are only registered once Implement removal of event handlers + * (cdeb248) Refactor a bit how preparing a task works Handle task aborts better in unit tests + * (ecb48d3) Tasks now reset config on reruns + * (5d2cff4) Fix some invalid schemas + * (0c13007) Fix a couple issues with Manager + * (562b800) Bump version + * (acf3c33) TaskAbort is now raised all the way up to the calling scope of execute call Start fixing up a few tests + * (e00f676) Various fixes + * (b833a38) Tasks now commit session changes from on_task_abort + * (da41fdb) Make series plugin database helpers functions + * (1e95d02) Switch plugin registration to events in more plugins Switch some more plugins to json schema + * (5b28763) Switch plugin registration to events in plugins Switch some plugins to api v2 Switch some plugins to json schema + * (157727a) A few cleanups + * (74ccd91) Fix imdb_lookup plugin Fix manual plugin Remove no longer needed --tasks + * (de4e671) Add ipc + * (b819cc4) A few fixes and cleanups + * (04ed3da) Move --check to its own command + * (4a632bd) Some cleanups + * (aab1e48) Refactor --log-start into a plugin + * (65d67d4) Rename 'register_parser_arguments event' to 'options.register'. The event no longer passes the core parser. Switch all plugins to get the core parser using options.get_parser. + * (055225d) Rename subcommands to commands + * (74162ec) Tasks are now instantiated only when executed + * (062d0a0) Remove global form of email config + * (dfb596a) Convert --perf-tests to subcommand + * (c871f84) Switch scheduler shutdown to work with flags + * (547dec2) Fix a bug with running a schedule on a day + * (124aed5) Scheduler now runs with `flexget daemon` + * (81230b6) Make copies of tasks when adding to scheduler, so that changes in manager thread do not affect scheduler thread + * (d9eb3d3) Move register_config_key to config_schema.py Make ScopedNamespaces copy properly + * (3bbd072) Make plugins access execute options from task rather than from manager + * (f1c579c) Small tweaks to interval plugin Fix a couple hard coded phase names in task.py + * (2a6a6a4) Refactor --archive-inject into subcommand + * (236ed6e) Refactor some of the on_process_start usages Make scheduler deal directly with tasks + * (7a05b9c) Don't init plugins until they have all been loaded + * (09d7989) Get rid of process_start and _end Start factoring out manager.execute + * (1b1600e) Some refinements + * (b3db79a) Get the scheduler working enough to run cli execute through it + * (84f0ffd) Make sure deluge plugin doesn't add bad paths to sys.path + * (57040b4) Tweak schedule schema a bit + * (f1dab0a) More work on the core scheduler + * (f2af356) Start working on having the scheduler in the core + * (49712dd) Make disable_builtins schema a property + * (3d23db2) Simplify inject subcommand usage a bit + * (9f6c442) Remove all arguments to manager.execute except the options namespace Make an inject subcommand + * (4f6a4d7) Make the nested option namespaces scoped + * (b0bd820) Remove reference to --reset + * (844b150) 'exec' subcommand renamed to 'execute' Subcommands are allowed to be shortened non-ambiguously Subcommand options now go in their own namespace get_subparser now throws an ArgumentError if you ask for a parser that doesn't exist when default isn't set + * (99bf685) Implement filters for CLI series listing + * (899eb5e) Remove clear-backlog subcommand in favor of database reset-plugin backlog + * (b551946) Actually pass cli arguments to running webui + * (d8ee838) Exec calls from cli are now sent to running webui Add /api/ to webui for REST api endpoints + * (db05ed7) Add a new system for defining which subcommands need a db lock + * (49a83e4) Split archive CLI into archive subcommand and --archive-inject exec option + * (3b6d1b5) Small tweaks + * (b2271cb) Add a run_subcommand method to Manager + * (b9fbcdd) Switch to use events to register parser arguments and handle subcommands + * (84d1f6b) Switch to use events to register parser arguments and handle subcommands + * (159a349) Cleanups + * (c95ce03) Add some comments about the different parsers in options.py + * (aefbf31) Add some methods to our ArgumentParser class to deal with subparsers more easily Switch subcommands to use the event system + * (ea4bc0c) Remove force option of movie_queue + * (604cb12) Fix the unit testing framework for CLI changes + * (ec20557) Remove some references to --series + * (38bfe0b) Update webui to work with new CLI system + * (a22f296) Convert all seen plugin CLI to subcommand Remove old seen plugin migration + * (a115d4b) Convert --failed and --clear to 'failed' subcommand + * (1c24fd7) Convert --movie-queue to a subcommand + * (65d1533) Convert --history to subcommand, add search option + * (60eafd1) Remove hack to run plugin method as subcommand + * (94d2160) Some cleanups to the options file + * (426edec) Add a database manager for cli + * (d521699) Remove --reset + * (9626502) Lockfiles now ignored if the pid is no longer running Manager.acquire_lock is now a context manager + * (015f644) Fix all the series cli commands Subcommand entry points now get manager as an argument Fix db_cleanup + * (b7f4a2f) Show help text when there are errors parsing cli arguments + * (3db8726) Convert clear-backlog to subcommand + * (4cc2b6e) Make 'series show' command work + * (dff788c) Convert --plugins to subcommand + * (b76922b) Update doc, reset-plugin and series CLI interface to use subcommands + * (054a0d7) Disable some old CLI switches until they are converted + * (6b63cf4) Keep messing with cli subcommands + * (9fe65a5) Adjust manager to only load config and lock database when executing tasks + * (de0f788) Start hacking in subcommands to cli interface + +=== 1.1.121 (2013.09.13) === + + * (8641eb0) Fix some problems with movie-queue del and forget when deleting by movie id + * (9aa3dd6) More cleanup to include plugin + +=== 1.1.120 (2013.09.13) === + + * (a7cecba) Remove file existence validation from include plugin again, fix #2196 Include plugin fails more gracefully with an invalid file included + +=== 1.1.119 (2013.09.12) === + + * (9057175) Fix a crash in preset plugin when config was malformed + * (fb08c11) Prevent crash in include plugin when configured incorrectly Update include plugin to api 2 and new config schema + +=== 1.1.118 (2013.09.12) === + + * (68627a0) Make --movie-queue del and forget options better at matching movies in your queue Prevent extra lookups when editing movie queue + +=== 1.1.117 (2013.09.10) === + + * (4d63f49) Don't escape colons in download urls. fix #1804 + +=== 1.1.116 (2013.09.10) === + + * (8754c34) Open the range of pack detection a bit. fix #1432 + +=== 1.1.115 (2013.09.09) === + + * (4231740) Allow text plugin to work with url or filename. fix #1832 Catch an exception in text plugin when config regex didn't have a capture group. + * (71562e4) Finally get changelog->upgradeactions linking working properly. (hopefully) + +=== 1.1.114 (2013.09.09) === + + * (0a3d8fe) Allow task names to be numeric. fix #1961, ref #1763 + * (a06d614) Stop false matches with changelog->upgradeactions linking + +=== 1.1.113 (2013.09.09) === + + * (e9915fe) Tweak changelog generator to not use flexget package + +=== 1.1.112 (2013.09.09) === + + * (4235543) Add links to upgrade actions in the change log + +=== 1.1.111 (2013.09.08) === + + * (270b6f2) Add allow_teasers option to series_premiere plugin + +=== 1.1.110 (2013.09.07) === + + * (f4de254) Convert trakt_acquired to use requests, add more debug output for failures. + +=== 1.1.109 (2013.09.07) === + + * (01ec40d) Tweak the changelog generator a bit + +=== 1.1.108 (2013.09.07) === + + * (42bb371) Add a helper script to generate a changelog from git log + * (6a13295) Make prowl debug output actually go to debug log + +=== 1.1.107 (2013.09.07) === + + * (76bcfe7) Add some debug output to prowl --test + +=== 1.1.106 (2013.09.06) === + + * (b720824) Improve schema for csv plugin. fix #2193 + +=== 1.1.105 (2013.09.04) === + + * (6df6d28) Prevent recursive lazy lookups with imdb plugin. + +=== 1.1.104 (2013.09.04) === + + * (65aedc1) imdb_lookup will look up based on movie_name if available refs #2112 + +=== 1.1.103 (2013.09.03) === + + * (a8bd46f) Clean up rapidpush plugin + +=== 1.1.102 (2013.09.03) === + + * (dc4bf4f) Clean up serienjunkies plugin + +=== 1.1.101 (2013.09.03) === + + * (d2c311d) Clean up torrent411 plugin + +=== 1.1.100 (2013.09.03) === + + * (18c881e) Cleanups for listdir plugin + +=== 1.1.99 (2013.08.31) === + + * (86cfc8a) Included torrent411 urlrewriter. Fixes #754. + +=== 1.1.98 (2013.08.31) === + + * (be97134) Added support for symbolic links to the other exists-plugins. + +=== 1.1.97 (2013.08.31) === + + * (70a6a6e) Removed dirs_only option since it broke the tests. + * (32d2645) Updated for exists_series dirs_only parameter, if entry is a dir, don't chop the last word from the name. + * (b59127f) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.1.96 (2013.08.28) === + + * (06c6a64) Refactor and fix content_filter require_all logic, add some unit tests. + +=== 1.1.95 (2013.08.28) === + + * (a5274e6) Catch potential exception in rss plugin. fix #1880 + * (af7471e) Catch potential network exception in imdb_list. fix #1817 + * (0cdb58f) Allow use of ~ in transmission netrc option. fix #1789 + +=== 1.1.94 (2013.08.27) === + + * (3ebaad7) Clean up rtorrent_magnet plugin. refs #1994 + * (2b32271) Add 'watched' option for trakt_list movies. fix #1966 + +=== 1.1.93 (2013.08.27) === + + * (c280a8a) Give a proper error message when config is not utf8 encoded. fix #2121 + +=== 1.1.92 (2013.08.26) === + + * (b9f0f43) Add 'webhd' as synonym for webdl quality. + * (a18ed42) Fix pogcal authentication issues. fix #2128 + +=== 1.1.90 (2013.08.26) === + + * (2ab373a) Update apple_trailers docstring. fix #2167 + +=== 1.1.89 (2013.08.26) === + + * (274aba2) Fix import problem with serienjunkies plugin. fix #2184 + +=== 1.1.88 (2013.08.26) === + + * (3733c69) Merge branch 'serienjunkies' + * (b129840) Fix indentation in serienjunkies urlrewriter + * (ddc7469) Indention fixed + * (de7513d) Updated .gitignore + * (997c913) Final and working version serienjunkies.org urlrewriter + * (b198e50) Final version serienjunkies.org urlrewriter + * (7f64157) Update urlrewrite_serienjunkies.py + * (230aebf) code cleaning + * (e1bd888) hoster and language configuration + * (1243bb4) Create urlrewrite_serienjunkies.py + +=== 1.1.87 (2013.08.26) === + + * (9eca252) Merge branch 'tempdir' + * (e2ddabd) Small cleanups to download tests + * (0b8b725) chmod -x'ed tests/test_download.py back to normal + * (b3f7e80) Some cross-platform and regular bugs + * (db5f874) Download plugin: bugfixes and a bit of PEP8 + * (9a56d35) no idea why that was missing O_o + * (fd1ee47) download plugin: temp directory and test cases + +=== 1.1.86 (2013.08.19) === + + * (96b9218) Make sure explicitly configured series can never be hidden in a --series summary. + +=== 1.1.85 (2013.08.19) === + + * (30d77bb) Fix --series further so that all series are queryable. + +=== 1.1.84 (2013.08.19) === + + * (78efdf2) Improve --series behavior for shows with similar names. fix #2149 + +=== 1.1.83 (2013.08.04) === + + * (473b084) Merge pull request #71 from rpatterson/log-torrentz-request-errors[[BR]] + Log specific HTTP error messages when searching torrentz + * (01cc833) Log specific HTTP error messages when searching torrentz + +=== 1.1.82 (2013.07.30) === + + * (b3dcbb4) Add loose matching support for --series NAME + +=== 1.1.81 (2013.07.21) === + + * (51c6d36) Remove invalid rows in series_tasks fix #2115 + +=== 1.1.80 (2013.07.21) === + + * (5be2d86) Series db cleanup now no longer messes up relationships + * (23ad9a4) config_modified flag is now set after a database cleanup + * (2c716f9) Include quality info in btn search result titles + +=== 1.1.79 (2013.07.19) === + + * (9e9fb96) Disable notify_osd when config is False + +=== 1.1.78 (2013.07.18) === + + * (6d77428) Torrentleech sizes can, surprisingly, be in Bytes + * (a326b39) Added distribute tarball and man/ to gitignore + +=== 1.1.77 (2013.07.16) === + + * (dfc0cae) Workaround for paver bug with missing module 'version' + * (2cee8a7) exists_series will now follow symbolic links dirs_only False/True has been added to allow searching for directories only, default: False + +=== 1.1.76 (2013.07.16) === + + * (0662ee9) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.1.75 (2013.07.15) === + + * (0d7b468) Upgrade bootstrap.py to new version + +=== 1.1.74 (2013.07.12) === + + * (0afc219) Make sure movie title parser cuts at "director's" + +=== 1.1.73 (2013.07.10) === + + * (b7a7066) Fix missing space in verbose accept/reject messages + * (417b76e) Fix cascade not deleting episodes when doing --series-forget for whole series + +=== 1.1.72 (2013.07.10) === + + * (cd93524) Make sure identified_by is not overridden to auto when explicitly specified for series groups + +=== 1.1.71 (2013.07.08) === + + * (e10964e) Allow setting --series-begin for shows not yet in the database + +=== 1.1.70 (2013.07.08) === + + * (9e3bb09) Add from_start option to emit_series + * (50df981) Make sure no reruns are requested for next season with a non-ep based show + +=== 1.1.69 (2013.07.08) === + + * (aa28cab) Fix --series-begin for sequence identifiers + +=== 1.1.68 (2013.07.08) === + + * (ab26eb4) Make sure series plugin get_latest_download helper only returns episodes that match the identified_by type for the series + +=== 1.1.67 (2013.07.08) === + + * (9a3e6a9) Fix issue with webui series query. fix #2101 + +=== 1.1.66 (2013.07.05) === + + * (ee5dc8e) Update beautifulsoup requirements + +=== 1.1.65 (2013.07.05) === + + * (5287ad4) Make previous emit_series fix a bit cleaner. + +=== 1.1.64 (2013.07.05) === + + * (cc2163e) Catch an error with python tvrage api + * (252c2e0) Fix crash in emit_series + +=== 1.1.63 (2013.07.02) === + + * (9dc2783) Prevent a crash in imdb parser. refs #2091 + +=== 1.1.62 (2013.06.30) === + + * (3ded33f) Add some more fields to entries created by apple_trailers + +=== 1.1.61 (2013.06.30) === + + * (4280c93) Fix apple_trailers test + +=== 1.1.60 (2013.06.30) ^[wiki:UpgradeActions#a2013.6.301.1.60 upgrade actions]^ === + + * (300f0b0) Fix apple_trailers plugin + +=== 1.1.59 (2013.06.30) === + + * (1075e83) Fix imdb mpaa test + * (67c7605) Strip quotes from imdb_original_name + +=== 1.1.58 (2013.06.30) === + + * (1a69757) Add 'remux' as a valid source + * (015d546) Fix forgotten comma + +=== 1.1.57 (2013.06.26) === + + * (1fd54dc) Try to make sure more specific series name is parsed first in case of ambiguity. + +=== 1.1.56 (2013.06.26) === + + * (36cb425) Fix api_tvrage for shows with non-ascii characters + +=== 1.1.55 (2013.06.26) === + + * (30f6c9b) Fix bug with newtorrents search plugin + +=== 1.1.54 (2013.06.25) === + + * (b0d4387) Fix api_tvrage database caching + +=== 1.1.53 (2013.06.25) === + + * (2aa9eb6) Catch timeouts properly in api_tvrage, prevent task aborts + +=== 1.1.52 (2013.06.24) === + + * (d965def) Reduce log spam when using discover plugin. + +=== 1.1.51 (2013.06.24) === + + * (4e5c811) Small typo in readme + +=== 1.1.50 (2013.06.23) === + + * (77b34e7) Small typo + level logging + +=== 1.1.49 (2013.06.23) ^[wiki:UpgradeActions#a2013.6.231.1.49 upgrade actions]^ === + + * (c429829) if the source extension isn't already present in the destination add source extension to destination when moving. + * (2feaea4) Merge branch 'planeturban' + * (e7d602d) Added support for unwatched media only. Fixed naming of some entries. + +=== 1.1.48 (2013.06.23) === + + * (45a6bcf) Merge branch 'planeturban' + * (4bfb556) Removed some debugging. + +=== 1.1.47 (2013.06.22) === + + * (9679aee) Make sure series_premiere doesn't do anything with shows configured in series plugin. fix #2082 + +=== 1.1.46 (2013.06.22) === + + * (0fc2ec9) Jack up the timeout for disconnecting from deluge daemon + +=== 1.1.45 (2013.06.22) === + + * (057222f) Minor improvements to docstrings and log messages. + +=== 1.1.44 (2013.06.22) === + + * (6f570ca) Fix bug with series CircularDependencyError + * (c84105f) Only log first request for rerun within a task + +=== 1.1.43 (2013.06.21) === + + * (5304505) Episodes that tvrage doesn't know about are now considered unreleased in est_released_series + * (1f1d3bb) Fix search count in discover plugin + * (b1243c9) Fix bug in btn plugin when no results + +=== 1.1.42 (2013.06.21) === + + * (bd84698) Fix bug with api_tvrage and None genres Improve how tvrage genres are stored in the database a bit + * (55b74e4) Fix max_reruns plugin + +=== 1.1.41 (2013.06.21) === + + * (08fa7da) Better log messages for emit_series about shows not being emitted + +=== 1.1.40 (2013.06.21) === + + * (8ac8e54) Removed wait parameter, let's be bursty if we need a more complex system we'll implement it another way. + +=== 1.1.39 (2013.06.21) === + + * (10b414c) Add alternate_name option to series plugin + +=== 1.1.38 (2013.06.21) === + + * (9adeb0d) Add better debug logging if trakt_list fails to decode response from trakt. refs #2083 + +=== 1.1.37 (2013.06.20) ^[wiki:UpgradeActions#a2013.6.201.1.37 upgrade actions]^ === + + * (9443993) Merge branch 'emit_series'[[BR]] + Conflicts:[[BR]] + flexget/plugins/generic/archive.py[[BR]] + flexget/plugins/search_kat.py + * (2b8afdd) Cleanups for newznab plugin + * (6b98975) Cleanups + * (da521c3) Remove task level entry hooks for now + * (6ecd020) Add a method to Task to add hooks on all entries added to that task + * (4831b53) More tweaks to series database updating + * (d581639) Explicitly set identified_by to ep for all_series and series_premiere + * (8b2d1d3) Allow ep identifiers to be lower case with 'begin' option + * (311c323) Combine est_released_tvrage and est_released_series Catch some errors better for shows not in tvrage + * (82dc2ae) Make sure --series summary never hides series in config + * (1759260) import_series keeps track if config has changed Fix series db updates to work properly + * (c84c9fa) Make sure Episode.first_seen doesn't crash when there aren't releases + * (424f49f) Add docstrings for entry hooks + * (ffabeb9) pep8 + cleanup + * (8482bf1) Added DB cleanup, to clean data not updated for 30 days. If tvrage data are more than 7 days old, refetch them from tvrage (purge db for that show and reinsert). + * (b8833b1) Removed Season utility class in profit of an episode method. Changed test & est_Released_tvrage accordingly + * (446c62c) Helper functions, comments and cascade relation + * (bca7069) Useless var for the test (copy / paste is bad) + * (1b682a1) First persistence changes for tvrage api + * (0c7cae0) New url rewrite for newznab engines. + * (a89caec) Support sequence based episodes in emit_series, est_released_tvrage and btn plugins + * (53cae6b) emit_series now tries to fill in any undownloaded episodes from current season + * (e472524) Fix grace for large episode batches in series episode advancement Fix small issue with setting series begin + * (1320a28) Implement super cool auto retry with emit_series for next episode or season + * (5beb54d) Make --series-begin work with lower case ep identifiers + * (d34d606) Make --series-begin actually work + * (1842e56) Start implementing --series-begin. Probably broke some stuff, commiting before I go home. + * (37e82ab) Merge branch 'emit_series' of https://github.com/Flexget/Flexget into emit_series + * (6e27b6c) functools.total_ordering is not available in 2.6 + * (a52d8f7) emit_series now starts at 'begin' if specified + * (54a58ef) Update task.undecided + * (8b3ade8) Remove some todos about entry phases + * (caa7e3f) If successful, emit_series tries rerun to get next ep More fixes + * (047ca23) Add entry.task back More tweaks to the new entry phases + * (05906c2) --dump now prints title and url above other fields + * (7049a42) Start refactoring entry phases + * (31fc167) Merge branch 'emit_series' of https://github.com/Flexget/Flexget into emit_series + * (59c1fa6) Remove series 'watched' option in favor of 'begin' option, which is now stored in the database. + * (7d33ec6) Series plugin now accepts any missing episodes from the current season + * (cf611f8) Update all search plugins to use search_strings + * (f87b4f1) Fix est_released_series, add a season break estimator + * (c1406b7) Update some search plugins to use search_strings field + * (9e1f79b) Make sure urlrewrite_search iterates results in sorted order + * (fa9a72f) Movie estimator falls back to movie_year + * (83a6149) More est_released tweaks + * (2da56c5) Raise DependencyError when series plugin is missing + * (c15d4c2) Add release estimator based on series history Tweaks to est_released plugins + * (5958d30) Refactor emit_series a bit + * (ddce719) Series plugin now unmarks the database when tasks are removed + * (ca9ceee) Fix btn plugin with no results + * (424bd70) If any series are configured in tasks, --series will only print the summary for them + * (e3c7a80) Add info into db for which series are configured in which task emit_series now only emits series from that task + * (1f6c0d8) Start emit_series branch + * (c78f306) Start emit_series branch + +=== 1.1.36 (2013.06.17) === + + * (a3b4215) Changed old kat.ph to new kickass.to domain. + +=== 1.1.35 (2013.06.13) === + + * (32028e2) Don't import jsonify from flask.helpers fix #2078 + +=== 1.1.34 (2013.06.13) === + + * (8ff63e9) Make sure auto identified by works properly with all_series + +=== 1.1.33 (2013.06.12) === + + * (dea8e78) Some doc updates + +=== 1.1.32 (2013.06.11) === + + * (ffa4b01) Update version number in sphinx documentation + * (715bb94) Fix imdb parser for movies with no plot. fix #2042, #2071 + * (34af346) fix #2075 + +=== 1.1.31 (2013.06.10) === + + * (8ee56df) Merge branch 'ftp' + * (191b01f) Some ftp plugin cleanups + * (7bef6bb) bugfixes and suggestions added + * (57d9a84) first version from ftp_download plugin + * (ee61b60) Fixed commentaries + * (b6390ed) First version from ftp_list plugin + +=== 1.1.30 (2013.06.08) === + + * (89fd4aa) Add docs for 'interval' values in schemas + +=== 1.1.29 (2013.06.08) === + + * (b48860a) Merge pull request #57 from andir/invalid_port[[BR]] + Fixed some issues with torrent_alive related to invalid ports. + * (0209264) Fixed some issues with torrent_alive related to invalid ports. + +=== 1.1.28 (2013.06.05) === + + * (a3bc27f) Search plugin flexget_archive now produces sensible results.[[BR]] + - Does not create None fields, Fixes #2069 + * (54c30ac) Increased discover verbosity level on search. + * (c7ce11b) Entry update_using_map now has ignore_none kwarg. + +=== 1.1.27 (2013.06.05) === + + * (d56b4e5) Fixes make_rss guid failure with unicode.[[BR]] + - Fixes #2068 + +=== 1.1.26 (2013.06.02) === + + * (ece3493) Fix merge problem. fix #2064 + +=== 1.1.25 (2013.06.01) === + + * (2760f21) csv plugin now handles unicode input. (hopefully correctly) Also add csv plugin schema and switch to requests + +=== 1.1.24 (2013.05.31) ^[wiki:UpgradeActions#a2013.5.301.1.24 upgrade actions]^ === + + * (55b9516) Find and listdir plugins now strip extension from created entry titles. + +=== 1.1.23 (2013.05.31) === + + * (3070895) Add --clear-backlog option + +=== 1.1.22 (2013.05.31) === + + * (e7adbe7) ascii option to rss plugin now converts whole feed before parsing. can help parse bad feeds. refs #1637 + +=== 1.1.21 (2013.05.29) === + + * (d919e67) Re-implement deleting of non-accepted entries after task execution to reduce memory usage. ref #1652 + * (4b76408) Update readme with links to website + +=== 1.1.20 (2013.05.27) === + + * (4532ad1) Don't let strings have u'' representation in config error messages + * (303bc74) Add imdb_list schema + * (a3ec316) Import cleanups + * (49828e7) More schemas + +=== 1.1.19 (2013.05.27) === + + * (861503a) More schemas + * (79196bf) More schemas + * (59ebacb) Convert more plugins to use new schemas + +=== 1.1.18 (2013.05.27) === + + * (5b586a1) Require series titles to end at word borders. fix #1949 + * (d26c642) Increase download chunk size to 150kB fix #1622 + +=== 1.1.17 (2013.05.27) === + + * (0415501) Fix make_rss schema + * (91eb66f) Hopefully fix series db cleanup. refs #2034 + * (430c2ed) Convert rss plugin to schema + * (53ab874) Remove old lazy validator code, issue error if any plugins try to use it. + * (ab4dea3) Add schema docs on format keyword + * (3db11c0) Convert cookies to schema + * (736cc2a) Add download url into package metadata + +=== 1.1.16 (2013.05.27) === + + * (294f1f4) Start some documentation on the new schema system + +=== 1.1.15 (2013.05.27) === + + * (7799d35) Convert regexp plugin to new schema + * (3b1219e) Remove unused import + * (9a0a95e) Fix some config error messages not printing + * (d00100b) Remove add_plugin_validators function + * (3e42447) Clean up a few TODOs + +=== 1.1.14 (2013.05.27) === + + * (d20705e) Refactor how series plugins share the series settings schema + +=== 1.1.13 (2013.05.26) === + + * (d651d26) Series plugin 'path' option allows any path. fixes #2057 + +=== 1.1.12 (2013.05.26) === + + * (2d3b02a) Fix series_premiere validator so allow_seasonless works again. refs #2057 + +=== 1.1.11 (2013.05.26) === + + * (a92f3db) Removed tvtorrents input (unmaintained and broken) + +=== 1.1.10 (2013.05.26) === + + * (a11048f) Merge pull request #55 from docpaul/master[[BR]] + from_transmission input mods + * (37ddd1f) Update plugin_transmission.py[[BR]] + Added additional keys (content_size, transmission_comment, transmission_downloadDir, transmission_isFinished, transmission_isPrivate) to from_transmission input entry + +=== 1.1.9 (2013.05.26) === + + * (6ffb5c9) Catch RenderErrors in exists_series + * (711812e) Don't bother converting movie release estimate to date + +=== 1.1.8 (2013.05.25) === + + * (c18c3e2) Allow jinja replacement in exist_series paths in order to optimize number of files scanned + * (b905115) Avoid string replacement in a bunch of logging calls when not enabled for that level + +=== 1.1.7 (2013.05.25) === + + * (1177c25) Make sure 'auto' series identifier mode doesn't overwrite learned one + * (d419562) Update some more plugins with schemas + * (5362190) More readme formatting + +=== 1.1.6 (2013.05.25) === + + * (b08e84c) Update README some more + +=== 1.1.5 (2013.05.25) === + + * (fa4d1b2) Update README to use rst Add classifiers and long_description to our setup + +=== 1.1.4 (2013.05.25) === + + * (6e78c9e) Fix --ver-file option for release task + +=== 1.1.3 (2013.05.24) === + + * (4f5dcb2) fix #2055 + +=== 1.1.2 (2013.05.24) === + + * (6e9a698) Merge branch 'planeturban' + * (1d45f05) More pep8 fixes. Added skip if episode not could be determined. + * (352c897) Merge branch 'planeturban' + * (a0ecb89) New enteties. plex_server unresolved server name plex_server_ip resolved server ip plex_port PMS port plex_section section number plex_section_name section name e.g. TV Shows plex_path path to media on server e.g. /library/parts/44695/file.mkv[[BR]] + Smarter check if section is TV or not. + * (98da9d5) Removed temporary debug information. + +=== 1.1.1 (2013.05.24) === + + * (3a0028d) Add jsonschema to technologies used in dev docs + +=== 1.1.0 (2013.05.24) ^[wiki:UpgradeActions#a2013.5.241.1.0 upgrade actions]^ === + + * (3932fe0) Bump version number + * (43a476e) Fix small merge problem with discover plugin + * (3f6727d) Merge branch 'jsonschema'[[BR]] + Conflicts:[[BR]] + flexget/plugins/filter/content_filter.py[[BR]] + flexget/plugins/filter/queue_base.py[[BR]] + flexget/plugins/input/discover.py[[BR]] + flexget/plugins/input/mock.py[[BR]] + pavement.py + * (7acf825) Fix backwards compatible validator test + * (0c3d823) Refactor some schema validator stuff + * (a1b9c8d) Update jsonary style to be more like yaml + * (b545911) Tweak getset_item + * (7a88356) Fix up discover and inputs schemas + * (4190285) Update jsonary again + * (20c5596) Update jsonary again + * (be88238) Tweak series schemas + * (c442eef) Clean up listing of available keys in editor + * (5b9ff3a) Switch to yes/no for booleans in editor Clean up some of the style in editor + * (f018d9c) Fix quotes in schemas + * (1fb6174) Tweak trakt_list schema + * (d6c67d4) quotes fix + * (5b21274) Update jsonary + * (d485d32) Make sure oneOf validator also chooses our custom child errors + * (0b50b22) Tweak some schemas for better jsonary representation + * (d99fab4) Make /configure/jsonary sorta less broken + * (f3adba6) Add sorta broken /configure/jsonary to webui + * (0eb1f4a) Add jsonary files to configure plugin static folder + * (cb6797a) Register root config schema at /schema/root Temporarily hard code some Content-Type headers to test jsonary + * (2f7cd95) Add RESTful endpoint for config json to webui + * (6b79938) Reverse order in one_or_more, so that array comes first + * (286283b) Fill the 'id' keyword in all plugin schemas + * (b33078b) Make setting defaults when validating a separate method + * (d5a1642) Only set defaults when validator is called with set_defaults + * (f17fec3) Mark some required properties in schemas Add some defaults to schemas + * (a41edae) Mark required fields in crossmatch schema + * (b8abf61) Add support in for filling default values + * (cfed56b) Improve error messages from some of our format checkers + * (3f710cf) Clean up the type error message + * (21f1dda) Convert apple_trailers to new schema (config is now case sensitive) + * (02da432) Improve schema for legacy choice validators with ignore_case + * (8979c3a) validate_config methods now returns a list of ValidationErrors + * (76b72e2) Clean up any_schema + * (0d11d7a) Improve error message for enum Simplify one_or_more now that errors are better for anyOf + * (63f532d) Custom errors are now included in schemas generated from old validators + * (a7a2bbb) Improve error message for extra keys + * (8dbc4fe) Make virtual type error test more robust + * (eed0166) Smarter error behavior for anyOf schemas + * (c3afa66) Add some notes about deprecated validator testing stuff + * (cd36bbe) Clean up unit tests for custom validation messages + * (4a285e9) Fix path validator for paths with jinja + * (f4d5a11) Make errors raised by format checkers be the validation error + * (fc0e833) anyOf validator sometimes guesses a branch to give errors from + * (f2699dc) Convert sequence plugin to json schema + * (eb9ac01) Fix and refactor how paths are added to error messages Add a custom message for the interval format validator + * (93303a9) Add the path of the error to the beginning of error messages + * (693e6df) Add system for creating custom validation error messages Add generic render function to utils.template + * (a2dbc25) Fix an issue with a series_premiere test + * (a118f7a) Fix an issue with the pluginapi tests + * (32a7479) Disable validator tests which we can't support with json schema + * (db3678b) Add back validate method to old validators to allow unit tests to run Fix choice validator with ignore_case flag Fix path validator with allow_missing flag + * (e3986d9) Add 'path' format checker + * (6fb0a18) Convert if plugin to json schema + * (150a13e) Fix imdb min_score schema to allow numbers + * (4edb19c) Require jsonschema >= 1.2 + * (7d68681) Add interval format validator + * (b5656a0) More config schema updates + * (dd9e847) Convert more config schemas + * (9f0076b) Convert exists config schema + * (8598466) Add some forgotten additionalProperties: False + * (a6f83e3) Convert crossmatch config schema + * (c46fc7f) Convert content_size config schema + * (d907a84) Improve the ref validation test. It checks all refs and fragments now. + * (c76cf7c) Add a unit test to make sure refs in schemas are valid + * (2ceab4e) Convert download plugin schema + * (7587732) Convert search_rss plugin schema + * (da8b7a5) Convert trakt_list plugin schema + * (1deffb2) Convert rss plugin schema + * (83a16ba) Convert unit test to test all registered schemas instead of plugins directly. + * (a9af3ca) Cleanups for jsonschema stuff + * (ca5755d) Return 404s when schemas are not found + * (0e1142d) Make schemas available from the webui + * (1e8fc00) Convert series plugins to use new config schemas + * (c4df5ca) Optimize one_or_more for better error messages + * (6973d5d) Add one_or_more helper to generate schemas + * (b2b6058) Add a few comments. + * (304acd1) Convert content_filter plugin to use new config schema + * (9b5ce1d) Convert accept_all plugin to use new config schema + * (195b154) Convert mock plugin to use new config schema + * (08dd6f8) Remove some unused imports in inputs plugin. + * (461062a) Restore 'limit' option to discover plugin. + * (1d764c1) Re-implement /schema/plugins refs + * (af68b51) Fix mock validator. + * (8fa2f5c) Separated new config validation from old validator.py Use new validator to do validation. (unfinished and a bit messy) + * (a4dd0ab) Rename schema.py to db_schema.py + * (1c36548) More work on jsonschema validation + * (0d83edc) Start implementing jsonschema validation + +=== 1.0.3414 (2013.05.24) ^[wiki:UpgradeActions#a2013.5.241.0.3414 upgrade actions]^ === + + * (acd1f17) Merge branch 'discover_refactor' + * (f7c2d38) Add preliminary btn search plugin + * (306d557) Move est_released plugins out of metainfo package + * (cd56331) Implement close matching in urlrewrite_search + * (5ebc5aa) Change tpb search behavior with dashes + * (dd9dab2) Few fixes since we have change entry type + * (02230cb) Few fixes since we have change entry type + * (814c11e) Refactor interval_expired a bit + * (4554d4f) Axe comparators! + * (4aaab5a) Fix for days interval (using a method to have a cleaner code) + * (30ab992) Addressing "Automatic staggering of search intervals to avoid many searches all in one run", we use the random algorithm. + * (3b57bea) Add discover test for release estimates + * (c8a6e4b) Fix test name + * (be3e5a2) Add some simple test cases for discover + * (8a5563d) Add index for title and task on discover table Make discover release entries that no estimate could be found + * (2b5fb02) Merge branch 'master' of https://github.com/Flexget/Flexget into discover_refactor + * (0b3617a) pep8 spaces + * (057a0ec) Fixed a "normal" exception in the log that may raise unnecessary questions + * (2a88b82) Merge branch 'discover_refactor' of https://github.com/Flexget/Flexget into discover_refactor[[BR]] + Conflicts:[[BR]] + flexget/plugins/input/discover.py[[BR]] + flexget/plugins/urlrewrite_torrentz.py + * (2ae0404) Discover refactoring[[BR]] + - Reduced logging[[BR]] + - Emit series does now 1x01 format + * (834a6a6) Fix estimator loop, consider rest plugins as well. + * (80bf16c) Discover refactoring mayhem.[[BR]] + - Various tweaks and fixes + * (29c5925) Compatibility fix for some search plugins with the new discover refactor Added a log when movie is not available yet. + * (94ba663) Changed from simple_persistence to a Base + * (70133a4) Simplifications and correction from comments (est_released is no longer a plugins) + * (ea42e75) Est_released now returns only the estimated date of release for the movies, leaving other plugins to decide what to do with it. + * (de7c61a) est_released : Renamed function and accept only one entry + fix to the filter + return estimate date of release discover: added a configuration entry so the estimate function can be disabled est_released_movies / series : return estimated date of released for the entry + * (ed14a7c) Added an interval parameter : for each entry provided by entry an internal interval is created so the same entry won't be search before next interval. + * (0ae4da3) estimate_released plugin for movies + * (3869836) Static Cache for api_tvrage in order to speed up multiple query for the same TV Show + * (5f043ae) Created a filter plugin for est released, with an helper function called by discover Change emit_series to output only one title per series with meta data from the episode two syntax is not useful Added debug information to est_released_series + * (73a8ccc) Added release estimation for tv series + * (ef4955e) emit_series now add meta data within the entry serie_name, serie_season, serie_episode + * (132c6e6) Discover now provide an entry instead of just a title + +=== 1.0.3413 (2013.05.24) === + + * (97c928a) Fix issue with our file:// support on newer requests. fix #2054 + +=== 1.0.3412 (2013.05.23) === + + * (8e92072) Add --ver-file option to release task, so jenkins can read version number + +=== 1.0.3411 (2013.05.20) === + + * (e0c2f3f) Fixed issue where all qualities would not be stripped from series names before parsing. fix #2049 + * (982a7c9) Update logo for webui header + +=== 1.0.3410 (2013.05.20) === + + * (ad886df) Merge branch 'plex' + * (7814e9f) Added support for named sections. Added checks to only allow TV sections. + +=== 1.0.3409 (2013.05.19) === + + * (3440c6e) Fix rejection messages for content_size + +=== 1.0.3408 (2013.05.18) === + + * (a31c83a) Let --test test a bit more in make_rss Fix an issue with non-ascii strings in make_rss + +=== 1.0.3407 (2013.05.18) === + + * (635d974) Merge branch 'plex' + * (290d7be) Fix for date based series. + +=== 1.0.3406 (2013.05.18) === + + * (8de49d7) Removed test code from previous commit. + * (38274db) Added more detailed information to seen plugin reject message. + +=== 1.0.3405 (2013.05.18) === + + * (c7c850c) Plugin make_rss now writes guid[[BR]] + - Fixes #2045 + +=== 1.0.3404 (2013.05.18) === + + * (4587f16) Removed IP-only server configuration. Added "original_filename" configuration parameter. Moved resolution in filename to it's "correct" place. + +=== 1.0.3403 (2013.05.17) === + + * (a0bc62d) Add links to some git tutorials to developer docs + * (71c8f43) Fixed indentation. + +=== 1.0.3402 (2013.05.15) === + + * (a56a8c1) Merge branch 'master' of https://github.com/Flexget/Flexget + * (df11efb) Merge branch 'plex' + * (3cf8637) New 'title' and some new configuration parameters: Added video codec, audio codec, video resolution to filename. New configuration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01 + +=== 1.0.3401 (2013.05.15) === + + * (0b6a18e) New configguration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01 + * (f1207dd) New 'title' and some new configuration parameters: Added video codec, audio codec, video resolution to filename. New configuration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01 + +=== 1.0.3400 (2013.05.14) === + + * (af6bbdb) Add new logo as windows tasktray icon + +=== 1.0.3399 (2013.05.15) === + + * (afe5231) Added myplex and selection support, for real this time. + +=== 1.0.3398 (2013.05.14) === + + * (266a2d8) Revert "Added myplex and selection support"[[BR]] + This reverts commit afa739fae2b2931ee4dc68d5bed8e3f70565e8e7. + +=== 1.0.3397 (2013.05.13) === + + * (afa739f) Added myplex and selection support + +=== 1.0.3396 (2013.05.13) === + + * (5c280d8) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3395 (2013.05.12) === + + * (26a0c2c) Merge pull request #47 from planeturban/plex[[BR]] + Plex + * (56a6d02) Nicer looking urlopen + * (e0a4d7e) PEP8 + * (19315da) Added plex.py[[BR]] + Added Plex input plugin. Uses a Plex media server tv-section as input. + +=== 1.0.3394 (2013.05.12) === + + * (0b4560a) Merge pull request #48 from floppym/master[[BR]] + Include test data in tarballs + * (0507ecf) Include test data in tarballs + * (3ee7511) Readthedocs fixes. + +=== 1.0.3393 (2013.05.13) === + + * (c769b90) Added developer database documentation to Sphinx. + +=== 1.0.3392 (2013.05.11) === + + * (4bd9a89) Enable sphinx doctest extension and fix rendering of TDD docs page + +=== 1.0.3391 (2013.05.07) === + + * (2c836c7) Merge pull request #46 from Nemesis7/patch-1[[BR]] + prowl plugin now supports jinja in 'event' option + * (930abc0) Update prowl.py + * (a2a965d) Update prowl.py + * (3c32df9) Update prowl.py[[BR]] + This allows for showing the entry metadata in the 'event' part of a push notification. + +=== 1.0.3390 (2013.05.06) === + + * (2bb3b9a) Revert try_every option to emit_movie_queue, replacement will be implemented in discover plugin + +=== 1.0.3389 (2013.05.05) === + + * (d9b3d31) Add some unit tests for emit_movie_queue + * (887452f) Add try_every option to emit_movie_queue + * (77446d0) Be even more helpful if encountering tabs in config. + * (5f31bec) Removed torrage.ws[[BR]] + - Fixes #2029 + +=== 1.0.3388 (2013.04.28) === + + * (02ab856) Developer documentation. + +=== 1.0.3387 (2013.04.27) === + + * (44c16a8) Series plugin logs verbose when quality requirements are not met. + * (8526ecf) Added developer instructions to Sphinx documentation. + +=== 1.0.3386 (2013.04.15) === + + * (91cbb28) Fix our requests session to properly hand off non http schemas to urllib + +=== 1.0.3385 (2013.04.11) === + + * (47043e5) Make rtorrent_magnet count as an output plugin Make rtorrent_magnet support ~ in paths + +=== 1.0.3384 (2013.04.10) === + + * (a725754) Merge pull request #40 from tpolich/master[[BR]] + New regex input plugin + * (3817e25) Update regexp_parse.py[[BR]] + added some more detail to the description + * (4f054f8) fixed pep8 errors + * (0a225e6) more documenting and added some idea for later work + * (287a122) fixed some docstrings and added class docstring + * (a208d72) removed debugging print + * (ebad7af) fixed more issues with changing regex to regexp + * (891202e) fixed variable name + * (d25b07b) added a lot of docstrings and removed special handling code for url and title entry fields + * (1a8e545) changed config format to differ less between flexget (url and title field) and custom fields + * (aa73783) renamed to regexp_parse.py + * (4a7b62a) new regex based input plugin[[BR]] + added regex input plugin. A more complete offering of what the text plugin currently does. + +=== 1.0.3383 (2013.04.09) === + + * (4760947) add require_all to content_filter validator + +=== 1.0.3382 (2013.04.09) === + + * (f4840d5) add require_all option to content_filter + +=== 1.0.3381 (2013.04.07) === + + * (e11d394) Plugin torrent_alive no longer mangles hostnames with announce[[BR]] + - Fixes #2013 + +=== 1.0.3380 (2013.04.04) === + + * (6766b1c) Remove extra tvdb_ from tvdb_ep_air_date entry field name. fix #2011 + +=== 1.0.3379 (2013.04.03) === + + * (0eef2ea) Add a default timeout for our requests sessions + +=== 1.0.3378 (2013.04.01) === + + * (b52942d) Update kat search plugin for changes they made to fields. Thanks flexam + +=== 1.0.3377 (2013.04.01) === + + * (c0cceb2) Make sure from_transmission doesn't crash when no username/password is provided. + +=== 1.0.3376 (2013.03.31) === + + * (f46050d) Merge pull request #38 from TMaYaD/patch-1[[BR]] + Workaround for http://flexget.com/ticket/2002, http://flexget.com/ticket/1954, http://flexget.com/ticket/1315 + * (ca57933) Workaround for http://flexget.com/ticket/2002 + +=== 1.0.3375 (2013.03.29) === + + * (b167e0c) Move webrip quality above sdtv + +=== 1.0.3374 (2013.03.28) ^[wiki:UpgradeActions#a2013.3.291.0.3374 upgrade actions]^ === + + * (3417c7b) Use with statement for a bunch of file handling + +=== 1.0.3373 (2013.03.28) === + + * (dd45c29) Make exec plugin tests run using sys.executable + * (e6fe1aa) Make sure config_hash is consistent for same config across runs + * (ae3997f) Make sure rtorrent magnet test closes files + * (869ba4f) Fix if plugin to work on pypy + * (d733754) Make sure rss plugin closes files + +=== 1.0.3372 (2013.03.22) === + + * (95dce6f) Only run set plugin on accepted entries + +=== 1.0.3371 (2013.03.20) === + + * (04833c5) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3370 (2013.03.18) === + + * (ba72fb6) Merge pull request #37 from prdatur/master[[BR]] + RapidPush: Update with new channel feature + * (0016ade) Merge branch 'master' of github.com:prdatur/Flexget + * (bf456aa) RapidPush: implemented new broadcast channel feature + * (737d983) RapidPush: implemented new broadcast channel feature + * (48b45d1) Added error checking to notify.show and set timeout to 4 seconds instead of the default of 10[[BR]] + - Added timeout option for setting how long Notifcation lasts + +=== 1.0.3369 (2013.03.14) === + + * (db51cc6) Better error catching, ref #1978 + +=== 1.0.3368 (2013.02.25) === + + * (4b2063c) Make torrentz search fill torrent_info_hash field in created entries + * (a4e7656) Re-enable torcache.net in torrent_cache plugin + +=== 1.0.3367 (2013.02.26) === + + * (d6d158f) Disable zoink.it from torrent_cache + +=== 1.0.3366 (2013.02.26) === + + * (e759127) PEP8 cleanups + +=== 1.0.3365 (2013.02.25) === + + * (a806492) Merge pull request #35 from Redsandro/rewritefix[[BR]] + Torrentz rewriter fixed + * (69a62f8) https removes nag-screen + * (ae38c5b) Torrentz rewriter fixed + +=== 1.0.3364 (2013.02.22) === + + * (61a6229) Add unit tests for series parser with apostrophe & escaping[[BR]] + - Refs #1605 + +=== 1.0.3363 (2013.02.22) === + + * (3334499) Fixes imdb title parsing, online unit tests. + +=== 1.0.3362 (2013.02.22) === + + * (99b663a) Convert html plugin to use requests. refs #1958 + +=== 1.0.3361 (2013.02.22) === + + * (54d502e) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3360 (2013.02.21) === + + * (2417dff) fix #1955 + +=== 1.0.3359 (2013.02.21) === + + * (5a7168d) Convert api_tmdb to requests. May help #1908 + * (bf51e8c) Reminder for SQLAlchemy debugging. + * (dde5be7) Minor transmission plugin cleanups. + * (51fa543) JSON editor changes. Refs #1855. + +=== 1.0.3358 (2013.02.19) === + + * (6077c21) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3357 (2013.02.18) === + + * (12f2c5f) Merge pull request #33 from prdatur/master[[BR]] + Updated output plugin: RapidPush + * (5a48e55) RapidPush: Allow selecting which task states should be notified, changed version, removed test code + * (130f3d4) RapidPush: Allow selecting which task states should be notified + * (dcd36de) RapidPush: Allow selecting which task states should be notified + * (a3487e7) Fixes #1952. Series plugin API method crashed with certain data. + * (3319369) Movie queue cleanups, fixes #1819. + * (dcde891) PEP8 cleanups. + +=== 1.0.3356 (2013.02.18) === + + * (39db723) Plugin `--cli-config` improvements. Fixes #1951. + +=== 1.0.3355 (2013.02.18) === + + * (64e54a6) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3354 (2013.02.15) === + + * (00fbdb5) Merge pull request #32 from dickoff/pushover-multiuser[[BR]] + Add multi-userkey support to pushover plugin + * (0424027) Revert userkeys to userkey, remove excess logging. + * (2370841) Pushover API plugin improvements.[[BR]] + multiple userkey support[[BR]] + custom sound support[[BR]] + better error handling + * (240f37c) Add multi-userkey support to pushover plugin + * (363c97d) Argument --reset-plugin alone will now list all known schemas with details. + * (6ab2caf) Docstring cleanup. + * (449434b) Don't verbose about skipped db cleanup if not executing tasks (ie. cli commands). + +=== 1.0.3353 (2013.02.15) === + + * (471ec5b) SeriesParser unit tests. PEP8 cleanups. + +=== 1.0.3352 (2013.02.14) === + + * (9bca7ab) Update flexget/templates/rss/default.template[[BR]] + Fix rss template for tvdb field name changes. + +=== 1.0.3351 (2013.02.14) === + + * (b844821) Adjustment to --series new_episodes_after to hopefully prevent crash when series or episode is None. + +=== 1.0.3350 (2013.02.13) === + + * (8902002) Some updates to validators to produce better schemas that comply with jsonschema draft 4 + +=== 1.0.3349 (2013.02.14) === + + * (ff2ac60) Bugfix for unconfigured `disable_urlrewriters`. + * (b356536) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3348 (2013.02.12) ^[wiki:UpgradeActions#a2013.2.121.0.3348 upgrade actions]^ === + + * (83cce6b) Remove space from between api keys in rapidpush + * (6e97450) Standardize all tvdb entry fields to start with tvdb_ + +=== 1.0.3347 (2013.02.12) === + + * (f7ddeaa) Make rapidpush plugin accept multiple apikeys as a list + +=== 1.0.3346 (2013.02.12) === + + * (4bd7af9) Merge pull request #31 from prdatur/master[[BR]] + Updated output plugin: RapidPush + * (d701cfc) Merge remote-tracking branch 'fork/master'[[BR]] + Conflicts:[[BR]] + flexget/plugins/output/rapidpush.py + * (2ce6d8f) RapidPush: enhanced code, removed debug stuff + * (f4d017e) RapidPush: implemented support for multiple api keys + * (8aeb9e7) Add new plugin `disable_urlrewriters`.[[BR]] + - This plugin can be used to disable certain urlrewriters,[[BR]] + thus stopping them being considered as viable urlrewrite result. + * (5f7b856) Add new urlrewriter for google results. + * (0ca111a) Fixes RlsLog parsing.[[BR]] + - Results are now google urls, which cannot be used for anything relevant yet. + * (b0d2dab) Hides imdb warning about original title not being found. + * (347cd3c) Fixes torrent_alive unit tests. + * (118d444) Remove imdb_id support from rottentomatoes_lookup.[[BR]] + - Fixes unit tests[[BR]] + - Using imdb_id might have worked with api_key + * (3295961) PEP8 cleanups + * (93dcc4d) Disabled test_myepisodes.py - test account blocked? + * (95000a7) Fixes to imdb uni tests and imdb_lookup enhancements.[[BR]] + - Populates new field `imdb_original_name`[[BR]] + - Database migration + * (4fb5f4b) Add verbose message when creating new database, it takes a while. + * (64d1b19) Minor Sphinx tweak, too long chapter name. + * (317d3dc) PyLint fixes. Use explicitly logger in torrent_scrub, etc + +=== 1.0.3345 (2013.02.10) === + + * (0477be9) PEP8 fixes + * (c7cebc9) Added bunch of git ignores. + +=== 1.0.3344 (2013.02.10) === + + * (2169c1e) PEP8 fixes + +=== 1.0.3343 (2013.02.08) === + + * (f50883f) Add site domain to rss plugin saved error pages. refs #1929 + +=== 1.0.3342 (2013.02.08) === + + * (0aa6db9) Transmission pathscrub crash, encode to UTF-8 later.[[BR]] + - Refs #1935 + * (e7f8f93) PEP8 fixes + +=== 1.0.3341 (2013.02.07) === + + * (30355ee) Use tmdb posters in rss feed if possible + +=== 1.0.3340 (2013.02.07) === + + * (1aad79d) Actually render the fallback description... + +=== 1.0.3339 (2013.02.06) === + + * (a512d4f) trying to fix notify exit code + +=== 1.0.3338 (2013.02.06) === + + * (3b165d6) Update README[[BR]] + Remove reference to svn.[[BR]] + Update Windows config location. + +=== 1.0.3337 (2013.02.06) === + + * (16e7ee0) Use <p> and <strong> instead of <br> and <b> for rss templating + +=== 1.0.3336 (2013.02.06) === + + * (9f443a5) Add Notify-osd option for linux based systems + +=== 1.0.3335 (2013.02.04) === + + * (455a03a) Allow new plugins to be loaded after manager has started. Fix external plugin loading unit test. + * (ee27329) Add a unit test for plugin loading from external directories. + +=== 1.0.3334 (2013.02.04) ^[wiki:UpgradeActions#a2013.2.41.0.3334 upgrade actions]^ === + + * (576d820) Set default for rss plugin all_entries option to true. + +=== 1.0.3333 (2013.02.04) === + + * (46974fc) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3332 (2013.02.04) === + + * (fa11740) Move priority of all notification outputs to last. + * (828c90f) History plugin enhancements.[[BR]] + - Argument --history now accepts optional number of entries to show. Fixes #1272[[BR]] + - History plugin can now be disabled with 'history: no' + +=== 1.0.3331 (2013.02.04) === + + * (c79e8b2) Normalize line endings. + +=== 1.0.3330 (2013.02.04) === + + * (c27e924) Added .gitattributes to deal with line endings.[[BR]] + - https://help.github.com/articles/dealing-with-line-endings + +=== 1.0.3329 (2013.02.04) === + + * (1e88d82) Fix priority on pushover + +=== 1.0.3328 (2013.02.04) === + + * (5a10a23) Cleanups for plugin.py + * (a5b60fa) Minor improvements for rss template. + +=== 1.0.3327 (2013.02.04) === + + * (ffec699) Change pushover priority to last to prevent repeated messages due to failing plugins + +=== 1.0.3326 (2013.02.04) === + + * (cd4f492) Add error handling to description rendering + +=== 1.0.3325 (2013.02.03) === + + * (e407000) Fix torrent_scrub dependency loading + * (48830f5) Refactor plugin loading code. + +=== 1.0.3324 (2013.02.03) === + + * (f452f4e) Removed a bunch of import * + +=== 1.0.3323 (2013.02.02) === + + * (a727d3e) Add filename argument to pathscrub utility. Move plugin now replaces path separators from filenames. fix #1911 + +=== 1.0.3322 (2013.02.02) === + + * (5af06c2) Remove git calls in --version + +=== 1.0.3321 (2013.02.02) === + + * (c0450c4) Minor tweaks to imdb_list and make_rss. + +=== 1.0.3320 (2013.02.02) === + + * (9fa8f93) Cleanups to failed preset merging. + * (2d8d1f9) Fixing issues with make_rss[[BR]] + - Restore configuration 'title' default back to using 'task' variable as string.[[BR]] + - Renamed metainfo feed to task + * (5ef9b86) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3319 (2013.02.02) === + + * (b5f3a98) Switch to a cleaner method of getting version number from server. + +=== 1.0.3318 (2013.02.01) === + + * (11ca52c) Tweak --version a bit more. + +=== 1.0.3317 (2013.02.01) === + + * (7e463d2) Fix bug with {{task}} in jinja templates. + +=== 1.0.3316 (2013.02.01) === + + * (fbedb3b) Merge --check-version into --version + +=== 1.0.3315 (2013.02.01) === + + * (fa954e8) Add note to run git fetch when using --version from a git clone. + * (ae580fb) Add --check-version to see if you are on latest release. + +=== 1.0.3314 (2013.02.01) === + + * (0a9914e) Merge pull request #28 from prdatur/master[[BR]] + Added output plugin: RapidPush + * (a722648) Plugin RapidPush: Fixed invalid tabs, shorten line + * (1a76aad) Add output plugin: RapidPush + * (0e823a2) Let requests do the decoding of imdb pages. + * (40c651b) PEP8 cleanups + +=== 1.0.3313 (2013.02.01) === + + * (ae55b77) Fixes crash with imdb mpaa rating parsing.[[BR]] + - Fixes #1919 + +=== 1.0.3312 (2013.02.01) === + + * (817f81d) Merge branch 'master' of https://github.com/Flexget/Flexget + * (81e335d) Merge pull request #27 from crawln45/master[[BR]] + pep8 errors + * (c2e89a5) Merge branch 'fixing' + * (9462676) pep8 corrections + * (a90db70) Fixes crash in make_rss, minor cleanups. + * (f65d703) Create build directories in paver docs task. + +=== 1.0.3311 (2013.01.31) === + + * (9203cbc) Add some better failure messages for online tests. + +=== 1.0.3310 (2013.01.31) === + + * (6dcfdba) Update the test torrent. Enable remove_trackers test. + +=== 1.0.3309 (2013.01.31) === + + * (093cfc8) Merge pull request #26 from crawln45/master[[BR]] + code cleanup + * (5ef2f20) Merge remote-tracking branch 'flexget/master' + +=== 1.0.3308 (2013.01.31) === + + * (82e7be2) Disable online tests for travis + * (606a42d) Merge remote-tracking branch 'flexget/master' + +=== 1.0.3307 (2013.01.31) === + + * (7aed491) Mark imdb parser test as online. + * (9fe7b76) Fix imdb director and mpaa rating parsing. Add a separate test for imdb parser. + * (3699e20) Remove !online parameter for nosetests in setup.cfg + * (b589ba0) Code Cleanup + * (03b4c48) pep8 error + +=== 1.0.3306 (2013.01.31) === + + * (b400d1a) Merge pull request #25 from crawln45/master2[[BR]] + Added rtorrent_magnet and tests + * (4263d09) Added rtorrent_magnet and tests + +=== 1.0.3305 (2013.01.31) === + + * (cc59f6d) Merge pull request #24 from shockwaver/imdb[[BR]] + update for MPAA scraping, remove test in test_imdb + * (7e3802e) fix missing MPAA and update test_imdb.py[[BR]] + fixes MPAA scraping and removes invalid test from test_imdb.py language[[BR]] + test + * (58e9c4f) Added Scripts/ to .gitignore + * (2b88fb5) Merge remote-tracking branch 'upstream/master' + +=== 1.0.3304 (2013.01.31) === + + * (8bad5a4) Fix imdb parsing for genres and actors. + +=== 1.0.3303 (2013.01.31) === + + * (73627a7) Few more pep8 cleanups. + +=== 1.0.3302 (2013.01.31) === + + * (8f69706) Removed couple accidentally added files. + +=== 1.0.3301 (2013.01.30) === + + * (0f402e2) Merge pull request #22 from crawln45/master[[BR]] + code cleanup + * (551cbbb) removing autogenerated folder + * (a2205ac) Removed Logs + * (de05e49) PEP8 errors just for Paranoidi + +=== 1.0.3300 (2013.01.30) === + + * (47f2ea1) Merge pull request #21 from StunMan/master[[BR]] + Added nzbget output plugin + * (bc8d119) nzbget output plugin with category, priority and add to top functionality + +=== 1.0.3299 (2013.01.30) === + + * (1580fbe) Small cleanups to torrent_alive + +=== 1.0.3298 (2013.01.30) === + + * (18ce131) Merge pull request #19 from crawln45/master[[BR]] + adding UDP scraping to torrent_alive + * (08f7698) fixed pep8 errors + * (ec39dda) fixed pep8 errors + * (83aff47) Removed unnecessary comments + * (7eb58b4) Added parsing for announcement set for http only + * (22dd546) added udp scraping to tracker_alive + +=== 1.0.3297 (2013.01.30) === + + * (e3815dc) Merge pull request #20 from shockwaver/master[[BR]] + update parsing for rating and language from IMDB. Fixes #1853 + * (428ed96) Few more pep8 cleanups. + * (7495247) Removed couple accidentally added files. + * (1136280) removing autogenerated folder + * (2dfa1cf) Removed Logs + * (37b8908) PEP8 errors just for Paranoidi + * (cb9cdad) nzbget output plugin with category, priority and add to top functionality + * (3bdd365) Small cleanups to torrent_alive + * (7aeed7f) fixed pep8 errors + * (5e24f42) fixed pep8 errors + * (a135308) Removed unnecessary comments + * (8f75182) Added parsing for announcement set for http only + * (ef99012) added udp scraping to tracker_alive + * (913dce2) fix parsing for rating and language on IMDB - fixes #1853 + +=== 1.0.3296 (2013.01.29) === + + * (c0bbe79) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3295 (2013.01.28) === + + * (791344d) Merge pull request #18 from shockwaver/urlrewrite_torrentleech[[BR]] + added urlrewrite_torrentleech + * (e76bf18) removed boolean root validator, pep8 formatting + * (a1c388d) added urlrewrite_torrentleech[[BR]] + Allows the use of torrentleech as a search engine in discover/search + * (0113a74) Fix template + +=== 1.0.3294 (2013.01.28) === + + * (a3ec0e5) add db-config.sqlite, flexget.log and flexget.log.offset to .gitignore + +=== 1.0.3293 (2013.01.28) === + + * (bfab0c6) Use join to merge genres, actors and guest stars Don't add entry title to series by default, it's in the feed title anyway + +=== 1.0.3292 (2013.01.26) === + + * (5369b0e) Merge branch 'master' of https://github.com/Flexget/Flexget + +=== 1.0.3291 (2013.01.25) === + + * (131d05f) Fix response status code reason for spy_headers from last commit. + +=== 1.0.3290 (2013.01.25) === + + * (02fb343) Add requests support to spy_headers plugin. + * (9496455) Show entry title always, more IMDb info, add line change after series/movie title + * (1097941) Fix extraneous newlines in pushover plugin output + +=== 1.0.3289 (2013.01.25) === + + * (62c8064) Use an external, configurable, template file for rss description + * (28ba9e0) Use a smarter way of figuring out the best title for pushover and rss + +=== 1.0.3288 (2013.01.24) === + + * (bab1509) Use Jinja templates for rss output Improved default title and description + +=== 1.0.3287 (2013.01.24) === + + * (3c39171) Better default templates for pushover + +=== 1.0.3286 (2013.01.23) === + + * (ae1d1cb) Fix webui issue with unicode literals. + * (da10b31) Fix systray icon creation on windows webui. + +=== 1.0.3285 (2013.01.22) === + + * (cd48d42) Handle HTTP errors (mostly 404) when fetching trailer pages + +=== 1.0.3284 (2013.01.18) === + + * (53f1a6c) Add config.yml to gitignore + * (71a25df) Fix mpaa rating scraping for imdb. Add unit tests for imdb mpaa scraping. Re-enable imdb directors test. + +=== 1.0.3283 (2013.01.18) === + + * (99d1467) Replace reference to subversion with git. Attempt to get current checkout version with -V when on git install. + +=== 1.0.3282 (2013.01.17) === + + * (6f32040) Merge pull request #16 from shtimn/master[[BR]] + Correct checking config file with non ascii chars. + * (07f52db) Patched only Instance, not class. + * (bdef843) Revamp test for finding loading and pre checking config file. + * (15ebc54) Merge remote-tracking branch 'upstream/master'[[BR]] + Conflicts:[[BR]] + flexget/manager.py + * (773ff95) Relative import ui plugins. + * (a692aff) Correct checking config file with non ascii chars. + * (b63a718) Write test for capability to check config file with non ascii chars. + * (307d31b) Fix setting config_name when init MockManager. + +=== 1.0.3281 (2013.01.16) === + + * (dbb4066) Movie parser works with releases with leading junk in brackets. fix #1893, #1781 + * (e1f7561) Add .idea/ to gitignore diff --git a/abs/extra/flexget/PKGBUILD b/abs/extra/flexget/PKGBUILD new file mode 100644 index 0000000..6c31358 --- /dev/null +++ b/abs/extra/flexget/PKGBUILD @@ -0,0 +1,93 @@ +# Maintainer: S. Leduc <sebastien@sleduc.fr> +# Contributor: Amr Hassan <amr.hassan@gmail.com> +# Contributor: Nathan Owe <ndowens.aur at gmail dot com> +# Contributor: G. Richard Bellamy <rbellamy@pteradigm.com> + +pkgname=flexget +_pkgname=Flexget +pkgver=2.10.48 +pkgrel=1 + +pkgdesc="Automate downloading or processing content (torrents, podcasts, etc.) from different sources like RSS-feeds, html-pages, various sites and more." + +arch=('any') +url="http://flexget.com/" +license=('MIT') + +depends=('python2' + # documented in FlexGet.egg-info/requires.txt + 'python2-feedparser' + 'python2-sqlalchemy' + 'python2-yaml' + 'python2-beautifulsoup4' + 'python2-html5lib' + 'python2-pyrss2gen' #AUR# + 'python2-pynzb' #AUR# + 'python2-rpyc' #AUR# + 'python2-jinja' + 'python2-requests' + 'python2-dateutil' + 'python2-jsonschema' + 'python2-path' #AUR# + 'python2-guessit>=2.1.2' + 'python2-apscheduler>=3.2.0' #AUR# + 'python2-terminaltables' + 'python2-colorclass' + 'python2-pytvmaze>=1.4.8' #AUR# + 'python2-ordereddict' + 'python2-cherrypy>=3.7.0' + 'python2-flask' + 'python2-flask-restful' #AUR# + 'python2-flask-restplus086' #AUR# + 'python2-flask-compress' + 'python2-flask-login>=0.3.2' + 'python2-flask-cors>=2.1.2' + 'python2-pyparsing>=2.0.3' + 'python2-future' + 'python2-zxcvbn' + ) +optdepends=('python2-guppy: for memusage plugin' #AUR# + 'python2-transmissionrpc: Transmission support' #AUR# + 'python2-rarfile: decompress plugin' #AUR# + ) +makedepends=('python2-paver' + 'python2-setuptools' + ) + +source=("https://github.com/Flexget/Flexget/archive/${pkgver}.tar.gz" + 'flexget.service' + "http://download.flexget.com/ChangeLog" + "fix_guessit_2.1.2.patch" + ) + +changelog=ChangeLog + +sha256sums=('fe7024b516030f869189ff87afcaee09b31c34516c44346514715bf41e988f6f' + 'e2c3a958ed0c286337cd37fba1d6cbdf4306c57fcddf2b9cc43615ce80ae83aa' + 'dcc1bc676b8c2b798fa9a7e0ed2b6853323e9e9d8ff696696dddeaf29cbc13d6' + '8246a4cbdb902d41379c8c4e6045da349c98428adefaf682aff0413b8b8969f7') + +prepare() { + cd "${_pkgname}"-"${pkgver}" + + msg "Patching shebangs to point to python2" + sed -i 's/\(python\)/\12/' flexget{,/ui}/__init__.py + + patch -p0 < ${srcdir}/fix_guessit_2.1.2.patch + +} + +package() { + cd "${_pkgname}"-"${pkgver}" + + # Python setup + python2 setup.py install --root="${pkgdir}"/ --prefix=/usr --optimize=1 + + # License + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/"${pkgname}"/LICENSE + + # install systemd user unit + install -Dm644 ../flexget.service "${pkgdir}"/usr/lib/systemd/user/flexget.service +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/flexget/fix_guessit_2.1.2.patch b/abs/extra/flexget/fix_guessit_2.1.2.patch new file mode 100644 index 0000000..52b4aa6 --- /dev/null +++ b/abs/extra/flexget/fix_guessit_2.1.2.patch @@ -0,0 +1,11 @@ +--- requirements.txt 2016-06-14 08:12:16.000000000 +0200 ++++ requirements.txt.new 2017-05-21 11:24:39.718303562 +0200 +@@ -17,7 +17,7 @@ + jsonschema>=2.0 + path.py>=8.1.1 + pathlib>=1.0 +-guessit<=2.0.4 ++guessit>=2.1.2 + apscheduler>=3.2.0 + # WebUI Requirements + cherrypy>=3.7.0 diff --git a/abs/extra/flexget/flexget.service b/abs/extra/flexget/flexget.service new file mode 100644 index 0000000..924e0aa --- /dev/null +++ b/abs/extra/flexget/flexget.service @@ -0,0 +1,14 @@ +[Unit] +Description = FlexGet Daemon +After = network.target + +[Service] +Type=simple +RemainAfterExit=yes +ExecStart = /usr/bin/flexget daemon start +ExecStop = /usr/bin/flexget daemon stop +ExecReload = /usr/bin/flexget daemon reload +KillMode=process + +[Install] +WantedBy = default.target diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD index dd41c55..e7d9eb5 100644 --- a/abs/extra/google-chrome/PKGBUILD +++ b/abs/extra/google-chrome/PKGBUILD @@ -5,7 +5,7 @@ # or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }' pkgname=google-chrome -pkgver=59.0.3071.86 +pkgver=62.0.3202.75 pkgrel=1 pkgdesc="An attempt at creating a safer, faster, and more stable browser (Stable Channel)" arch=('x86_64') @@ -53,6 +53,6 @@ package() { rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/ rm "$pkgdir"/opt/google/chrome/product_logo_*.png } -md5sums=('686ea970b43c71f4cff37cf58d9c7738' - 'da54da9383ddffa44c5db45513239da2' +md5sums=('dde31453425d80944f304ed84746dbab' + 'd50d8f0a6940791eabc41c4f64e6a3cf' 'ed4cf73982461af7d0d944c1cbf9f4e8') diff --git a/abs/extra/google-chrome/eula_text.html b/abs/extra/google-chrome/eula_text.html new file mode 100644 index 0000000..ca402cb --- /dev/null +++ b/abs/extra/google-chrome/eula_text.html @@ -0,0 +1,901 @@ +<!DOCTYPE html> +<html class="no-js consumer" data-country="us" lang="en"> + <head> + + <script> + var a=location.href.match(/platform=(win8|win|mac|linux|cros|ios)/),b=window.navigator.userAgent;document.documentElement.id=a&&a[1]||(-1<b.indexOf("Windows NT 6.2")?"win8":-1<b.indexOf("iPad")?"ios":-1<b.indexOf("Windows")?"win":-1<b.indexOf("Mac")?"mac":-1<b.indexOf("CrOS")?"cros":"linux"); +if(-1<b.indexOf("MSIE")){var c=-1<b.indexOf("MSIE 6")?" lt-ie10 lt-ie9 lt-ie8 lt-ie7 ie6":-1<b.indexOf("MSIE 7")?" lt-ie10 lt-ie9 lt-ie8 ie7":-1<b.indexOf("MSIE 8")?" lt-ie10 lt-ie9 ie8":-1<b.indexOf("MSIE 9")?" lt-ie10 ie9":-1<b.indexOf("MSIE 10")?" ie10":"";""!==c&&(document.documentElement.className+=c)}if(-1<b.indexOf("Windows NT 5.1")||-1<b.indexOf("Windows NT 5.2"))document.documentElement.className+=" winXP"; + </script> + <script src="//www.gstatic.com/external_hosted/modernizr/modernizr.js"> + </script> + <meta charset="utf-8"> + <meta content="initial-scale=1, minimum-scale=1, width=device-width" name="viewport"> + <meta content="View the full Terms of Service agreement for Google Chrome" name="description"> + <title> + Google Chrome Terms of Service + </title> + <link href="https://plus.google.com/100585555255542998765" rel="publisher"> + <link href="//www.google.com/images/icons/product/chrome-32.png" rel="icon" type="image/ico"> + <link href="https://www.google.com/chrome/browser/privacy/eula_text.html" rel="canonical"> + <style> + body { + font-family: Arial; + font-size: 13px; + } + </style> + <script src="//www.google.com/js/gweb/analytics/autotrack.js"> + </script> + <script> + new gweb.analytics.AutoTrack({ + profile: 'UA-26908291-1' + }); + </script> + </head> + <body class="" id="grid"> + <div class="browser-eula" id="main"> + <div class="compact"> + <h2> + Google Chrome Terms of Service + </h2> + <p> + These Terms of Service apply to the executable code version of Google Chrome. Source code + for Google Chrome is available free of charge under open source software license + agreements at http://code.google.com/chromium/terms.html. + </p> + <p> + <strong>1. Your relationship with Google</strong> + </p> + <p> + 1.1 Your use of Google’s products, software, services and web sites (referred to + collectively as the “Services” in this document and excluding any services provided to + you by Google under a separate written agreement) is subject to the terms of a legal + agreement between you and Google. “Google” means Google Inc., whose principal place of + business is at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. This + document explains how the agreement is made up, and sets out some of the terms of that + agreement. + </p> + <p> + 1.2 Unless otherwise agreed in writing with Google, your agreement with Google will + always include, at a minimum, the terms and conditions set out in this document. These + are referred to below as the “Universal Terms”. Open source software licenses for Google + Chrome source code constitute separate written agreements. To the limited extent that the + open source software licenses expressly supersede these Universal Terms, the open source + licenses govern your agreement with Google for the use of Google Chrome or specific + included components of Google Chrome. + </p> + <p> + 1.3 Your agreement with Google will also include the terms set forth below in the Google + Chrome Additional Terms of Service and terms of any Legal Notices applicable to the + Services, in addition to the Universal Terms. All of these are referred to below as the + “Additional Terms”. Where Additional Terms apply to a Service, these will be accessible + for you to read either within, or through your use of, that Service. + </p> + <p> + 1.4 The Universal Terms, together with the Additional Terms, form a legally binding + agreement between you and Google in relation to your use of the Services. It is important + that you take the time to read them carefully. Collectively, this legal agreement is + referred to below as the “Terms”. + </p> + <p> + 1.5 If there is any contradiction between what the Additional Terms say and what the + Universal Terms say, then the Additional Terms shall take precedence in relation to that + Service. + </p> + <p> + <strong>2. Accepting the Terms</strong> + </p> + <p> + 2.1 In order to use the Services, you must first agree to the Terms. You may not use the + Services if you do not accept the Terms. + </p> + <p> + 2.2 You can accept the Terms by: + </p> + <p> + (A) clicking to accept or agree to the Terms, where this option is made available to you + by Google in the user interface for any Service; or + </p> + <p> + (B) by actually using the Services. In this case, you understand and agree that Google + will treat your use of the Services as acceptance of the Terms from that point onwards. + </p> + <p> + <strong>3. Language of the Terms</strong> + </p> + <p> + 3.1 Where Google has provided you with a translation of the English language version of + the Terms, then you agree that the translation is provided for your convenience only and + that the English language versions of the Terms will govern your relationship with + Google. + </p> + <p> + 3.2 If there is any contradiction between what the English language version of the Terms + says and what a translation says, then the English language version shall take + precedence. + </p> + <p> + <strong>4. Provision of the Services by Google</strong> + </p> + <p> + 4.1 Google has subsidiaries and affiliated legal entities around the world (“Subsidiaries + and Affiliates”). Sometimes, these companies will be providing the Services to you on + behalf of Google itself. You acknowledge and agree that Subsidiaries and Affiliates will + be entitled to provide the Services to you. + </p> + <p> + 4.2 Google is constantly innovating in order to provide the best possible experience for + its users. You acknowledge and agree that the form and nature of the Services which + Google provides may change from time to time without prior notice to you. + </p> + <p> + 4.3 As part of this continuing innovation, you acknowledge and agree that Google may stop + (permanently or temporarily) providing the Services (or any features within the Services) + to you or to users generally at Google’s sole discretion, without prior notice to you. + You may stop using the Services at any time. You do not need to specifically inform + Google when you stop using the Services. + </p> + <p> + 4.4 You acknowledge and agree that if Google disables access to your account, you may be + prevented from accessing the Services, your account details or any files or other content + which is contained in your account. + </p> + <p> + <strong>5. Use of the Services by you</strong> + </p> + <p> + 5.1 You agree to use the Services only for purposes that are permitted by (a) the Terms + and (b) any applicable law, regulation or generally accepted practices or guidelines in + the relevant jurisdictions (including any laws regarding the export of data or software + to and from the United States or other relevant countries). + </p> + <p> + 5.2 You agree that you will not engage in any activity that interferes with or disrupts + the Services (or the servers and networks which are connected to the Services). + </p> + <p> + 5.3 Unless you have been specifically permitted to do so in a separate agreement with + Google, you agree that you will not reproduce, duplicate, copy, sell, trade or resell the + Services for any purpose. + </p> + <p> + 5.4 You agree that you are solely responsible for (and that Google has no responsibility + to you or to any third party for) any breach of your obligations under the Terms and for + the consequences (including any loss or damage which Google may suffer) of any such + breach. + </p> + <p> + <strong>6. Privacy and your personal information</strong> + </p> + <p> + 6.1 For information about Google’s data protection practices, please read Google’s + privacy policy at http://www.google.com/privacy.html and at + http://www.google.com/chrome/intl/en/privacy.html. This policy explains how Google treats + your personal information, and protects your privacy, when you use the Services. + </p> + <p> + 6.2 You agree to the use of your data in accordance with Google’s privacy policies. + </p> + <p> + <strong>7. Content in the Services</strong> + </p> + <p> + 7.1 You understand that all information (such as data files, written text, computer + software, music, audio files or other sounds, photographs, videos or other images) which + you may have access to as part of, or through your use of, the Services are the sole + responsibility of the person from which such content originated. All such information is + referred to below as the “Content.” + </p> + <p> + 7.2 You should be aware that Content presented to you as part of the Services, including + but not limited to advertisements in the Services and sponsored Content within the + Services may be protected by intellectual property rights which are owned by the sponsors + or advertisers who provide that Content to Google (or by other persons or companies on + their behalf). You may not modify, rent, lease, loan, sell, distribute or create + derivative works based on this Content (either in whole or in part) unless you have been + specifically told that you may do so by Google or by the owners of that Content, in a + separate agreement. + </p> + <p> + 7.3 Google reserves the right (but shall have no obligation) to pre-screen, review, flag, + filter, modify, refuse or remove any or all Content from any Service. For some of the + Services, Google may provide tools to filter out explicit sexual content. These tools + include the SafeSearch preference settings (see + https://support.google.com/websearch/answer/510?hl=en). In addition, there are + commercially available services and software to limit access to material that you may + find objectionable. + </p> + <p> + 7.4 You understand that by using the Services you may be exposed to Content that you may + find offensive, indecent or objectionable and that, in this respect, you use the Services + at your own risk. + </p> + <p> + 7.5 You agree that you are solely responsible for (and that Google has no responsibility + to you or to any third party for) any Content that you create, transmit or display while + using the Services and for the consequences of your actions (including any loss or damage + which Google may suffer) by doing so. + </p> + <p> + <strong>8. Proprietary rights</strong> + </p> + <p> + 8.1 You acknowledge and agree that Google (or Google’s licensors) own all legal right, + title and interest in and to the Services, including any intellectual property rights + which subsist in the Services (whether those rights happen to be registered or not, and + wherever in the world those rights may exist). + </p> + <p> + 8.2 Unless you have agreed otherwise in writing with Google, nothing in the Terms gives + you a right to use any of Google’s trade names, trade marks, service marks, logos, domain + names, and other distinctive brand features. + </p> + <p> + 8.3 If you have been given an explicit right to use any of these brand features in a + separate written agreement with Google, then you agree that your use of such features + shall be in compliance with that agreement, any applicable provisions of the Terms, and + Google's brand feature use guidelines as updated from time to time. These guidelines can + be viewed online at http://www.google.com/permissions/guidelines.html (or such other URL + as Google may provide for this purpose from time to time). + </p> + <p> + 8.4 Google acknowledges and agrees that it obtains no right, title or interest from you + (or your licensors) under these Terms in or to any Content that you submit, post, + transmit or display on, or through, the Services, including any intellectual property + rights which subsist in that Content (whether those rights happen to be registered or + not, and wherever in the world those rights may exist). Unless you have agreed otherwise + in writing with Google, you agree that you are responsible for protecting and enforcing + those rights and that Google has no obligation to do so on your behalf. + </p> + <p> + 8.5 You agree that you shall not remove, obscure, or alter any proprietary rights notices + (including copyright and trade mark notices) which may be affixed to or contained within + the Services. + </p> + <p> + 8.6 Unless you have been expressly authorized to do so in writing by Google, you agree + that in using the Services, you will not use any trade mark, service mark, trade name, + logo of any company or organization in a way that is likely or intended to cause + confusion about the owner or authorized user of such marks, names or logos. + </p> + <p> + <strong>9. License from Google</strong> + </p> + <p> + 9.1 Google gives you a personal, worldwide, royalty-free, non-assignable and + non-exclusive license to use the software provided to you by Google as part of the + Services as provided to you by Google (referred to as the “Software” below). This license + is for the sole purpose of enabling you to use and enjoy the benefit of the Services as + provided by Google, in the manner permitted by the Terms. + </p> + <p> + 9.2 Subject to section 1.2, you may not (and you may not permit anyone else to) copy, + modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to + extract the source code of the Software or any part thereof, unless this is expressly + permitted or required by law, or unless you have been specifically told that you may do + so by Google, in writing. + </p> + <p> + 9.3 Subject to section 1.2, unless Google has given you specific written permission to do + so, you may not assign (or grant a sub-license of) your rights to use the Software, grant + a security interest in or over your rights to use the Software, or otherwise transfer any + part of your rights to use the Software. + </p> + <p> + <strong>10. Content license from you</strong> + </p> + <p> + 10.1 You retain copyright and any other rights you already hold in Content which you + submit, post or display on or through, the Services. + </p> + <p> + <strong>11. Software updates</strong> + </p> + <p> + 11.1 The Software which you use may automatically download and install updates from time + to time from Google. These updates are designed to improve, enhance and further develop + the Services and may take the form of bug fixes, enhanced functions, new software modules + and completely new versions. You agree to receive such updates (and permit Google to + deliver these to you) as part of your use of the Services. + </p> + <p> + <strong>12. Ending your relationship with Google</strong> + </p> + <p> + 12.1 The Terms will continue to apply until terminated by either you or Google as set out + below. + </p> + <p> + 12.2 Google may at any time, terminate its legal agreement with you if: + </p> + <p> + (A) you have breached any provision of the Terms (or have acted in manner which clearly + shows that you do not intend to, or are unable to comply with the provisions of the + Terms); or + </p> + <p> + (B) Google is required to do so by law (for example, where the provision of the Services + to you is, or becomes, unlawful); or + </p> + <p> + (C) the partner with whom Google offered the Services to you has terminated its + relationship with Google or ceased to offer the Services to you; or + </p> + <p> + (D) Google is transitioning to no longer providing the Services to users in the country + in which you are resident or from which you use the service; or + </p> + <p> + (E) the provision of the Services to you by Google is, in Google’s opinion, no longer + commercially viable. + </p> + <p> + 12.3 Nothing in this Section shall affect Google’s rights regarding provision of Services + under Section 4 of the Terms. + </p> + <p> + 12.4 When these Terms come to an end, all of the legal rights, obligations and + liabilities that you and Google have benefited from, been subject to (or which have + accrued over time whilst the Terms have been in force) or which are expressed to continue + indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 19.7 + shall continue to apply to such rights, obligations and liabilities indefinitely. + </p> + <p> + <strong>13. EXCLUSION OF WARRANTIES</strong> + </p> + <p> + 13.1 NOTHING IN THESE TERMS, INCLUDING SECTIONS 13 AND 14, SHALL EXCLUDE OR LIMIT + GOOGLE’S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED + BY APPLICABLE LAW. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR + CONDITIONS OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR LOSS OR DAMAGE CAUSED BY + NEGLIGENCE, BREACH OF CONTRACT OR BREACH OF IMPLIED TERMS, OR INCIDENTAL OR CONSEQUENTIAL + DAMAGES. ACCORDINGLY, ONLY THE LIMITATIONS WHICH ARE LAWFUL IN YOUR JURISDICTION WILL + APPLY TO YOU AND OUR LIABILITY WILL BE LIMITED TO THE MAXIMUM EXTENT PERMITTED BY LAW. + </p> + <p> + 13.2 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICES IS AT YOUR SOLE + RISK AND THAT THE SERVICES ARE PROVIDED "AS IS" AND “AS AVAILABLE.” + </p> + <p> + 13.3 IN PARTICULAR, GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS DO NOT + REPRESENT OR WARRANT TO YOU THAT: + </p> + <p> + (A) YOUR USE OF THE SERVICES WILL MEET YOUR REQUIREMENTS, + </p> + <p> + (B) YOUR USE OF THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR, + </p> + <p> + (C) ANY INFORMATION OBTAINED BY YOU AS A RESULT OF YOUR USE OF THE SERVICES WILL BE + ACCURATE OR RELIABLE, AND + </p> + <p> + (D) THAT DEFECTS IN THE OPERATION OR FUNCTIONALITY OF ANY SOFTWARE PROVIDED TO YOU AS + PART OF THE SERVICES WILL BE CORRECTED. + </p> + <p> + 13.4 ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SERVICES IS + DONE AT YOUR OWN DISCRETION AND RISK AND THAT YOU WILL BE SOLELY RESPONSIBLE FOR ANY + DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM THE + DOWNLOAD OF ANY SUCH MATERIAL. + </p> + <p> + 13.5 NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM GOOGLE OR + THROUGH OR FROM THE SERVICES SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN THE TERMS. + </p> + <p> + 13.6 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, + WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND + CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + </p> + <p> + <strong>14. LIMITATION OF LIABILITY</strong> + </p> + <p> + 14.1 SUBJECT TO OVERALL PROVISION IN PARAGRAPH 13.1 ABOVE, YOU EXPRESSLY UNDERSTAND AND + AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE + TO YOU FOR: + </p> + <p> + (A) ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES WHICH + MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY.. THIS SHALL + INCLUDE, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR + INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST + OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS; + </p> + <p> + (B) ANY LOSS OR DAMAGE WHICH MAY BE INCURRED BY YOU, INCLUDING BUT NOT LIMITED TO LOSS OR + DAMAGE AS A RESULT OF: + </p> + <p> + (I) ANY RELIANCE PLACED BY YOU ON THE COMPLETENESS, ACCURACY OR EXISTENCE OF ANY + ADVERTISING, OR AS A RESULT OF ANY RELATIONSHIP OR TRANSACTION BETWEEN YOU AND ANY + ADVERTISER OR SPONSOR WHOSE ADVERTISING APPEARS ON THE SERVICES; + </p> + <p> + (II) ANY CHANGES WHICH GOOGLE MAY MAKE TO THE SERVICES, OR FOR ANY PERMANENT OR TEMPORARY + CESSATION IN THE PROVISION OF THE SERVICES (OR ANY FEATURES WITHIN THE SERVICES); + </p> + <p> + (III) THE DELETION OF, CORRUPTION OF, OR FAILURE TO STORE, ANY CONTENT AND OTHER + COMMUNICATIONS DATA MAINTAINED OR TRANSMITTED BY OR THROUGH YOUR USE OF THE SERVICES; + </p> + <p> + (IV) YOUR FAILURE TO PROVIDE GOOGLE WITH ACCURATE ACCOUNT INFORMATION; + </p> + <p> + (V) YOUR FAILURE TO KEEP YOUR PASSWORD OR ACCOUNT DETAILS SECURE AND CONFIDENTIAL; + </p> + <p> + 14.2 THE LIMITATIONS ON GOOGLE’S LIABILITY TO YOU IN PARAGRAPH 14.1 ABOVE SHALL APPLY + WHETHER OR NOT GOOGLE HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF + ANY SUCH LOSSES ARISING. + </p> + <p> + <strong>15. Copyright and trade mark policies</strong> + </p> + <p> + 15.1 It is Google’s policy to respond to notices of alleged copyright infringement that + comply with applicable international intellectual property law (including, in the United + States, the Digital Millennium Copyright Act) and to terminating the accounts of repeat + infringers. Details of Google’s policy can be found at http://www.google.com/dmca.html. + </p> + <p> + 15.2 Google operates a trade mark complaints procedure in respect of Google’s advertising + business, details of which can be found at http://www.google.com/tm_complaint.html. + </p> + <p> + <strong>16. Advertisements</strong> + </p> + <p> + 16.1 Some of the Services are supported by advertising revenue and may display + advertisements and promotions. These advertisements may be targeted to the content of + information stored on the Services, queries made through the Services or other + information. + </p> + <p> + 16.2 The manner, mode and extent of advertising by Google on the Services are subject to + change without specific notice to you. + </p> + <p> + 16.3 In consideration for Google granting you access to and use of the Services, you + agree that Google may place such advertising on the Services. + </p> + <p> + <strong>17. Other content</strong> + </p> + <p> + 17.1 The Services may include hyperlinks to other web sites or content or resources. + Google may have no control over any web sites or resources which are provided by + companies or persons other than Google. + </p> + <p> + 17.2 You acknowledge and agree that Google is not responsible for the availability of any + such external sites or resources, and does not endorse any advertising, products or other + materials on or available from such web sites or resources. + </p> + <p> + 17.3 You acknowledge and agree that Google is not liable for any loss or damage which may + be incurred by you as a result of the availability of those external sites or resources, + or as a result of any reliance placed by you on the completeness, accuracy or existence + of any advertising, products or other materials on, or available from, such web sites or + resources. + </p> + <p> + <strong>18. Changes to the Terms</strong> + </p> + <p> + 18.1 Google may make changes to the Universal Terms or Additional Terms from time to + time. When these changes are made, Google will make a new copy of the Universal Terms + available at http://www.google.com/chrome/intl/en/eula_text.html and any new Additional + Terms will be made available to you from within, or through, the affected Services. + </p> + <p> + 18.2 You understand and agree that if you use the Services after the date on which the + Universal Terms or Additional Terms have changed, Google will treat your use as + acceptance of the updated Universal Terms or Additional Terms. + </p> + <p> + <strong>19. General legal terms</strong> + </p> + <p> + 19.1 Sometimes when you use the Services, you may (as a result of, or in connection with + your use of the Services) use a service or download a piece of software, or purchase + goods, which are provided by another person or company. Your use of these other services, + software or goods may be subject to separate terms between you and the company or person + concerned. If so, the Terms do not affect your legal relationship with these other + companies or individuals. + </p> + <p> + 19.2 The Terms constitute the whole legal agreement between you and Google and govern + your use of the Services (but excluding any services which Google may provide to you + under a separate written agreement), and completely replace any prior agreements between + you and Google in relation to the Services. + </p> + <p> + 19.3 You agree that Google may provide you with notices, including those regarding + changes to the Terms, by email, regular mail, or postings on the Services. + </p> + <p> + 19.4 You agree that if Google does not exercise or enforce any legal right or remedy + which is contained in the Terms (or which Google has the benefit of under any applicable + law), this will not be taken to be a formal waiver of Google’s rights and that those + rights or remedies will still be available to Google. + </p> + <p> + 19.5 If any court of law, having the jurisdiction to decide on this matter, rules that + any provision of these Terms is invalid, then that provision will be removed from the + Terms without affecting the rest of the Terms. The remaining provisions of the Terms will + continue to be valid and enforceable. + </p> + <p> + 19.6 You acknowledge and agree that each member of the group of companies of which Google + is the parent shall be third party beneficiaries to the Terms and that such other + companies shall be entitled to directly enforce, and rely upon, any provision of the + Terms which confers a benefit on (or rights in favor of) them. Other than this, no other + person or company shall be third party beneficiaries to the Terms. + </p> + <p> + 19.7 The Terms, and your relationship with Google under the Terms, shall be governed by + the laws of the State of California without regard to its conflict of laws provisions. + You and Google agree to submit to the exclusive jurisdiction of the courts located within + the county of Santa Clara, California to resolve any legal matter arising from the Terms. + Notwithstanding this, you agree that Google shall still be allowed to apply for + injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + </p> + <p> + <strong>20. Additional Terms for Extensions for Google Chrome</strong> + </p> + <p> + 20.1 These terms in this section apply if you install extensions on your copy of Google + Chrome. Extensions are small software programs, developed by Google or third parties, + that can modify and enhance the functionality of Google Chrome. Extensions may have + greater privileges to access your browser or your computer than regular webpages, + including the ability to read and modify your private data. + </p> + <p> + 20.2 From time to time, Google Chrome may check with remote servers (hosted by Google or + by third parties) for available updates to extensions, including but not limited to bug + fixes or enhanced functionality. You agree that such updates will be automatically + requested, downloaded, and installed without further notice to you. + </p> + <p> + 20.3 From time to time, Google may discover an extension that violates Google developer + terms or other legal agreements, laws, regulations or policies. Google Chrome will + periodically download a list of such extensions from Google’s servers. You agree that + Google may remotely disable or remove any such extension from user systems in its sole + discretion. + </p> + <p> + <strong>21. Additional Terms for Enterprise Use</strong> + </p> + <p> + 21.1 If you are a business entity, then the individual accepting on behalf of the entity + (for the avoidance of doubt, for business entities, in these Terms, "you" means the + entity) represents and warrants that he or she has the authority to act on your behalf, + that you represent that you are duly authorized to do business in the country or + countries where you operate, and that your employees, officers, representatives, and + other agents accessing the Service are duly authorized to access Google Chrome and to + legally bind you to these Terms. + </p> + <p> + 21.2 Subject to the Terms, and in addition to the license grant in Section 9, Google + grants you a non-exclusive, non-transferable license to reproduce, distribute, install, + and use Google Chrome solely on machines intended for use by your employees, officers, + representatives, and agents in connection with your business entity, and provided that + their use of Google Chrome will be subject to the Terms. + </p> + <p> + August 12, 2010 + </p><br> + <hr> + <br> + <h2> + Google Chrome Additional Terms of Service + </h2> + <p> + <strong>MPEGLA</strong> + </p> + <p> + THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL AND + NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD + ( “AVC VIDEO”) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A + PERSONAL AND NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PARTNER LICENSED TO + PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE. + ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM. + </p> + <p> + <strong>Adobe</strong> + </p> + <p> + Google Chrome may include one or more components provided by Adobe Systems Incorporated + and Adobe Software Ireland Limited (collectively “Adobe”). Your use of the Adobe software + as provided by Google (“Adobe Software”) is subject to the following additional terms + (the “Adobe Terms”). You, the entity receiving the Adobe Software, will be hereinafter + referred to as “Sublicensee.” + </p> + <p> + 1. License Restrictions. + </p> + <p> + (a) Flash Player, Version 10.x is designed only as a browser plug-in. Sublicensee may not + modify or distribute this Adobe Software for use as anything but a browser plug-in for + playing back content on a web page. For example, Sublicensee will not modify this Adobe + Software in order to allow interoperation with applications that run outside of the + browser (e.g., standalone applications, widgets, device UI). + </p> + <p> + (b) Sublicensee will not expose any APIs of the Flash Player, Version 10.x through a + browser plug-in interface in such a way that allows such extension to be used to playback + content from a web page as a stand-alone application. + </p> + <p> + (c) The Chrome-Reader Software may not be used to render any PDF or EPUB documents that + utilize digital rights management protocols or systems other than Adobe DRM. + </p> + <p> + (d) Adobe DRM must be enabled in the Chrome-Reader Software for all Adobe DRM protected + PDF and EPUB documents. + </p> + <p> + (e) The Chrome-Reader Software may not, other than as explicitly permitted by the + technical specifications, disable any capabilities provided by Adobe in the Adobe + Software, including but not limited to, support for PDF and EPUB formats and Adobe DRM. + </p> + <p> + 2. Electronic Transmission. Sublicensee may allow the download of the Adobe Software from + a web site, the Internet, an intranet, or similar technology (an, “Electronic + Transmissions”) provided that Sublicensee agrees that any distributions of the Adobe + Software by Sublicensee, including those on CD-ROM, DVD-ROM or other storage media and + Electronic Transmissions, if expressly permitted, shall be subject to reasonable security + measures to prevent unauthorized use. With relation to Electronic Transmissions approved + hereunder, Sublicensee agrees to employ any reasonable use restrictions set by Adobe, + including those related to security and/or the restriction of distribution to end users + of the Sublicensee Product. + </p> + <p> + 3. EULA and Distribution Terms. + </p> + <p> + (a) Sublicensee shall ensure that the Adobe Software is distributed to end users under an + enforceable end user license agreement, in favor of Sublicensee and its suppliers + containing at least each of the following minimum terms (the “End-User License”): (i) a + prohibition against distribution and copying, (ii) a prohibition against modifications + and derivative works, (iii) a prohibition against decompiling, reverse engineering, + disassembling, and otherwise reducing the Adobe Software to a human-perceivable form, + (iv) a provision indicating ownership of Sublicensee Product (as defined in Section 8) by + Sublicensee and its licensors, (v) a disclaimer of indirect, special, incidental, + punitive, and consequential damages, and (vi) other industry standard disclaimers and + limitations, including, as applicable: a disclaimer of all applicable statutory + warranties, to the full extent allowed by law. + </p> + <p> + (b) Sublicensee shall ensure that the Adobe Software is distributed to Sublicensee’s + distributors under an enforceable distribution license agreement, in favor of Sublicensee + and its suppliers containing terms as protective of Adobe as the Adobe Terms. + </p> + <p> + 4. Opensource. Sublicensee will not directly or indirectly grant, or purport to grant, to + any third party any rights or immunities under Adobe’s intellectual property or + proprietary rights that will subject such intellectual property to an open source license + or scheme in which there is or could be interpreted to be a requirement that as a + condition of use, modification and/or distribution, the Adobe Software be: (i) disclosed + or distributed in source code form; (ii) licensed for the purpose of making derivative + works; or (iii) redistributable at no charge. For clarification purposes, the foregoing + restriction does not preclude Sublicensee from distributing, and Sublicensee will + distribute the Adobe Software as bundled with the Google Software, without charge. + </p> + <p> + 5. Additional Terms. With respect to any update, upgrade, new versions of the Adobe + Software (collectively “Upgrades”) provided to Sublicenses, Adobe reserves the right to + require additional terms and conditions applicable solely to the Upgrade and future + versions thereof, and solely to the extent that such restrictions are imposed by Adobe on + all licensees of such Upgrade. If Sublicensee does not agree to such additional terms or + conditions, Sublicensee will have no license rights with respect to such Upgrade, and + Sublicensee’s license rights with respect to the Adobe Software will terminate + automatically on the 90th day from the date such additional terms are made available to + Sublicensee. + </p> + <p> + 6. Proprietary Rights Notices. Sublicensee shall not, and shall require its distributors + not to, delete or in any manner alter the copyright notices, trademarks, logos or related + notices, or other proprietary rights notices of Adobe (and its licensors, if any) + appearing on or within the Adobe Software or accompanying materials. + </p> + <p> + 7. Technical Requirements. Sublicensee and its distributors may only distribute Adobe + Software and/or Upgrade on devices that (i) meet the technical specifications posted on + http://www.adobe.com/mobile/licensees, (or a successor web site thereto), and (ii) has + been verified by Adobe as set forth below. + </p> + <p> + 8. Verification and Update. Sublicensee must submit to Adobe each Sublicensee product + (and each version thereof) containing the Adobe Software and/or Upgrade (“Sublicensee + Product”) that do not meet the Device Verification exemption criteria to be communicated + by Google, for Adobe to verify. Sublicensee shall pay for each submission made by + Sublicensee by procuring verification packages at Adobe’s then-current terms set forth at + http://flashmobile.adobe.com/. Sublicensee Product that has not passed verification may + not be distributed. Verification will be accomplished in accordance with Adobe’s + then-current process described at http://flashmobile.adobe.com/ (“Verification”). + </p> + <p> + 9. Profiles and Device Central. Sublicensee will be prompted to enter certain profile + information about the Sublicensee Products either as part of the Verification process or + some other method, and Sublicensee will provide such information, to Adobe. Adobe may (i) + use such profile information as reasonably necessary to verify the Sublicensee Product + (if such product is subject to Verification), and (ii) display such profile information + in “Adobe Device Intelligence system,” located at + https://devices.adobe.com/partnerportal/, and made available through Adobe’s authoring + and development tools and services to enable developers and end users to see how content + or applications are displayed in Sublicensee Products (e.g. how video images appear in + certain phones). + </p> + <p> + 10. Export. Sublicensee acknowledges that the laws and regulations of the United States + restrict the export and re-export of commodities and technical data of United States + origin, which may include the Adobe Software. Sublicensee agrees that it will not export + or re-export the Adobe Software, without the appropriate United States and foreign + governmental clearances, if any. + </p> + <p> + 11. Technology Pass-through Terms. + </p> + <p> + (a) Except pursuant to applicable permissions or agreements therefor, from or with the + applicable parties, Sublicensees shall not use and shall not allow the use of, the Adobe + Software for the encoding or decoding of mp3 audio only (.mp3) data on any non-pc device + (e.g., mobile phone or set-top box), nor may the mp3 encoders or decoders contained in + the Adobe Software be used or accessed by any product other than the Adobe Software. The + Adobe Software may be used for the encoding or decoding of MP3 data contained within a + swf or flv file, which contains video, picture or other data. Sublicensee shall + acknowledge that use of the Adobe Software for non-PC devices, as described in the + prohibitions in this section, may require the payment of licensing royalties or other + amounts to third parties who may hold intellectual property rights related to the MP3 + technology and that Adobe nor Sublicensee has not paid any royalties or other amounts on + account of third party intellectual property rights for such use. If Sublicensee requires + an MP3 encoder or decoder for such use, Sublicensee is responsible for obtaining the + necessary intellectual property license, including any applicable patent rights. + </p> + <p> + (b) Sublicensee will not use, copy, reproduce and modify (i) the On2 source code + (provided hereunder as a component of the Source Code) as necessary to enable the Adobe + Software to decode video in the Flash video file format (.flv or .f4v), and (ii) the + Sorenson Spark source code (provided hereunder as a component of the Source Code) for the + limited purpose of making bug fixes and performance enhancements to the Adobe Software. + All codecs provided with the Adobe Software may only be used and distributed as an + integrated part of the Adobe Software and may not be accessed by any other application, + including other Google applications. + </p> + <p> + (c) The Source Code may be provided with an AAC codec and/or HE-AAC codec (“the AAC + Codec”). Use of the AAC Codec is conditioned on Sublicensee obtaining a proper patent + license covering necessary patents as provided by VIA Licensing, for end products on or + in which the AAC Codec will be used. Sublicensee acknowledges and agrees that Adobe is + not providing a patent license for an AAC Codec under this Agreement to Sublicensee or + its sublicensees. + </p> + <p> + (d) THE SOURCE CODE MAY CONTAIN CODE LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR + THE PERSONAL NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE + AVC STANDARD ("AVC VIDEO") AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER + ENGAGED IN A PERSONAL NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PROVIDER + LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR WILL BE IMPLIED FOR ANY OTHER + USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. See + http://www.mpegla.com + </p> + <p> + 12. Update. Sublicensee will not circumvent Google’s or Adobe’s efforts to update the + Adobe Software in all Sublicensee’s products incorporating the Adobe Software as bundled + with the Google Software (“Sublicensee Products”). + </p> + <p> + 13. Attribution and Proprietary Notices. Sublicensee will list the Adobe Software in + publicly available Sublicensee Product specifications and include appropriate Adobe + Software branding (specifically excluding the Adobe corporate logo) on the Sublicensee + Product packaging or marketing materials in a manner consistent with branding of other + third party products contained within the Sublicensee Product. + </p> + <p> + 14. No Warranty. THE ADOBE SOFTWARE IS MADE AVAILABLE TO SUBLICENSEE FOR USE AND + REPRODUCTION “AS IS” AND ADOBE MAKES NO WARRANTY AS TO ITS USE OR PERFORMANCE. ADOBE AND + ITS SUPPLIERS DO NOT AND CANNOT WARRANT THE PERFORMANCE OR RESULTS OBTAINED BY USING THE + ADOBE SOFTWARE. EXCEPT FOR ANY WARRANTY, CONDITION, REPRESENTATION OR TERM TO THE EXTENT + TO WHICH THE SAME CANNOT OR MAY NOT BE EXCLUDED OR LIMITED BY LAW APPLICABLE TO + SUBLICENSEEIN SUBLICENSEE’S JURISDICTION, ADOBE AND ITS SUPPLIERS MAKE NO WARRANTIES, + CONDITIONS, REPRESENTATIONS, OR TERMS (EXPRESS OR IMPLIED WHETHER BY STATUTE, COMMON LAW, + CUSTOM, USAGE OR OTHERWISE) AS TO ANY MATTER INCLUDING WITHOUT LIMITATION NONINFRINGEMENT + OF THIRD PARTY RIGHTS, MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, OR FITNESS FOR + ANY PARTICULAR PURPOSE. SUBLICENSEE AGREES THAT SUBLICENSEE SHALL NOT MAKE ANY WARRANTY, + EXPRESS OR IMPLIED, ON BEHALF OF ADOBE. + </p> + <p> + 15. Limitation of Liability. IN NO EVENT WILL ADOBE OR ITS SUPPLIERS BE LIABLE TO + SUBLICENSEE FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER OR ANY CONSEQUENTIAL, INDIRECT, + OR INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS, EVEN IF AN ADOBE + REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS + OR FOR ANY CLAIM BY ANY THIRD PARTY. THE FOREGOING LIMITATIONS AND EXCLUSIONS APPLY TO + THE EXTENT PERMITTED BY APPLICABLE LAW IN SUBLICENSEE’S JURISDICTION. ADOBE’S AGGREGATE + LIABILITY AND THAT OF ITS SUPPLIERS UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE + LIMITED TO ONE THOUSAND DOLLARS (US$1,000). Nothing contained in this Agreement limits + Adobe’s liability to Sublicensee in the event of death or personal injury resulting from + Adobe’s negligence or for the tort of deceit (fraud). Adobe is acting on behalf of its + suppliers for the purpose of disclaiming, excluding and/or limiting obligations, + warranties and liability as provided in this Agreement, but in no other respects and for + no other purpose. + </p> + <p> + 16. Content Protection Terms + </p> + <p> + (a) Definitions. + </p> + <p> + “Compliance and Robustness Rules” means the document setting forth compliance and + robustness rules for the Adobe Software located at http://www.adobe.com/mobile/licensees, + or a successor web site thereto. + </p> + <p> + “Content Protection Functions” means those aspects of the Adobe Software that are + designed to ensure compliance with the Compliance and Robustness Rules, and to prevent + playback, copying, modification, redistribution or other actions with respect to digital + content distributed for consumption by users of the Adobe Software when such actions are + not authorized by the owners of such digital content or its licensed distributors. + </p> + <p> + “Content Protection Code” means code within certain designated versions of the Adobe + Software that enables certain Content Protection Functions. + </p> + <p> + “Key” means a cryptographic value contained in the Adobe Software for use in decrypting + digital content. + </p> + <p> + (b) License Restrictions. Sublicensee’s right to exercise the licenses with respect to + the Adobe Software is subject to the following additional restrictions and obligations. + Sublicensee will ensure that Sublicensee’s customers comply with these restrictions and + obligations to the same extent imposed on Sublicensee with respect to the Adobe Software; + any failure by Sublicensee’s customers to comply with these additional restrictions and + obligations shall be treated as a material breach by Sublicensee. + </p> + <p> + b.1. Sublicensee and customers may only distribute the Adobe Software that meets the + Robustness and Compliance Rules as so confirmed by Sublicensee during the verification + process described above in the Adobe Terms. + </p> + <p> + b.2. Sublicensee shall not (i) circumvent the Content Protection Functions of either the + Adobe Software or any related Adobe Software that is used to encrypt or decrypt digital + content for authorized consumption by users of the Adobe Software, or (ii) develop or + distribute products that are designed to circumvent the Content Protection Functions of + either the Adobe Software or any Adobe Software that is used to encrypt or decrypt + digital content for authorized consumption by users of the Adobe Software. + </p> + <p> + (c) The Keys are hereby designated as Adobe’s Confidential Information, and Sublicensee + will, with respect to the Keys, adhere to Adobe’s Source Code Handling Procedure (to be + provided by Adobe upon request). + </p> + <p> + (d) Injunctive Relief. Sublicensee agrees that a breach of this Agreement may compromise + the Content Protection Functions of the Adobe Software and may cause unique and lasting + harm to the interests of Adobe and owners of digital content that rely on such Content + Protection Functions, and that monetary damages may be inadequate to compensate fully for + such harm. Therefore, Sublicensee further agrees that Adobe may be entitled to seek + injunctive relief to prevent or limit the harm caused by any such breach, in addition to + monetary damages. + </p> + <p> + 17. Intended Third-party Beneficiary. Adobe Systems Incorporated and Adobe Software + Ireland Limited are the intended third-party beneficiaries of Google’s agreement with + Sublicensee with respect to the Adobe Software, including but not limited to, the Adobe + Terms. Sublicensee agrees, notwithstanding anything to the contrary in its agreement with + Google, that Google may disclose Sublicensee’s identity to Adobe and certify in writing + that Sublicensee has entered into a license agreement with Google which includes the + Adobe Terms. Sublicensee must have an agreement with each of its licensees, and if such + licensees are allowed to redistribute the Adobe Software, such agreement will include the + Adobe Terms. + </p> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/abs/extra/gyp/PKGBUILD b/abs/extra/gyp/PKGBUILD new file mode 100644 index 0000000..02bad2d --- /dev/null +++ b/abs/extra/gyp/PKGBUILD @@ -0,0 +1,26 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=gyp +pkgver=20170609 +pkgrel=2 +pkgdesc='"Generate Your Projects" Meta-Build system' +arch=(any) +url="https://gyp.gsrc.io/" +license=(custom:BSD) +depends=(python2-setuptools ninja) +makedepends=(git) +_commit=a478c1ab51ea3e04e79791ac3d1dad01b3f57434 # changes/21/487521/4 +source=("git+https://chromium.googlesource.com/external/gyp#commit=$_commit") +sha256sums=('SKIP') + +build() { + cd $pkgname + python2 setup.py build +} + +package() { + cd $pkgname + python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/abs/extra/libglvnd/PKGBUILD b/abs/extra/libglvnd/PKGBUILD index a667e63..e589b42 100644 --- a/abs/extra/libglvnd/PKGBUILD +++ b/abs/extra/libglvnd/PKGBUILD @@ -2,23 +2,21 @@ # Maintainer: Felix Yan <felixonmars@archlinux.org> pkgname=libglvnd -pkgver=0.2.999+g4ba53457 -_commit=4ba5345742d6c98b528ac28fb7127006d2cc3f75 -pkgrel=2 +pkgver=1.0.0 +pkgrel=1 pkgdesc="The GL Vendor-Neutral Dispatch library" -arch=('i686' 'x86_64') +arch=('x86_64') url="https://github.com/NVIDIA/libglvnd" license=('custom:BSD-like') -makedepends=('libxext' 'libx11' 'glproto' 'git' 'python2') +makedepends=('libxext' 'libx11' 'glproto' 'python2') provides=('libgl' 'libegl' 'libgles') -#source=("git+https://github.com/NVIDIA/libglvnd.git#tag=v$pkgver" -source=("git+https://github.com/NVIDIA/libglvnd.git#commit=$_commit" +source=("$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/libglvnd/archive/v$pkgver.tar.gz" LICENSE) -sha256sums=('SKIP' - '1a99f7487849c41fc3520e0af3dfcf28a0df05e78956d9ec58c2c52b1f20a77d') +sha512sums=('c6040b0a508a6b74d7113f8e375fcaf93ec6f2875504953f30e2882e58e22f954bd4027a7d9ab8ac41abef266039e5834fdaf4ce2a69d5d98acf3bbdd54f04b6' + 'bf0f4a7e04220a407400f89226ecc1f798cc43035f2538cc8860e5088e1f84140baf0d4b0b28f66e4b802d4d6925769a1297c24e1ba39c1c093902b2931781a5') build() { - cd $pkgname + cd $pkgname-$pkgver ./autogen.sh ./configure --prefix=/usr make @@ -27,8 +25,9 @@ build() { package() { # libglvnd needs mesa for indirect rendering depends=('libxext' 'mesa' 'opengl-driver') - cd $pkgname - make DESTDIR="${pkgdir}" install - install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE } diff --git a/abs/extra/ninja/PKGBUILD b/abs/extra/ninja/PKGBUILD new file mode 100644 index 0000000..ba37b3f --- /dev/null +++ b/abs/extra/ninja/PKGBUILD @@ -0,0 +1,47 @@ +# $Id$ +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> +# Contributor: Filip Brcic <brcha@gna.org> +# Contributor: Mika Fischer <mika.fischer@zoopnet.de> +# Contributor: Gergely Imreh <imrehgATgmailDOTcom> + +pkgname=ninja +pkgver=1.8.2 +pkgrel=1 +pkgdesc='Small build system with a focus on speed' +arch=(i686 x86_64) +url='https://ninja-build.org/' +license=(Apache) +depends=(gcc-libs) +makedepends=(python2 re2c emacs) +source=($pkgname-$pkgver.zip::https://github.com/martine/ninja/archive/v$pkgver.zip) +sha1sums=('7d252d8deeefd6972080f146a528fad76698616c') + +build() { + cd ninja-$pkgver + + python2 configure.py --bootstrap + emacs -Q --batch -f batch-byte-compile misc/ninja-mode.el +} + +check() { + cd ninja-$pkgver + + python2 ./configure.py + ./ninja ninja_test + ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots +} + +package() { + cd ninja-$pkgver + + install -m755 -D ninja "$pkgdir/usr/bin/ninja" + install -m644 -D doc/manual.asciidoc "$pkgdir/usr/share/doc/ninja/manual.asciidoc" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" + + install -m644 -D misc/ninja-mode.el "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.el" + install -m644 -D misc/ninja-mode.elc "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.elc" + install -m644 -D misc/ninja.vim "$pkgdir/usr/share/vim/vimfiles/syntax/ninja.vim" + + install -m644 -D misc/bash-completion "$pkgdir/usr/share/bash-completion/completions/ninja" + install -m644 -D misc/zsh-completion "$pkgdir/usr/share/zsh/site-functions/_ninja" +} diff --git a/abs/extra/nspr/PKGBUILD b/abs/extra/nspr/PKGBUILD index e60f6ab..a6a91c8 100644 --- a/abs/extra/nspr/PKGBUILD +++ b/abs/extra/nspr/PKGBUILD @@ -3,42 +3,38 @@ # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=nspr -pkgver=4.10.9 +pkgver=4.17 pkgrel=1 pkgdesc="Netscape Portable Runtime" +url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" arch=(i686 x86_64) -url="http://www.mozilla.org/projects/nspr/" -license=('MPL' 'GPL') -depends=('glibc') -makedepends=('zip') -options=('!emptydirs') -source=(http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz) -sha1sums=('405e5ad45111ddf95a5d39d647d41d27456c9443') -sha256sums=('4112ff6ad91d32696ca0c6c3d4abef6367b5dc0127fa172fcb3c3ab81bb2d881') +license=(MPL GPL) +depends=(glibc sh) +makedepends=(zip) +source=(https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/nspr-${pkgver}.tar.gz) +sha1sums=('5262abb243191d5fa3dcd72857d7d7f8ec47ad01') +sha256sums=('590a0aea29412ae22d7728038c21ef2ab42646e48172a47d2e4bb782846d1095') -build() { - cd $pkgname-$pkgver - - if [ "$CARCH" = "x86_64" ]; then - _confflags="--enable-64bit" - else - _confflags="" - fi +prepare() { + cd nspr-$pkgver/nspr +} - ./nspr/configure \ +build() { + cd nspr-$pkgver/nspr + ./configure \ --prefix=/usr \ --libdir=/usr/lib \ --includedir=/usr/include/nspr \ --enable-optimize \ - --disable-debug ${_confflags} + --disable-debug \ + $([[ $CARCH == x86_64 ]] && echo --enable-64bit) make } package() { - cd $pkgname-$pkgver + cd nspr-$pkgver/nspr make DESTDIR="$pkgdir" install - ln -s nspr.pc "$pkgdir/usr/lib/pkgconfig/mozilla-nspr.pc" rm -r "$pkgdir"/usr/bin/{compile-et.pl,prerr.properties} \ - "$pkgdir/usr/include/nspr/md" + "$pkgdir"/usr/include/nspr/md } diff --git a/abs/extra/nss/PKGBUILD b/abs/extra/nss/PKGBUILD index 4bf9a60..4e84761 100644 --- a/abs/extra/nss/PKGBUILD +++ b/abs/extra/nss/PKGBUILD @@ -3,43 +3,48 @@ pkgbase=nss pkgname=(nss ca-certificates-mozilla) -pkgver=3.20 -pkgrel=1 -pkgdesc="Mozilla Network Security Services" +pkgver=3.33 +pkgrel=2 +pkgdesc="Network Security Services" +url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS" arch=(i686 x86_64) -url="http://www.mozilla.org/projects/security/pki/nss/" -license=('MPL' 'GPL') -_nsprver=4.10.8 -depends=("nspr>=${_nsprver}" 'sqlite' 'zlib' 'sh' 'p11-kit') -makedepends=('perl' 'python2') -options=('!strip' '!makeflags' 'staticlibs') -source=("https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgbase}-${pkgver}.tar.gz" - certdata2pem.py bundle.sh nss.pc.in nss-config.in legacy-certs.patch) -sha256sums=('5e38d4b9837ca338af966b97fc91c07f67ad647fb38dc4af3cfd0d84e477d15c' - '2a2ff9131c21fa3b23ad7c7a2f069eabc783e56c6eb05419ac5f365f48dea0fc' - '045f520403f715a4cc7f3607b4e2c9bcc88fee5bce58d462fddaa2fdb0e4c180' - 'b9f1428ca2305bf30b109507ff335fa00bce5a7ce0434b50acd26ad7c47dd5bd' +license=(MPL GPL) +_nsprver=4.15 +depends=("nspr>=${_nsprver}" sqlite zlib sh p11-kit) +makedepends=(perl python2 xmlto docbook-xsl gyp) +options=(!strip !makeflags staticlibs) +source=("https://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/src/nss-${pkgver}.tar.gz" + certdata2pem.py bundle.sh nss.pc.in nss-config.in nss-config.xml enable-libpkix.patch no-plt.diff bug1400603.patch) +sha256sums=('98f0dabd36408e83dd3a11727336cc3cdfee4cbdd9aede2b2831eb2389c284e4' + '512b12a2f13129be62c008b4df0153f527dd7d71c2c5183de99dfa2a1c49dd8a' + '3bfadf722da6773bdabdd25bdf78158648043d1b7e57615574f189a88ca865dd' + 'f2208c4f70373ff9b60f53d733f8071d4e390c384b776dfc04bf26c306882faf' 'e44ac5095b4d88f24ec7b2e6a9f1581560bd3ad41a3d198596d67ef22f67adb9' - '22330fcde2dac5fa4733f7d77bffbbd31d91cbaa338738afdc2a8ebfccb61184') + '98ace873c63e8e870286bce3ed53249aa2655cc1f53e7049061476e650ab06f1' + '0b68c5ffbfeec090e950e5703e6b0519eafcb7eaf4fe2f64c355d0ddf17eed30' + 'ea8e1b871c0f1dd29cdea1b1a2e7f47bf4713e2ae7b947ec832dba7dfcc67daa' + 'c2a477710a53738e91712a7a203b84d65a514af62d8efffaa977070843a7794a') prepare() { - mkdir certs + mkdir certs path - cd nss-$pkgver + ln -s /usr/bin/python2 path/python + + echo -n "$(date +"%e %B %Y")" >date.xml + echo -n "$pkgver" >version.xml + xmlto man nss-config.xml - # FS#45479: Reenable two weak Verisign certificates used by login.live.com - # Otherwise, accessing this site via Epiphany (GnuTLS) or Skype (OpenSSL) fails - # Also see https://gist.github.com/grawity/15eabf67191e17080241 - patch nss/lib/ckfw/builtins/certdata.txt ../legacy-certs.patch + cd nss-$pkgver - # Respect LDFLAGS - sed -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/' \ - -i nss/coreconf/rules.mk + patch -Np1 -i ../enable-libpkix.patch + patch -Np2 -i ../no-plt.diff ln -sr nss/lib/ckfw/builtins/certdata.txt ../certs/ ln -sr nss/lib/ckfw/builtins/nssckbi.h ../certs/ -} + cd nss + patch -Np0 -i ../../bug1400603.patch +} build() { cd certs @@ -49,29 +54,15 @@ build() { sh bundle.sh cd nss-$pkgver/nss - export BUILD_OPT=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - export NSPR_INCLUDE_DIR="`nspr-config --includedir`" - export NSPR_LIB_DIR="`nspr-config --libdir`" - export XCFLAGS="${CFLAGS}" - - [ "$CARCH" = "x86_64" ] && export USE_64=1 - - make -C coreconf - make -C lib/dbm - make + PATH="$srcdir/path:$PATH" bash -x ./build.sh -v \ + --opt --system-sqlite --system-nspr --disable-tests } package_nss() { - install=nss.install - cd nss-$pkgver - install -d "$pkgdir"/usr/{bin,include/nss,lib/pkgconfig} - NSS_VMAJOR=$(grep '#define.*NSS_VMAJOR' nss/lib/nss/nss.h | awk '{print $3}') - NSS_VMINOR=$(grep '#define.*NSS_VMINOR' nss/lib/nss/nss.h | awk '{print $3}') - NSS_VPATCH=$(grep '#define.*NSS_VPATCH' nss/lib/nss/nss.h | awk '{print $3}') + { read _vmajor; read _vminor; read _vpatch; } \ + < <(awk '/#define.*NSS_V(MAJOR|MINOR|PATCH)/ {print $3}' nss/lib/nss/nss.h) sed ../nss.pc.in \ -e "s,%libdir%,/usr/lib,g" \ @@ -79,8 +70,8 @@ package_nss() { -e "s,%exec_prefix%,/usr/bin,g" \ -e "s,%includedir%,/usr/include/nss,g" \ -e "s,%NSPR_VERSION%,${_nsprver},g" \ - -e "s,%NSS_VERSION%,${pkgver},g" \ - > "$pkgdir/usr/lib/pkgconfig/nss.pc" + -e "s,%NSS_VERSION%,${pkgver},g" | + install -Dm644 /dev/stdin "$pkgdir/usr/lib/pkgconfig/nss.pc" ln -s nss.pc "$pkgdir/usr/lib/pkgconfig/mozilla-nss.pc" sed ../nss-config.in \ @@ -88,33 +79,32 @@ package_nss() { -e "s,@prefix@,/usr/bin,g" \ -e "s,@exec_prefix@,/usr/bin,g" \ -e "s,@includedir@,/usr/include/nss,g" \ - -e "s,@MOD_MAJOR_VERSION@,${NSS_VMAJOR},g" \ - -e "s,@MOD_MINOR_VERSION@,${NSS_VMINOR},g" \ - -e "s,@MOD_PATCH_VERSION@,${NSS_VPATCH},g" \ - > "$pkgdir/usr/bin/nss-config" - chmod 755 "$pkgdir/usr/bin/nss-config" + -e "s,@MOD_MAJOR_VERSION@,${_vmajor},g" \ + -e "s,@MOD_MINOR_VERSION@,${_vminor},g" \ + -e "s,@MOD_PATCH_VERSION@,${_vpatch},g" | + install -D /dev/stdin "$pkgdir/usr/bin/nss-config" + install -Dt "$pkgdir/usr/share/man/man1" -m644 ../nss-config.1 - cd dist/*.OBJ/bin - install -t "$pkgdir/usr/bin" *util shlibsign signtool signver ssltap + cd nss/doc/nroff + install -Dt "$pkgdir/usr/share/man/man1" -m644 *util.1 signtool.1 signver.1 ssltap.1 - cd ../lib - install -t "$pkgdir/usr/lib" *.so - install -t "$pkgdir/usr/lib" -m644 libcrmf.a *.chk + cd ../../../dist + install -Dt "$pkgdir/usr/include/nss" -m644 public/nss/*.h - cd ../../public/nss - install -t "$pkgdir/usr/include/nss" -m644 *.h + cd Release/bin + install -Dt "$pkgdir/usr/bin" *util shlibsign signtool signver ssltap + + cd ../lib + install -Dt "$pkgdir/usr/lib" *.so + install -Dt "$pkgdir/usr/lib" -m644 *.chk - rm "$pkgdir/usr/lib/libnssckbi.so" - ln -s libnssckbi-p11-kit.so "$pkgdir/usr/lib/libnssckbi.so" + ln -sf libnssckbi-p11-kit.so "$pkgdir/usr/lib/libnssckbi.so" } package_ca-certificates-mozilla() { pkgdesc="Mozilla's set of trusted CA certificates" depends=(ca-certificates-utils) - install=ca-certificates-mozilla.install - local _certdir="$pkgdir/usr/share/ca-certificates/trust-source" - install -Dm644 ca-bundle.trust.crt "$_certdir/mozilla.trust.crt" - install -Dm644 ca-bundle.neutral-trust.crt "$_certdir/mozilla.neutral-trust.crt" - install -Dm644 ca-bundle.supplement.p11-kit "$_certdir/mozilla.supplement.p11-kit" + install -Dm644 ca-bundle.trust.p11-kit \ + "$pkgdir/usr/share/ca-certificates/trust-source/mozilla.trust.p11-kit" } diff --git a/abs/extra/nss/bug1400603.patch b/abs/extra/nss/bug1400603.patch new file mode 100644 index 0000000..321f50d --- /dev/null +++ b/abs/extra/nss/bug1400603.patch @@ -0,0 +1,942 @@ +commit e84403331d99 +Author: Daiki Ueno <dueno@redhat.com> +Date: Fri Sep 22 11:27:34 2017 +0200 + + Bug 1400603 - freebl: Reorganize AES-GCM source code based on hw/sw implementation, r=franziskus + + Reviewers: franziskus + + Reviewed By: franziskus + + Bug #: 1400603 + + Differential Revision: https://phabricator.services.mozilla.com/D65 +--- + lib/freebl/Makefile | 4 +- + lib/freebl/aes-x86.c | 157 +++++++++++++++++++++++++++++++++++++++++ + lib/freebl/freebl.gyp | 65 ++++++++++------- + lib/freebl/gcm-x86.c | 127 ++++++++++++++++++++++++++++++++++ + lib/freebl/gcm.c | 162 +++++++++++++------------------------------ + lib/freebl/gcm.h | 14 ++++ + lib/freebl/rijndael.c | 188 ++++++++------------------------------------------ + lib/freebl/rijndael.h | 18 ++++- + 8 files changed, 436 insertions(+), 299 deletions(-) + +diff --git lib/freebl/Makefile lib/freebl/Makefile +index d50e18696b..bc1ea86a5e 100644 +--- lib/freebl/Makefile ++++ lib/freebl/Makefile +@@ -110,7 +110,9 @@ endif + # NSS_X86_OR_X64 means the target is either x86 or x64 + ifeq (,$(filter-out i386 x386 x86 x86_64,$(CPU_ARCH))) + DEFINES += -DNSS_X86_OR_X64 +- CFLAGS += -mpclmul -maes ++ EXTRA_SRCS += gcm-x86.c aes-x86.c ++$(OBJDIR)/gcm-x86.o: CFLAGS += -mpclmul -maes ++$(OBJDIR)/aes-x86.o: CFLAGS += -mpclmul -maes + ifneq (,$(USE_64)$(USE_X32)) + DEFINES += -DNSS_X64 + else +diff --git lib/freebl/aes-x86.c lib/freebl/aes-x86.c +new file mode 100644 +index 0000000000..830b4782fe +--- /dev/null ++++ lib/freebl/aes-x86.c +@@ -0,0 +1,157 @@ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * License, v. 2.0. If a copy of the MPL was not distributed with this ++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ ++ ++#ifdef FREEBL_NO_DEPEND ++#include "stubs.h" ++#endif ++#include "rijndael.h" ++#include "secerr.h" ++ ++#include <wmmintrin.h> /* aes-ni */ ++ ++#define EXPAND_KEY128(k, rcon, res) \ ++ tmp_key = _mm_aeskeygenassist_si128(k, rcon); \ ++ tmp_key = _mm_shuffle_epi32(tmp_key, 0xFF); \ ++ tmp = _mm_xor_si128(k, _mm_slli_si128(k, 4)); \ ++ tmp = _mm_xor_si128(tmp, _mm_slli_si128(tmp, 4)); \ ++ tmp = _mm_xor_si128(tmp, _mm_slli_si128(tmp, 4)); \ ++ res = _mm_xor_si128(tmp, tmp_key) ++ ++static void ++native_key_expansion128(AESContext *cx, const unsigned char *key) ++{ ++ __m128i *keySchedule = cx->keySchedule; ++ pre_align __m128i tmp_key post_align; ++ pre_align __m128i tmp post_align; ++ keySchedule[0] = _mm_loadu_si128((__m128i *)key); ++ EXPAND_KEY128(keySchedule[0], 0x01, keySchedule[1]); ++ EXPAND_KEY128(keySchedule[1], 0x02, keySchedule[2]); ++ EXPAND_KEY128(keySchedule[2], 0x04, keySchedule[3]); ++ EXPAND_KEY128(keySchedule[3], 0x08, keySchedule[4]); ++ EXPAND_KEY128(keySchedule[4], 0x10, keySchedule[5]); ++ EXPAND_KEY128(keySchedule[5], 0x20, keySchedule[6]); ++ EXPAND_KEY128(keySchedule[6], 0x40, keySchedule[7]); ++ EXPAND_KEY128(keySchedule[7], 0x80, keySchedule[8]); ++ EXPAND_KEY128(keySchedule[8], 0x1B, keySchedule[9]); ++ EXPAND_KEY128(keySchedule[9], 0x36, keySchedule[10]); ++} ++ ++#define EXPAND_KEY192_PART1(res, k0, kt, rcon) \ ++ tmp2 = _mm_slli_si128(k0, 4); \ ++ tmp1 = _mm_xor_si128(k0, tmp2); \ ++ tmp2 = _mm_slli_si128(tmp2, 4); \ ++ tmp1 = _mm_xor_si128(_mm_xor_si128(tmp1, tmp2), _mm_slli_si128(tmp2, 4)); \ ++ tmp2 = _mm_aeskeygenassist_si128(kt, rcon); \ ++ res = _mm_xor_si128(tmp1, _mm_shuffle_epi32(tmp2, 0x55)) ++ ++#define EXPAND_KEY192_PART2(res, k1, k2) \ ++ tmp2 = _mm_xor_si128(k1, _mm_slli_si128(k1, 4)); \ ++ res = _mm_xor_si128(tmp2, _mm_shuffle_epi32(k2, 0xFF)) ++ ++#define EXPAND_KEY192(k0, res1, res2, res3, carry, rcon1, rcon2) \ ++ EXPAND_KEY192_PART1(tmp3, k0, res1, rcon1); \ ++ EXPAND_KEY192_PART2(carry, res1, tmp3); \ ++ res1 = _mm_castpd_si128(_mm_shuffle_pd(_mm_castsi128_pd(res1), \ ++ _mm_castsi128_pd(tmp3), 0)); \ ++ res2 = _mm_castpd_si128(_mm_shuffle_pd(_mm_castsi128_pd(tmp3), \ ++ _mm_castsi128_pd(carry), 1)); \ ++ EXPAND_KEY192_PART1(res3, tmp3, carry, rcon2) ++ ++static void ++native_key_expansion192(AESContext *cx, const unsigned char *key) ++{ ++ __m128i *keySchedule = cx->keySchedule; ++ pre_align __m128i tmp1 post_align; ++ pre_align __m128i tmp2 post_align; ++ pre_align __m128i tmp3 post_align; ++ pre_align __m128i carry post_align; ++ keySchedule[0] = _mm_loadu_si128((__m128i *)key); ++ keySchedule[1] = _mm_loadu_si128((__m128i *)(key + 16)); ++ EXPAND_KEY192(keySchedule[0], keySchedule[1], keySchedule[2], ++ keySchedule[3], carry, 0x1, 0x2); ++ EXPAND_KEY192_PART2(keySchedule[4], carry, keySchedule[3]); ++ EXPAND_KEY192(keySchedule[3], keySchedule[4], keySchedule[5], ++ keySchedule[6], carry, 0x4, 0x8); ++ EXPAND_KEY192_PART2(keySchedule[7], carry, keySchedule[6]); ++ EXPAND_KEY192(keySchedule[6], keySchedule[7], keySchedule[8], ++ keySchedule[9], carry, 0x10, 0x20); ++ EXPAND_KEY192_PART2(keySchedule[10], carry, keySchedule[9]); ++ EXPAND_KEY192(keySchedule[9], keySchedule[10], keySchedule[11], ++ keySchedule[12], carry, 0x40, 0x80); ++} ++ ++#define EXPAND_KEY256_PART(res, rconx, k1x, k2x, X) \ ++ tmp_key = _mm_shuffle_epi32(_mm_aeskeygenassist_si128(k2x, rconx), X); \ ++ tmp2 = _mm_slli_si128(k1x, 4); \ ++ tmp1 = _mm_xor_si128(k1x, tmp2); \ ++ tmp2 = _mm_slli_si128(tmp2, 4); \ ++ tmp1 = _mm_xor_si128(_mm_xor_si128(tmp1, tmp2), _mm_slli_si128(tmp2, 4)); \ ++ res = _mm_xor_si128(tmp1, tmp_key); ++ ++#define EXPAND_KEY256(res1, res2, k1, k2, rcon) \ ++ EXPAND_KEY256_PART(res1, rcon, k1, k2, 0xFF); \ ++ EXPAND_KEY256_PART(res2, 0x00, k2, res1, 0xAA) ++ ++static void ++native_key_expansion256(AESContext *cx, const unsigned char *key) ++{ ++ __m128i *keySchedule = cx->keySchedule; ++ pre_align __m128i tmp_key post_align; ++ pre_align __m128i tmp1 post_align; ++ pre_align __m128i tmp2 post_align; ++ keySchedule[0] = _mm_loadu_si128((__m128i *)key); ++ keySchedule[1] = _mm_loadu_si128((__m128i *)(key + 16)); ++ EXPAND_KEY256(keySchedule[2], keySchedule[3], keySchedule[0], ++ keySchedule[1], 0x01); ++ EXPAND_KEY256(keySchedule[4], keySchedule[5], keySchedule[2], ++ keySchedule[3], 0x02); ++ EXPAND_KEY256(keySchedule[6], keySchedule[7], keySchedule[4], ++ keySchedule[5], 0x04); ++ EXPAND_KEY256(keySchedule[8], keySchedule[9], keySchedule[6], ++ keySchedule[7], 0x08); ++ EXPAND_KEY256(keySchedule[10], keySchedule[11], keySchedule[8], ++ keySchedule[9], 0x10); ++ EXPAND_KEY256(keySchedule[12], keySchedule[13], keySchedule[10], ++ keySchedule[11], 0x20); ++ EXPAND_KEY256_PART(keySchedule[14], 0x40, keySchedule[12], ++ keySchedule[13], 0xFF); ++} ++ ++/* ++ * AES key expansion using aes-ni instructions. ++ */ ++void ++rijndael_native_key_expansion(AESContext *cx, const unsigned char *key, ++ unsigned int Nk) ++{ ++ switch (Nk) { ++ case 4: ++ native_key_expansion128(cx, key); ++ return; ++ case 6: ++ native_key_expansion192(cx, key); ++ return; ++ case 8: ++ native_key_expansion256(cx, key); ++ return; ++ default: ++ /* This shouldn't happen (checked by the caller). */ ++ return; ++ } ++} ++ ++void ++rijndael_native_encryptBlock(AESContext *cx, ++ unsigned char *output, ++ const unsigned char *input) ++{ ++ int i; ++ pre_align __m128i m post_align = _mm_loadu_si128((__m128i *)input); ++ m = _mm_xor_si128(m, cx->keySchedule[0]); ++ for (i = 1; i < cx->Nr; ++i) { ++ m = _mm_aesenc_si128(m, cx->keySchedule[i]); ++ } ++ m = _mm_aesenclast_si128(m, cx->keySchedule[cx->Nr]); ++ _mm_storeu_si128((__m128i *)output, m); ++} +diff --git lib/freebl/freebl.gyp lib/freebl/freebl.gyp +index 1e93475004..5f59eef29c 100644 +--- lib/freebl/freebl.gyp ++++ lib/freebl/freebl.gyp +@@ -22,6 +22,37 @@ + '-mssse3' + ] + }, ++ { ++ 'target_name': 'gcm-aes-x86_c_lib', ++ 'type': 'static_library', ++ 'sources': [ ++ 'gcm-x86.c', 'aes-x86.c' ++ ], ++ 'dependencies': [ ++ '<(DEPTH)/exports.gyp:nss_exports' ++ ], ++ # Enable isa option for pclmul and aes-ni; supported since gcc 4.4. ++ # This is only supported by x84/x64. It's not needed for Windows, ++ # unless clang-cl is used. ++ 'cflags_mozilla': [ ++ '-mpclmul', '-maes' ++ ], ++ 'conditions': [ ++ [ 'OS=="linux" or OS=="android" or OS=="dragonfly" or OS=="freebsd" or OS=="netbsd" or OS=="openbsd"', { ++ 'cflags': [ ++ '-mpclmul', '-maes' ++ ], ++ }], ++ # macOS build doesn't use cflags. ++ [ 'OS=="mac"', { ++ 'xcode_settings': { ++ 'OTHER_CFLAGS': [ ++ '-mpclmul', '-maes' ++ ], ++ }, ++ }] ++ ] ++ }, + { + 'target_name': 'freebl', + 'type': 'static_library', +@@ -45,6 +76,11 @@ + '<(DEPTH)/exports.gyp:nss_exports', + ], + 'conditions': [ ++ [ 'target_arch=="ia32" or target_arch=="x64"', { ++ 'dependencies': [ ++ 'gcm-aes-x86_c_lib' ++ ], ++ }], + [ 'OS=="linux"', { + 'defines!': [ + 'FREEBL_NO_DEPEND', +@@ -76,6 +112,11 @@ + '<(DEPTH)/exports.gyp:nss_exports', + ], + 'conditions': [ ++ [ 'target_arch=="ia32" or target_arch=="x64"', { ++ 'dependencies': [ ++ 'gcm-aes-x86_c_lib' ++ ] ++ }], + [ 'OS!="linux" and OS!="android"', { + 'conditions': [ + [ 'moz_fold_libs==0', { +@@ -154,27 +195,11 @@ + 'MP_API_COMPATIBLE' + ], + 'conditions': [ +- [ 'target_arch=="ia32" or target_arch=="x64"', { +- 'cflags_mozilla': [ +- '-mpclmul', +- '-maes', +- ], +- 'conditions': [ +- [ 'OS=="dragonfly" or OS=="freebsd" or OS=="netbsd" or OS=="openbsd"', { +- 'cflags': [ +- '-mpclmul', +- '-maes', +- ], +- }], +- ], +- }], + [ 'OS=="mac"', { + 'xcode_settings': { + # I'm not sure since when this is supported. + # But I hope that doesn't matter. We also assume this is x86/x64. + 'OTHER_CFLAGS': [ +- '-mpclmul', +- '-maes', + '-std=gnu99', + ], + }, +@@ -268,14 +293,6 @@ + 'MP_USE_UINT_DIGIT', + ], + }], +- [ 'target_arch=="ia32" or target_arch=="x64"', { +- 'cflags': [ +- # enable isa option for pclmul am aes-ni; supported since gcc 4.4 +- # This is only support by x84/x64. It's not needed for Windows. +- '-mpclmul', +- '-maes', +- ], +- }], + [ 'target_arch=="arm"', { + 'defines': [ + 'MP_ASSEMBLY_MULTIPLY', +diff --git lib/freebl/gcm-x86.c lib/freebl/gcm-x86.c +new file mode 100644 +index 0000000000..e34d633943 +--- /dev/null ++++ lib/freebl/gcm-x86.c +@@ -0,0 +1,127 @@ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * License, v. 2.0. If a copy of the MPL was not distributed with this ++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ ++ ++#ifdef FREEBL_NO_DEPEND ++#include "stubs.h" ++#endif ++#include "gcm.h" ++#include "secerr.h" ++ ++#include <wmmintrin.h> /* clmul */ ++ ++#define WRITE64(x, bytes) \ ++ (bytes)[0] = (x) >> 56; \ ++ (bytes)[1] = (x) >> 48; \ ++ (bytes)[2] = (x) >> 40; \ ++ (bytes)[3] = (x) >> 32; \ ++ (bytes)[4] = (x) >> 24; \ ++ (bytes)[5] = (x) >> 16; \ ++ (bytes)[6] = (x) >> 8; \ ++ (bytes)[7] = (x); ++ ++SECStatus ++gcm_HashWrite_hw(gcmHashContext *ghash, unsigned char *outbuf) ++{ ++ uint64_t tmp_out[2]; ++ _mm_storeu_si128((__m128i *)tmp_out, ghash->x); ++ /* maxout must be larger than 16 byte (checked by the caller). */ ++ WRITE64(tmp_out[0], outbuf + 8); ++ WRITE64(tmp_out[1], outbuf); ++ return SECSuccess; ++} ++ ++SECStatus ++gcm_HashMult_hw(gcmHashContext *ghash, const unsigned char *buf, ++ unsigned int count) ++{ ++ size_t i; ++ pre_align __m128i z_high post_align; ++ pre_align __m128i z_low post_align; ++ pre_align __m128i C post_align; ++ pre_align __m128i D post_align; ++ pre_align __m128i E post_align; ++ pre_align __m128i F post_align; ++ pre_align __m128i bin post_align; ++ pre_align __m128i Ci post_align; ++ pre_align __m128i tmp post_align; ++ ++ for (i = 0; i < count; i++, buf += 16) { ++ bin = _mm_set_epi16(((uint16_t)buf[0] << 8) | buf[1], ++ ((uint16_t)buf[2] << 8) | buf[3], ++ ((uint16_t)buf[4] << 8) | buf[5], ++ ((uint16_t)buf[6] << 8) | buf[7], ++ ((uint16_t)buf[8] << 8) | buf[9], ++ ((uint16_t)buf[10] << 8) | buf[11], ++ ((uint16_t)buf[12] << 8) | buf[13], ++ ((uint16_t)buf[14] << 8) | buf[15]); ++ Ci = _mm_xor_si128(bin, ghash->x); ++ ++ /* Do binary mult ghash->X = Ci * ghash->H. */ ++ C = _mm_clmulepi64_si128(Ci, ghash->h, 0x00); ++ D = _mm_clmulepi64_si128(Ci, ghash->h, 0x11); ++ E = _mm_clmulepi64_si128(Ci, ghash->h, 0x01); ++ F = _mm_clmulepi64_si128(Ci, ghash->h, 0x10); ++ tmp = _mm_xor_si128(E, F); ++ z_high = _mm_xor_si128(tmp, _mm_slli_si128(D, 8)); ++ z_high = _mm_unpackhi_epi64(z_high, D); ++ z_low = _mm_xor_si128(_mm_slli_si128(tmp, 8), C); ++ z_low = _mm_unpackhi_epi64(_mm_slli_si128(C, 8), z_low); ++ ++ /* Shift one to the left (multiply by x) as gcm spec is stupid. */ ++ C = _mm_slli_si128(z_low, 8); ++ E = _mm_srli_epi64(C, 63); ++ D = _mm_slli_si128(z_high, 8); ++ F = _mm_srli_epi64(D, 63); ++ /* Carry over */ ++ C = _mm_srli_si128(z_low, 8); ++ D = _mm_srli_epi64(C, 63); ++ z_low = _mm_or_si128(_mm_slli_epi64(z_low, 1), E); ++ z_high = _mm_or_si128(_mm_or_si128(_mm_slli_epi64(z_high, 1), F), D); ++ ++ /* Reduce */ ++ C = _mm_slli_si128(z_low, 8); ++ /* D = z_low << 127 */ ++ D = _mm_slli_epi64(C, 63); ++ /* E = z_low << 126 */ ++ E = _mm_slli_epi64(C, 62); ++ /* F = z_low << 121 */ ++ F = _mm_slli_epi64(C, 57); ++ /* z_low ^= (z_low << 127) ^ (z_low << 126) ^ (z_low << 121); */ ++ z_low = _mm_xor_si128(_mm_xor_si128(_mm_xor_si128(z_low, D), E), F); ++ C = _mm_srli_si128(z_low, 8); ++ /* D = z_low >> 1 */ ++ D = _mm_slli_epi64(C, 63); ++ D = _mm_or_si128(_mm_srli_epi64(z_low, 1), D); ++ /* E = z_low >> 2 */ ++ E = _mm_slli_epi64(C, 62); ++ E = _mm_or_si128(_mm_srli_epi64(z_low, 2), E); ++ /* F = z_low >> 7 */ ++ F = _mm_slli_epi64(C, 57); ++ F = _mm_or_si128(_mm_srli_epi64(z_low, 7), F); ++ /* ghash->x ^= z_low ^ (z_low >> 1) ^ (z_low >> 2) ^ (z_low >> 7); */ ++ ghash->x = _mm_xor_si128(_mm_xor_si128( ++ _mm_xor_si128(_mm_xor_si128(z_high, z_low), D), E), ++ F); ++ } ++ return SECSuccess; ++} ++ ++SECStatus ++gcm_HashInit_hw(gcmHashContext *ghash) ++{ ++ ghash->ghash_mul = gcm_HashMult_hw; ++ ghash->x = _mm_setzero_si128(); ++ /* MSVC requires __m64 to load epi64. */ ++ ghash->h = _mm_set_epi32(ghash->h_high >> 32, (uint32_t)ghash->h_high, ++ ghash->h_low >> 32, (uint32_t)ghash->h_low); ++ ghash->hw = PR_TRUE; ++ return SECSuccess; ++} ++ ++SECStatus ++gcm_HashZeroX_hw(gcmHashContext *ghash) ++{ ++ ghash->x = _mm_setzero_si128(); ++ return SECSuccess; ++} +diff --git lib/freebl/gcm.c lib/freebl/gcm.c +index 780b7a6322..f1e16da78e 100644 +--- lib/freebl/gcm.c ++++ lib/freebl/gcm.c +@@ -17,18 +17,50 @@ + + #include <limits.h> + +-#ifdef NSS_X86_OR_X64 +-#include <wmmintrin.h> /* clmul */ +-#endif +- + /* Forward declarations */ ++SECStatus gcm_HashInit_hw(gcmHashContext *ghash); ++SECStatus gcm_HashWrite_hw(gcmHashContext *ghash, unsigned char *outbuf); + SECStatus gcm_HashMult_hw(gcmHashContext *ghash, const unsigned char *buf, + unsigned int count); ++SECStatus gcm_HashZeroX_hw(gcmHashContext *ghash); + SECStatus gcm_HashMult_sftw(gcmHashContext *ghash, const unsigned char *buf, + unsigned int count); + SECStatus gcm_HashMult_sftw32(gcmHashContext *ghash, const unsigned char *buf, + unsigned int count); + ++/* Stub definitions for the above *_hw functions, which shouldn't be ++ * used unless NSS_X86_OR_X64 is defined */ ++#ifndef NSS_X86_OR_X64 ++SECStatus ++gcm_HashWrite_hw(gcmHashContext *ghash, unsigned char *outbuf) ++{ ++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); ++ return SECFailure; ++} ++ ++SECStatus ++gcm_HashMult_hw(gcmHashContext *ghash, const unsigned char *buf, ++ unsigned int count) ++{ ++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); ++ return SECFailure; ++} ++ ++SECStatus ++gcm_HashInit_hw(gcmHashContext *ghash) ++{ ++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); ++ return SECFailure; ++} ++ ++SECStatus ++gcm_HashZeroX_hw(gcmHashContext *ghash) ++{ ++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); ++ return SECFailure; ++} ++#endif /* NSS_X86_OR_X64 */ ++ + uint64_t + get64(const unsigned char *bytes) + { +@@ -46,6 +78,8 @@ get64(const unsigned char *bytes) + SECStatus + gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H, PRBool sw) + { ++ SECStatus rv = SECSuccess; ++ + ghash->cLen = 0; + ghash->bufLen = 0; + PORT_Memset(ghash->counterBuf, 0, sizeof(ghash->counterBuf)); +@@ -53,17 +87,7 @@ gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H, PRBool sw) + ghash->h_low = get64(H + 8); + ghash->h_high = get64(H); + if (clmul_support() && !sw) { +-#ifdef NSS_X86_OR_X64 +- ghash->ghash_mul = gcm_HashMult_hw; +- ghash->x = _mm_setzero_si128(); +- /* MSVC requires __m64 to load epi64. */ +- ghash->h = _mm_set_epi32(ghash->h_high >> 32, (uint32_t)ghash->h_high, +- ghash->h_low >> 32, (uint32_t)ghash->h_low); +- ghash->hw = PR_TRUE; +-#else +- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); +- return SECFailure; +-#endif /* NSS_X86_OR_X64 */ ++ rv = gcm_HashInit_hw(ghash); + } else { + /* We fall back to the software implementation if we can't use / don't + * want to use pclmul. */ +@@ -75,7 +99,7 @@ gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H, PRBool sw) + ghash->x_high = ghash->x_low = 0; + ghash->hw = PR_FALSE; + } +- return SECSuccess; ++ return rv; + } + + #ifdef HAVE_INT128_SUPPORT +@@ -283,102 +307,17 @@ gcm_HashMult_sftw32(gcmHashContext *ghash, const unsigned char *buf, + } + #endif /* HAVE_INT128_SUPPORT */ + +-SECStatus +-gcm_HashMult_hw(gcmHashContext *ghash, const unsigned char *buf, +- unsigned int count) +-{ +-#ifdef NSS_X86_OR_X64 +- size_t i; +- pre_align __m128i z_high post_align; +- pre_align __m128i z_low post_align; +- pre_align __m128i C post_align; +- pre_align __m128i D post_align; +- pre_align __m128i E post_align; +- pre_align __m128i F post_align; +- pre_align __m128i bin post_align; +- pre_align __m128i Ci post_align; +- pre_align __m128i tmp post_align; +- +- for (i = 0; i < count; i++, buf += 16) { +- bin = _mm_set_epi16(((uint16_t)buf[0] << 8) | buf[1], +- ((uint16_t)buf[2] << 8) | buf[3], +- ((uint16_t)buf[4] << 8) | buf[5], +- ((uint16_t)buf[6] << 8) | buf[7], +- ((uint16_t)buf[8] << 8) | buf[9], +- ((uint16_t)buf[10] << 8) | buf[11], +- ((uint16_t)buf[12] << 8) | buf[13], +- ((uint16_t)buf[14] << 8) | buf[15]); +- Ci = _mm_xor_si128(bin, ghash->x); +- +- /* Do binary mult ghash->X = Ci * ghash->H. */ +- C = _mm_clmulepi64_si128(Ci, ghash->h, 0x00); +- D = _mm_clmulepi64_si128(Ci, ghash->h, 0x11); +- E = _mm_clmulepi64_si128(Ci, ghash->h, 0x01); +- F = _mm_clmulepi64_si128(Ci, ghash->h, 0x10); +- tmp = _mm_xor_si128(E, F); +- z_high = _mm_xor_si128(tmp, _mm_slli_si128(D, 8)); +- z_high = _mm_unpackhi_epi64(z_high, D); +- z_low = _mm_xor_si128(_mm_slli_si128(tmp, 8), C); +- z_low = _mm_unpackhi_epi64(_mm_slli_si128(C, 8), z_low); +- +- /* Shift one to the left (multiply by x) as gcm spec is stupid. */ +- C = _mm_slli_si128(z_low, 8); +- E = _mm_srli_epi64(C, 63); +- D = _mm_slli_si128(z_high, 8); +- F = _mm_srli_epi64(D, 63); +- /* Carry over */ +- C = _mm_srli_si128(z_low, 8); +- D = _mm_srli_epi64(C, 63); +- z_low = _mm_or_si128(_mm_slli_epi64(z_low, 1), E); +- z_high = _mm_or_si128(_mm_or_si128(_mm_slli_epi64(z_high, 1), F), D); +- +- /* Reduce */ +- C = _mm_slli_si128(z_low, 8); +- /* D = z_low << 127 */ +- D = _mm_slli_epi64(C, 63); +- /* E = z_low << 126 */ +- E = _mm_slli_epi64(C, 62); +- /* F = z_low << 121 */ +- F = _mm_slli_epi64(C, 57); +- /* z_low ^= (z_low << 127) ^ (z_low << 126) ^ (z_low << 121); */ +- z_low = _mm_xor_si128(_mm_xor_si128(_mm_xor_si128(z_low, D), E), F); +- C = _mm_srli_si128(z_low, 8); +- /* D = z_low >> 1 */ +- D = _mm_slli_epi64(C, 63); +- D = _mm_or_si128(_mm_srli_epi64(z_low, 1), D); +- /* E = z_low >> 2 */ +- E = _mm_slli_epi64(C, 62); +- E = _mm_or_si128(_mm_srli_epi64(z_low, 2), E); +- /* F = z_low >> 7 */ +- F = _mm_slli_epi64(C, 57); +- F = _mm_or_si128(_mm_srli_epi64(z_low, 7), F); +- /* ghash->x ^= z_low ^ (z_low >> 1) ^ (z_low >> 2) ^ (z_low >> 7); */ +- ghash->x = _mm_xor_si128(_mm_xor_si128( +- _mm_xor_si128(_mm_xor_si128(z_high, z_low), D), E), +- F); +- } +- return SECSuccess; +-#else +- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); +- return SECFailure; +-#endif /* NSS_X86_OR_X64 */ +-} +- + static SECStatus + gcm_zeroX(gcmHashContext *ghash) + { ++ SECStatus rv = SECSuccess; ++ + if (ghash->hw) { +-#ifdef NSS_X86_OR_X64 +- ghash->x = _mm_setzero_si128(); +- return SECSuccess; +-#else +- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); +- return SECFailure; +-#endif /* NSS_X86_OR_X64 */ ++ rv = gcm_HashZeroX_hw(ghash); + } + + ghash->x_high = ghash->x_low = 0; +- return SECSuccess; ++ return rv; + } + + /* +@@ -503,15 +442,10 @@ gcmHash_Final(gcmHashContext *ghash, unsigned char *outbuf, + } + + if (ghash->hw) { +-#ifdef NSS_X86_OR_X64 +- uint64_t tmp_out[2]; +- _mm_storeu_si128((__m128i *)tmp_out, ghash->x); +- WRITE64(tmp_out[0], T + 8); +- WRITE64(tmp_out[1], T); +-#else +- PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); +- return SECFailure; +-#endif /* NSS_X86_OR_X64 */ ++ rv = gcm_HashWrite_hw(ghash, T); ++ if (rv != SECSuccess) { ++ goto cleanup; ++ } + } else { + WRITE64(ghash->x_low, T + 8); + WRITE64(ghash->x_high, T); +diff --git lib/freebl/gcm.h lib/freebl/gcm.h +index 0c707a0811..42ef0f7179 100644 +--- lib/freebl/gcm.h ++++ lib/freebl/gcm.h +@@ -9,7 +9,21 @@ + #include <stdint.h> + + #ifdef NSS_X86_OR_X64 ++/* GCC <= 4.8 doesn't support including emmintrin.h without enabling SSE2 */ ++#if !defined(__clang__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && \ ++ (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 8)) ++#pragma GCC push_options ++#pragma GCC target("sse2") ++#undef NSS_DISABLE_SSE2 ++#define NSS_DISABLE_SSE2 1 ++#endif /* GCC <= 4.8 */ ++ + #include <emmintrin.h> /* __m128i */ ++ ++#ifdef NSS_DISABLE_SSE2 ++#undef NSS_DISABLE_SSE2 ++#pragma GCC pop_options ++#endif /* NSS_DISABLE_SSE2 */ + #endif + + SEC_BEGIN_PROTOS +diff --git lib/freebl/rijndael.c lib/freebl/rijndael.c +index a09f13098e..5de27de9ce 100644 +--- lib/freebl/rijndael.c ++++ lib/freebl/rijndael.c +@@ -27,6 +27,34 @@ + #include "intel-gcm.h" + #endif /* INTEL_GCM */ + ++/* Forward declarations */ ++void rijndael_native_key_expansion(AESContext *cx, const unsigned char *key, ++ unsigned int Nk); ++void rijndael_native_encryptBlock(AESContext *cx, ++ unsigned char *output, ++ const unsigned char *input); ++ ++/* Stub definitions for the above rijndael_native_* functions, which ++ * shouldn't be used unless NSS_X86_OR_X64 is defined */ ++#ifndef NSS_X86_OR_X64 ++void ++rijndael_native_key_expansion(AESContext *cx, const unsigned char *key, ++ unsigned int Nk) ++{ ++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); ++ PORT_Assert(0); ++} ++ ++void ++rijndael_native_encryptBlock(AESContext *cx, ++ unsigned char *output, ++ const unsigned char *input) ++{ ++ PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); ++ PORT_Assert(0); ++} ++#endif /* NSS_X86_OR_X64 */ ++ + /* + * There are currently three ways to build this code, varying in performance + * and code size. +@@ -309,162 +337,6 @@ rijndael_key_expansion7(AESContext *cx, const unsigned char *key, unsigned int N + } + } + +-#if defined(NSS_X86_OR_X64) +-#define EXPAND_KEY128(k, rcon, res) \ +- tmp_key = _mm_aeskeygenassist_si128(k, rcon); \ +- tmp_key = _mm_shuffle_epi32(tmp_key, 0xFF); \ +- tmp = _mm_xor_si128(k, _mm_slli_si128(k, 4)); \ +- tmp = _mm_xor_si128(tmp, _mm_slli_si128(tmp, 4)); \ +- tmp = _mm_xor_si128(tmp, _mm_slli_si128(tmp, 4)); \ +- res = _mm_xor_si128(tmp, tmp_key) +- +-static void +-native_key_expansion128(AESContext *cx, const unsigned char *key) +-{ +- __m128i *keySchedule = cx->keySchedule; +- pre_align __m128i tmp_key post_align; +- pre_align __m128i tmp post_align; +- keySchedule[0] = _mm_loadu_si128((__m128i *)key); +- EXPAND_KEY128(keySchedule[0], 0x01, keySchedule[1]); +- EXPAND_KEY128(keySchedule[1], 0x02, keySchedule[2]); +- EXPAND_KEY128(keySchedule[2], 0x04, keySchedule[3]); +- EXPAND_KEY128(keySchedule[3], 0x08, keySchedule[4]); +- EXPAND_KEY128(keySchedule[4], 0x10, keySchedule[5]); +- EXPAND_KEY128(keySchedule[5], 0x20, keySchedule[6]); +- EXPAND_KEY128(keySchedule[6], 0x40, keySchedule[7]); +- EXPAND_KEY128(keySchedule[7], 0x80, keySchedule[8]); +- EXPAND_KEY128(keySchedule[8], 0x1B, keySchedule[9]); +- EXPAND_KEY128(keySchedule[9], 0x36, keySchedule[10]); +-} +- +-#define EXPAND_KEY192_PART1(res, k0, kt, rcon) \ +- tmp2 = _mm_slli_si128(k0, 4); \ +- tmp1 = _mm_xor_si128(k0, tmp2); \ +- tmp2 = _mm_slli_si128(tmp2, 4); \ +- tmp1 = _mm_xor_si128(_mm_xor_si128(tmp1, tmp2), _mm_slli_si128(tmp2, 4)); \ +- tmp2 = _mm_aeskeygenassist_si128(kt, rcon); \ +- res = _mm_xor_si128(tmp1, _mm_shuffle_epi32(tmp2, 0x55)) +- +-#define EXPAND_KEY192_PART2(res, k1, k2) \ +- tmp2 = _mm_xor_si128(k1, _mm_slli_si128(k1, 4)); \ +- res = _mm_xor_si128(tmp2, _mm_shuffle_epi32(k2, 0xFF)) +- +-#define EXPAND_KEY192(k0, res1, res2, res3, carry, rcon1, rcon2) \ +- EXPAND_KEY192_PART1(tmp3, k0, res1, rcon1); \ +- EXPAND_KEY192_PART2(carry, res1, tmp3); \ +- res1 = _mm_castpd_si128(_mm_shuffle_pd(_mm_castsi128_pd(res1), \ +- _mm_castsi128_pd(tmp3), 0)); \ +- res2 = _mm_castpd_si128(_mm_shuffle_pd(_mm_castsi128_pd(tmp3), \ +- _mm_castsi128_pd(carry), 1)); \ +- EXPAND_KEY192_PART1(res3, tmp3, carry, rcon2) +- +-static void +-native_key_expansion192(AESContext *cx, const unsigned char *key) +-{ +- __m128i *keySchedule = cx->keySchedule; +- pre_align __m128i tmp1 post_align; +- pre_align __m128i tmp2 post_align; +- pre_align __m128i tmp3 post_align; +- pre_align __m128i carry post_align; +- keySchedule[0] = _mm_loadu_si128((__m128i *)key); +- keySchedule[1] = _mm_loadu_si128((__m128i *)(key + 16)); +- EXPAND_KEY192(keySchedule[0], keySchedule[1], keySchedule[2], +- keySchedule[3], carry, 0x1, 0x2); +- EXPAND_KEY192_PART2(keySchedule[4], carry, keySchedule[3]); +- EXPAND_KEY192(keySchedule[3], keySchedule[4], keySchedule[5], +- keySchedule[6], carry, 0x4, 0x8); +- EXPAND_KEY192_PART2(keySchedule[7], carry, keySchedule[6]); +- EXPAND_KEY192(keySchedule[6], keySchedule[7], keySchedule[8], +- keySchedule[9], carry, 0x10, 0x20); +- EXPAND_KEY192_PART2(keySchedule[10], carry, keySchedule[9]); +- EXPAND_KEY192(keySchedule[9], keySchedule[10], keySchedule[11], +- keySchedule[12], carry, 0x40, 0x80); +-} +- +-#define EXPAND_KEY256_PART(res, rconx, k1x, k2x, X) \ +- tmp_key = _mm_shuffle_epi32(_mm_aeskeygenassist_si128(k2x, rconx), X); \ +- tmp2 = _mm_slli_si128(k1x, 4); \ +- tmp1 = _mm_xor_si128(k1x, tmp2); \ +- tmp2 = _mm_slli_si128(tmp2, 4); \ +- tmp1 = _mm_xor_si128(_mm_xor_si128(tmp1, tmp2), _mm_slli_si128(tmp2, 4)); \ +- res = _mm_xor_si128(tmp1, tmp_key); +- +-#define EXPAND_KEY256(res1, res2, k1, k2, rcon) \ +- EXPAND_KEY256_PART(res1, rcon, k1, k2, 0xFF); \ +- EXPAND_KEY256_PART(res2, 0x00, k2, res1, 0xAA) +- +-static void +-native_key_expansion256(AESContext *cx, const unsigned char *key) +-{ +- __m128i *keySchedule = cx->keySchedule; +- pre_align __m128i tmp_key post_align; +- pre_align __m128i tmp1 post_align; +- pre_align __m128i tmp2 post_align; +- keySchedule[0] = _mm_loadu_si128((__m128i *)key); +- keySchedule[1] = _mm_loadu_si128((__m128i *)(key + 16)); +- EXPAND_KEY256(keySchedule[2], keySchedule[3], keySchedule[0], +- keySchedule[1], 0x01); +- EXPAND_KEY256(keySchedule[4], keySchedule[5], keySchedule[2], +- keySchedule[3], 0x02); +- EXPAND_KEY256(keySchedule[6], keySchedule[7], keySchedule[4], +- keySchedule[5], 0x04); +- EXPAND_KEY256(keySchedule[8], keySchedule[9], keySchedule[6], +- keySchedule[7], 0x08); +- EXPAND_KEY256(keySchedule[10], keySchedule[11], keySchedule[8], +- keySchedule[9], 0x10); +- EXPAND_KEY256(keySchedule[12], keySchedule[13], keySchedule[10], +- keySchedule[11], 0x20); +- EXPAND_KEY256_PART(keySchedule[14], 0x40, keySchedule[12], +- keySchedule[13], 0xFF); +-} +- +-#endif /* NSS_X86_OR_X64 */ +- +-/* +- * AES key expansion using aes-ni instructions. +- */ +-static void +-native_key_expansion(AESContext *cx, const unsigned char *key, unsigned int Nk) +-{ +-#ifdef NSS_X86_OR_X64 +- switch (Nk) { +- case 4: +- native_key_expansion128(cx, key); +- return; +- case 6: +- native_key_expansion192(cx, key); +- return; +- case 8: +- native_key_expansion256(cx, key); +- return; +- default: +- /* This shouldn't happen. */ +- PORT_Assert(0); +- } +-#else +- PORT_Assert(0); +-#endif /* NSS_X86_OR_X64 */ +-} +- +-static void +-native_encryptBlock(AESContext *cx, +- unsigned char *output, +- const unsigned char *input) +-{ +-#ifdef NSS_X86_OR_X64 +- int i; +- pre_align __m128i m post_align = _mm_loadu_si128((__m128i *)input); +- m = _mm_xor_si128(m, cx->keySchedule[0]); +- for (i = 1; i < cx->Nr; ++i) { +- m = _mm_aesenc_si128(m, cx->keySchedule[i]); +- } +- m = _mm_aesenclast_si128(m, cx->keySchedule[cx->Nr]); +- _mm_storeu_si128((__m128i *)output, m); +-#else +- PORT_Assert(0); +-#endif /* NSS_X86_OR_X64 */ +-} +- + /* rijndael_key_expansion + * + * Generate the expanded key from the key input by the user. +@@ -830,7 +702,7 @@ rijndael_encryptECB(AESContext *cx, unsigned char *output, + + if (aesni_support()) { + /* Use hardware acceleration for normal AES parameters. */ +- encryptor = &native_encryptBlock; ++ encryptor = &rijndael_native_encryptBlock; + } else { + encryptor = &rijndael_encryptBlock128; + } +@@ -1026,7 +898,7 @@ aes_InitContext(AESContext *cx, const unsigned char *key, unsigned int keysize, + cx->mode == NSS_AES_CTR)) { + PORT_Assert(keysize == 16 || keysize == 24 || keysize == 32); + /* Prepare hardware key for normal AES parameters. */ +- native_key_expansion(cx, key, Nk); ++ rijndael_native_key_expansion(cx, key, Nk); + } else { + rijndael_key_expansion(cx, key, Nk); + } +diff --git lib/freebl/rijndael.h lib/freebl/rijndael.h +index 1f4a8a9f73..1b63a323da 100644 +--- lib/freebl/rijndael.h ++++ lib/freebl/rijndael.h +@@ -8,8 +8,22 @@ + #include "blapii.h" + #include <stdint.h> + +-#ifdef NSS_X86_OR_X64 +-#include <wmmintrin.h> /* aes-ni */ ++#if defined(NSS_X86_OR_X64) ++/* GCC <= 4.8 doesn't support including emmintrin.h without enabling SSE2 */ ++#if !defined(__clang__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && \ ++ (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 8)) ++#pragma GCC push_options ++#pragma GCC target("sse2") ++#undef NSS_DISABLE_SSE2 ++#define NSS_DISABLE_SSE2 1 ++#endif /* GCC <= 4.8 */ ++ ++#include <emmintrin.h> /* __m128i */ ++ ++#ifdef NSS_DISABLE_SSE2 ++#undef NSS_DISABLE_SSE2 ++#pragma GCC pop_options ++#endif /* NSS_DISABLE_SSE2 */ + #endif + + typedef void AESBlockFunc(AESContext *cx, diff --git a/abs/extra/nss/bundle.sh b/abs/extra/nss/bundle.sh index 253e64a..531a496 100644 --- a/abs/extra/nss/bundle.sh +++ b/abs/extra/nss/bundle.sh @@ -5,11 +5,8 @@ cat <<EOF # This is a bundle of X.509 certificates of public Certificate # Authorities. It was generated from the Mozilla root CA list. -# These certificates are in the OpenSSL "TRUSTED CERTIFICATE" -# format and have trust bits set accordingly. -# An exception are auxiliary certificates, without positive or negative -# trust, but are used to assist in finding a preferred trust path. -# Those neutral certificates use the plain BEGIN CERTIFICATE format. +# These certificates and trust/distrust attributes use the file format accepted +# by the p11-kit-trust module. # # Source: nss/lib/ckfw/builtins/certdata.txt # Source: nss/lib/ckfw/builtins/nssckbi.h @@ -18,37 +15,8 @@ EOF cat certs/nssckbi.h | grep -w NSS_BUILTINS_LIBRARY_VERSION | awk '{print "# " $2 " " $3}' echo '#' -) > ca-bundle.trust.crt -for f in certs/*.crt; do - echo "processing $f" - tbits=`sed -n '/^# openssl-trust/{s/^.*=//;p;}' $f` - distbits=`sed -n '/^# openssl-distrust/{s/^.*=//;p;}' $f` - alias=`sed -n '/^# alias=/{s/^.*=//;p;q;}' $f | sed "s/'//g" | sed 's/"//g'` - targs="" - if [ -n "$tbits" ]; then - for t in $tbits; do - targs="${targs} -addtrust $t" - done - fi - if [ -n "$distbits" ]; then - for t in $distbits; do - targs="${targs} -addreject $t" - done - fi - if [ -n "$targs" ]; then - echo "trust flags $targs for $f" >> info.trust - openssl x509 -text -in "$f" -trustout $targs -setalias "$alias" >> ca-bundle.trust.crt - else - echo "no trust flags for $f" >> info.notrust - # p11-kit-trust defines empty trust lists as "rejected for all purposes". - # That's why we use the simple file format - # (BEGIN CERTIFICATE, no trust information) - # because p11-kit-trust will treat it as a certificate with neutral trust. - # This means we cannot use the -setalias feature for neutral trust certs. - openssl x509 -text -in "$f" >> ca-bundle.neutral-trust.crt - fi -done +) > ca-bundle.trust.p11-kit -for p in certs/*.p11-kit; do - cat "$p" >> ca-bundle.supplement.p11-kit +for p in certs/*.tmp-p11-kit; do + cat "$p" >> ca-bundle.trust.p11-kit done diff --git a/abs/extra/nss/ca-certificates-mozilla.install b/abs/extra/nss/ca-certificates-mozilla.install deleted file mode 100644 index 433c35a..0000000 --- a/abs/extra/nss/ca-certificates-mozilla.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - usr/bin/update-ca-trust -} - -post_upgrade() { - post_install -} - -pre_remove() { - post_install -} diff --git a/abs/extra/nss/certdata2pem.py b/abs/extra/nss/certdata2pem.py index 021772a..e63ca0f 100644 --- a/abs/extra/nss/certdata2pem.py +++ b/abs/extra/nss/certdata2pem.py @@ -27,6 +27,7 @@ import re import sys import textwrap import urllib +import subprocess objects = [] @@ -113,6 +114,17 @@ def obj_to_filename(obj): serial = printable_serial(obj) return label + ":" + serial +def write_cert_ext_to_file(f, oid, value, public_key): + f.write("[p11-kit-object-v1]\n") + f.write("label: "); + f.write(tobj['CKA_LABEL']) + f.write("\n") + f.write("class: x-certificate-extension\n"); + f.write("object-id: " + oid + "\n") + f.write("value: \"" + value + "\"\n") + f.write("modifiable: false\n"); + f.write(public_key) + trust_types = { "CKA_TRUST_DIGITAL_SIGNATURE": "digital-signature", "CKA_TRUST_NON_REPUDIATION": "non-repudiation", @@ -132,6 +144,18 @@ trust_types = { "CKA_TRUST_STEP_UP_APPROVED": "step-up-approved", } +legacy_trust_types = { + "LEGACY_CKA_TRUST_SERVER_AUTH": "server-auth", + "LEGACY_CKA_TRUST_CODE_SIGNING": "code-signing", + "LEGACY_CKA_TRUST_EMAIL_PROTECTION": "email-protection", +} + +legacy_to_real_trust_types = { + "LEGACY_CKA_TRUST_SERVER_AUTH": "CKA_TRUST_SERVER_AUTH", + "LEGACY_CKA_TRUST_CODE_SIGNING": "CKA_TRUST_CODE_SIGNING", + "LEGACY_CKA_TRUST_EMAIL_PROTECTION": "CKA_TRUST_EMAIL_PROTECTION", +} + openssl_trust = { "CKA_TRUST_SERVER_AUTH": "serverAuth", "CKA_TRUST_CLIENT_AUTH": "clientAuth", @@ -147,6 +171,8 @@ for tobj in objects: distrustbits = [] openssl_trustflags = [] openssl_distrustflags = [] + legacy_trustbits = [] + legacy_openssl_trustflags = [] for t in trust_types.keys(): if tobj.has_key(t) and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR': trustbits.append(t) @@ -157,29 +183,180 @@ for tobj in objects: if t in openssl_trust: openssl_distrustflags.append(openssl_trust[t]) + for t in legacy_trust_types.keys(): + if tobj.has_key(t) and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR': + real_t = legacy_to_real_trust_types[t] + legacy_trustbits.append(real_t) + if real_t in openssl_trust: + legacy_openssl_trustflags.append(openssl_trust[real_t]) + if tobj.has_key(t) and tobj[t] == 'CKT_NSS_NOT_TRUSTED': + raise NotImplementedError, 'legacy distrust not supported.\n' + line + fname = obj_to_filename(tobj) try: obj = certmap[key] except: obj = None + # optional debug code, that dumps the parsed input to files + #fulldump = "dump-" + fname + #dumpf = open(fulldump, 'w') + #dumpf.write(str(obj)); + #dumpf.write(str(tobj)); + #dumpf.close(); + + is_legacy = 0 + if tobj.has_key('LEGACY_CKA_TRUST_SERVER_AUTH') or tobj.has_key('LEGACY_CKA_TRUST_EMAIL_PROTECTION') or tobj.has_key('LEGACY_CKA_TRUST_CODE_SIGNING'): + is_legacy = 1 + if obj == None: + raise NotImplementedError, 'found legacy trust without certificate.\n' + line + + legacy_fname = "legacy-default/" + fname + ".crt" + f = open(legacy_fname, 'w') + f.write("# alias=%s\n"%tobj['CKA_LABEL']) + f.write("# trust=" + " ".join(legacy_trustbits) + "\n") + if legacy_openssl_trustflags: + f.write("# openssl-trust=" + " ".join(legacy_openssl_trustflags) + "\n") + f.write("-----BEGIN CERTIFICATE-----\n") + f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64))) + f.write("\n-----END CERTIFICATE-----\n") + f.close() + + if tobj.has_key('CKA_TRUST_SERVER_AUTH') or tobj.has_key('CKA_TRUST_EMAIL_PROTECTION') or tobj.has_key('CKA_TRUST_CODE_SIGNING'): + legacy_fname = "legacy-disable/" + fname + ".crt" + f = open(legacy_fname, 'w') + f.write("# alias=%s\n"%tobj['CKA_LABEL']) + f.write("# trust=" + " ".join(trustbits) + "\n") + if openssl_trustflags: + f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n") + f.write("-----BEGIN CERTIFICATE-----\n") + f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64))) + f.write("\n-----END CERTIFICATE-----\n") + f.close() + + # don't produce p11-kit output for legacy certificates + continue + + pk = '' + cert_comment = '' if obj != None: - fname += ".crt" - else: - fname += ".p11-kit" + # must extract the public key from the cert, let's use openssl + cert_fname = "cert-" + fname + fc = open(cert_fname, 'w') + fc.write("-----BEGIN CERTIFICATE-----\n") + fc.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64))) + fc.write("\n-----END CERTIFICATE-----\n") + fc.close(); + pk_fname = "pubkey-" + fname + fpkout = open(pk_fname, "w") + dump_pk_command = ["openssl", "x509", "-in", cert_fname, "-noout", "-pubkey"] + subprocess.call(dump_pk_command, stdout=fpkout) + fpkout.close() + with open (pk_fname, "r") as myfile: + pk=myfile.read() + # obtain certificate information suitable as a comment + comment_fname = "comment-" + fname + fcout = open(comment_fname, "w") + comment_command = ["openssl", "x509", "-in", cert_fname, "-noout", "-text"] + subprocess.call(comment_command, stdout=fcout) + fcout.close() + sed_command = ["sed", "--in-place", "s/^/#/", comment_fname] + subprocess.call(sed_command) + with open (comment_fname, "r") as myfile: + cert_comment=myfile.read() + fname += ".tmp-p11-kit" f = open(fname, 'w') + if obj != None: - f.write("# alias=%s\n"%tobj['CKA_LABEL']) - f.write("# trust=" + " ".join(trustbits) + "\n") - f.write("# distrust=" + " ".join(distrustbits) + "\n") - if openssl_trustflags: - f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n") - if openssl_distrustflags: - f.write("# openssl-distrust=" + " ".join(openssl_distrustflags) + "\n") + is_distrusted = False + has_server_trust = False + has_email_trust = False + has_code_trust = False + + if tobj.has_key('CKA_TRUST_SERVER_AUTH'): + if tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED': + is_distrusted = True + elif tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_TRUSTED_DELEGATOR': + has_server_trust = True + + if tobj.has_key('CKA_TRUST_EMAIL_PROTECTION'): + if tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED': + is_distrusted = True + elif tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_TRUSTED_DELEGATOR': + has_email_trust = True + + if tobj.has_key('CKA_TRUST_CODE_SIGNING'): + if tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED': + is_distrusted = True + elif tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_TRUSTED_DELEGATOR': + has_code_trust = True + + if is_distrusted: + trust_ext_oid = "1.3.6.1.4.1.3319.6.10.1" + trust_ext_value = "0.%06%0a%2b%06%01%04%01%99w%06%0a%01%04 0%1e%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03" + write_cert_ext_to_file(f, trust_ext_oid, trust_ext_value, pk) + + trust_ext_oid = "2.5.29.37" + if has_server_trust: + if has_email_trust: + if has_code_trust: + # server + email + code + trust_ext_value = "0%2a%06%03U%1d%25%01%01%ff%04 0%1e%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03" + else: + # server + email + trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01" + else: + if has_code_trust: + # server + code + trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03" + else: + # server + trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%01" + else: + if has_email_trust: + if has_code_trust: + # email + code + trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%03" + else: + # email + trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%04" + else: + if has_code_trust: + # code + trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%03" + else: + # none + trust_ext_value = "0%18%06%03U%1d%25%01%01%ff%04%0e0%0c%06%0a%2b%06%01%04%01%99w%06%0a%10" + + # no 2.5.29.37 for neutral certificates + if (is_distrusted or has_server_trust or has_email_trust or has_code_trust): + write_cert_ext_to_file(f, trust_ext_oid, trust_ext_value, pk) + + pk = '' + f.write("\n") + + f.write("[p11-kit-object-v1]\n") + f.write("label: "); + f.write(tobj['CKA_LABEL']) + f.write("\n") + if is_distrusted: + f.write("x-distrusted: true\n") + elif has_server_trust or has_email_trust or has_code_trust: + f.write("trusted: true\n") + else: + f.write("trusted: false\n") + + # requires p11-kit >= 0.23.4 + f.write("nss-mozilla-ca-policy: true\n") + f.write("modifiable: false\n"); + f.write("-----BEGIN CERTIFICATE-----\n") f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64))) f.write("\n-----END CERTIFICATE-----\n") + f.write(cert_comment) + f.write("\n") + else: f.write("[p11-kit-object-v1]\n") f.write("label: "); @@ -187,6 +364,7 @@ for tobj in objects: f.write("\n") f.write("class: certificate\n") f.write("certificate-type: x-509\n") + f.write("modifiable: false\n"); f.write("issuer: \""); f.write(urllib.quote(tobj['CKA_ISSUER'])); f.write("\"\n") diff --git a/abs/extra/nss/enable-libpkix.patch b/abs/extra/nss/enable-libpkix.patch new file mode 100644 index 0000000..2071c2b --- /dev/null +++ b/abs/extra/nss/enable-libpkix.patch @@ -0,0 +1,12 @@ +diff -u -r nss-3.31/nss/build.sh nss-3.31-libpkix/nss/build.sh +--- nss-3.31/nss/build.sh 2017-06-08 12:53:01.000000000 +0200 ++++ nss-3.31-libpkix/nss/build.sh 2017-06-09 19:11:21.746133040 +0200 +@@ -52,7 +52,7 @@ + no_local_nspr=0 + armhf=0 + +-gyp_params=(--depth="$cwd" --generator-output=".") ++gyp_params=(--depth="$cwd" --generator-output="." -Ddisable_libpkix=0) + nspr_params=() + ninja_params=() + diff --git a/abs/extra/nss/legacy-certs.patch b/abs/extra/nss/legacy-certs.patch deleted file mode 100644 index 863cef9..0000000 --- a/abs/extra/nss/legacy-certs.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- certdata.txt 2015-06-27 23:31:01.419795911 +0200 -+++ certdata-legacy-less.txt 2015-06-27 23:57:47.106199639 +0200 -@@ -577,9 +577,9 @@ - \002\020\160\272\344\035\020\331\051\064\266\070\312\173\003\314 - \272\277 - END --CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR - CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR --CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR - CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - - # -@@ -17186,9 +17186,9 @@ - \002\020\074\221\061\313\037\366\320\033\016\232\270\320\104\277 - \022\276 - END --CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR - CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR --CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR - CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - - # diff --git a/abs/extra/nss/no-plt.diff b/abs/extra/nss/no-plt.diff new file mode 100644 index 0000000..9014f8b --- /dev/null +++ b/abs/extra/nss/no-plt.diff @@ -0,0 +1,48 @@ +diff --git i/security/nss/lib/freebl/mpi/mpi_x86.s w/security/nss/lib/freebl/mpi/mpi_x86.s +index 8f7e2130c3264754..b3ca1ce5b41b3771 100644 +--- i/security/nss/lib/freebl/mpi/mpi_x86.s ++++ w/security/nss/lib/freebl/mpi/mpi_x86.s +@@ -22,22 +22,41 @@ is_sse: .long -1 + # + .ifndef NO_PIC + .macro GET var,reg +- movl \var@GOTOFF(%ebx),\reg ++ call thunk.ax ++ addl $_GLOBAL_OFFSET_TABLE_, %eax ++ movl \var@GOTOFF(%eax),\reg + .endm + .macro PUT reg,var +- movl \reg,\var@GOTOFF(%ebx) ++ call thunk.dx ++ addl $_GLOBAL_OFFSET_TABLE_, %edx ++ movl \reg,\var@GOTOFF(%edx) + .endm + .else + .macro GET var,reg + movl \var,\reg + .endm + .macro PUT reg,var + movl \reg,\var + .endm + .endif + + .text + ++.ifndef NO_PIC ++.globl thunk.ax ++.hidden thunk.ax ++.type thunk.ax, @function ++thunk.ax: ++ movl (%esp),%eax ++ ret ++ ++.globl thunk.dx ++.hidden thunk.dx ++.type thunk.dx, @function ++thunk.dx: ++ movl (%esp),%edx ++ ret ++.endif + + # ebp - 36: caller's esi + # ebp - 32: caller's edi diff --git a/abs/extra/nss/nss-config.xml b/abs/extra/nss/nss-config.xml new file mode 100644 index 0000000..f9518c9 --- /dev/null +++ b/abs/extra/nss/nss-config.xml @@ -0,0 +1,132 @@ +<?xml version='1.0' encoding='utf-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY date SYSTEM "date.xml"> +<!ENTITY version SYSTEM "version.xml"> +]> + +<refentry id="nss-config"> + + <refentryinfo> + <date>&date;</date> + <title>Network Security Services</title> + <productname>nss</productname> + <productnumber>&version;</productnumber> + </refentryinfo> + + <refmeta> + <refentrytitle>nss-config</refentrytitle> + <manvolnum>1</manvolnum> + </refmeta> + + <refnamediv> + <refname>nss-config</refname> + <refpurpose>Return meta information about nss libraries</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <cmdsynopsis> + <command>nss-config</command> + <arg><option>--prefix</option></arg> + <arg><option>--exec-prefix</option></arg> + <arg><option>--includedir</option></arg> + <arg><option>--libs</option></arg> + <arg><option>--cflags</option></arg> + <arg><option>--libdir</option></arg> + <arg><option>--version</option></arg> + </cmdsynopsis> + </refsynopsisdiv> + +<refsection id="description"> + <title>Description</title> + + <para><command>nss-config</command> is a shell scrip + tool which can be used to obtain gcc options for building client pacakges of nspt. </para> + + </refsection> + + <refsection> + <title>Options</title> + + <variablelist> + <varlistentry> + <term><option>--prefix</option></term> + <listitem><simpara>Returns the top level system directory under which the nss libraries are installed.</simpara></listitem> + </varlistentry> + + <varlistentry> + <term><option>--exec-prefix</option></term> + <listitem><simpara>returns the top level system directory under which any nss binaries would be installed.</simpara></listitem> + </varlistentry> + + <varlistentry> + <term><option>--includedir</option> <replaceable>count</replaceable></term> + <listitem><simpara>returns the path to the directory were the nss libraries are installed.</simpara></listitem> + </varlistentry> + + <varlistentry> + <term><option>--version</option></term> + <listitem><simpara>returns the upstream version of nss in the form major_version-minor_version-patch_version.</simpara></listitem> + </varlistentry> + + <varlistentry> + <term><option>--libs</option></term> + <listitem><simpara>returns the compiler linking flags.</simpara></listitem> + </varlistentry> + + <varlistentry> + <term><option>--cflags</option></term> + <listitem><simpara>returns the compiler include flags.</simpara></listitem> + </varlistentry> + + <varlistentry> + <term><option>--libdir</option></term> + <listitem><simpara>returns the path to the directory were the nss libraries are installed.</simpara></listitem> + </varlistentry> + + </variablelist> + </refsection> + + <refsection> + <title>Examples</title> + + <para>The following example will query for both include path and linkage flags: + + <programlisting> + /usr/bin/nss-config --cflags --libs + </programlisting> + + </para> + + + </refsection> + + <refsection> + <title>Files</title> + + <para><filename>/usr/bin/nss-config</filename></para> + + </refsection> + + <refsection> + <title>See also</title> + <para>pkg-config(1)</para> + </refsection> + + <refsection id="authors"> + <title>Authors</title> + <para>The nss liraries were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google.</para> + <para> + Authors: Elio Maldonado <emaldona@redhat.com>. + </para> + </refsection> + +<!-- don't change --> + <refsection id="license"> + <title>LICENSE</title> + <para>Licensed under the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + </para> + </refsection> + +</refentry> + diff --git a/abs/extra/nss/nss.install b/abs/extra/nss/nss.install deleted file mode 100644 index 24f9ec6..0000000 --- a/abs/extra/nss/nss.install +++ /dev/null @@ -1,13 +0,0 @@ -post_upgrade() { - if (($(vercmp $2 3.18-3) < 0)); then - # This symlink was created by ldconfig because we linked to - # pkcs11/p11-kit-trust.so from libnssckbi.so; the chain was: - # p11-kit-trust.so -> libnssckbi.so -> pkcs11/p11-kit-trust.so - # Now we have: - # libnssckbi.so -> libnssckbi-p11-kit.so - # which no longer creates an incorrect p11-kit-trust.so symlink - if [[ $(readlink usr/lib/p11-kit-trust.so) == libnssckbi.so ]]; then - rm usr/lib/p11-kit-trust.so - fi - fi -} diff --git a/abs/extra/nss/nss.pc.in b/abs/extra/nss/nss.pc.in index d47b9e1..42cca9f 100644 --- a/abs/extra/nss/nss.pc.in +++ b/abs/extra/nss/nss.pc.in @@ -7,5 +7,5 @@ Name: NSS Description: Network Security Services Version: %NSS_VERSION% Requires: nspr >= %NSPR_VERSION% -Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3 +Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3 Cflags: -I${includedir} diff --git a/abs/extra/nvidia-settings/PKGBUILD b/abs/extra/nvidia-settings/PKGBUILD index 5fd0ac9..87fad7e 100644 --- a/abs/extra/nvidia-settings/PKGBUILD +++ b/abs/extra/nvidia-settings/PKGBUILD @@ -3,18 +3,18 @@ pkgbase=nvidia-settings pkgname=('nvidia-settings' 'libxnvctrl') -pkgver=378.13 +pkgver=387.22 pkgrel=1 pkgdesc="Tool for configuring the NVIDIA graphics driver" -arch=('i686' 'x86_64') -url="https://github.com/NVIDIA/nvidia-settings" +url='https://github.com/NVIDIA/nvidia-settings' +arch=('x86_64') license=('GPL2') makedepends=('git' 'inetutils' 'gtk2' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxext') options=('staticlibs') -source=(ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${pkgver}.tar.bz2 +source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/${pkgver}.tar.gz libxnvctrl_so.patch) -sha512sums=('a12352c92fd4f56002bda2b07e8cddd5573af98521ec3495cd428b784eb368c9f2cb40f9b4372400ba1ea67c9349c6a9b4f7c218ede2d0d5dabb08325eda9844' - 'ed4b609de9691fbb4421eea340399331e7a5c5f47b9de8eade40ca8f78ac39a6f76cc106928cd0d79825f248a3a0eb563a10f68b7b6991cf3e28db0dde2a0f8d') +sha512sums=('dae157a54d0e48e94776db95927d27fca0370c7ffa67d79ce6fa372ce40bd766c081a65cd090a532c311a8f727beca6d0d9fcd526dc7791b2c73d4193854439b' + 'f69f5dc84fe624579a3c9ce877f4ae4e34c2184877576afbea07b8abdd7ff01e470517f2b77cd11a904518cbcb83fb388ca1d08888006f0ef2854723920c9cf8') prepare() { export PREFIX=/usr diff --git a/abs/extra/nvidia-settings/libxnvctrl_so.patch b/abs/extra/nvidia-settings/libxnvctrl_so.patch index 78cebea..724064e 100644 --- a/abs/extra/nvidia-settings/libxnvctrl_so.patch +++ b/abs/extra/nvidia-settings/libxnvctrl_so.patch @@ -24,7 +24,7 @@ + -rdynamic -o $@ $(OBJS) $(XNVCTRL_LIB) $(LIBS) $(eval $(call DEBUG_INFO_RULES, $(GTK2LIB))) - $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(VERSION_MK) + $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK) $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ - $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK2_LIBS) \ + $(XNVCTRL_LIB) $(LIBS) $(GTK2_LIBS) \ diff --git a/abs/extra/plex-media-server/PKGBUILD b/abs/extra/plex-media-server/PKGBUILD index 52425c2..23fc75e 100644 --- a/abs/extra/plex-media-server/PKGBUILD +++ b/abs/extra/plex-media-server/PKGBUILD @@ -7,16 +7,14 @@ # Contributor: Praekon <praekon@googlemail.com> pkgname=plex-media-server -pkgver=1.5.5.3634 -_pkgsum=995f1dead -pkgrel=2 +pkgver=1.9.7.4460 +_pkgsum=a39b25852 +pkgrel=1 pkgdesc='Plex Media Server' -arch=('armv7h' 'i686' 'x86_64') +arch=('x86_64') url='https://plex.tv/' license=('custom') depends=('systemd') -makedepends_i686=('prelink') -makedepends_x86_64=('prelink') provides=('plex-media-server') conflicts=('plex-media-server-plexpass') backup=('etc/conf.d/plexmediaserver') @@ -26,20 +24,8 @@ source=('plexmediaserver.conf.d' 'plex.sysusers' 'plexmediascanner.sh' 'terms.txt') -source_armv7h=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/PlexMediaServer-${pkgver}-${_pkgsum}-arm7.spk") -source_i686=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.i386.rpm") source_x86_64=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.x86_64.rpm") -prepare() { - -case "$CARCH" in - arm*) mkdir -p usr/lib/plexmediaserver && tar -zxf package.tgz -C usr/lib/plexmediaserver/;; - #Fix for SELinux and Grsecurity - *) execstack -c usr/lib/plexmediaserver/libgnsdk_dsp.so*;; -esac - -} - package() { install -dm 755 "${pkgdir}"/{opt,etc/conf.d,usr/lib/systemd/system} cp -dr --no-preserve='ownership' usr/lib/plexmediaserver "${pkgdir}"/opt/ @@ -58,7 +44,5 @@ md5sums=('dfd6778f5c0d3d64c2c3a71dca02b7cc' '3f39ee0e8b1ebb1c7ca714f67fa88641' '97241861f2c0b7c82d1945a6c5de8e35' '506ec15815bba749a743780edd2323c8' - 'bd703bc750b989a27edd590eb8c8e9d7') -md5sums_armv7h=('ecddf56daadc88b2f985ea73c837cd1b') -md5sums_i686=('154e67a62134d735e91842e78d087871') -md5sums_x86_64=('47d2026555372b7fa0508ce615e512a6') + 'af6d0a81c7821b2eddb1bc137310ca1b') +md5sums_x86_64=('19b81df06592416bcc9e90d536156e10') diff --git a/abs/extra/plex-media-server/terms.txt b/abs/extra/plex-media-server/terms.txt index afe675f..676d3f4 100644 --- a/abs/extra/plex-media-server/terms.txt +++ b/abs/extra/plex-media-server/terms.txt @@ -1,109 +1,514 @@ -Plex Terms of Service -Last modified December 21st, 2013 + Plex Terms of Service -Thank you for using Plex! By accessing, using, downloading, or visiting any Plex “Service(s)”, which includes the Plex website, Plex software and products described here, and any other products or materials provided by Plex, you agree to the terms (“Terms”) listed in this agreement (“Agreement”). Plex reserves the right to amend these Terms at any time and without notice. Any revisions to the Terms will be posted on the Plex website. By continuing to access or use the Services, you accept any changes or revisions to the Terms. + Revised July 10, 2015 -Plex Software + Thank you for using Plex! By accessing, using, downloading, or visiting + any Plex “Service(s)”, which includes the Plex website, Plex software and + products described here, and any other products or materials provided by + Plex GmbH, a Swiss company, and its affiliates (together, “Plex”), you + agree to the terms (“Terms”) listed in this agreement (“Agreement”). Plex + reserves the right to amend these Terms at any time and without notice. + Any revisions to the Terms will be posted on the Plex website. By + continuing to access or use the Services, you accept any changes or + revisions to the Terms. - Plex gives you a personal, non-commercial, worldwide, royalty-free, revocable, non-transferable, non-sublicensable, and non-exclusive license to use the software provided to you by Plex as part of the Services (“Software”). This license is for the sole purpose of enabling you to use and enjoy the benefit of the Services in the manner permitted by these Terms. - The Software includes certain executable modules that Plex has licensed from third party providers (“Third Party Components”) that may be subject to different end user license terms as specified in the license agreement(s) provided with such Third Party Components. - You may not, or allow anyone else to, directly or indirectly to: (1) copy, modify, distribute, sell, or lease any part of the Software; (2) reverse engineer, disassemble, decompile, or otherwise attempt to discover the source code or structure, sequence, and/or organization of all or any part of the Software, unless laws prohibit those restrictions or you have our written permission; (3) rent, lease, or use the Software for timesharing or service bureau purposes; (4) develop any improvement, modification, or derivative works of the Software, or include any portion thereof in any other product, software, work, equipment, or item (except that you may customize and/or modify the Software only as set forth in the documentation or as authorized in any license agreement of Plex’s third party licensors and applicable to Third Party Components); or (5) allow the transfer, transmission, export, or re-export of the Software or any portion thereof or any technical data associated with any Software. - You shall not incorporate any of Plex’s Software or any part thereof into any other product(s) or use the proprietary software in any manner that would cause the proprietary software to become subject to any “open source license” that would impose obligations on Plex’s use of the proprietary software or impair any rights of Plex or third parties thereto. - You shall maintain and shall not remove nor obscure any proprietary notices on the Software, and shall reproduce such notices exactly on all permitted copies of the Software. - You may reverse engineer the Software solely (1) as permitted by applicable law, or (2) for the purpose of debugging modifications made by you to certain third party files in source code format that are licensed under the GNU Lesser General Public License (LGPL) or under the GNU General Public License diversion 2 (GPL2) and only provided that you have made, prior to any such reverse engineering permitted under this sentence, unsuccessful prior reasonable good faith efforts to debug such modifications using techniques other than the reverse engineering of the Software. - As between the parties and except as otherwise provided in any license agreement for Third Party Components, Plex shall own all title, ownership rights, and intellectual property rights in and to the Software, and any copies or derivative works thereof, except that by downloading the Software, you retain any title that you may own in and to the recording media on which the Software is recorded. - You understand that Plex or its licensors may modify or discontinue offering the Services at any time. - You shall not make, or assist others in making, any use of data adapters or similar technologies used by or with the Services that are designed to receive and use data from Plex, its third party data providers, and their affiliates and third parties, other than to receive and use such data in accordance with these Terms and your agreement with the third party data providers, and their affiliates and third parties, including without limitation any data passing through the Services or otherwise effectively made available by any Service through an API, a download, a database, or the like. - This Agreement does not entitle you to any support, upgrades, patches, enhancements, or fixes (collectively, "Support") for the Services. Any such Support for the Services that may be made available by Plex, in its sole discretion, shall become part of the Services and will be subject to these Terms. + Plex Software -Data + 1. Plex grants you a personal, non-commercial, worldwide, royalty-free, + revocable, non-transferable, non-sublicensable, and non-exclusive + license to use the software provided to you by Plex as part of the + Services (“Software”). This license is for the sole purpose of + enabling you to use and enjoy the benefit of the Services in the + manner permitted by these Terms. + 2. The Software includes certain executable modules that Plex has + licensed from third party providers (“Third Party Components”) that + may be subject to different end user license terms as specified in the + license agreement(s) provided with such Third Party Components. + 3. Except as provided in the next section, you may not, or allow anyone + else to, directly or indirectly to: (1) copy, modify, distribute, + sell, or lease any part of the Software; (2) reverse engineer, + disassemble, decompile, or otherwise attempt to discover the source + code or structure, sequence, and/or organization of all or any part of + the Software, unless laws prohibit those restrictions or you have our + written permission; (3) rent, lease, or use the Software for + timesharing or service bureau purposes; (4) develop any improvement, + modification, or derivative works of the Software, or include any + portion thereof in any other product, software, work, equipment, or + item (except that you may customize and/or modify the Software only as + set forth in the documentation or as authorized in any license + agreement of Plex’s third party licensors and applicable to Third + Party Components); or (5) allow the transfer, transmission, export, or + re-export of the Software or any portion thereof or any technical data + associated with any Software. + 4. Plex grants you a personal, non-commercial, worldwide, royalty-free, + revocable, non-transferable, non-sublicensable, and non-exclusive + license to reproduce the Plex Media Server Software (PMS Software) in + copies and distribute the copies to others, provided that: you may not + charge a fee for the PMS Software, and you may not individually charge + for installing it; you may copy, distribute and install the PMS + Software only as others actually need the PMS Software, and not more + than five (5) times per calendar day or more than twenty-five (25) + times per calendar month; you may not offer the PMS Software to the + public for downloading on or in connection with any commercial online + site, whether or not a fee is charged for the PMS Software; you shall + comply with all other terms and conditions set forth in this document; + you agree that Plex may revoke or terminate the license granted to you + under this paragraph at any time for any reason in its sole + discretion. As an example, this section is intended to permit + reasonable copying and distribution of the PMS Software in connection + with services such as home theater or home media center installation + in which you install the PMS Software on the computers of your + customers as a convenience in connection with other services or + products that you are providing to them, and/or in Arch Linux + repositories and similar distributions. + 5. You shall maintain and shall not remove nor obscure any proprietary + notices on the Software, and shall reproduce such notices exactly on + all permitted copies of the Software. + 6. You may reverse engineer the Software solely (1) as permitted by + applicable law, or (2) for the purpose of debugging modifications made + by you to certain third party files in source code format that are + licensed under the GNU Lesser General Public License (LGPL) or under + the GNU General Public License version 2 (GPL2) and only provided that + you have made, prior to any such reverse engineering permitted under + this sentence, unsuccessful prior reasonable good faith efforts to + debug such modifications using techniques other than the reverse + engineering of the Software. + 7. As between the parties and except as otherwise provided in any license + agreement for Third Party Components, Plex shall own all title, + ownership rights, and intellectual property rights in and to the + Software, and any copies or derivative works thereof, except that by + downloading the Software, you retain any title that you may own in and + to the recording media on which the Software is recorded. + 8. You understand that Plex or its licensors may modify or discontinue + offering the Services at any time. + 9. You shall not make, or assist others in making, any use of data + adapters or similar technologies used by or with the Services that are + designed to receive and use data from Plex, its third party data + providers, and their affiliates and third parties, other than to + receive and use such data in accordance with these Terms and your + agreement with the third party data providers, and their affiliates + and third parties, including without limitation any data passing + through the Services or otherwise effectively made available by any + Service through an API, a download, a database, or the like. + 10. This Agreement does not entitle you to any support, upgrades, patches, + enhancements, or fixes (collectively, “Support”) for the Services. Any + such Support for the Services that may be made available by Plex, in + its sole discretion, shall become part of the Services and will be + subject to these Terms. -Data provided by Plex or other third party data providers may be delayed or unavailable as specified by Plex or such third party data providers. Plex does not verify any data provided by Plex or other third party data providers and disclaims any obligation to do so. Plex, its third party data providers, and each of their affiliates and business partners: (1) expressly disclaim the availability, accuracy, adequacy, or completeness of any data or third party data provider, and (2) shall not be liable for any errors, omissions, or other defects in, unavailability of, delays or interruptions in such data or third party data provider. + Data -Acceptable Use + Data provided by Plex or other third party data providers may be delayed + or unavailable as specified by Plex or such third party data providers. + Plex does not verify any data provided by Plex or other third party data + providers and disclaims any obligation to do so. Plex, its third party + data providers, and each of their affiliates and business partners: (1) + expressly disclaim the availability, accuracy, adequacy, or completeness + of any data or third party data provider, and (2) shall not be liable for + any errors, omissions, or other defects in, unavailability of, delays or + interruptions in such data or third party data provider. - You may not, or allow anyone else to, use any of the Services to do the following: - Infringe the intellectual property rights, proprietary rights, or rights of publicity or privacy of any third party; - Violate any law, statute, ordinance, or regulation, or perform any other action that would incur civil liability or constitute a crime; - Disseminate, transfer or store information or materials in any form or format that is harmful, threatening, abusive, harassing, tortuous, defamatory, vulgar, obscene, libelous, or otherwise objectionable, or that otherwise violate any law or right of any third party; or - Disseminate any software viruses or any other computer code, files, programs, or the like that may without limitation interrupt, destroy, or limit the functionality of any computer software or hardware or telecommunications equipment, violate the security of any computer network, or the like. - If the occurrence of any prohibited use comes to our attention, we reserve the right to disable any accounts associated with prohibited use or otherwise terminate your access to the Services. + Acceptable Use -Your Content + 1. You may not, or allow anyone else to, use any of the Services to do + the following: + 1. Infringe the intellectual property rights, proprietary rights, or + rights of publicity or privacy of any third party; + 2. Violate any law, statute, ordinance, or regulation, or perform + any other action that would incur civil liability or constitute a + crime; + 3. Disseminate, transfer or store information or materials in any + form or format that is harmful, threatening, abusive, harassing, + tortuous, defamatory, vulgar, obscene, libelous, or otherwise + objectionable, or that otherwise violate any law or right of any + third party; or + 4. Disseminate any software viruses or any other computer code, + files, programs, or the like that may without limitation + interrupt, destroy, or limit the functionality of any computer + software or hardware or telecommunications equipment, violate the + security of any computer network, or the like. + 2. If the occurrence of any prohibited use comes to our attention, we + reserve the right to disable any accounts associated with prohibited + use or otherwise terminate your access to the Services. - You continue to retain any ownership rights you have in content you make available via the Services, or otherwise use in conjunction with the Services. However, by using the Services with particular content, for example by using the Services to share particular content or access particular content, you grant to Plex (and to each of the third parties with whom we work to provide you with the Services) a worldwide license to reproduce, modify, create derivative works, transmit, publish, publicly perform, publicly display, distribute, and otherwise use the particular content and metadata associated with the content, such as poster images. The rights you grant us in this license are only for the limited purpose of providing you with our Services. You may not use the Services in connection with any content for which you do not have the right to grant us this license. - The Services may include features that allow you to share your content with others. Please be careful when choosing to share content with other users; Plex is not responsible for how others use your content. Additionally, you hereby grant to any user with whom you share content a non-exclusive license to access the content through the Service, and to use, reproduce in copies, distribute, display and perform the shared content as permitted through the functionality of the Service and under this Agreement. You may not share any content with others via the Services if you do not have the right to grant this license to any user with whom you share the content. - You understand that all content imported, published, shared, transmitted, or otherwise made available via the Services is the sole responsibility of the person from whom such content originated, and that you, and not Plex, are solely responsible for any civil or criminal legal liability that may arise or result from any content that you import, publish, share, transmit, or otherwise make available through your use of the Services. + Your Content -Content of Others + 1. You continue to retain any ownership rights you have in content you + make available via the Services, or otherwise use in conjunction with + the Services. However, by using the Services with particular content, + for example by using the Services to share particular content or + access particular content, you grant to Plex (and to each of the third + parties with whom we work to provide you with the Services) a + worldwide license to reproduce, modify, create derivative works, + transmit, publish, publicly perform, publicly display, distribute, and + otherwise use the particular content and metadata associated with the + content, such as images of you or images otherwise associated with + your account. The rights you grant us in this license are only for the + limited purpose of providing you with our Services. You may not use + the Services in connection with any content for which you do not have + the right to grant us this license. + 2. The Services may include features that allow you to share your content + with others. Please be careful when choosing to share content with + other users; Plex is not responsible for how others use your content. + Additionally, you hereby grant to any user with whom you share content + a non-exclusive license to access the content through the Service, and + to use, reproduce in copies, distribute, display and perform the + shared content as permitted through the functionality of the Service + and under this Agreement. You may not share any content with others + via the Services if you do not have the right to grant this license to + any user with whom you share the content. + 3. You understand that Plex may delete any content that you post in or + contribute to a message forum or similar service that Plex hosts, in + its sole discretion, for any reason. - You acknowledge that all content that you access through use of the Software or other Services is accessed at your own risk, and you will be solely responsible for any damage or liability to any party resulting from such access. - You understand that by using the Services you may encounter content that you may find offensive, indecent, or objectionable. Plex does not inspect, screen, or otherwise control the content that is posted, shared or made available via the Services, and Plex does not guarantee the accuracy, integrity or quality of such content. - You acknowledge that unauthorized use of copyrighted content of others may subject you to civil and criminal penalties, including possible monetary damages, for copyright infringement. + Content of Others -Developers and Interfacing Software + 1. You acknowledge that all content that you access through use of the + Software or other Services is accessed at your own risk, and you will + be solely responsible for any damage or liability to any party + resulting from such access. + 2. You understand that by using the Services you may encounter content + that you may find offensive, indecent, or objectionable. Plex does not + inspect, screen, or otherwise control the content that is posted, + shared or made available via the Services, and Plex does not guarantee + the accuracy, integrity or quality of such content. + 3. You acknowledge that unauthorized use of copyrighted content of others + may subject you to civil and criminal penalties, including possible + monetary damages, for copyright infringement. - "Interfacing Software" means any software that you obtain or provide and that accesses or calls any Software provided by Plex as part of the Services including, but not limited to, plug-ins for the Services, channel plug-ins, metadata agents, and client applications that communicate directly or indirectly with the Services. - By making, or assisting others in making, Interfacing Software, you agree to the following terms: - You grant Plex and its affiliates worldwide a worldwide, non-exclusive, and royalty-free right and license to use (including testing, hosting and linking to), copy, publicly perform, publicly display, reproduce in copies for distribution, and distribute the copies of any Interfacing Software made by you or with your assistance. - You may notify us at legal@plex.tv if you do not wish for Plex to use, distribute, copy, publicly perform, publicly display, reproduce in copies for distribution, or distribute copies of any Interfacing Software that was created by you. Plex will comply with such a request but Plex must be granted a transition period of thirty (30) days after receipt of the request to comply. A request to take down Interfacing Software must include (1) an identification of the Interfacing Software you wish to be removed; (2) your signature in either electronic or physical form; and (3) the following statements: - "I swear under penalty of perjury that I am the owner of the Interfacing Software or I am authorized to act on behalf of the owner of the Interfacing Software.” - "I swear under penalty of perjury that the information in this notification is accurate.” - You shall protect the privacy and legal rights of Plex users. If the users provide, or the Interfacing Software accesses or uses, user names, passwords, or other login information or personal information, you must make the users aware that such information will be available to the Interfacing Software, and you must provide privacy notices and protection for those users in compliance with applicable law. Further, the Interfacing Software may use that information only for the limited purposes for which the user has given you permission to do so. If the Interfacing Software stores personally identifying information of users or information that a reasonable user would consider to be sensitive, then the Interfacing Software must do so securely and only for as long as it is needed. However, if the user has opted or entered into a separate agreement with you that allows you or the Interfacing Software to store or use personally identifying information of users or information that a reasonable user would consider to be sensitive, then the terms of that separate agreement will govern your use of such information. If the user provides the Interfacing Software with Plex account information, the Interfacing Software may only use that information to access the user’s Plex account when, and for the limited purposes for which, the user has given you permission to do so. - Prohibited Uses. Plex prohibits performing certain actions using the Interfacing Software. You shall not make, or assist others in making, any Interfacing Software that: - Knowingly violates a third party’s terms of service; - Violates any applicable laws or regulations; - Interferes with, disrupts, damages, harms, or accesses in an unauthorized manner the machines, hardware. devices, servers, networks, data, or other properties or services of any other party including, but not limited to, Plex users, Plex or any network operator; - Posts misleading information about an application’s purpose; - Infringes on the intellectual property rights of others; or - Performs any other prohibited action listed under “Acceptable Use” above. - You will require your end users to comply with any applicable law and these Terms. You will not knowingly enable your end users to violate applicable law or these Terms. - You shall indemnify and hold harmless Plex and its officers, directors, employees, contractors, licensors, suppliers, distributors, contractors, agents, and third party contributors from any claims, damages, liabilities, costs and fees (including reasonable attorney fees) arising from any use of the Interfacing Software or from Plex’s distribution of the Interfacing Software. - Brand Features and Attribution - "Brand Features" is defined as the trade names, trademarks, service marks, logos, domain names, and other distinctive brand features of a party. Except where expressly stated, these terms do not grant either party any right, title, or interest in or to the other party's Brand Features. Any use by you of Plex’s Brand Features (including any goodwill associated therewith) will inure to the benefit of Plex. Plex Brand Features include the Plex Play Logo (“>” in stylized format) and the trademarks, trade names and designs as may be identified from time to time in the Plex Trademark Notice that is posted at plex.tv/legal. - You must seek prior written approval from Plex to display Plex's Brand Features, including for the purpose of promoting or advertising that your Interfacing Software is for use in conjunction with Plex Services. Plex, in its sole discretion and in a separate writing such as an e-mail from an authorized representative of Plex, may grant you a revocable, non-transferable, nonexclusive license, without right of sub-license, to display Plex's Brand Features for the purpose of promoting or advertising that your Interfacing Software is for use in conjunction with Plex Services. You understand and agree that Plex has the sole discretion to determine whether your attribution(s) and use of Plex's Brand Features are in accordance with the above requirements and guidelines and that Plex may revoke the license granted herein at any time, or may require you to modify your use of Plex’s Brand Features, for any reason in its sole discretion. - You will not make any statement that suggests a partnership with, sponsorship by, or endorsement by Plex, without Plex's express prior written approval. - In the course of promoting, marketing, or demonstrating the Services, Plex may produce and distribute incidental depictions, including screenshots, video, or other content from your Interfacing Software, and may use your company or product name. You grant us all necessary rights for the above purposes. + Developers and Interfacing Software -Children + 1. “Interfacing Software” means any software that you obtain or provide + and that accesses or calls any Software provided by Plex as part of + the Services including, but not limited to, plug-ins for the Services, + channel plug-ins, metadata agents, and client applications that + communicate directly or indirectly with the Services. + 2. By making, or assisting others in making, Interfacing Software, you + agree to the following terms: + 1. You grant Plex and its affiliates worldwide a worldwide, + non-exclusive, and royalty-free right and license to use + (including testing, hosting and linking to), copy, publicly + perform, publicly display, reproduce in copies for distribution, + and distribute the copies of any Interfacing Software made by you + or with your assistance. + 2. You will include in the source code of the Interfacing Software a + copyright notice of the form: Copyright © <year> <copyright + holders>. You grant, and authorize Plex to grant on your behalf + if necessary, a license, free of charge, to any person obtaining + a copy of the Interfacing Software and associated documentation + files from Plex, to deal in the Interfacing Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Interfacing Software, and to permit persons to whom + the Interfacing 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 Interfacing Software. THE INTERFACING SOFTWARE IS + PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE INTERFACING SOFTWARE. + 3. You may notify us if you do not wish for Plex to use, distribute, + copy, publicly perform, publicly display, reproduce in copies for + distribution, or distribute copies of any Interfacing Software + that was created by you. Plex will comply with such a request but + Plex must be granted a transition period of thirty (30) days + after receipt of the request to comply. + A request to take down Interfacing Software must include (1) an + identification of the Interfacing Software you wish to be + removed; (2) your signature in either electronic or physical + form; and (3) the following statements: + * “I swear under penalty of perjury that I am the owner of the + Interfacing Software or I am authorized to act on behalf of + the owner of the Interfacing Software.” + * “I swear under penalty of perjury that the information in + this notification is accurate.” + 4. You shall protect the privacy and legal rights of Plex users. If + the users provide, or the Interfacing Software accesses or uses, + user names, passwords, or other login information or personal + information, you must make the users aware that such information + will be available to the Interfacing Software, and you must + provide privacy notices and protection for those users in + compliance with applicable law. Further, the Interfacing Software + may use that information only for the limited purposes for which + the user has given you permission to do so. If the Interfacing + Software stores personally identifying information of users or + information that a reasonable user would consider to be + sensitive, then the Interfacing Software must do so securely and + only for as long as it is needed. However, if the user has opted + or entered into a separate agreement with you that allows you or + the Interfacing Software to store or use personally identifying + information of users or information that a reasonable user would + consider to be sensitive, then the terms of that separate + agreement will govern your use of such information. If the user + provides the Interfacing Software with Plex account information, + the Interfacing Software may only use that information to access + the user’s Plex account when, and for the limited purposes for + which, the user has given you permission to do so. + 5. Prohibited Uses. Plex prohibits performing certain actions using + the Interfacing Software. You shall not make, or assist others in + making, any Interfacing Software that: + 1. Knowingly violates a third party’s terms of service; + 2. Violates any applicable laws or regulations; + 3. Interferes with, disrupts, damages, harms, or accesses in an + unauthorized manner the machines, hardware. devices, + servers, networks, data, or other properties or services of + any other party including, but not limited to, Plex users, + Plex or any network operator; + 4. Posts misleading information about an application’s purpose; + 5. Infringes on the intellectual property rights of others; or + 6. Performs any other prohibited action listed under + “Acceptable Use” above. + 6. You will require your end users to comply with any applicable law + and these Terms. You will not knowingly enable your end users to + violate applicable law or these Terms. + 7. You shall indemnify and hold harmless Plex and its officers, + directors, employees, contractors, licensors, suppliers, + distributors, contractors, agents, and third party contributors + from any claims, damages, liabilities, costs and fees (including + reasonable attorney fees) arising from any use of the Interfacing + Software or from Plex’s distribution of the Interfacing Software. + 8. Brand Features and Attribution + 1. “Brand Features” is defined as the trade names, trademarks, + service marks, logos, domain names, and other distinctive + brand features of a party. Except where expressly stated, + these terms do not grant either party any right, title, or + interest in or to the other party’s Brand Features. Any use + by you of Plex’s Brand Features (including any goodwill + associated therewith) will inure to the benefit of Plex. + Plex Brand Features include the Plex Play Logo (“>” in + stylized format) and the trademarks, trade names and designs + as may be identified from time to time in the Plex Trademark + Notice that is posted at + https://www.plex.tv/about/privacy-legal/. + 2. You must seek prior written approval from Plex to display + Plex’s Brand Features, including for the purpose of + promoting or advertising that your Interfacing Software is + for use in conjunction with Plex Services. Plex, in its sole + discretion and in a separate writing such as an e-mail from + an authorized representative of Plex, may grant you a + revocable, non-transferable, nonexclusive license, without + right of sub-license, to display Plex’s Brand Features for + the purpose of promoting or advertising that your + Interfacing Software is for use in conjunction with Plex + Services. You understand and agree that Plex has the sole + discretion to determine whether your attribution(s) and use + of Plex’s Brand Features are in accordance with the above + requirements and guidelines and that Plex may revoke the + license granted herein at any time, or may require you to + modify your use of Plex’s Brand Features, for any reason in + its sole discretion. + 3. You will not make any statement that suggests a partnership + with, sponsorship by, or endorsement by Plex, without Plex’s + express prior written approval. + 4. In the course of promoting, marketing, or demonstrating the + Services, Plex may produce and distribute incidental + depictions, including screenshots, video, or other content + from your Interfacing Software, and may use your company or + product name. You grant us all necessary rights for the + above purposes. -While Plex does distribute products that may be used by children, the Services are not intended to be used by children, without involvement, supervision, and approval of a parent or legal guardian. Therefore, if an account owner sets parental controls or establishes sub-accounts that the account owner intends to permit a child to use, the account owner should not reveal the account password to the child. Plex and its contributors may not provide controls that restrict the maturity level of content available via Plex and an adult account owner has sole responsibility for determining what maturity level is appropriate for or accessible to any children whom the account owner permits to use the Plex service or a sub-account. + Children -NO WARRANTY + While Plex does distribute products that may be used by children, the + Services are not intended to be used by children, without involvement, + supervision, and approval of a parent or legal guardian. Therefore, if an + account owner sets parental controls or establishes sub-accounts that the + account owner intends to permit a child to use, the account owner should + not reveal the account password to the child. Plex and its contributors + may not provide controls that restrict the maturity level of content + available via Plex and an adult account owner has sole responsibility for + determining what maturity level is appropriate for or accessible to any + children whom the account owner permits to use the Plex service or a + sub-account. - PLEX SERVICES ARE PROVIDED "AS IS". PLEX MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND PLEX EXPRESSLY DISCLAIMS ALL WARRANTIES WITH RESPECT TO THE PLEX SERVICES, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. FURTHER, PLEX DOES NOT WARRANT AGAINST ERRORS, OMISSIONS, RESULTS OF USE, OR THAT PLEX SERVICES ARE BUG FREE OR ERROR FREE OR THAT USE WILL BE UNINTERRUPTED. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THE AGREEMENT. ALL THE FOREGOING DISCLAIMERS ALSO APPLY IN FULL WITH RESPECT TO PLEX'S LICENSORS, SUPPLIERS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU. - You agree that Plex and its officers, directors, employees, and contractors are not responsible for any fault, inaccuracy, error, omission, delay or any other failure of your equipment and/or services caused by Plex’s hardware, software, cabling, network services, or the like, or arising from Plex’s use of such equipment and/or services. - The above disclaimer of warranty applies to software developed by Plex and any software developed by a third party and provided by Plex including, but not limited to, Interfacing Software developed by any Plex user. + NO WARRANTY -Limitation of Liability and Damages + 1. PLEX SERVICES ARE PROVIDED “AS IS”. PLEX MAKES NO WARRANTY OF ANY + KIND, EXPRESS OR IMPLIED, AND PLEX EXPRESSLY DISCLAIMS ALL WARRANTIES + WITH RESPECT TO THE PLEX SERVICES, INCLUDING WITHOUT LIMITATION, ANY + IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. FURTHER, PLEX DOES NOT WARRANT AGAINST + ERRORS, OMISSIONS, RESULTS OF USE, OR THAT PLEX SERVICES ARE BUG FREE + OR ERROR FREE OR THAT USE WILL BE UNINTERRUPTED. THIS DISCLAIMER OF + WARRANTY CONSTITUTES AN ESSENTIAL PART OF THE AGREEMENT. ALL THE + FOREGOING DISCLAIMERS ALSO APPLY IN FULL WITH RESPECT TO PLEX’S + LICENSORS, SUPPLIERS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD + PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED + WARRANTIES, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU. + 2. You agree that Plex and its officers, directors, employees, and + contractors are not responsible for any fault, inaccuracy, error, + omission, delay or any other failure of your equipment and/or services + caused by Plex’s hardware, software, cabling, network services, or the + like, or arising from Plex’s use of such equipment and/or services. + 3. The above disclaimer of warranty applies to software developed by Plex + and any software developed by a third party and provided by Plex + including, but not limited to, Interfacing Software developed by any + Plex user. - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, INCLUDING, BUT NOT LIMITED TO, TORT, CONTRACT, NEGLIGENCE, STRICT LIABILITY, OR OTHERWISE, SHALL PLEX BE LIABLE TO YOU OR ANY OTHER PERSON OR ENTITY: (I) FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE OR MALFUNCTION, LOSS OF DATA, OR OTHER DAMAGES RESULTING FROM YOUR USE OF THE SOFTWARE; OR (II) FOR ANY MATTER BEYOND ITS REASONABLE CONTROL. PLEX'S AGGREGATE LIABILITY FOR DAMAGES OF ANY KIND WHATSOEVER ARISING OUT OF THIS AGREEMENT SHALL BE LIMITED TO THE LESSER OF THE TOTAL FEES PAID BY YOU TO PLEX (IF ANY) FOR THE PORTION OF THE SOFTWARE THAT GAVE RISE TO SUCH DAMAGES OR $100 (U.S.), EXCEPT WHERE NOT PERMITTED BY APPLICABLE LAW, IN WHICH CASE PLEX'S LIABILITY SHALL BE LIMITED TO THE MINIMUM AMOUNT PERMITTED BY SUCH APPLICABLE LAW. ALL THE FOREGOING LIMITATIONS SHALL APPLY EVEN IF EITHER PARTY HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. ALL THE FOREGOING LIMITATIONS ALSO APPLY WITH RESPECT TO PLEX'S SUPPLIERS, LICENSORS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU. - The above limitations and exclusions apply to software developed by Plex and any software developed by a third party and provided by Plex including, but not limited to, Interfacing Software developed by Plex user. + Limitation of Liability and Damages -Third-Party Materials + 1. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, INCLUDING, BUT NOT + LIMITED TO, TORT, CONTRACT, NEGLIGENCE, STRICT LIABILITY, OR + OTHERWISE, SHALL PLEX BE LIABLE TO YOU OR ANY OTHER PERSON OR ENTITY: + (I) FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF + ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, + LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE + OR MALFUNCTION, LOSS OF DATA, OR OTHER DAMAGES RESULTING FROM YOUR USE + OF THE SOFTWARE; OR (II) FOR ANY MATTER BEYOND ITS REASONABLE CONTROL. + PLEX’S AGGREGATE LIABILITY FOR DAMAGES OF ANY KIND WHATSOEVER ARISING + OUT OF THIS AGREEMENT SHALL BE LIMITED TO THE LESSER OF THE TOTAL FEES + PAID BY YOU TO PLEX (IF ANY) FOR THE PORTION OF THE SOFTWARE THAT GAVE + RISE TO SUCH DAMAGES OR $100 (U.S.), EXCEPT WHERE NOT PERMITTED BY + APPLICABLE LAW, IN WHICH CASE PLEX’S LIABILITY SHALL BE LIMITED TO THE + MINIMUM AMOUNT PERMITTED BY SUCH APPLICABLE LAW. ALL THE FOREGOING + LIMITATIONS SHALL APPLY EVEN IF EITHER PARTY HAS BEEN INFORMED OF THE + POSSIBILITY OF SUCH DAMAGES. ALL THE FOREGOING LIMITATIONS ALSO APPLY + WITH RESPECT TO PLEX’S SUPPLIERS, LICENSORS, DISTRIBUTORS, + CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT + ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL + DAMAGES, SO THE ABOVE LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU. + 2. The above limitations and exclusions apply to software developed by + Plex and any software developed by a third party and provided by Plex + including, but not limited to, Interfacing Software developed by Plex + user. -This website and other Services may provide links to websites, software, or other materials provided by third parties. Plex does not endorse and is not responsible or liable for the availability, accuracy, safety, or intellectual property rights of or relating to such content. Plex is not liable for any harm caused by any such materials. + Third-Party Materials -Malware + This website and other Services may provide links to websites, software, + or other materials provided by third parties. Plex does not endorse and is + not responsible or liable for the availability, accuracy, safety, or + intellectual property rights of or relating to such content. Plex is not + liable for any harm caused by any such materials. -"Malware" means any known, discovered, envisioned, or invented, or any yet to be known, discovered, envisioned, or invented: (i) virus, Trojan horse, or any other harmful, harassing, or malicious software; or (ii) method, use, or means by which any software, firmware, equipment, device, communications medium, person, entity, or the like directly or indirectly engages in or is used for: (a) any unauthorized access; (b) any unauthorized communication; or (c) any cracks, hacks, exploits, or other activity, method, use, or means, that may cause harassment, harm, data loss, data theft, loss of communication, loss of privacy, or the like. You acknowledge that the Internet, Internet service providers, shared or dedicated telecommunication lines, wireless access points and wireless networks, other forms of communication, online resources including websites and cloud computing environments, or other means that you use to connect to the Software may not be secure and may be vulnerable to attack by third parties, and that it is possible to receive Malware by using the Internet, dedicated lines, other forms of communication, or other means. In order to protect the Software, you shall regularly obtain, use, and update appropriate third party software or other means to protect yourself from Malware and to detect and remove Malware that may be downloaded using the Internet, dedicated lines, other forms of communication, or other means. Plex does not warrant that the Software will be free of Malware including, but not limited to, Malware that is introduced by third parties, the Internet, dedicated lines, other forms of communication, or other means. + Malware -Waiver and Indemnity + “Malware” means any known, discovered, envisioned, or invented, or any yet + to be known, discovered, envisioned, or invented: (i) virus, Trojan horse, + or any other harmful, harassing, or malicious software; or (ii) method, + use, or means by which any software, firmware, equipment, device, + communications medium, person, entity, or the like directly or indirectly + engages in or is used for: (a) any unauthorized access; (b) any + unauthorized communication; or (c) any cracks, hacks, exploits, or other + activity, method, use, or means, that may cause harassment, harm, data + loss, data theft, loss of communication, loss of privacy, or the like. You + acknowledge that the Internet, Internet service providers, shared or + dedicated telecommunication lines, wireless access points and wireless + networks, other forms of communication, online resources including + websites and cloud computing environments, or other means that you use to + connect to the Software may not be secure and may be vulnerable to attack + by third parties, and that it is possible to receive Malware by using the + Internet, dedicated lines, other forms of communication, or other means. + In order to protect the Software, you shall regularly obtain, use, and + update appropriate third party software or other means to protect yourself + from Malware and to detect and remove Malware that may be downloaded using + the Internet, dedicated lines, other forms of communication, or other + means. Plex does not warrant that the Software will be free of Malware + including, but not limited to, Malware that is introduced by third + parties, the Internet, dedicated lines, other forms of communication, or + other means. -You agree that Plex and its licensors, distributors, contractors, agents, and third party contributors shall have no liability whatsoever for any use you make of the Services. You shall indemnify and hold harmless Plex and its licensors, suppliers, distributors, contractors, agents, and third party contributors from any claims, damages, liabilities, costs and fees (including reasonable attorney fees) arising from your use of the Plex Services as well as from your failure to comply with any of the Terms, or any losses, damages, claims, costs, and/or attorneys’ fees arising from any use of or reliance upon any information received in connection with the Services that comprises or is based upon data provided by Plex or any third party. + Waiver and Indemnity -Termination of Services + You agree that Plex and its licensors, distributors, contractors, agents, + and third party contributors shall have no liability whatsoever for any + use you make of the Services. You shall indemnify and hold harmless Plex + and its licensors, suppliers, distributors, contractors, agents, and third + party contributors from any claims, damages, liabilities, costs and fees + (including reasonable attorney fees) arising from your use of the Plex + Services as well as from your failure to comply with any of the Terms, or + any losses, damages, claims, costs, and/or attorneys’ fees arising from + any use of or reliance upon any information received in connection with + the Services that comprises or is based upon data provided by Plex or any + third party. -Plex may at any time, with or without cause and with or without prior notice, immediately terminate or suspend your Plex account or otherwise terminate or suspend your access to all or a portion of the Services. Cause for such termination may include: (a) violations of the Terms or any other policies or guidelines that are referenced herein; (b) a request by you to cancel or terminate your account; (c) a request and/or order from law enforcement, a judicial body, or other government agency; (d) where providing the Services to you is or may become unlawful; or (e) unexpected technical or security issues or problems; (f) your participation in fraudulent or illegal activities. Any such termination or suspension shall be made by Plex in its sole discretion and Plex will not be responsible to you or any third party for any damages that may result or arise out of such termination or suspension of your access to the Services. + Termination of Services -Miscellaneous - - This Agreement does not give you any rights not expressly and unambiguously granted herein. - No agency, partnership, joint venture, or employment is created as a result of this Agreement and you do not have any authority of any kind to bind Plex in any respect whatsoever. - If any provision of this Agreement is found to be unenforceable or invalid, that provision shall be limited or eliminated to the minimum extent necessary so that this Agreement shall otherwise remain in full force and effect and enforceable. - This Agreement is not assignable, transferable, or sublicensable by you except with Plex's prior written consent. Plex may transfer, assign, or delegate this Agreement and its rights and obligations without consent. - Plex's failure to enforce any right or provisions in this Agreement will not constitute a waiver of such or any other provision. - This Agreement shall be governed by and construed in accordance with the laws of the state of California, as if made within California between two residents thereof, and the parties submit to the exclusive jurisdiction of the Superior Court of Santa Clara County and the United States District Court for the Northern District of California. Notwithstanding the foregoing sentence, but without limiting Plex's right to seek injunctive or other equitable relief in any court of competent jurisdiction, any disputes arising with respect to this Agreement shall be referred to an arbitrator affiliated with the Judicial Arbitration and Mediation Services, Inc. ("JAMS"). The arbitrator shall be selected by joint agreement of the parties. In the event the parties cannot agree on an arbitrator within thirty (30) days of the initiating party providing the other party with written notice that it plans to seek arbitration, the parties shall each select an arbitrator affiliated with JAMS, which arbitrators shall jointly select a third such arbitrator to resolve the dispute. The written decision of the arbitrator shall be final and binding on the parties. The arbitration proceeding shall be carried on and heard in Santa Clara County, California using the English language and pursuant to the rules of (and administered by) JAMS. In any action or proceeding to enforce rights under this Agreement, the prevailing party will be entitled to recover costs and reasonable attorneys' fees from the other party. A separate written license agreement or order and signed by Plex and you or your company, employer, or principal may state other terms and conditions that apply to you, including terms relating to price, payment, delivery, confidential information, support services, and the like. You are solely responsible to review such terms or conditions with your company, employer or principal. In the event of any conflict in terms, the terms of the separate license agreement shall supersede the terms of this Agreement. - Both parties agree that this Agreement is the complete and exclusive statement of the mutual understanding of the parties and supersedes and cancels all previous written and oral agreements, communications, and other understandings relating to the subject matter of this Agreement. + Plex may at any time, with or without cause and with or without prior + notice, immediately terminate or suspend your Plex account or otherwise + terminate or suspend your access to all or a portion of the Services. + Cause for such termination may include: (a) violations of the Terms or any + other policies or guidelines that are referenced herein; (b) a request by + you to cancel or terminate your account; (c) a request and/or order from + law enforcement, a judicial body, or other government agency; (d) where + providing the Services to you is or may become unlawful; (e) unexpected + technical or security issues or problems; or (f) your participation in + fraudulent or illegal activities. Any such termination or suspension shall + be made by Plex in its sole discretion and Plex will not be responsible to + you or any third party for any damages that may result or arise out of + such termination or suspension of your access to the Services. + Miscellaneous + 1. This Agreement does not give you any rights not expressly and + unambiguously granted herein. + 2. No agency, partnership, joint venture, or employment is created as a + result of this Agreement and you do not have any authority of any kind + to bind Plex in any respect whatsoever. + 3. If any provision of this Agreement is found to be unenforceable or + invalid, that provision shall be limited or eliminated to the minimum + extent necessary so that this Agreement shall otherwise remain in full + force and effect and enforceable. + 4. This Agreement is not assignable, transferable, or sublicensable by + you except with Plex’s prior written consent. Plex may transfer, + assign, or delegate this Agreement and its rights and obligations + without consent. + 5. Plex’s failure to enforce any right or provisions in this Agreement + will not constitute a waiver of such or any other provision. + 6. This Agreement shall be governed by and construed in accordance with + the laws of the state of California, as if made within California + between two residents thereof, and the parties submit to the exclusive + jurisdiction of the Superior Court of Santa Clara County and the + United States District Court for the Northern District of California. + Notwithstanding the foregoing sentence, but without limiting Plex’s + right to seek injunctive or other equitable relief in any court of + competent jurisdiction, any disputes arising with respect to this + Agreement shall be referred to an arbitrator affiliated with the + Judicial Arbitration and Mediation Services, Inc. (“JAMS”). The + arbitrator shall be selected by joint agreement of the parties. In the + event the parties cannot agree on an arbitrator within thirty (30) + days of the initiating party providing the other party with written + notice that it plans to seek arbitration, the parties shall each + select an arbitrator affiliated with JAMS, which arbitrators shall + jointly select a third such arbitrator to resolve the dispute. The + written decision of the arbitrator shall be final and binding on the + parties. The arbitration proceeding shall be carried on and heard in + Santa Clara County, California using the English language and pursuant + to the rules of (and administered by) JAMS. In any action or + proceeding to enforce rights under this Agreement, the prevailing + party will be entitled to recover costs and reasonable attorneys’ fees + from the other party. A separate written license agreement or order + and signed by Plex and you or your company, employer, or principal may + state other terms and conditions that apply to you, including terms + relating to price, payment, delivery, confidential information, + support services, and the like. You are solely responsible to review + such terms or conditions with your company, employer or principal. In + the event of any conflict in terms, the terms of the separate license + agreement shall supersede the terms of this Agreement. + 7. Both parties agree that this Agreement is the complete and exclusive + statement of the mutual understanding of the parties and supersedes + and cancels all previous written and oral agreements, communications, + and other understandings relating to the subject matter of this + Agreement. + * Privacy + * Terms + * Copyright + * Trademark + * Subscriptions + * Blog + * Support + * About + * Cord Cutting + * Plex Pro + * Plex Gear + * Contact + Connect With Us + * * * * * * Language + Copyright © 2017 Plex + * Privacy & Legal + * Sitemap + * Status diff --git a/abs/extra/re2c/PKGBUILD b/abs/extra/re2c/PKGBUILD new file mode 100644 index 0000000..a578a6b --- /dev/null +++ b/abs/extra/re2c/PKGBUILD @@ -0,0 +1,33 @@ +# $Id$ +# Maintainer: +# Contributor: nut543 <kfs1@online.no> +# Contributor: Dale Blount <dale@archlinux.org> + +pkgname=re2c +pkgver=1.0.2 +pkgrel=1 +arch=(i686 x86_64) +depends=(gcc-libs) +pkgdesc='A tool for generating C-based recognizers from regular expressions' +url='http://re2c.org' +license=(GPL) +source=(re2c-$pkgver.tar.gz::https://github.com/skvadrik/re2c/archive/$pkgver.tar.gz) +sha1sums=('d01b4d3c353bb32d5e4a1a61a377e0f4f03d4741') + +build() { + cd $pkgname-$pkgver/re2c +# ./autogen.sh + autoreconf -i -W all + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver/re2c + make tests +} + +package() { + cd $pkgname-$pkgver/re2c + make DESTDIR="$pkgdir" install +} diff --git a/abs/extra/transmission/PKGBUILD b/abs/extra/transmission/PKGBUILD index 77d3403..cec5033 100644 --- a/abs/extra/transmission/PKGBUILD +++ b/abs/extra/transmission/PKGBUILD @@ -1,78 +1,96 @@ -# $Id: PKGBUILD 170069 2012-10-31 13:47:37Z ibiru $ +# $Id$ +# Maintainer : Tom Gundersen <teg@jklm.no> # Maintainer : Ionut Biru <ibiru@archlinux.org> pkgbase=transmission -pkgname=('transmission-cli' 'transmission-gtk' 'transmission-qt') -pkgver=2.73 -pkgrel=2 -arch=('i686' 'x86_64') +pkgname=(transmission-cli transmission-gtk transmission-qt) +pkgver=2.92 +pkgrel=7 +arch=(i686 x86_64) url="http://www.transmissionbt.com/" -license=('MIT') -makedepends=('gtk3' 'intltool' 'curl' 'qt' 'libevent') -source=(http://mirrors.m0k.org/transmission/files/$pkgbase-$pkgver.tar.xz - transmissiond transmissiond.conf transmission.systemd - transmission.tmpfiles) +license=(MIT) +makedepends=(gtk3 intltool curl qt5-base libevent systemd qt5-tools) +source=(https://github.com/transmission/transmission-releases/raw/master/transmission-${pkgver}.tar.xz + transmission-2.90-libsystemd.patch + transmission-2.92-openssl-1.1.0.patch + transmission-cli.sysusers + transmission-cli.tmpfiles) +sha256sums=('3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f' + '9f8f4bb532e0e46776dbd90e75557364f495ec95896ee35900ea222d69bda411' + 'efd41985f60c977a95744ee44dfbb628424765caee83c6af3e29a5b1cbfadc98' + '641310fb0590d40e00bea1b5b9c843953ab78edf019109f276be9c6a7bdaf5b2' + '1266032bb07e47d6bcdc7dabd74df2557cc466c33bf983a5881316a4cc098451') -build() { +prepare() { cd $pkgbase-$pkgver + patch -p1 -i "$srcdir/transmission-2.90-libsystemd.patch" + patch -p1 -i "$srcdir/transmission-2.92-openssl-1.1.0.patch" + + rm -f m4/glib-gettext.m4 + autoreconf -fi + sed -i '/^Icon=/ s/$/-qt/' qt/transmission-qt.desktop +} + +build() { + cd $pkgbase-$pkgver ./configure --prefix=/usr make - pushd qt - qmake qtr.pro + + cd qt + qmake qtr.pro \ + DEFINES+=TRANSLATIONS_DIR=\\\\\\\"/usr/share/transmission-qt/translations\\\\\\\" make + lrelease translations/*.ts } + package_transmission-cli() { - pkgdesc="Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)" - depends=('curl' 'libevent') - backup=('etc/conf.d/transmissiond') - install=transmission-cli.install + pkgdesc='Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)' + depends=(curl libevent systemd) cd $pkgbase-$pkgver - for dir in daemon cli web utils - do - make -C "$dir" DESTDIR="$pkgdir" install + for dir in daemon cli web utils; do + make -C "$dir" DESTDIR="$pkgdir" install done - install -D -m755 "$srcdir/transmissiond" "$pkgdir/etc/rc.d/transmissiond" - install -D -m644 "$srcdir/transmissiond.conf" "$pkgdir/etc/conf.d/transmissiond" - install -D -m644 "$srcdir/transmission.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/transmission.conf" - install -D -m644 "$srcdir/transmission.systemd" "$pkgdir/usr/lib/systemd/system/transmission.service" - ln -s transmission.service "$pkgdir/usr/lib/systemd/system/transmissiond.service" - install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING" + install -Dm644 daemon/transmission-daemon.service \ + "$pkgdir/usr/lib/systemd/system/transmission.service" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING" + + install -Dm644 "$srcdir/$pkgname.sysusers" \ + "$pkgdir/usr/lib/sysusers.d/transmission.conf" + install -Dm644 "$srcdir/$pkgname.tmpfiles" \ + "$pkgdir/usr/lib/tmpfiles.d/transmission.conf" } package_transmission-gtk() { - pkgdesc="Fast, easy, and free BitTorrent client (GTK+ GUI)" - depends=('curl' 'libevent' 'gtk3' 'desktop-file-utils' 'hicolor-icon-theme') + pkgdesc='Fast, easy, and free BitTorrent client (GTK+ GUI)' + depends=(curl libevent gtk3 desktop-file-utils hicolor-icon-theme) optdepends=('notification-daemon: Desktop notification support' - 'transmission-cli: daemon and web support') - install=transmission-gtk.install + 'transmission-cli: daemon and web support') cd $pkgbase-$pkgver make -C gtk DESTDIR="$pkgdir" install make -C po DESTDIR="$pkgdir" install - install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-gtk/COPYING" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-gtk/COPYING" } package_transmission-qt() { - pkgdesc="Fast, easy, and free BitTorrent client (Qt GUI)" - depends=('curl' 'qt' 'libevent') + pkgdesc='Fast, easy, and free BitTorrent client (Qt GUI)' + depends=(curl qt5-base libevent) optdepends=('transmission-cli: daemon and web support') - install=transmission-qt.install cd $pkgbase-$pkgver make -C qt INSTALL_ROOT="$pkgdir"/usr install + install -Dm644 -t "$pkgdir/usr/share/transmission-qt/translations" \ + qt/translations/*.qm - install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-qt/COPYING" - install -D -m644 qt/icons/transmission.png "$pkgdir/usr/share/pixmaps/transmission-qt.png" - install -D -m644 qt/transmission-qt.desktop "$pkgdir/usr/share/applications/transmission-qt.desktop" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-qt/COPYING" + install -Dm644 qt/icons/transmission.png \ + "$pkgdir/usr/share/pixmaps/transmission-qt.png" + install -Dm644 qt/transmission-qt.desktop \ + "$pkgdir/usr/share/applications/transmission-qt.desktop" } -md5sums=('fae00b13a7b18f9dc16edef020edea85' - '7d6186ee2a852ae3d44980f05063e194' - 'db72b02fee139e8ab416324e6c044d76' - '5c289c8901221a94be74665368ab5c2c' - '23f2320361ad54373c3a4551ef634fe8') diff --git a/abs/extra/transmission/transmission-2.90-libsystemd.patch b/abs/extra/transmission/transmission-2.90-libsystemd.patch new file mode 100644 index 0000000..279a2c1 --- /dev/null +++ b/abs/extra/transmission/transmission-2.90-libsystemd.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index ea5e296..afd236f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -245,7 +245,7 @@ AC_ARG_WITH([systemd-daemon], AS_HELP_STRING([--with-systemd-daemon], + [Add support for systemd startup notification (default is autodetected)]), + [USE_SYSTEMD_DAEMON=$withval], [USE_SYSTEMD_DAEMON=auto]) + AS_IF([test "x$USE_SYSTEMD_DAEMON" != "xno"], [ +- PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon], ++ PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd], + [AC_DEFINE(USE_SYSTEMD_DAEMON,1,[Use systemd startup notification])], + [AS_IF([test "x$USE_SYSTEMD_DAEMON" = "xyes"], + [AC_MSG_ERROR([systemd startup notification support requested, but libsystemd-daemon not found.])] diff --git a/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch b/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch new file mode 100644 index 0000000..29484b8 --- /dev/null +++ b/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch @@ -0,0 +1,261 @@ +From f91cf5ad8c677b61ceb0bf5877b87f9e93256dd7 Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> +Date: Mon, 5 Sep 2016 21:49:07 +0000 +Subject: [PATCH] transmission: build against openssl 1.1.0 + +Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> +--- + libtransmission/crypto-utils-openssl.c | 73 ++++++++++++++++++++++++++++++++-- + 1 file changed, 69 insertions(+), 4 deletions(-) + +diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c +index c4539dc..972e24a 100644 +--- a/libtransmission/crypto-utils-openssl.c ++++ b/libtransmission/crypto-utils-openssl.c +@@ -229,6 +229,61 @@ tr_rc4_process (tr_rc4_ctx_t handle, + **** + ***/ + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++static inline int ++DH_set0_pqg (DH * dh, ++ BIGNUM * p, ++ BIGNUM * q, ++ BIGNUM * g) ++{ ++ /* If the fields p and g in d are NULL, the corresponding input ++ * parameters MUST be non-NULL. q may remain NULL. ++ */ ++ if ((dh->p == NULL && p == NULL) ++ || (dh->g == NULL && g == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free (dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) { ++ BN_free (dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) { ++ BN_free (dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) { ++ dh->length = BN_num_bits (q); ++ } ++ ++ return 1; ++} ++ ++static inline int ++DH_set_length (DH * dh, ++ long length) ++{ ++ dh->length = length; ++ return 1; ++} ++ ++static inline void ++DH_get0_key(const DH * dh, ++ const BIGNUM ** pub_key, ++ const BIGNUM ** priv_key) ++{ ++ if (pub_key != NULL) ++ *pub_key = dh->pub_key; ++ if (priv_key != NULL) ++ *priv_key = dh->priv_key; ++} ++ ++#endif ++ + tr_dh_ctx_t + tr_dh_new (const uint8_t * prime_num, + size_t prime_num_length, +@@ -236,13 +291,19 @@ tr_dh_new (const uint8_t * prime_num, + size_t generator_num_length) + { + DH * handle = DH_new (); ++ BIGNUM * p, * g; + + assert (prime_num != NULL); + assert (generator_num != NULL); ++ p = BN_bin2bn (prime_num, prime_num_length, NULL); ++ g = BN_bin2bn (generator_num, generator_num_length, NULL); + +- if (!check_pointer (handle->p = BN_bin2bn (prime_num, prime_num_length, NULL)) || +- !check_pointer (handle->g = BN_bin2bn (generator_num, generator_num_length, NULL))) ++ if (!check_pointer (p) || ++ !check_pointer (g) || ++ !DH_set0_pqg (handle, p, NULL, g)) + { ++ BN_free (p); ++ BN_free (g); + DH_free (handle); + handle = NULL; + } +@@ -267,16 +328,20 @@ tr_dh_make_key (tr_dh_ctx_t raw_handle, + { + DH * handle = raw_handle; + int dh_size, my_public_key_length; ++ const BIGNUM * hand_pub_key; + + assert (handle != NULL); + assert (public_key != NULL); + +- handle->length = private_key_length * 8; ++ ++ DH_set_length(handle, private_key_length * 8); + + if (!check_result (DH_generate_key (handle))) + return false; + +- my_public_key_length = BN_bn2bin (handle->pub_key, public_key); ++ DH_get0_key (handle, &hand_pub_key, NULL); ++ ++ my_public_key_length = BN_bn2bin (hand_pub_key, public_key); + dh_size = DH_size (handle); + + tr_dh_align_key (public_key, my_public_key_length, dh_size); +From 8c8386a7f3f482a9c917f51d28e0042e55f56b3e Mon Sep 17 00:00:00 2001 +From: Mike Gelfand <mikedld@mikedld.com> +Date: Wed, 7 Sep 2016 01:09:04 +0300 +Subject: [PATCH] Fix coding style and building with !TR_LIGHTWEIGHT + +--- + libtransmission/crypto-utils-openssl.c | 60 +++++++++++++++++++--------------- + 1 file changed, 33 insertions(+), 27 deletions(-) + +diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c +index 972e24a..9fd2c58 100644 +--- a/libtransmission/crypto-utils-openssl.c ++++ b/libtransmission/crypto-utils-openssl.c +@@ -14,6 +14,7 @@ + #include <assert.h> + + #include <openssl/bn.h> ++#include <openssl/crypto.h> + #include <openssl/dh.h> + #include <openssl/err.h> + #include <openssl/evp.h> +@@ -48,7 +49,12 @@ log_openssl_error (const char * file, + static bool strings_loaded = false; + if (!strings_loaded) + { ++#if OPENSSL_VERSION_NUMBER < 0x10100000 + ERR_load_crypto_strings (); ++#else ++ OPENSSL_init_crypto (OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); ++#endif ++ + strings_loaded = true; + } + #endif +@@ -230,6 +236,7 @@ tr_rc4_process (tr_rc4_ctx_t handle, + ***/ + + #if OPENSSL_VERSION_NUMBER < 0x10100000 ++ + static inline int + DH_set0_pqg (DH * dh, + BIGNUM * p, +@@ -237,28 +244,29 @@ DH_set0_pqg (DH * dh, + BIGNUM * g) + { + /* If the fields p and g in d are NULL, the corresponding input +- * parameters MUST be non-NULL. q may remain NULL. ++ * parameters MUST be non-NULL. q may remain NULL. + */ +- if ((dh->p == NULL && p == NULL) +- || (dh->g == NULL && g == NULL)) ++ if ((dh->p == NULL && p == NULL) || (dh->g == NULL && g == NULL)) + return 0; + +- if (p != NULL) { +- BN_free (dh->p); +- dh->p = p; +- } +- if (q != NULL) { +- BN_free (dh->q); +- dh->q = q; +- } +- if (g != NULL) { +- BN_free (dh->g); +- dh->g = g; +- } +- +- if (q != NULL) { ++ if (p != NULL) ++ { ++ BN_free (dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) ++ { ++ BN_free (dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) ++ { ++ BN_free (dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) + dh->length = BN_num_bits (q); +- } + + return 1; + } +@@ -267,8 +275,8 @@ static inline int + DH_set_length (DH * dh, + long length) + { +- dh->length = length; +- return 1; ++ dh->length = length; ++ return 1; + } + + static inline void +@@ -295,12 +303,11 @@ tr_dh_new (const uint8_t * prime_num, + + assert (prime_num != NULL); + assert (generator_num != NULL); ++ + p = BN_bin2bn (prime_num, prime_num_length, NULL); + g = BN_bin2bn (generator_num, generator_num_length, NULL); + +- if (!check_pointer (p) || +- !check_pointer (g) || +- !DH_set0_pqg (handle, p, NULL, g)) ++ if (!check_pointer (p) || !check_pointer (g) || !DH_set0_pqg (handle, p, NULL, g)) + { + BN_free (p); + BN_free (g); +@@ -328,20 +335,19 @@ tr_dh_make_key (tr_dh_ctx_t raw_handle, + { + DH * handle = raw_handle; + int dh_size, my_public_key_length; +- const BIGNUM * hand_pub_key; ++ const BIGNUM * my_public_key; + + assert (handle != NULL); + assert (public_key != NULL); + +- + DH_set_length(handle, private_key_length * 8); + + if (!check_result (DH_generate_key (handle))) + return false; + +- DH_get0_key (handle, &hand_pub_key, NULL); ++ DH_get0_key (handle, &my_public_key, NULL); + +- my_public_key_length = BN_bn2bin (hand_pub_key, public_key); ++ my_public_key_length = BN_bn2bin (my_public_key, public_key); + dh_size = DH_size (handle); + + tr_dh_align_key (public_key, my_public_key_length, dh_size); diff --git a/abs/extra/transmission/transmission-cli.install b/abs/extra/transmission/transmission-cli.install deleted file mode 100644 index 94a829f..0000000 --- a/abs/extra/transmission/transmission-cli.install +++ /dev/null @@ -1,17 +0,0 @@ -post_install() { - cat << _EOF - - If you want to run the Transmission daemon at boot do: - systemctl enable transmissiond -_EOF - -post_upgrade -passwd -l transmission &>/dev/null -} - -post_upgrade() { - # create user/group that the daemon will run as by default, do not delete this on uninstall, as it will own files - getent group transmission >/dev/null || groupadd -g 169 transmission - getent passwd transmission >/dev/null || useradd -c 'Transmission BitTorrent Client' -u 169 -g transmission -b '/var/lib' -m -s /bin/false transmission - systemd-tmpfiles --create transmission.conf -} diff --git a/abs/extra/transmission/transmission-cli.sysusers b/abs/extra/transmission/transmission-cli.sysusers new file mode 100644 index 0000000..a972f6c --- /dev/null +++ b/abs/extra/transmission/transmission-cli.sysusers @@ -0,0 +1 @@ +u transmission 169 "Transmission BitTorrent Daemon" /var/lib/transmission diff --git a/abs/extra/transmission/transmission-cli.tmpfiles b/abs/extra/transmission/transmission-cli.tmpfiles new file mode 100644 index 0000000..85d5a92 --- /dev/null +++ b/abs/extra/transmission/transmission-cli.tmpfiles @@ -0,0 +1 @@ +d /var/lib/transmission 0750 transmission transmission diff --git a/abs/extra/transmission/transmission-gtk.install b/abs/extra/transmission/transmission-gtk.install deleted file mode 100644 index c317fba..0000000 --- a/abs/extra/transmission/transmission-gtk.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { - update-desktop-database -q - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/abs/extra/transmission/transmission-qt.install b/abs/extra/transmission/transmission-qt.install deleted file mode 100644 index e111ef9..0000000 --- a/abs/extra/transmission/transmission-qt.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - update-desktop-database -q -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/abs/extra/transmission/transmission.systemd b/abs/extra/transmission/transmission.systemd deleted file mode 100644 index 56ab8f7..0000000 --- a/abs/extra/transmission/transmission.systemd +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Transmission Bit Torrent Daemon - -# This assumes that a user 'transmission' exists, with a writeable homedirectory, -# and that /run/transmission exists and is writeable by the transmission user. - -[Service] -User=transmission -Type=forking -PIDFile=/run/transmission/transmission.pid -ExecStart=/usr/bin/transmission-daemon --pid-file /run/transmission/transmission.pid - -[Install] -WantedBy=multi-user.target diff --git a/abs/extra/transmission/transmission.tmpfiles b/abs/extra/transmission/transmission.tmpfiles deleted file mode 100644 index b603066..0000000 --- a/abs/extra/transmission/transmission.tmpfiles +++ /dev/null @@ -1 +0,0 @@ -d /run/transmission - transmission transmission - diff --git a/abs/extra/transmission/transmissiond b/abs/extra/transmission/transmissiond deleted file mode 100644 index ea3d770..0000000 --- a/abs/extra/transmission/transmissiond +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/transmissiond - -PID=`pidof -o %PPID /usr/bin/transmission-daemon` -case "$1" in - start) - stat_busy "Starting Transmission Daemon" - [ -z "$PID" ] && su -l -s /bin/sh -c "/usr/bin/transmission-daemon $TRANS_ARGS" "${TRANS_USER:-transmission}" - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon transmissiond - stat_done - fi - ;; - stop) - stat_busy "Stopping Transmission Daemon" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon transmissiond - stat_done - fi - ;; - restart) - $0 stop - while [ ! -z "$PID" -a -d "/proc/$PID" ]; do sleep 1; done - $0 start - ;; - reload) - stat_busy "Reloading config" - [ ! -z "$PID" ] && kill -HUP $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - stat_done - fi - ;; - *) - echo "usage: $0 {start|stop|restart|reload}" -esac -exit 0 diff --git a/abs/extra/transmission/transmissiond.conf b/abs/extra/transmission/transmissiond.conf deleted file mode 100644 index 45a9fd5..0000000 --- a/abs/extra/transmission/transmissiond.conf +++ /dev/null @@ -1,4 +0,0 @@ -# example configuration file - -# TRANS_USER="transmission" -# TRANS_ARGS="" diff --git a/abs/extra/web-on-linhes/PKGBUILD b/abs/extra/web-on-linhes/PKGBUILD index 660efb5..0a28e81 100644 --- a/abs/extra/web-on-linhes/PKGBUILD +++ b/abs/extra/web-on-linhes/PKGBUILD @@ -3,7 +3,7 @@ pkgname=web-on-linhes pkgver=1.3 -pkgrel=2 +pkgrel=3 pkgdesc="Added multiple websites with 10' UIs to Play Online Streams." arch=('i686' 'x86_64') license=('GPL2') @@ -19,5 +19,5 @@ package() { #add in file for gen_is.xml install -D -m0744 ${srcdir}/web-on-linhes_is.conf ${pkgdir}/etc/gen_is_xml.d/web-on-linhes_is.conf } -md5sums=('c38cbf334b0b6c35a1fd49da9924a0f5' - '475addc194b389ecc4bc5cde3aa5a8ea') +md5sums=('3691faa7118ac1251c959d3bcfcba85f' + '61cafa7e7a11b1387202b6ef908105a7') diff --git a/abs/extra/web-on-linhes/web-on-linhes.sh b/abs/extra/web-on-linhes/web-on-linhes.sh index 115d0b0..48414e9 100644 --- a/abs/extra/web-on-linhes/web-on-linhes.sh +++ b/abs/extra/web-on-linhes/web-on-linhes.sh @@ -7,6 +7,7 @@ irxPID=$! stop_xss.sh & xssPID=$! #Launches chrome in full screen +(sleep 1; wmctrl -r "Google Chrome" -b add,fullscreen) & google-chrome --no-first-run --kiosk $@ #Once done, stops irxevent and stop_xss.sh kill $irxPID diff --git a/abs/extra/web-on-linhes/web-on-linhes_is.conf b/abs/extra/web-on-linhes/web-on-linhes_is.conf index 27d0dcb..982bd8e 100755 --- a/abs/extra/web-on-linhes/web-on-linhes_is.conf +++ b/abs/extra/web-on-linhes/web-on-linhes_is.conf @@ -9,14 +9,6 @@ <!--#WebOnTV--> <button> <type>STREAM</type> - <text>Google Spotlight</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.google.com/tv/spotlight-gallery.html</action> - </button> - <!--#WebOnTV--> - - <!--#WebOnTV--> - <button> - <type>STREAM</type> <text>PBS Kids</text> <action>EXEC /usr/LH/bin/web-on-linhes.sh http://pbskids.org/video/</action> </button> |