Your message dated Tue, 17 Dec 2024 15:19:31 +0000
with message-id <e1tnzmb-005n64...@fasolo.debian.org>
and subject line Bug#1090169: fixed in servefile 0.5.4-3.2
has caused the Debian Bug report #1090169,
regarding servefile: FTBFS: ModuleNotFoundError: No module named 'cgi'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1090169: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1090169
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: src:servefile
Version: 0.5.4-3.1
Severity: serious
Tags: ftbfs

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules binary
dh binary --with python3 --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:311: python3.13 setup.py config 
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: 
Unknown distribution option: 'tests_require'
  warnings.warn(msg)
running config
I: pybuild base:311: python3.12 setup.py config 
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: 
Unknown distribution option: 'tests_require'
  warnings.warn(msg)
running config
   dh_auto_build -O--buildsystem=pybuild

[... snipped ...]

                    self._raise_timeout(
                        err=e, url=self.proxy.url, timeout_value=conn.timeout
                    )
                    raise
    
            # If we're going to release the connection in ``finally:``, then
            # the response doesn't need to know about the connection. Otherwise
            # it will also try to release it and we'll have a double-release
            # mess.
            response_conn = conn if not release_conn else None
    
            # Make the request on the HTTPConnection object
>           response = self._make_request(
                conn,
                method,
                url,
                timeout=timeout_obj,
                body=body,
                headers=headers,
                chunked=chunked,
                retries=retries,
                response_conn=response_conn,
                preload_content=preload_content,
                decode_content=decode_content,
                **response_kw,
            )

/usr/lib/python3/dist-packages/urllib3/connectionpool.py:789: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:490: in _make_request
    raise new_e
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:466: in _make_request
    self._validate_conn(conn)
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:1095: in _validate_conn
    conn.connect()
/usr/lib/python3/dist-packages/urllib3/connection.py:693: in connect
    self.sock = sock = self._new_conn()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <urllib3.connection.HTTPSConnection object at 0x7f5c845c6850>

    def _new_conn(self) -> socket.socket:
        """Establish a socket connection and set nodelay settings on it.
    
        :return: New socket connection.
        """
        try:
            sock = connection.create_connection(
                (self._dns_host, self.port),
                self.timeout,
                source_address=self.source_address,
                socket_options=self.socket_options,
            )
        except socket.gaierror as e:
            raise NameResolutionError(self.host, self, e) from e
        except SocketTimeout as e:
            raise ConnectTimeoutError(
                self,
                f"Connection to {self.host} timed out. (connect 
timeout={self.timeout})",
            ) from e
    
        except OSError as e:
>           raise NewConnectionError(
                self, f"Failed to establish a new connection: {e}"
            ) from e
E           urllib3.exceptions.NewConnectionError: 
<urllib3.connection.HTTPSConnection object at 0x7f5c845c6850>: Failed to 
establish a new connection: [Errno 111] Connection refused

/usr/lib/python3/dist-packages/urllib3/connection.py:214: NewConnectionError

The above exception was the direct cause of the following exception:

self = <requests.adapters.HTTPAdapter object at 0x7f5c8446a750>
request = <PreparedRequest [GET]>, stream = False
timeout = Timeout(connect=None, read=None, total=None), verify = False
cert = None, proxies = OrderedDict()

    def send(
        self, request, stream=False, timeout=None, verify=True, cert=None, 
proxies=None
    ):
        """Sends PreparedRequest object. Returns Response object.
    
        :param request: The :class:`PreparedRequest <PreparedRequest>` being 
sent.
        :param stream: (optional) Whether to stream the request content.
        :param timeout: (optional) How long to wait for the server to send
            data before giving up, as a float, or a :ref:`(connect timeout,
            read timeout) <timeouts>` tuple.
        :type timeout: float or tuple or urllib3 Timeout object
        :param verify: (optional) Either a boolean, in which case it controls 
whether
            we verify the server's TLS certificate, or a string, in which case 
it
            must be a path to a CA bundle to use
        :param cert: (optional) Any user-provided SSL certificate to be trusted.
        :param proxies: (optional) The proxies dictionary to apply to the 
request.
        :rtype: requests.Response
        """
    
        try:
            conn = self.get_connection_with_tls_context(
                request, verify, proxies=proxies, cert=cert
            )
        except LocationValueError as e:
            raise InvalidURL(e, request=request)
    
        self.cert_verify(conn, request.url, verify, cert)
        url = self.request_url(request, proxies)
        self.add_headers(
            request,
            stream=stream,
            timeout=timeout,
            verify=verify,
            cert=cert,
            proxies=proxies,
        )
    
        chunked = not (request.body is None or "Content-Length" in 
request.headers)
    
        if isinstance(timeout, tuple):
            try:
                connect, read = timeout
                timeout = TimeoutSauce(connect=connect, read=read)
            except ValueError:
                raise ValueError(
                    f"Invalid timeout {timeout}. Pass a (connect, read) timeout 
tuple, "
                    f"or a single float to set both timeouts to the same value."
                )
        elif isinstance(timeout, TimeoutSauce):
            pass
        else:
            timeout = TimeoutSauce(connect=timeout, read=timeout)
    
        try:
