Hello community,

here is the log from the commit of package googler for openSUSE:Factory checked 
in at 2019-12-02 11:30:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/googler (Old)
 and      /work/SRC/openSUSE:Factory/.googler.new.4691 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "googler"

Mon Dec  2 11:30:53 2019 rev:5 rq:752545 version:4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/googler/googler.changes  2019-06-03 
18:50:59.580524342 +0200
+++ /work/SRC/openSUSE:Factory/.googler.new.4691/googler.changes        
2019-12-02 11:35:00.126455498 +0100
@@ -1,0 +2,8 @@
+Wed Nov 27 02:31:48 UTC 2019 - Dilawar Singh <[email protected]>
+
+- Update to version 4.0
+    * Switch to modern UA and fix parser to handle new result format
+        - fixes #306 Googler no results on v3.9 (due to google's recent layout 
changes)
+    * Text-wrapping
+
+-------------------------------------------------------------------

Old:
----
  v3.9.tar.gz

New:
----
  v4.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ googler.spec ++++++
--- /var/tmp/diff_new_pack.bKeHtA/_old  2019-12-02 11:35:01.834454652 +0100
+++ /var/tmp/diff_new_pack.bKeHtA/_new  2019-12-02 11:35:01.854454642 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           googler
-Version:        3.9
+Version:        4.0
 Release:        0
 Summary:        Google Search, Google Site Search, Google News from the 
terminal
 License:        GPL-3.0-or-later
@@ -56,7 +56,8 @@
 
 %files
 %defattr(-,root,root)
-%doc LICENSE CHANGELOG README.md
+%license LICENSE
+%doc CHANGELOG README.md
 %{_bindir}/googler
 %{_mandir}/man1/googler.*
 %{_sysconfdir}/bash_completion.d/

++++++ v3.9.tar.gz -> v4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/.circleci/config.yml 
new/googler-4.0/.circleci/config.yml
--- old/googler-3.9/.circleci/config.yml        2019-05-30 05:07:26.000000000 
+0200
+++ new/googler-4.0/.circleci/config.yml        2019-11-26 22:49:05.000000000 
+0100
@@ -11,11 +11,6 @@
     - run: ./tests/test --ci
 
 jobs:
-  py34:
-    docker:
-      - image: python:3.4-slim
-    <<: *test-template
-
   py35:
     docker:
       - image: python:3.5-slim
@@ -31,6 +26,11 @@
       - image: python:3.7-slim
     <<: *test-template
 
+  py38:
+    docker:
+      - image: python:3.8-slim
+    <<: *test-template
+
   package-and-publish:
     machine: true
     working_directory: ~/googler
@@ -42,7 +42,7 @@
             # Use latest installed python3 from pyenv
             export PYENV_VERSION="$(pyenv versions | grep -Po '\b3\.\d+\.\d+' 
| tail -1)"
             pip install packagecore
