Hello community, here is the log from the commit of package ddgr for openSUSE:Factory checked in at 2020-09-03 01:19:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ddgr (Old) and /work/SRC/openSUSE:Factory/.ddgr.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ddgr" Thu Sep 3 01:19:14 2020 rev:5 rq:831511 version:1.9 Changes: -------- --- /work/SRC/openSUSE:Factory/ddgr/ddgr.changes 2019-10-27 13:41:58.853336947 +0100 +++ /work/SRC/openSUSE:Factory/.ddgr.new.3399/ddgr.changes 2020-09-03 01:19:40.640592414 +0200 @@ -1,0 +2,12 @@ +Wed Sep 2 16:29:09 UTC 2020 - Dirk Mueller <dmuel...@suse.com> + +- update to 1.9: + - Fix breakage due to changes required in POST method + - Support wayland native copier `wl-copy` for url copy + - Unblock GUI browsers on WSL + - Update auto-generated package list + - Skip broken Arch Linux packaging (https://github.com/BytePackager issue #204) + - Bump version + - Update docs + +------------------------------------------------------------------- Old: ---- ddgr-1.7.tar.gz New: ---- ddgr-1.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ddgr.spec ++++++ --- /var/tmp/diff_new_pack.tftARH/_old 2020-09-03 01:19:41.416592699 +0200 +++ /var/tmp/diff_new_pack.tftARH/_new 2020-09-03 01:19:41.420592700 +0200 @@ -1,7 +1,7 @@ # # spec file for package ddgr # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: ddgr -Version: 1.7 +Version: 1.9 Release: 0 Summary: DuckDuckGo from the terminal License: GPL-3.0-only ++++++ ddgr-1.7.tar.gz -> ddgr-1.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/.circleci/config.yml new/ddgr-1.9/.circleci/config.yml --- old/ddgr-1.7/.circleci/config.yml 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/.circleci/config.yml 2020-07-25 20:42:25.000000000 +0200 @@ -32,6 +32,11 @@ - image: python:3.7-slim <<: *test-template + py38: + docker: + - image: python:3.8-slim + <<: *test-template + package-and-publish: machine: true working_directory: ~/ddgr @@ -58,6 +63,7 @@ - py35 - py36 - py37 + - py38 nightly: triggers: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/.github/workflows/lock.yml new/ddgr-1.9/.github/workflows/lock.yml --- old/ddgr-1.7/.github/workflows/lock.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/ddgr-1.9/.github/workflows/lock.yml 2020-07-25 20:42:25.000000000 +0200 @@ -0,0 +1,17 @@ +name: 'Lock threads' + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + lock: + runs-on: ubuntu-latest + steps: + - uses: dessant/lock-threads@v2 + with: + github-token: ${{ github.token }} + issue-lock-inactive-days: '30' + issue-lock-reason: '' + pr-lock-inactive-days: '30' + pr-lock-reason: '' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/.pylintrc new/ddgr-1.9/.pylintrc --- old/ddgr-1.7/.pylintrc 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/.pylintrc 2020-07-25 20:42:25.000000000 +0200 @@ -1,6 +1,7 @@ [MESSAGES CONTROL] disable= broad-except, + import-outside-toplevel, invalid-name, missing-docstring, no-self-use, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/CHANGELOG new/ddgr-1.9/CHANGELOG --- old/ddgr-1.7/CHANGELOG 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/CHANGELOG 2020-07-25 20:42:25.000000000 +0200 @@ -1,5 +1,34 @@ +ddgr v1.9 +2020-07-26 + +- Fix breakage due to changes required in POST method +- Support wayland native copier `wl-copy` for url copy +- Unblock GUI browsers on WSL +- Update auto-generated package list +- Skip broken Arch Linux packaging (https://github.com/BytePackager issue #204) + +------------------------------------------------------------------------------- + +ddgr v1.8.1 +2020-04-10 + +- Bump version +- Update docs + +------------------------------------------------------------------------------- + +ddgr v1.8 +2020-04-08 + +What's in? +- Ignore instant results in JSON output +- Support year in duration +- Support Python 3.8 + +------------------------------------------------------------------------------- + ddgr v1.7 -2018-09-03 +2019-09-03 What's in? - Use setproctitle to set process name diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/MANIFEST.in new/ddgr-1.9/MANIFEST.in --- old/ddgr-1.7/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100 +++ new/ddgr-1.9/MANIFEST.in 2020-07-25 20:42:25.000000000 +0200 @@ -0,0 +1 @@ +include CHANGELOG LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/README.md new/ddgr-1.9/README.md --- old/ddgr-1.7/README.md 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/README.md 2020-07-25 20:42:25.000000000 +0200 @@ -2,19 +2,11 @@ <p align="center"> <a href="https://github.com/jarun/ddgr/releases/latest"><img src="https://img.shields.io/github/release/jarun/ddgr.svg?maxAge=600" alt="Latest release" /></a> -<a href="https://aur.archlinux.org/packages/ddgr"><img src="https://img.shields.io/aur/version/ddgr.svg?maxAge=600" alt="AUR" /></a> -<a href="http://formulae.brew.sh/formula/ddgr"><img src="https://img.shields.io/homebrew/v/ddgr.svg?maxAge=600" alt="Homebrew" /></a> -<a href="https://pypi.python.org/pypi/ddgr"><img src="https://img.shields.io/pypi/v/ddgr.svg?maxAge=600" alt="PyPI" /></a> -<a href="https://packages.debian.org/search?keywords=ddgr&searchon=names&exact=1"><img src="https://img.shields.io/badge/debian-10+-blue.svg?maxAge=2592000" alt="Debian Buster+" /></a> -<a href="https://apps.fedoraproject.org/packages/ddgr"><img src="https://img.shields.io/badge/fedora-26+-blue.svg?maxAge=2592000" alt="Fedora 26+" /></a> -<a href="https://software.opensuse.org/package/ddgr"><img src="https://img.shields.io/badge/opensuse%20leap-15.0+-blue.svg?maxAge=2592000" alt="openSUSE Leap 15.0+" /></a> -<a href="https://packages.ubuntu.com/search?keywords=ddgr&searchon=names&exact=1"><img src="https://img.shields.io/badge/ubuntu-18.04+-blue.svg?maxAge=2592000" alt="Ubuntu Bionic+" /></a> -</p> - -<p align="center"> -<a href="https://repology.org/metapackage/ddgr"><img src="https://repology.org/badge/tiny-repos/ddgr.svg" alt="Availability"></a> -<a href="https://github.com/jarun/ddgr/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-GPLv3-yellow.svg?maxAge=2592000" alt="License" /></a> +<a href="https://repology.org/project/ddgr/versions"><img src="https://repology.org/badge/tiny-repos/ddgr.svg" alt="Availability"></a> +<a href="https://pypi.org/project/ddgr/"><img src="https://img.shields.io/pypi/v/ddgr.svg?maxAge=600" alt="PyPI" /></a> <a href="https://circleci.com/gh/jarun/workflows/ddgr"><img src="https://img.shields.io/circleci/project/github/jarun/ddgr.svg" alt="Build Status" /></a> +<a href="https://en.wikipedia.org/wiki/Privacy-invasive_software"><img src="https://img.shields.io/badge/privacy-✓-crimson" alt="Privacy Awareness" /></a> +<a href="https://github.com/jarun/ddgr/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-GPLv3-yellowgreen.svg?maxAge=2592000" alt="License" /></a> </p> <p align="center"> @@ -71,6 +63,7 @@ - HTTPS proxy support, optionally disable User Agent - Do Not Track set by default - Supports custom url handler script or cmdline utility +- Privacy-aware (no unconfirmed user data collection) - Thoroughly documented, man page with examples - Minimal dependencies @@ -86,23 +79,22 @@ #### From a package manager -- [AUR](https://aur.archlinux.org/packages/ddgr/) (`yay -S ddgr`) -- [Debian](https://packages.debian.org/search?keywords=ddgr&searchon=names&exact=1) (`apt-get install ddgr`) -- [Fedora](https://apps.fedoraproject.org/packages/ddgr) (`dnf install ddgr`) -- [FreeBSD](https://www.freshports.org/www/ddgr/) (`pkg install ddgr`) -- [Haiku](https://github.com/haikuports/haikuports/tree/master/www-client/ddgr) (`pkgman install ddgr`) -- [macOS/Homebrew](http://formulae.brew.sh/formula/ddgr) (`brew install ddgr`) -- [NixOS](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/misc/ddgr) (`nix-env -i ddgr`) -- [openSUSE](https://software.opensuse.org/package/ddgr) (`zypper in ddgr`) -- [PyPI](https://pypi.org/project/ddgr/) (`pip3 install ddgr`) -- [Raspbian Testing](https://archive.raspbian.org/raspbian/pool/main/d/ddgr/) (`apt-get install ddgr`) -- [Slackware](http://slackbuilds.org/repository/14.2/network/ddgr/) (`slackpkg install ddgr`) -- [Snap Store](https://snapcraft.io/ddgr/) (`snap install ddgr`) -- [Solus](https://packages.getsol.us/shannon/d/ddgr/) (`eopkg install ddgr`) -- [Source Mage](http://codex.sourcemage.org/test/utils/ddgr/) (`cast ddgr`) -- [Termux](https://pypi.org/project/ddgr/) (`pip3 install ddgr`) -- [Ubuntu](https://packages.ubuntu.com/search?keywords=ddgr&searchon=names&exact=1) (`apt-get install ddgr`) -- [Void Linux](https://github.com/void-linux/void-packages/tree/master/srcpkgs/ddgr) (`xbps-install -S ddgr`) +Install `ddgr` from your package manager. If the version available is dated try an alternative installation method. + +<details><summary>Packaging status (expand)</summary> +<p> +<br> +<a href="https://repology.org/project/ddgr/versions"><img src="https://repology.org/badge/vertical-allrepos/ddgr.svg" alt="Packaging status"></a> +</p> +Unlisted packagers: +<p> +<br> +● <a href="https://pypi.org/project/ddgr/">PyPI</a> (<code>pip3 install ddgr</code>)<br> +● <a href="https://snapcraft.io/ddgr/">Snap Store</a> (<code>snap install ddgr</code>)<br> +● <a href="http://codex.sourcemage.org/test/utils/ddgr/">Source Mage</a> (<code>cast ddgr</code>)<br> +● Termux (<code>pip3 install ddgr</code>)<br> +</p> +</details> #### Release packages @@ -162,7 +154,7 @@ -C, --nocolor equivalent to --colorize=never --colors COLORS set output colors (see man page for details) -j, --ducky open the first result in a web browser; implies --np - -t SPAN, --time SPAN time limit search [d (1 day), w (1 wk), m (1 month)] + -t SPAN, --time SPAN time limit search [d (1 day), w (1 wk), m (1 month), y (1 year)] -w SITE, --site SITE search sites using DuckDuckGo -x, --expand Show complete url in search results -p URI, --proxy URI tunnel traffic through an HTTPS proxy; URI format: @@ -225,7 +217,7 @@ $ ddgr !w hello world $ ddgr \!w hello world // bash-specific, need to escape ! on bash - Bangs work at the omniprompt too. To look up bangs, visit https://duck‐duckgo.com/bang?#bangs-list. + Bangs work at the omniprompt too. To look up bangs, visit https://duckduckgo.com/bang?#bangs-list. 4. **Bang alias** to fire from the cmdline, open results in a GUI browser and exit: alias bang='ddgr --gb --np' @@ -275,7 +267,7 @@ - [SZ Lin](https://github.com/szlin) - [Alex Gontar](https://github.com/mosegontar) -Copyright © 2016-2019 [Arun Prakash Jana](mailto:engineera...@gmail.com) +Copyright © 2016-2020 [Arun Prakash Jana](mailto:engineera...@gmail.com) ### In the Press diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/ddgr new/ddgr-1.9/ddgr --- old/ddgr-1.7/ddgr 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/ddgr 2020-07-25 20:42:25.000000000 +0200 @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (C) 2016-2019 Arun Prakash Jana <engineera...@gmail.com> +# Copyright (C) 2016-2020 Arun Prakash Jana <engineera...@gmail.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,6 +22,7 @@ import gzip import html.entities import html.parser +import json import locale import logging import os @@ -30,6 +31,7 @@ import signal from subprocess import Popen, PIPE, DEVNULL import sys +import tempfile import textwrap import unicodedata import urllib.error @@ -69,7 +71,7 @@ # Constants -_VERSION_ = '1.6' +_VERSION_ = '1.9' COLORMAP = {k: '\x1b[%sm' % v for k, v in { 'a': '30', 'b': '31', 'c': '32', 'd': '33', @@ -134,7 +136,8 @@ _stderr = os.dup(2) os.close(2) _stdout = os.dup(1) - os.close(1) + if "microsoft" not in platform.uname()[3].lower(): + os.close(1) fd = os.open(os.devnull, os.O_RDWR) os.dup2(fd, 2) os.dup2(fd, 1) @@ -389,6 +392,7 @@ self._safe = 1 # Safe search parameter value self.np_prev = '' # nextParams from last html page Previous button self.np_next = '' # nextParams from last html page Next button + self.vqd = '' # vqd parameter (from next/prev button) self._query_dict = { } self.update(opts, **kwargs) @@ -435,7 +439,7 @@ q = '' if self._keywords: if isinstance(self._keywords, list): - q += '+'.join([kw for kw in self._keywords]) + q += '+'.join(list(self._keywords)) else: q += self._keywords @@ -579,6 +583,7 @@ qd['nextParams'] = self.np_prev else: qd['nextParams'] = self.np_next + qd['vqd'] = self.vqd # Construct the q query q = '' @@ -586,7 +591,7 @@ sites = self._sites if keywords: if isinstance(keywords, list): - q += ' '.join([kw for kw in keywords]) + q += ' '.join(list(keywords)) else: q += keywords if sites: @@ -669,7 +674,7 @@ q = '' if self._keywords: if isinstance(self._keywords, list): - q += '+'.join([kw for kw in self._keywords]) + q += '+'.join(list(self._keywords)) else: q += self._keywords @@ -702,7 +707,7 @@ """ def __init__(self, proxy=None, ua=''): - self._u = 'https://duckduckgo.com/html' + self._u = 'https://html.duckduckgo.com/html' self._proxies = { 'https': proxy if proxy is not None else (os.getenv('https_proxy') @@ -739,6 +744,7 @@ page = dic['page'] LOGDBG('q:%s, region:%s, page:%d, curindex:%d, safe:%d', dic['q'], dic['region'], page, dic['curindex'], dic['safe']) LOGDBG('nextParams:%s', dic['nextParams']) + LOGDBG('vqd:%s', dic['vqd']) LOGDBG('proxy:%s', self._proxies) LOGDBG('ua:%s', self._ua) @@ -783,6 +789,7 @@ 'kl': dic['region'], # Region code 'kp': dic['safe'], # Safe search 'k1': '-1', # Advertisements off + 'vqd': dic['vqd'], # vqd string from button }, proxies=self._proxies, expected_code=200) @@ -954,6 +961,7 @@ self.np_next_button = '' self.npfound = False # First next params found self.set_handlers_to('root') + self.vqd = '' # vqd returned from button, required for search query to get next set of results # Tag handlers @@ -1066,7 +1074,7 @@ @annotate_tag def input_start(self, tag, attrs): if tag == 'input' and 'name' in attrs: - if attrs['name'] == 'nextParams' and attrs['value'] != '': + if attrs['name'] == 'nextParams': # The previous button always shows before next button # If there's only 1 button (page 1), it's the next button if self.npfound is True: @@ -1076,6 +1084,10 @@ self.np_next_button = attrs['value'] return + if attrs['name'] == 'vqd' and attrs['value'] != '': + # vqd required to be passed for next/previous search page + self.vqd = attrs['value'] + return @retrieve_tag_annotation def input_end(self, tag, annotation): @@ -1379,11 +1391,16 @@ return self._ddg_url.keywords @require_keywords - def fetch(self): + def fetch(self, json_output=False): """Fetch a page and parse for results. Results are stored in ``self.results``. + Parameters + ---------- + json_output : bool, optional + Whether to dump results in JSON format. Default is False. + Raises ------ DDGConnectionError @@ -1400,7 +1417,6 @@ return if LOGGER.isEnabledFor(logging.DEBUG): - import tempfile fd, tmpfile = tempfile.mkstemp(prefix='ddgr-response-') os.close(fd) with open(tmpfile, 'w', encoding='utf-8') as fp: @@ -1426,9 +1442,10 @@ self._ddg_url.np_prev = parser.np_prev_button self._ddg_url.np_next = parser.np_next_button + self._ddg_url.vqd = parser.vqd # Show instant answer - if self.index == 0 and parser.click_result: + if self.index == 0 and parser.click_result and not json_output: if self.colors: print(self.colors.abstract) @@ -1445,6 +1462,7 @@ print(self.colors.reset, end='') LOGDBG('Prev nextParams: %s', self._ddg_url.np_prev) LOGDBG('Next nextParams: %s', self._ddg_url.np_next) + LOGDBG('VQD: %s', self._ddg_url.vqd) self._ddg_url.update_num(len(parser.results)) @@ -1465,7 +1483,6 @@ if json_output: # JSON output - import json results_object = [r.jsonizable_object() for r in results] print(json.dumps(results_object, indent=2, sort_keys=True, ensure_ascii=False)) elif not results: @@ -1678,6 +1695,8 @@ copier_params = ['xsel', '-b', '-i'] elif shutil.which('xclip') is not None: copier_params = ['xclip', '-selection', 'clipboard'] + elif shutil.which('wl-copy') is not None: + copier_params = ['wl-copy'] # If we're using Termux (Android) use its 'termux-api' # add-on to set device clipboard. elif shutil.which('termux-clipboard-set') is not None: @@ -1703,7 +1722,6 @@ # GNU Screen paste buffer if os.getenv('STY'): - import tempfile copier_params = ['screen', '-X', 'readbuf', '-e', 'utf8'] tmpfd, tmppath = tempfile.mkstemp() try: @@ -1810,7 +1828,7 @@ file = sys.stderr if file is None else file file.write(textwrap.dedent(""" Version %s - Copyright © 2016-2019 Arun Prakash Jana <engineera...@gmail.com> + Copyright © 2016-2020 Arun Prakash Jana <engineera...@gmail.com> License: GPLv3 Webpage: https://github.com/jarun/ddgr """ % _VERSION_)) @@ -1927,8 +1945,6 @@ # instance, they won't if the specified prefix ends in a punctuation # mark.) def completer_fetch_completions(prefix): - import json - # One can pass the 'hl' query param to specify the language. We # ignore that for now. api_url = ('https://duckduckgo.com/ac/?q=%s&kl=wt-wt' % @@ -1982,8 +1998,8 @@ addarg('--colors', dest='colorstr', type=argparser.is_colorstr, default=colorstr_env if colorstr_env else 'oCdgxy', metavar='COLORS', help='set output colors (see man page for details)') addarg('-j', '--ducky', action='store_true', help='open the first result in a web browser; implies --np') - addarg('-t', '--time', dest='duration', metavar='SPAN', default='', choices=('d', 'w', 'm'), help='time limit search ' - '[d (1 day), w (1 wk), m (1 month)]') + addarg('-t', '--time', dest='duration', metavar='SPAN', default='', choices=('d', 'w', 'm', 'y'), help='time limit search ' + '[d (1 day), w (1 wk), m (1 month), y (1 year)]') addarg('-w', '--site', dest='sites', action='append', metavar='SITE', help='search sites using DuckDuckGo') addarg('-x', '--expand', action='store_true', help='Show complete url in search results') addarg('-p', '--proxy', metavar='URI', help='tunnel traffic through an HTTPS proxy; URI format: [http[s]://][user:pwd@]host[:port]') @@ -2059,7 +2075,7 @@ # Handle bangs open_url(repl._ddg_url.full()) else: - repl.fetch() + repl.fetch(opts.json) if opts.ducky: if repl.results: open_url(repl.results[0].url) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/ddgr.1 new/ddgr-1.9/ddgr.1 --- old/ddgr-1.7/ddgr.1 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/ddgr.1 2020-07-25 20:42:25.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "DDGR" "1" "16 Nov 2018" "Version 1.6" "User Commands" +.TH "DDGR" "1" "21 Jul 2020" "Version 1.9" "User Commands" .SH NAME ddgr \- DuckDuckGo from the terminal .SH SYNOPSIS @@ -46,7 +46,7 @@ Open the first result in a web browser; implies \fB--noprompt\fR. Feeling Ducky? .TP .BI "-t, --time=" SPAN -Time limit search [d=past day, w=past week, m=past month] (default=any time). +Time limit search [d=past day, w=past week, m=past month, y=past year] (default=any time). .TP .BI "-w, --site=" SITE Search a site using DuckDuckGo. @@ -334,7 +334,7 @@ .SH REPORTING BUGS .I https://github.com/jarun/ddgr/issues .SH LICENSE -Copyright \(co 2016-2019 Arun Prakash Jana <engineera...@gmail.com> +Copyright \(co 2016-2020 Arun Prakash Jana <engineera...@gmail.com> .PP License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. .br diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/packagecore.yaml new/ddgr-1.9/packagecore.yaml --- old/ddgr-1.7/packagecore.yaml 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/packagecore.yaml 2020-07-25 20:42:25.000000000 +0200 @@ -7,36 +7,34 @@ install: - make PREFIX="/usr" install DESTDIR="${BP_DESTDIR}" packages: - archlinux: +# archlinux: +# builddeps: +# - make +# deps: +# - python + centos7.5: builddeps: - make deps: - python - container: "archlinux/base" - centos7.4: + centos7.6: builddeps: - make deps: - python - commands: - pre: - - yum install epel-release - centos7.5: + centos7.7: builddeps: - make deps: - python - commands: - pre: - - yum install epel-release - centos7.6: + centos8.0: builddeps: - make deps: - - python + - python3 commands: - pre: - - yum install epel-release + precompile: + - dnf install python3 debian9: builddeps: - make @@ -47,42 +45,42 @@ - make deps: - python3 - fedora26: + fedora31: builddeps: - make deps: - python3 - fedora27: + fedora32: builddeps: - make deps: - python3 - fedora28: + opensuse15.1: builddeps: - make deps: - python3 - fedora29: + opensuse15.2: builddeps: - make deps: - python3 - fedora30: + opensuse.tumbleweed: builddeps: - make deps: - python3 - opensuse42.3: + ubuntu16.04: builddeps: - make deps: - python3 - ubuntu16.04: + ubuntu18.04: builddeps: - make deps: - python3 - ubuntu18.04: + ubuntu20.04: builddeps: - make deps: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/pyproject.toml new/ddgr-1.9/pyproject.toml --- old/ddgr-1.7/pyproject.toml 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/pyproject.toml 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -[build-system] -requires = ["setuptools", "wheel"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddgr-1.7/setup.py new/ddgr-1.9/setup.py --- old/ddgr-1.7/setup.py 2019-09-03 05:15:33.000000000 +0200 +++ new/ddgr-1.9/setup.py 2020-07-25 20:42:25.000000000 +0200 @@ -1,23 +1,30 @@ #!/usr/bin/env python3 import re +import os.path import setuptools import shutil -shutil.copyfile('ddgr', 'ddgr.py') +if os.path.isfile('ddgr'): + shutil.copyfile('ddgr', 'ddgr.py') with open('ddgr.py', encoding='utf-8') as fp: version = re.search(r'_VERSION_ = \'(.*?)\'', fp.read()).group(1) +with open('README.md', encoding='utf-8') as f: + long_description = f.read() + setuptools.setup( name='ddgr', version=version, url='https://github.com/jarun/ddgr', license='GPLv3', + license_file='LICENSE', author='Arun Prakash Jana', author_email='engineera...@gmail.com', description='DuckDuckGo from the terminal', - long_description='See https://github.com/jarun/ddgr#readme.', + long_description=long_description, + long_description_content_type='text/markdown', python_requires='>=3.5', platforms=['any'], py_modules=['ddgr'], @@ -39,6 +46,7 @@ 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'Topic :: Internet :: WWW/HTTP :: Indexing/Search', 'Topic :: Utilities', ],