>           resp = conn.urlopen(
                method=request.method,
                url=url,
                body=request.body,
                headers=request.headers,
                redirect=False,
                assert_same_host=False,
                preload_content=False,
                decode_content=False,
                retries=self.max_retries,
                timeout=timeout,
                chunked=chunked,
            )

/usr/lib/python3/dist-packages/requests/adapters.py:667: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:843: in urlopen
    retries = retries.increment(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Retry(total=0, connect=None, read=False, redirect=None, status=None)
method = 'GET', url = '/', response = None
error = NewConnectionError('<urllib3.connection.HTTPSConnection object at 
0x7f5c845c6850>: Failed to establish a new connection: [Errno 111] Connection 
refused')
_pool = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f5c843dad70>
_stacktrace = <traceback object at 0x7f5c83ec1580>

    def increment(
        self,
        method: str | None = None,
        url: str | None = None,
        response: BaseHTTPResponse | None = None,
        error: Exception | None = None,
        _pool: ConnectionPool | None = None,
        _stacktrace: TracebackType | None = None,
    ) -> Self:
        """Return a new Retry object with incremented retry counters.
    
        :param response: A response object, or None, if the server did not
            return a response.
        :type response: :class:`~urllib3.response.BaseHTTPResponse`
        :param Exception error: An error encountered during the request, or
            None if the response was received successfully.
    
        :return: A new ``Retry`` object.
        """
        if self.total is False and error:
            # Disabled, indicate to re-raise the error.
            raise reraise(type(error), error, _stacktrace)
    
        total = self.total
        if total is not None:
            total -= 1
    
        connect = self.connect
        read = self.read
        redirect = self.redirect
        status_count = self.status
        other = self.other
        cause = "unknown"
        status = None
        redirect_location = None
    
        if error and self._is_connection_error(error):
            # Connect retry?
            if connect is False:
                raise reraise(type(error), error, _stacktrace)
            elif connect is not None:
                connect -= 1
    
        elif error and self._is_read_error(error):
            # Read retry?
            if read is False or method is None or not 
self._is_method_retryable(method):
                raise reraise(type(error), error, _stacktrace)
            elif read is not None:
                read -= 1
    
        elif error:
            # Other retry?
            if other is not None:
                other -= 1
    
        elif response and response.get_redirect_location():
            # Redirect retry?
            if redirect is not None:
                redirect -= 1
            cause = "too many redirects"
            response_redirect_location = response.get_redirect_location()
            if response_redirect_location:
                redirect_location = response_redirect_location
            status = response.status
    
        else:
            # Incrementing because of a server error like a 500 in
            # status_forcelist and the given method is in the allowed_methods
            cause = ResponseError.GENERIC_ERROR
            if response and response.status:
                if status_count is not None:
                    status_count -= 1
                cause = 
ResponseError.SPECIFIC_ERROR.format(status_code=response.status)
                status = response.status
    
        history = self.history + (
            RequestHistory(method, url, error, status, redirect_location),
        )
    
        new_retry = self.new(
            total=total,
            connect=connect,
            read=read,
            redirect=redirect,
            status=status_count,
            other=other,
            history=history,
        )
    
        if new_retry.is_exhausted():
            reason = error or ResponseError(cause)
>           raise MaxRetryError(_pool, url, reason) from reason  # type: 
> ignore[arg-type]
E           urllib3.exceptions.MaxRetryError: 
HTTPSConnectionPool(host='localhost', port=40953): Max retries exceeded with 
url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection 
object at 0x7f5c845c6850>: Failed to establish a new connection: [Errno 111] 
Connection refused'))

/usr/lib/python3/dist-packages/urllib3/util/retry.py:519: MaxRetryError

During handling of the above exception, another exception occurred:

run_servefile = <function run_servefile.<locals>._run_servefile at 
0x7f5c84442de0>
datadir = <function datadir.<locals>._datadir at 0x7f5c84443a60>

    def test_https_big_download(run_servefile, datadir):
        # test with about 10 mb of data
        data = "x" * (10 * 1024 ** 2)
        p = datadir({'testfile': data}) / 'testfile'
        run_servefile(['--ssl', str(p)])
    
        urllib3.disable_warnings()
>       _retry_while(ConnectionError, check_download)(data, protocol='https', 
> verify=False)

tests/test_servefile.py:437: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_servefile.py:127: in wrapped
    return function(*args, **kwargs)
tests/test_servefile.py:109: in check_download
    r = make_request(path, **kwargs)
tests/test_servefile.py:98: in make_request
    r = getattr(requests, method)(url, **kwargs)
/usr/lib/python3/dist-packages/requests/api.py:73: in get
    return request("get", url, params=params, **kwargs)
/usr/lib/python3/dist-packages/requests/api.py:59: in request
    return session.request(method=method, url=url, **kwargs)
/usr/lib/python3/dist-packages/requests/sessions.py:589: in request
    resp = self.send(prep, **send_kwargs)
/usr/lib/python3/dist-packages/requests/sessions.py:703: in send
    r = adapter.send(request, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <requests.adapters.HTTPAdapter object at 0x7f5c8446a750>
request = <PreparedRequest [GET]>, stream = False
timeout = Timeout(connect=None, read=None, total=None), verify = False
cert = None, proxies = OrderedDict()

    def send(
        self, request, stream=False, timeout=None, verify=True, cert=None, 
proxies=None
    ):
        """Sends PreparedRequest object. Returns Response object.
    
        :param request: The :class:`PreparedRequest <PreparedRequest>` being 
sent.
        :param stream: (optional) Whether to stream the request content.
        :param timeout: (optional) How long to wait for the server to send
            data before giving up, as a float, or a :ref:`(connect timeout,
            read timeout) <timeouts>` tuple.
        :type timeout: float or tuple or urllib3 Timeout object
        :param verify: (optional) Either a boolean, in which case it controls 
whether
            we verify the server's TLS certificate, or a string, in which case 
it
            must be a path to a CA bundle to use
        :param cert: (optional) Any user-provided SSL certificate to be trusted.
        :param proxies: (optional) The proxies dictionary to apply to the 
request.
        :rtype: requests.Response
        """
    
        try:
            conn = self.get_connection_with_tls_context(
                request, verify, proxies=proxies, cert=cert
            )
        except LocationValueError as e:
            raise InvalidURL(e, request=request)
    
        self.cert_verify(conn, request.url, verify, cert)
        url = self.request_url(request, proxies)
        self.add_headers(
            request,
            stream=stream,
            timeout=timeout,
            verify=verify,
            cert=cert,
            proxies=proxies,
        )
    
        chunked = not (request.body is None or "Content-Length" in 
request.headers)
    
        if isinstance(timeout, tuple):
            try:
                connect, read = timeout
                timeout = TimeoutSauce(connect=connect, read=read)
            except ValueError:
                raise ValueError(
                    f"Invalid timeout {timeout}. Pass a (connect, read) timeout 
tuple, "
                    f"or a single float to set both timeouts to the same value."
                )
        elif isinstance(timeout, TimeoutSauce):
            pass
        else:
            timeout = TimeoutSauce(connect=timeout, read=timeout)
    
        try:
            resp = conn.urlopen(
                method=request.method,
                url=url,
                body=request.body,
                headers=request.headers,
                redirect=False,
                assert_same_host=False,
                preload_content=False,
                decode_content=False,
                retries=self.max_retries,
                timeout=timeout,
                chunked=chunked,
            )
    
        except (ProtocolError, OSError) as err:
            raise ConnectionError(err, request=request)
    
        except MaxRetryError as e:
            if isinstance(e.reason, ConnectTimeoutError):
                # TODO: Remove this in 3.0.0: see #2811
                if not isinstance(e.reason, NewConnectionError):
                    raise ConnectTimeout(e, request=request)
    
            if isinstance(e.reason, ResponseError):
                raise RetryError(e, request=request)
    
            if isinstance(e.reason, _ProxyError):
                raise ProxyError(e, request=request)
    
            if isinstance(e.reason, _SSLError):
                # This branch is for urllib3 v1.22 and later.
                raise SSLError(e, request=request)
    
>           raise ConnectionError(e, request=request)
E           requests.exceptions.ConnectionError: 
HTTPSConnectionPool(host='localhost', port=40953): Max retries exceeded with 
url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection 
object at 0x7f5c845c6850>: Failed to establish a new connection: [Errno 111] 
Connection refused'))

/usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError
----------------------------- Captured stdout call -----------------------------
running -m, servefile with args ['--ssl', 
'/tmp/pytest-of-buildd/pytest-0/test_https_big_download0/testfile', '-p', 
'40953']
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
Calling get on https://localhost:40953/ with {'verify': False}
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_servefile/build/servefile/__main__.py",
 line 1, in <module>
    from . import servefile
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_servefile/build/servefile/servefile.py",
 line 49, in <module>
    import cgi
ModuleNotFoundError: No module named 'cgi'
_____________________________ test_abort_download ______________________________

run_servefile = <function run_servefile.<locals>._run_servefile at 
0x7f5c84442340>
datadir = <function datadir.<locals>._datadir at 0x7f5c84442fc0>

    def test_abort_download(run_servefile, datadir):
        data = "x" * (10 * 1024 ** 2)
        p = datadir({'testfile': data}) / 'testfile'
        env = os.environ.copy()
        env['PYTHONUNBUFFERED'] = '1'
        proc = run_servefile(str(p), stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT, env=env)
    
        # provoke a connection abort
        # hopefully the buffers will not fill up with all of the 10mb
        sock = socket.socket(socket.AF_INET)
>       _retry_while(connrefused_exc, sock.connect)(("localhost", 
> SERVEFILE_DEFAULT_PORT))

tests/test_servefile.py:450: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

args = (('localhost', 40953),), kwargs = {}, timeout_after = 1734196301.7870321

    def wrapped(*args, **kwargs):
        timeout_after = now() + timeout
        while True:
            try:
>               return function(*args, **kwargs)
E               ConnectionRefusedError: [Errno 111] Connection refused

tests/test_servefile.py:127: ConnectionRefusedError
----------------------------- Captured stdout call -----------------------------
running -m, servefile with args 
['/tmp/pytest-of-buildd/pytest-0/test_abort_download0/testfile', '-p', '40953']
=========================== short test summary info ============================
FAILED tests/test_servefile.py::test_version - AssertionError: assert 'Traceb...
FAILED tests/test_servefile.py::test_version_standalone - AssertionError: ass...
FAILED tests/test_servefile.py::test_correct_headers - requests.exceptions.Co...
FAILED tests/test_servefile.py::test_redirect_and_download - requests.excepti...
FAILED tests/test_servefile.py::test_redirect_and_download_with_umlaut - requ...
FAILED tests/test_servefile.py::test_specify_port - requests.exceptions.Conne...
FAILED tests/test_servefile.py::test_ipv4_only - requests.exceptions.Connecti...
FAILED tests/test_servefile.py::test_big_download - requests.exceptions.Conne...
FAILED tests/test_servefile.py::test_authentication - requests.exceptions.Con...
FAILED tests/test_servefile.py::test_serve_directory - requests.exceptions.Co...
FAILED tests/test_servefile.py::test_serve_relative_directory - requests.exce...
FAILED tests/test_servefile.py::test_upload - requests.exceptions.ConnectionE...
FAILED tests/test_servefile.py::test_upload_size_limit - requests.exceptions....
FAILED tests/test_servefile.py::test_upload_large_file - requests.exceptions....
FAILED tests/test_servefile.py::test_tar_mode - requests.exceptions.Connectio...
FAILED tests/test_servefile.py::test_tar_compression - requests.exceptions.Co...
FAILED tests/test_servefile.py::test_https - requests.exceptions.ConnectionEr...
FAILED tests/test_servefile.py::test_https_big_download - requests.exceptions...
FAILED tests/test_servefile.py::test_abort_download - ConnectionRefusedError:...
============================= 19 failed in 35.81s ==============================
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_servefile/build; python3.13 -m pytest 
tests
I: pybuild base:311: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_servefile/build; python3.12 -m pytest 
tests
============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.4.1
collected 19 items

tests/test_servefile.py ...................                              [100%]

============================== 19 passed in 2.51s ==============================
dh_auto_test: error: pybuild --test -i python{version} -p "3.13 3.12" 
--test-pytest returned exit code 13
make[1]: *** [debian/rules:11: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:8: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202412/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.

--- End Message ---
--- Begin Message ---
Source: servefile
Source-Version: 0.5.4-3.2
Done: Alexandre Detiste <tc...@debian.org>

We believe that the bug you reported is fixed in the latest version of
servefile, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1090...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alexandre Detiste <tc...@debian.org> (supplier of updated servefile package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 17 Dec 2024 16:08:35 +0100
Source: servefile
Architecture: source
Version: 0.5.4-3.2
Distribution: unstable
Urgency: medium
Maintainer: Sebastian Lohff <s...@someserver.de>
Changed-By: Alexandre Detiste <tc...@debian.org>
Closes: 1090169
Changes:
 servefile (0.5.4-3.2) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * The "cgi" module has been removed from Python 3.13,
     depends on python3-legacy-cgi instead (Closes: #1090169)
Checksums-Sha1:
 33db8b99e353a000ad94b57111a15ead5dae39a2 1926 servefile_0.5.4-3.2.dsc
 5c7959e7191d47b9c0ba56a737fd23cc77ff95a7 2596 servefile_0.5.4-3.2.debian.tar.xz
 9e77f4a4238b80bfabf2cb1e7b2a7a6d3a81226b 8521 
servefile_0.5.4-3.2_source.buildinfo
Checksums-Sha256:
 435ad462a82f092a2b71fb1224c593d789a76b300f0df8fdfe2652c10cb6ec11 1926 
servefile_0.5.4-3.2.dsc
 41b0c9356585527467b8a910e271c6f0dadd7335ae84293a73cec73b581ad744 2596 
servefile_0.5.4-3.2.debian.tar.xz
 d6dbeeb87d1eabe3431c6f3456e4aea748532a0302eab63b3d226c20af4e76c8 8521 
servefile_0.5.4-3.2_source.buildinfo
Files:
 ce9b6ba98ec7a6cc17234395924d33fd 1926 net optional servefile_0.5.4-3.2.dsc
 c89ddf3c32dbdf222225555b59fa1308 2596 net optional 
servefile_0.5.4-3.2.debian.tar.xz
 f594cd8ba02e490458ec6f53d3a1e95c 8521 net optional 
servefile_0.5.4-3.2_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEEj23hBDd/OxHnQXSHMfMURUShdBoFAmdhlAgRHHRjaGV0QGRl
Ymlhbi5vcmcACgkQMfMURUShdBrRqQ/7BcFQkMLxs/f7RxKNE8Jib7MxPSlh/jWi
lW83yWDHevMC5x64VvJ48c3JTXpM/vD4Pr+Zipava6NpmNnMF4a9g2b1UEbTj6bq
IjlLl5FIFdj1L+jZ/54yN/r3ffhzlsxQ75NXIDrSFc3SH4T9Gx81Wq61DZ4/zwmn
kS/+gdCW5NJbpAsOk6XhQVvzQBu9IbkzjCW3bhG7qvG64+2mX0HYhSuscjZuY4/Q
Wzqco1qX9G1gGW7p2n5A5ID9LAccCFfIfXAvdPw+8ty7ydvPcJJvrk8U3kklqz28
5RgsQT+l4uJUV9b423SPKuun9XeTWeDl6Imrnx4MbnDvDxUezbxsBqlKeKcAp3AA
XIYcmTfGCo/l5fZ8homj1DdAyPBrpeyZV4kywh/QN1cRvcS3l9fA+ll6iPf40cEm
Vx5SlOAvvs+MF0wACzqZpdoQGCr7rbR//MhqjcY8MfY/sz+AHChjr4Zt7AKdP6bZ
Qz4Nkel2Pg2pnoF8igezxDwUMb/4clz0noqUt4tVJpu0RRK6Mj2tgt5aRCALP/JK
dNB721M3qLcUcrKG4pDKeNKKM5KnRvxxf4u2jBxwBxlcwWzQ//SY+pLfa1hMoojS
WTGNJe3FTCx6Ykp2KLBwUi+j83QvMKW7mqu/6IPSt9tC57n3oiNouqDHcvCWoKbT
QCv9XmpfLa4=
=Uv30
-----END PGP SIGNATURE-----

Attachment: pgpDpCX4rFp6q.pgp
Description: PGP signature


--- End Message ---

Reply via email to