-            packagecore -o ./dist/ ${CIRCLE_TAG#v}
+            packagecore -c tests/packagecore/packagecore.yaml -o ./dist/ 
${CIRCLE_TAG#v}
       - run:
           name: "publish to GitHub"
           command: |
@@ -54,10 +54,10 @@
 
   test:
     jobs: &all-tests
-      - py34
       - py35
       - py36
       - py37
+      - py38
 
   weekly:
     triggers:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/.github/FUNDING.yml 
new/googler-4.0/.github/FUNDING.yml
--- old/googler-3.9/.github/FUNDING.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/googler-4.0/.github/FUNDING.yml 2019-11-26 22:49:05.000000000 +0100
@@ -0,0 +1 @@
+custom: 
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RMLTQ76JSXJ4Q
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/.github/lock.yml 
new/googler-4.0/.github/lock.yml
--- old/googler-3.9/.github/lock.yml    1970-01-01 01:00:00.000000000 +0100
+++ new/googler-4.0/.github/lock.yml    2019-11-26 22:49:05.000000000 +0100
@@ -0,0 +1,3 @@
+daysUntilLock: 60
+lockComment: false
+setLockReason: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/CHANGELOG new/googler-4.0/CHANGELOG
--- old/googler-3.9/CHANGELOG   2019-05-30 05:07:26.000000000 +0200
+++ new/googler-4.0/CHANGELOG   2019-11-26 22:49:05.000000000 +0100
@@ -1,3 +1,12 @@
+googler 4.0
+2019-11-27
+
+What's in?
+- Switch to modern UA and fix parser to handle new result format
+- Text-wrapping
+
+-------------------------------------------------------------------------------
+
 googler 3.9
 2019-05-30
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/README.md new/googler-4.0/README.md
--- old/googler-3.9/README.md   2019-05-30 05:07:26.000000000 +0200
+++ new/googler-4.0/README.md   2019-11-26 22:49:05.000000000 +0100
@@ -29,7 +29,7 @@
 More fun stuff you can try with `googler`:
 
 - [googler on the 
iPad](https://github.com/jarun/googler/wiki/googler-on-the-iPad)
-- [Directly print content of results to 
terminal](https://github.com/jarun/googler/wiki/Directly-print-content-of-results-to-terminal)
+- [Print content of results to terminal or listen to 
it](https://github.com/jarun/googler/wiki/Print-content-of-results-to-terminal-or-listen-to-it)
 - [Terminal Reading Mode or Reader 
View](https://github.com/jarun/googler/wiki/Terminal-Reading-Mode-or-Reader-View)
 - [Stream YouTube videos on 
desktop](https://github.com/jarun/googler/wiki/Stream-YouTube-videos-on-desktop)
 - [Search error on StackOverflow from 
terminal](https://github.com/jarun/googler/wiki/Search-error-on-StackOverflow-from-terminal)
@@ -86,7 +86,7 @@
 
 #### Dependencies
 
-`googler` requires Python 3.4 or later. Only the latest patch release of each 
minor version is supported.
+`googler` requires Python 3.5 or later. Only the latest patch release of each 
minor version is supported.
 
 To copy url to clipboard at the omniprompt, `googler` looks for `xsel` or 
`xclip` or `termux-clipboard-set` (in the same order) on Linux, `pbcopy` 
(default installed) on macOS and `clip` (default installed) on Windows. It also 
supports GNU Screen and tmux copy-paste buffers in the absence of X11.
 
@@ -116,7 +116,7 @@
 
 #### Release packages
 
-Packages for Arch Linux, CentOS, Debian, Fedora, openSUSE Leap and Ubuntu are 
available with the [latest stable 
release](https://github.com/jarun/googler/releases/latest).
+Packages for Arch Linux, CentOS, Debian, Fedora, openSUSE and Ubuntu are 
available with the [latest stable 
release](https://github.com/jarun/googler/releases/latest).
 
 #### From source
 
@@ -144,7 +144,7 @@
 
 To install the latest stable version, run
 
-    $ sudo curl -o /usr/local/bin/googler 
https://raw.githubusercontent.com/jarun/googler/v3.9/googler && sudo chmod +x 
/usr/local/bin/googler
+    $ sudo curl -o /usr/local/bin/googler 
https://raw.githubusercontent.com/jarun/googler/v4.0/googler && sudo chmod +x 
/usr/local/bin/googler
 
 You could then let googler upgrade itself by running
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/googler new/googler-4.0/googler
--- old/googler-3.9/googler     2019-05-30 05:07:26.000000000 +0200
+++ new/googler-4.0/googler     2019-11-26 22:49:05.000000000 +0100
@@ -55,6 +55,21 @@
 except (ImportError, Exception):
     pass
 
+from typing import (
+    Any,
+    Dict,
+    Generator,
+    Iterable,
+    Iterator,
+    List,
+    Match,
+    Optional,
+    Sequence,
+    Tuple,
+    Union,
+    cast,
+)
+
 # Basic setup
 
 logging.basicConfig(format='[%(levelname)s] %(message)s')
@@ -74,7 +89,7 @@
 
 # Constants
 
-_VERSION_ = '3.9'
+_VERSION_ = '4.0'
 
 COLORMAP = {k: '\x1b[%sm' % v for k, v in {
     'a': '30', 'b': '31', 'c': '32', 'd': '33',
@@ -88,7 +103,7 @@
     'x': '0', 'X': '1', 'y': '7', 'Y': '7;1',
 }.items()}
 
-USER_AGENT = 'googler/%s (like MSIE)' % _VERSION_
+USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
 
 text_browsers = ['elinks', 'links', 'lynx', 'w3m', 'www-browser']
 
@@ -152,6 +167,98 @@
 monkeypatch_textwrap_for_cjk()
 
 
+CoordinateType = Tuple[int, int]
+
+
+class TrackedTextwrap:
+    """
+    Implements a text wrapper that tracks the position of each source
+    character, and can correctly insert zero-width sequences at given
+    offsets of the source text.
+
+    Wrapping result should be the same as that from PSL textwrap.wrap
+    with default settings except expand_tabs=False.
+    """
+
+    def __init__(self, text: str, width: int):
+        self._original = text
+
+        # Do the job of replace_whitespace first so that we can easily
+        # match text to wrapped lines later. Note that this operation
+        # does not change text length or offsets.
+        whitespace = "\t\n\v\f\r "
+        whitespace_trans = str.maketrans(whitespace, " " * len(whitespace))
+        text = text.translate(whitespace_trans)
+
+        self._lines = textwrap.wrap(
+            text, width, expand_tabs=False, replace_whitespace=False
+        )
+
+        # self._coords track the (row, column) coordinate of each source
+        # character in the result text. It is indexed by offset in
+        # source text.
+        self._coords = []  # type: List[CoordinateType]
+        offset = 0
+        try:
+            if not self._lines:
+                # Source text only has whitespaces. We add an empty line
+                # in order to produce meaningful coordinates.
+                self._lines = [""]
+            for row, line in enumerate(self._lines):
+                assert text[offset : offset + len(line)] == line
+                col = 0
+                for _ in line:
+                    self._coords.append((row, col))
+                    offset += 1
+                    col += 1
+                # All subsequent dropped whitespaces map to the last, 
imaginary column
+                # (the EOL character if you wish) of the current line.
+                while offset < len(text) and text[offset] == " ":
+                    self._coords.append((row, col))
+                    offset += 1
+            # One past the final character (think of it as EOF) should
+            # be treated as a valid offset.
+            self._coords.append((row, col))
+        except AssertionError:
+            raise RuntimeError(
+                "TrackedTextwrap: the impossible happened at offset {} of text 
{!r}".format(
+                    offset, self._original
+                )
+            )
+
+    # seq should be a zero-width sequence, e.g., an ANSI escape sequence.
+    # May raise IndexError if offset is out of bounds.
+    def insert_zero_width_sequence(self, seq: str, offset: int) -> None:
+        row, col = self._coords[offset]
+        line = self._lines[row]
+        self._lines[row] = line[:col] + seq + line[col:]
+
+        # Shift coordinates of all characters after the given character
+        # on the same line.
+        shift = len(seq)
+        offset += 1
+        while offset < len(self._coords) and self._coords[offset][0] == row:
+            _, col = self._coords[offset]
+            self._coords[offset] = (row, col + shift)
+            offset += 1
+
+    @property
+    def original(self) -> str:
+        return self._original
+
+    @property
+    def lines(self) -> List[str]:
+        return self._lines
+
+    @property
+    def wrapped(self) -> str:
+        return "\n".join(self._lines)
+
+    # May raise IndexError if offset is out of bounds.
+    def get_coordinate(self, offset: int) -> CoordinateType:
+        return self._coords[offset]
+
+
 ### begin dim (DOM implementation with CSS support) ###
 ### https://github.com/zmwangx/dim/blob/master/dim.py ###
 
@@ -162,34 +269,6 @@
 from enum import Enum
 from html.parser import HTMLParser
 
-try:
-    from typing import (
-        Any,
-        Dict,
-        Generator,
-        Iterable,
-        Iterator,
-        List,
-        Match,
-        Optional,
-        Tuple,
-        Union,
-        cast,
-    )
-except ImportError:  # pragma: no cover
-    # Python 3.4 without external typing module
-
-    class _TypeStub:
-        def __getitem__(self, _):  # type: ignore
-            return None
-
-    Any = None
-    Dict = Generator = Iterable = Iterator = List = Match = _TypeStub()  # 
type: ignore
-    Optional = Tuple = Union = _TypeStub()  # type: ignore
-
-    def cast(typ, val):  # type: ignore
-        return val
-
 
 SelectorGroupLike = Union[str, "SelectorGroup", "Selector"]
 
@@ -437,16 +516,16 @@
     def __init__(
         self,
         tag: str,
-        attrs: Iterable[Tuple[str, str]],
+        attrs: Iterable[Tuple[str, Optional[str]]],
         *,
         parent: Optional["Node"] = None,
-        children: Optional[List["Node"]] = None
+        children: Optional[Sequence["Node"]] = None
     ) -> None:
         Node.__init__(self)
         self.tag = tag.lower()  # type: str
-        self.attrs = OrderedDict((attr.lower(), val) for attr, val in attrs)
+        self.attrs = OrderedDict((attr.lower(), val or "") for attr, val in 
attrs)
         self.parent = parent
-        self.children = children or []
+        self.children = list(children or [])
 
     def __repr__(self) -> str:
         s = "<" + self.tag
@@ -582,7 +661,9 @@
         super().__init__(convert_charrefs=True)
         self._stack = []  # type: List[Node]
 
-    def handle_starttag(self, tag: str, attrs: List[Tuple[str, str]]) -> None:
+    def handle_starttag(
+        self, tag: str, attrs: Sequence[Tuple[str, Optional[str]]]
+    ) -> None:
         node = ElementNode(tag, attrs)
         node._partial = True
         self._stack.append(node)
@@ -614,7 +695,9 @@
     # handle_starttag only, whereas the latter triggers
     # handle_startendtag (which by default triggers both handle_starttag
     # and handle_endtag). See https://www.bugs.python.org/issue25258.
-    def handle_startendtag(self, tag: str, attrs: List[Tuple[str, str]]) -> 
None:
+    def handle_startendtag(
+        self, tag: str, attrs: Sequence[Tuple[str, Optional[str]]]
+    ) -> None:
         self.handle_starttag(tag, attrs)
 
     def handle_data(self, text: str) -> None:
@@ -848,16 +931,16 @@
         self,
         *,
         tag: Optional[str] = None,
-        classes: Optional[List[str]] = None,
+        classes: Optional[Sequence[str]] = None,
         id: Optional[str] = None,
-        attrs: Optional[List["AttributeSelector"]] = None,
+        attrs: Optional[Sequence["AttributeSelector"]] = None,
         combinator: Optional["Combinator"] = None,
         previous: Optional["Selector"] = None
     ) -> None:
         self.tag = tag.lower() if tag else None
-        self.classes = classes or []
+        self.classes = list(classes or [])
         self.id = id
-        self.attrs = attrs or []
+        self.attrs = list(attrs or [])
         self.combinator = combinator
         self.previous = previous
 
@@ -2114,21 +2197,29 @@
                 # Skip smart cards.
                 continue
             try:
-                h3 = div_g.select('h3.r')
-                a = h3.select('a')
-                title = a.text
-                mime = div_g.select('.mime')
-                if mime:
-                    title = mime.text + ' ' + title
-                url = self.unwrap_link(a.attr('href'))
+                h3 = div_g.select('div.r h3')
+                if h3:
+                    title = h3.text
+                    url = self.unwrap_link(h3.parent.attr('href'))
+                else:
+                    h3 = div_g.select('h3.r')
+                    a = h3.select('a')
+                    title = a.text
+                    mime = div_g.select('.mime')
+                    if mime:
+                        title = mime.text + ' ' + title
+                    url = self.unwrap_link(a.attr('href'))
                 matched_keywords = []
                 abstract = ''
                 for childnode in div_g.select('.st').children:
+                    if 'f' in childnode.classes:
+                        # .f is handled as metadata instead.
+                        continue
                     if childnode.tag == 'b' and childnode.text != '...':
-                            matched_keywords.append({'phrase': childnode.text, 
'offset': len(abstract)})
+                        matched_keywords.append({'phrase': childnode.text, 
'offset': len(abstract)})
                     abstract = abstract + childnode.text.replace('\n', '')
                 try:
-                    metadata = div_g.select('.slp').text
+                    metadata = div_g.select('.f').text
                     metadata = metadata.replace('\u200e', '').replace(' - ', 
', ').strip()
                 except AttributeError:
                     metadata = None
@@ -2152,10 +2243,12 @@
         # Search instead for ...
         spell_orig = tree.select("span.spell_orig")
         if spell_orig:
-            self.autocorrected = True
-            self.showing_results_for = next(
+            showing_results_for_link = next(
                 filter(lambda el: el.tag == "a", 
spell_orig.previous_siblings()), None
-            ).text
+            )
+            if showing_results_for_link:
+                self.autocorrected = True
+                self.showing_results_for = showing_results_for_link.text
 
         # No results found for ...
         # Results for ...:
@@ -2171,14 +2264,14 @@
         self.filtered = tree.select('p#ofr') is not None
 
     # Unwraps /url?q=http://...&sa=...
-    # May raise ValueError.
+    # TODO: don't unwrap if URL isn't in this form.
     @staticmethod
     def unwrap_link(link):
         qs = urllib.parse.urlparse(link).query
         try:
             url = urllib.parse.parse_qs(qs)['q'][0]
         except KeyError:
-            raise ValueError(link)
+            return link
         else:
             if "://" in url:
                 return url
@@ -2262,7 +2355,7 @@
             self._urltable[fullindex] = sitelink.url
             subindex = chr(ord(subindex) + 1)
 
-    def _print_title_and_url(self, index, title, url, indent=3, pre=0):
+    def _print_title_and_url(self, index, title, url, indent=0):
         colors = self.colors
 
         if not self.urlexpand:
@@ -2270,20 +2363,20 @@
 
         if colors:
             # Adjust index to print result index clearly
-            print(" %s%s%-*s%s" % (' ' * pre, colors.index, indent, index + 
'.', colors.reset), end='')
+            print(" %s%s%-3s%s" % (' ' * indent, colors.index, index + '.', 
colors.reset), end='')
             if not self.urlexpand:
                 print(' ' + colors.title + title + colors.reset + ' ' + 
colors.url + url + colors.reset)
             else:
                 print(' ' + colors.title + title + colors.reset)
-                print(' ' * (indent + 2 + pre) + colors.url + url + 
colors.reset)
+                print(' ' * (indent + 5) + colors.url + url + colors.reset)
         else:
             if self.urlexpand:
-                print(' %s%-*s %s' % (' ' * pre, indent, index + '.', title))
-                print(' %s%s' % (' ' * (indent + 1 + pre), url))
+                print(' %s%-3s %s' % (' ' * indent, index + '.', title))
+                print(' %s%s' % (' ' * (indent + 4), url))
             else:
-                print(' %s%-*s %s %s' % (' ' * pre, indent, index + '.', 
title, url))
+                print(' %s%-3s %s %s' % (' ' * indent, index + '.', title, 
url))
 
-    def _print_metadata_and_abstract(self, abstract, metadata=None, 
matches=None, indent=5, pre=0):
+    def _print_metadata_and_abstract(self, abstract, metadata=None, 
matches=None, indent=0):
         colors = self.colors
         try:
             columns, _ = os.get_terminal_size()
@@ -2292,31 +2385,27 @@
 
         if metadata:
             if colors:
-                print(' ' * (indent + pre) + colors.metadata + metadata + 
colors.reset)
+                print(' ' * (indent + 5) + colors.metadata + metadata + 
colors.reset)
             else:
-                print(' ' * (indent + pre) + metadata)
+                print(' ' * (indent + 5) + metadata)
+
+        fillwidth = (columns - (indent + 6)) if columns > indent + 6 else 
len(abstract)
+        wrapped_abstract = TrackedTextwrap(abstract, fillwidth)
+        if colors:
+            # Highlight matches.
+            for match in matches or []:
+                offset = match['offset']
+                span = len(match['phrase'])
+                wrapped_abstract.insert_zero_width_sequence('\x1b[1m', offset)
+                wrapped_abstract.insert_zero_width_sequence('\x1b[0m', offset 
+ span)
 
         if colors:
-            # Start from the last match, as inserting the bold characters 
changes the offsets.
-            for match in reversed(matches or []):
-                abstract = (
-                    abstract[: match['offset']]
-                    + '\033[1m'
-                    + match['phrase']
-                    + '\033[0m'
-                    + abstract[match['offset'] + len(match['phrase']) :]
-                )
             print(colors.abstract, end='')
-        if columns > indent + 1 + pre:
-            # Try to fill to columns
-            fillwidth = columns - indent - 1
-            for line in textwrap.wrap(abstract.replace('\n', ''), 
width=fillwidth):
-                print('%s%s' % (' ' * (indent + pre), line))
-            print('')
-        else:
-            print('%s%s\n' % (' ' * pre, abstract.replace('\n', ' ')))
+        for line in wrapped_abstract.lines:
+            print('%s%s' % (' ' * (indent + 5), line))
         if colors:
             print(colors.reset, end='')
+        print('')
 
     def print(self):
         """Print the result entry."""
@@ -2324,8 +2413,8 @@
         self._print_metadata_and_abstract(self.abstract, 
metadata=self.metadata, matches=self.matches)
 
         for sitelink in self.sitelinks:
-            self._print_title_and_url(sitelink.index, sitelink.title, 
sitelink.url, pre=4)
-            self._print_metadata_and_abstract(sitelink.abstract, pre=4)
+            self._print_title_and_url(sitelink.index, sitelink.title, 
sitelink.url, indent=4)
+            self._print_metadata_and_abstract(sitelink.abstract, indent=4)
 
     def jsonizable_object(self):
         """Return a JSON-serializable dict representing the result entry."""
@@ -2445,6 +2534,8 @@
 
         self.promptcolor = True if os.getenv('DISABLE_PROMPT_COLOR') is None 
else False
 
+        self.no_results_instructions_shown = False
+
     @property
     def options(self):
         """Current options."""
@@ -2492,6 +2583,13 @@
         for r in self.results:
             self._urltable.update(r.urltable())
 
+    def warn_no_results(self):
+        printerr('No results.')
+        if not self.no_results_instructions_shown:
+            printerr('If you believe this is a bug, please review '
+                     'https://git.io/googler-no-results before submitting a 
bug report.')
+            self.no_results_instructions_shown = True
+
     @require_keywords
     def display_results(self, prelude='\n', json_output=False):
         """Display results stored in ``self.results``.
@@ -2509,7 +2607,7 @@
         else:
             # Regular output
             if not self.results:
-                print('No results.', file=sys.stderr)
+                self.warn_no_results()
             else:
                 sys.stderr.write(prelude)
                 for r in self.results:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/googler.1 new/googler-4.0/googler.1
--- old/googler-3.9/googler.1   2019-05-30 05:07:26.000000000 +0200
+++ new/googler-4.0/googler.1   2019-11-26 22:49:05.000000000 +0100
@@ -1,4 +1,4 @@
-.TH "GOOGLER" "1" "30 May 2019" "Version 3.9" "User Commands"
+.TH "GOOGLER" "1" "27 Nov 2019" "Version 4.0" "User Commands"
 .SH NAME
 googler \- Google from the command-line
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/packagecore.yaml 
new/googler-4.0/packagecore.yaml
--- old/googler-3.9/packagecore.yaml    2019-05-30 05:07:26.000000000 +0200
+++ new/googler-4.0/packagecore.yaml    1970-01-01 01:00:00.000000000 +0100
@@ -1,93 +0,0 @@
-name: googler
-maintainer: Arun Prakash Jana <[email protected]>
-license: GPLv3
-summary: Google from the command-line.
-homepage: https://github.com/jarun/googler
-commands:
-  install:
-    - make PREFIX="/usr" install DESTDIR="${BP_DESTDIR}"
-packages:
-  archlinux:
-    builddeps:
-      - make
-    deps:
-      - python
-    container: "archlinux/base"
-  centos7.4:
-    builddeps:
-      - make
-    deps:
-      - python
-    commands:
-      pre:
-        - yum install epel-release
-  centos7.5:
-    builddeps:
-      - make
-    deps:
-      - python
-  centos7.6:
-    builddeps:
-      - make
-    deps:
-      - python
-  debian8:
-    builddeps:
-      - make
-    deps:
-      - python3
-  debian9:
-    builddeps:
-      - make
-    deps:
-      - python3
-  fedora25:
-    builddeps:
-      - make
-    deps:
-      - python3
-  fedora26:
-    builddeps:
-      - make
-    deps:
-      - python3
-  fedora27:
-    builddeps:
-      - make
-    deps:
-      - python3
-  fedora28:
-    builddeps:
-      - make
-    deps:
-      - python3
-  fedora29:
-    builddeps:
-      - make
-    deps:
-      - python3
-  fedora30:
-    builddeps:
-      - make
-    deps:
-      - python3
-  opensuse42.3:
-    builddeps:
-      - make
-    deps:
-      - python3
-  ubuntu14.04:
-    builddeps:
-      - make
-    deps:
-      - python3
-  ubuntu16.04:
-    builddeps:
-      - make
-    deps:
-      - python3
-  ubuntu18.04:
-    builddeps:
-      - make
-    deps:
-      - python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/tests/packagecore/packagecore.yaml 
new/googler-4.0/tests/packagecore/packagecore.yaml
--- old/googler-3.9/tests/packagecore/packagecore.yaml  1970-01-01 
01:00:00.000000000 +0100
+++ new/googler-4.0/tests/packagecore/packagecore.yaml  2019-11-26 
22:49:05.000000000 +0100
@@ -0,0 +1,100 @@
+name: googler
+maintainer: Arun Prakash Jana <[email protected]>
+license: GPLv3
+summary: Google from the command-line.
+homepage: https://github.com/jarun/googler
+commands:
+  install:
+    - make PREFIX="/usr" install DESTDIR="${BP_DESTDIR}"
+packages:
+  archlinux:
+    builddeps:
+      - make
+    deps:
+      - python
+    container: "archlinux/base"
+  centos7.5:
+    builddeps:
+      - make
+    deps:
+      - python
+  centos7.6:
+    builddeps:
+      - make
+    deps:
+      - python
+  debian8:
+    builddeps:
+      - make
+    deps:
+      - python3
+  debian9:
+    builddeps:
+      - make
+    deps:
+      - python3
+  debian10:
+    builddeps:
+      - make
+    deps:
+      - python3
+  fedora25:
+    builddeps:
+      - make
+    deps:
+      - python3
+  fedora26:
+    builddeps:
+      - make
+    deps:
+      - python3
+  fedora27:
+    builddeps:
+      - make
+    deps:
+      - python3
+  fedora28:
+    builddeps:
+      - make
+    deps:
+      - python3
+  fedora29:
+    builddeps:
+      - make
+    deps:
+      - python3
+  fedora30:
+    builddeps:
+      - make
+    deps:
+      - python3
+  fedora31:
+    builddeps:
+      - make
+    deps:
+      - python3
+  opensuse42.3:
+    builddeps:
+      - make
+    deps:
+      - python3
+  opensuse15.0:
+    builddeps:
+      - make
+    deps:
+      - python3
+  ubuntu14.04:
+    builddeps:
+      - make
+    deps:
+      - python3
+  ubuntu16.04:
+    builddeps:
+      - make
+    deps:
+      - python3
+  ubuntu18.04:
+    builddeps:
+      - make
+    deps:
+      - python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/googler-3.9/tests/test new/googler-4.0/tests/test
--- old/googler-3.9/tests/test  2019-05-30 05:07:26.000000000 +0200
+++ new/googler-4.0/tests/test  2019-11-26 22:49:05.000000000 +0100
@@ -105,7 +105,7 @@
         printf 'failed with status %d.\033[0m\n' $last_status >&2
         exitcode=1
 
-        (( rerun )) && { googler --noprompt -d "$@"; printf '\n\033[33m[Exit 
status] %d\033[0m\n' $?; } || :
+        (( rerun )) && { $googler --noprompt -d "$@"; printf '\n\033[33m[Exit 
status] %d\033[0m\n' $?; } || :
     }
 
     declare -g quiet


Reply via email to