aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2016-09-28 09:41:48 -0700
committerSean Whitton <spwhitton@spwhitton.name>2016-09-28 09:41:48 -0700
commitdc36a5e2615cfee999de9630cfa8fbed1831d32a (patch)
tree69ae1362cc7b3e2e504727ee2fda0d6b04a397ad
parentfd058e12292c1aaca9efe8ef75f8244fa6878523 (diff)
parent61d5dc2242764297de6cdd655d0d6f6339746afa (diff)
downloadzxcvbn-c-dc36a5e2615cfee999de9630cfa8fbed1831d32a.tar.gz
zxcvbn-c (0.20160925-1) unstable; urgency=medium
* Initial release (Closes: #838492). [dgit import unpatched zxcvbn-c 0.20160925-1]
-rw-r--r--debian/README.source30
-rw-r--r--debian/changelog5
-rw-r--r--debian/compat1
-rw-r--r--debian/control34
-rw-r--r--debian/copyright383
-rw-r--r--debian/libzxcvbn-dev.docs1
-rw-r--r--debian/libzxcvbn-dev.examples1
-rwxr-xr-xdebian/libzxcvbn-dev.install4
-rw-r--r--debian/libzxcvbn-dev.lintian-overrides2
-rwxr-xr-xdebian/libzxcvbn0.install2
-rw-r--r--debian/libzxcvbn0.lintian-overrides4
-rw-r--r--debian/libzxcvbn0.symbols3
-rw-r--r--debian/patches/add-another-missing-file-to-clean-target.patch22
-rw-r--r--debian/patches/patch-README-for-Debian.patch46
-rw-r--r--debian/patches/series3
-rw-r--r--debian/patches/standardise-makefile-variables.patch117
-rwxr-xr-xdebian/rules9
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/lintian-overrides2
-rw-r--r--debian/watch3
20 files changed, 673 insertions, 0 deletions
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..d7c7bbe
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,30 @@
+Shared library conversion
+-------------------------
+
+As explained in the unpatched README.md, upstream intends zxcvbn-c to
+be embedded in the source trees of projects that require it. For the
+purposes of this Debian package, though, it is compiled as a shared
+library and as a static library.
+
+The word lists, *.txt in the source package, may be either
+ (a) compiled to a file zxcvbn.dict, or
+ (b) included in the object compiled from zxcvbn.c (in our case, in
+ libzxcvbn.so.* & libzxcvbn.a).
+This choice is made by means of the USE_DICT_FILE compiler macro.
+
+Contrary to what you might expect, method (a) does not permit swapping
+out zxcvbn.dict for a different file: CRCs for zxcvbn.dict are
+compiled into the object compiled from zxcvbn.c (in our case, in
+libzxcvbn.so.0 & libzxcvbn.a).
+
+So method (a) is useless when zxcvbn-c is compiled as a shared or
+static library. Further, it complicates usage: a library user must
+call ZxcvbnInit() with the path to the immutable zxcvbn.dict, and
+later ZxcvbnUninit().
+
+Given the above facts about option (a), I have opted to use option (b)
+for this Debian package. USE_DICT_FILE is unset. Calls to
+ZxcvbnInit() and ZxcvbnUninit() are not required, and README.md has
+been patched accordingly.
+
+ -- Sean Whitton <spwhitton@spwhitton.name>, Sat, 24 Sep 2016 15:24:12 -0700
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..3255cc8
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+zxcvbn-c (0.20160925-1) unstable; urgency=medium
+
+ * Initial release (Closes: #838492).
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Wed, 28 Sep 2016 09:41:48 -0700
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..f599e28
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+10
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..d19674c
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,34 @@
+Source: zxcvbn-c
+Priority: optional
+Maintainer: Sean Whitton <spwhitton@spwhitton.name>
+Build-Depends: debhelper (>= 10), dh-exec (>= 0.3)
+Standards-Version: 3.9.8
+Section: libs
+Homepage: https://github.com/tsyrogit/zxcvbn-c
+Vcs-Git: https://git.spwhitton.name/zxcvbn-c
+Vcs-Browser: https://git.spwhitton.name/zxcvbn-c
+
+Package: libzxcvbn-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: libzxcvbn0 (= ${binary:Version}), ${misc:Depends}
+Description: password strength estimation library - development files
+ This library is a C/C++ implementation of the zxcvbn password
+ strength estimator. It provides functions to rate password strength,
+ by comparing the password to several word lists, including English
+ first and last names.
+ .
+ This package includes the development headers.
+
+Package: libzxcvbn0
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: password strength estimation library
+ This library is a C/C++ implementation of the zxcvbn password
+ strength estimator. It provides functions to rate password strength,
+ by comparing the password to several word lists, including English
+ first and last names.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..aca5560
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,383 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: zxcvbn-c
+Source: https://github.com/tsyrogit/zxcvbn-c
+Comment: stanzas for *.txt files taken from copyright file for src:python-zxcvbn
+
+Files: *
+Copyright: (C) 2015 Tony Evans
+License: BSD-3-clause
+
+Files: words-10k-pass.txt
+Copyright: (C) 2011 Mark Burnett
+License: CC-BY-SA-3.0
+Comment: https://xato.net/passwords/more-top-worst-passwords/
+
+Files: words-female.txt words-male.txt words-surname.txt
+Copyright: (C) 2000 U.S. Census Bureau
+License: public-domain
+
+Files: words-english.txt
+Copyright: (C) 2006 Wiktionary Contributors
+License: CC-BY-SA-3.0
+Comment: https://en.wiktionary.org/wiki/Wiktionary:Frequency_lists#TV_and_movie_scripts
+
+Files: debian/*
+Copyright: (C) 2016 Sean Whitton <spwhitton@spwhitton.name>
+License: BSD-3-clause
+
+License: BSD-3-clause
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without modification, are
+ permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice, this list
+ of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or other
+ materials provided with the distribution.
+ .
+ 3. Neither the name of the copyright holder nor the names of its contributors may be
+ used to endorse or promote products derived from this software without specific
+ prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+License: public-domain
+ As a work of the US government, these files are in the public domain in the
+ United States. The below webpage indicates that the US Census Department is
+ most likely fine with similar usage worldwide:
+ .
+ https://ask.census.gov/faq.php?id=5000&faqId=431
+
+License: CC-BY-SA-3.0
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL
+ SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT
+ RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS"
+ BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION
+ PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+ .
+ License
+ .
+ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
+ COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
+ COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
+ AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+ .
+ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO
+ BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE
+ CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED
+ HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+ .
+ 1. Definitions
+ "Adaptation" means a work based upon the Work, or upon the Work and
+ other pre-existing works, such as a translation, adaptation, derivative
+ work, arrangement of music or other alterations of a literary or
+ artistic work, or phonogram or performance and includes cinematographic
+ adaptations or any other form in which the Work may be recast,
+ transformed, or adapted including in any form recognizably derived from
+ the original, except that a work that constitutes a Collection will not
+ be considered an Adaptation for the purpose of this License. For the
+ avoidance of doubt, where the Work is a musical work, performance or
+ phonogram, the synchronization of the Work in timed-relation with a
+ moving image ("synching") will be considered an Adaptation for the
+ purpose of this License.
+ "Collection" means a collection of literary or artistic works, such as
+ encyclopedias and anthologies, or performances, phonograms or
+ broadcasts, or other works or subject matter other than works listed in
+ Section 1(f) below, which, by reason of the selection and arrangement of
+ their contents, constitute intellectual creations, in which the Work is
+ included in its entirety in unmodified form along with one or more other
+ contributions, each constituting separate and independent works in
+ themselves, which together are assembled into a collective whole. A work
+ that constitutes a Collection will not be considered an Adaptation (as
+ defined below) for the purposes of this License.
+ "Creative Commons Compatible License" means a license that is listed at
+ http://creativecommons.org/compatiblelicenses that has been approved by
+ Creative Commons as being essentially equivalent to this License,
+ including, at a minimum, because that license: (i) contains terms that
+ have the same purpose, meaning and effect as the License Elements of
+ this License; and, (ii) explicitly permits the relicensing of
+ adaptations of works made available under that license under this
+ License or a Creative Commons jurisdiction license with the same License
+ Elements as this License.
+ "Distribute" means to make available to the public the original and
+ copies of the Work or Adaptation, as appropriate, through sale or other
+ transfer of ownership.
+ "License Elements" means the following high-level license attributes as
+ selected by Licensor and indicated in the title of this License:
+ Attribution, ShareAlike.
+ "Licensor" means the individual, individuals, entity or entities that
+ offer(s) the Work under the terms of this License.
+ "Original Author" means, in the case of a literary or artistic work, the
+ individual, individuals, entity or entities who created the Work or if
+ no individual or entity can be identified, the publisher; and in
+ addition (i) in the case of a performance the actors, singers,
+ musicians, dancers, and other persons who act, sing, deliver, declaim,
+ play in, interpret or otherwise perform literary or artistic works or
+ expressions of folklore; (ii) in the case of a phonogram the producer
+ being the person or legal entity who first fixes the sounds of a
+ performance or other sounds; and, (iii) in the case of broadcasts, the
+ organization that transmits the broadcast.
+ "Work" means the literary and/or artistic work offered under the terms
+ of this License including without limitation any production in the
+ literary, scientific and artistic domain, whatever may be the mode or
+ form of its expression including digital form, such as a book, pamphlet
+ and other writing; a lecture, address, sermon or other work of the same
+ nature; a dramatic or dramatico-musical work; a choreographic work or
+ entertainment in dumb show; a musical composition with or without words;
+ a cinematographic work to which are assimilated works expressed by a
+ process analogous to cinematography; a work of drawing, painting,
+ architecture, sculpture, engraving or lithography; a photographic work
+ to which are assimilated works expressed by a process analogous to
+ photography; a work of applied art; an illustration, map, plan, sketch
+ or three-dimensional work relative to geography, topography,
+ architecture or science; a performance; a broadcast; a phonogram; a
+ compilation of data to the extent it is protected as a copyrightable
+ work; or a work performed by a variety or circus performer to the extent
+ it is not otherwise considered a literary or artistic work.
+ "You" means an individual or entity exercising rights under this License
+ who has not previously violated the terms of this License with respect
+ to the Work, or who has received express permission from the Licensor to
+ exercise rights under this License despite a previous violation.
+ "Publicly Perform" means to perform public recitations of the Work and
+ to communicate to the public those public recitations, by any means or
+ process, including by wire or wireless means or public digital
+ performances; to make available to the public Works in such a way that
+ members of the public may access these Works from a place and at a place
+ individually chosen by them; to perform the Work to the public by any
+ means or process and the communication to the public of the performances
+ of the Work, including by public digital performance; to broadcast and
+ rebroadcast the Work by any means including signs, sounds or images.
+ "Reproduce" means to make copies of the Work by any means including
+ without limitation by sound or visual recordings and the right of
+ fixation and reproducing fixations of the Work, including storage of a
+ protected performance or phonogram in digital form or other electronic
+ medium.
+ .
+ 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
+ limit, or restrict any uses free from copyright or rights arising from
+ limitations or exceptions that are provided for in connection with the
+ copyright protection under copyright law or other applicable laws.
+ .
+ 3. License Grant. Subject to the terms and conditions of this License,
+ Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+ perpetual (for the duration of the applicable copyright) license to
+ exercise the rights in the Work as stated below:
+ .
+ to Reproduce the Work, to incorporate the Work into one or more
+ Collections, and to Reproduce the Work as incorporated in the
+ Collections;
+ to create and Reproduce Adaptations provided that any such Adaptation,
+ including any translation in any medium, takes reasonable steps to
+ clearly label, demarcate or otherwise identify that changes were made to
+ the original Work. For example, a translation could be marked "The
+ original work was translated from English to Spanish," or a modification
+ could indicate "The original work has been modified.";
+ to Distribute and Publicly Perform the Work including as incorporated in
+ Collections; and,
+ to Distribute and Publicly Perform Adaptations.
+ .
+ For the avoidance of doubt:
+ Non-waivable Compulsory License Schemes. In those jurisdictions in
+ which the right to collect royalties through any statutory or
+ compulsory licensing scheme cannot be waived, the Licensor reserves
+ the exclusive right to collect such royalties for any exercise by
+ You of the rights granted under this License;
+ Waivable Compulsory License Schemes. In those jurisdictions in which
+ the right to collect royalties through any statutory or compulsory
+ licensing scheme can be waived, the Licensor waives the exclusive
+ right to collect such royalties for any exercise by You of the
+ rights granted under this License; and,
+ Voluntary License Schemes. The Licensor waives the right to collect
+ royalties, whether individually or, in the event that the Licensor
+ is a member of a collecting society that administers voluntary
+ licensing schemes, via that society, from any exercise by You of the
+ rights granted under this License.
+ .
+ The above rights may be exercised in all media and formats whether now
+ known or hereafter devised. The above rights include the right to make such
+ modifications as are technically necessary to exercise the rights in other
+ media and formats. Subject to Section 8(f), all rights not expressly
+ granted by Licensor are hereby reserved.
+ .
+ 4. Restrictions. The license granted in Section 3 above is expressly made
+ subject to and limited by the following restrictions:
+ .
+ You may Distribute or Publicly Perform the Work only under the terms of
+ this License. You must include a copy of, or the Uniform Resource
+ Identifier (URI) for, this License with every copy of the Work You
+ Distribute or Publicly Perform. You may not offer or impose any terms on
+ the Work that restrict the terms of this License or the ability of the
+ recipient of the Work to exercise the rights granted to that recipient
+ under the terms of the License. You may not sublicense the Work. You
+ must keep intact all notices that refer to this License and to the
+ disclaimer of warranties with every copy of the Work You Distribute or
+ Publicly Perform. When You Distribute or Publicly Perform the Work, You
+ may not impose any effective technological measures on the Work that
+ restrict the ability of a recipient of the Work from You to exercise the
+ rights granted to that recipient under the terms of the License. This
+ Section 4(a) applies to the Work as incorporated in a Collection, but
+ this does not require the Collection apart from the Work itself to be
+ made subject to the terms of this License. If You create a Collection,
+ upon notice from any Licensor You must, to the extent practicable,
+ remove from the Collection any credit as required by Section 4(c), as
+ requested. If You create an Adaptation, upon notice from any Licensor
+ You must, to the extent practicable, remove from the Adaptation any
+ credit as required by Section 4(c), as requested.
+ You may Distribute or Publicly Perform an Adaptation only under the
+ terms of: (i) this License; (ii) a later version of this License with
+ the same License Elements as this License; (iii) a Creative Commons
+ jurisdiction license (either this or a later license version) that
+ contains the same License Elements as this License (e.g.,
+ Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
+ License. If you license the Adaptation under one of the licenses
+ mentioned in (iv), you must comply with the terms of that license. If
+ you license the Adaptation under the terms of any of the licenses
+ mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
+ comply with the terms of the Applicable License generally and the
+ following provisions: (I) You must include a copy of, or the URI for,
+ the Applicable License with every copy of each Adaptation You Distribute
+ or Publicly Perform; (II) You may not offer or impose any terms on the
+ Adaptation that restrict the terms of the Applicable License or the
+ ability of the recipient of the Adaptation to exercise the rights
+ granted to that recipient under the terms of the Applicable License;
+ (III) You must keep intact all notices that refer to the Applicable
+ License and to the disclaimer of warranties with every copy of the Work
+ as included in the Adaptation You Distribute or Publicly Perform; (IV)
+ when You Distribute or Publicly Perform the Adaptation, You may not
+ impose any effective technological measures on the Adaptation that
+ restrict the ability of a recipient of the Adaptation from You to
+ exercise the rights granted to that recipient under the terms of the
+ Applicable License. This Section 4(b) applies to the Adaptation as
+ incorporated in a Collection, but this does not require the Collection
+ apart from the Adaptation itself to be made subject to the terms of the
+ Applicable License.
+ If You Distribute, or Publicly Perform the Work or any Adaptations or
+ Collections, You must, unless a request has been made pursuant to
+ Section 4(a), keep intact all copyright notices for the Work and
+ provide, reasonable to the medium or means You are utilizing: (i) the
+ name of the Original Author (or pseudonym, if applicable) if supplied,
+ and/or if the Original Author and/or Licensor designate another party or
+ parties (e.g., a sponsor institute, publishing entity, journal) for
+ attribution ("Attribution Parties") in Licensor's copyright notice,
+ terms of service or by other reasonable means, the name of such party or
+ parties; (ii) the title of the Work if supplied; (iii) to the extent
+ reasonably practicable, the URI, if any, that Licensor specifies to be
+ associated with the Work, unless such URI does not refer to the
+ copyright notice or licensing information for the Work; and (iv) ,
+ consistent with Ssection 3(b), in the case of an Adaptation, a credit
+ identifying the use of the Work in the Adaptation (e.g., "French
+ translation of the Work by Original Author," or "Screenplay based on
+ original Work by Original Author"). The credit required by this Section
+ 4(c) may be implemented in any reasonable manner; provided, however,
+ that in the case of a Adaptation or Collection, at a minimum such credit
+ will appear, if a credit for all contributing authors of the Adaptation
+ or Collection appears, then as part of these credits and in a manner at
+ least as prominent as the credits for the other contributing authors.
+ For the avoidance of doubt, You may only use the credit required by this
+ Section for the purpose of attribution in the manner set out above and,
+ by exercising Your rights under this License, You may not implicitly or
+ explicitly assert or imply any connection with, sponsorship or
+ endorsement by the Original Author, Licensor and/or Attribution Parties,
+ as appropriate, of You or Your use of the Work, without the separate,
+ express prior written permission of the Original Author, Licensor and/or
+ Attribution Parties.
+ Except as otherwise agreed in writing by the Licensor or as may be
+ otherwise permitted by applicable law, if You Reproduce, Distribute or
+ Publicly Perform the Work either by itself or as part of any Adaptations
+ or Collections, You must not distort, mutilate, modify or take other
+ derogatory action in relation to the Work which would be prejudicial to
+ the Original Author's honor or reputation. Licensor agrees that in those
+ jurisdictions (e.g. Japan), in which any exercise of the right granted
+ in Section 3(b) of this License (the right to make Adaptations) would be
+ deemed to be a distortion, mutilation, modification or other derogatory
+ action prejudicial to the Original Author's honor and reputation, the
+ Licensor will waive or not assert, as appropriate, this Section, to the
+ fullest extent permitted by the applicable national law, to enable You
+ to reasonably exercise Your right under Section 3(b) of this License
+ (right to make Adaptations) but not otherwise.
+ .
+ 5. Representations, Warranties and Disclaimer
+ .
+ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
+ OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
+ KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT
+ OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER
+ OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF
+ IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+ .
+ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
+ LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY
+ SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING
+ OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ .
+ 7. Termination
+ .
+ This License and the rights granted hereunder will terminate
+ automatically upon any breach by You of the terms of this License.
+ Individuals or entities who have received Adaptations or Collections
+ from You under this License, however, will not have their licenses
+ terminated provided such individuals or entities remain in full
+ compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
+ survive any termination of this License.
+ Subject to the above terms and conditions, the license granted here is
+ perpetual (for the duration of the applicable copyright in the Work).
+ Notwithstanding the above, Licensor reserves the right to release the
+ Work under different license terms or to stop distributing the Work at
+ any time; provided, however that any such election will not serve to
+ withdraw this License (or any other license that has been, or is
+ required to be, granted under the terms of this License), and this
+ License will continue in full force and effect unless terminated as
+ stated above.
+ .
+ 8. Miscellaneous
+ .
+ Each time You Distribute or Publicly Perform the Work or a Collection,
+ the Licensor offers to the recipient a license to the Work on the same
+ terms and conditions as the license granted to You under this License.
+ Each time You Distribute or Publicly Perform an Adaptation, Licensor
+ offers to the recipient a license to the original Work on the same terms
+ and conditions as the license granted to You under this License.
+ If any provision of this License is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of
+ the remainder of the terms of this License, and without further action
+ by the parties to this agreement, such provision shall be reformed to
+ the minimum extent necessary to make such provision valid and
+ enforceable.
+ No term or provision of this License shall be deemed waived and no
+ breach consented to unless such waiver or consent shall be in writing
+ and signed by the party to be charged with such waiver or consent.
+ This License constitutes the entire agreement between the parties with
+ respect to the Work licensed here. There are no understandings,
+ agreements or representations with respect to the Work not specified
+ here. Licensor shall not be bound by any additional provisions that may
+ appear in any communication from You. This License may not be modified
+ without the mutual written agreement of the Licensor and You.
+ The rights granted under, and the subject matter referenced, in this
+ License were drafted utilizing the terminology of the Berne Convention
+ for the Protection of Literary and Artistic Works (as amended on
+ September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
+ Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and
+ the Universal Copyright Convention (as revised on July 24, 1971). These
+ rights and subject matter take effect in the relevant jurisdiction in
+ which the License terms are sought to be enforced according to the
+ corresponding provisions of the implementation of those treaty
+ provisions in the applicable national law. If the standard suite of
+ rights granted under applicable copyright law includes additional rights
+ not granted under this License, such additional rights are deemed to be
+ included in the License; this License is not intended to restrict the
+ license of any rights under applicable law.
diff --git a/debian/libzxcvbn-dev.docs b/debian/libzxcvbn-dev.docs
new file mode 100644
index 0000000..b43bf86
--- /dev/null
+++ b/debian/libzxcvbn-dev.docs
@@ -0,0 +1 @@
+README.md
diff --git a/debian/libzxcvbn-dev.examples b/debian/libzxcvbn-dev.examples
new file mode 100644
index 0000000..609859b
--- /dev/null
+++ b/debian/libzxcvbn-dev.examples
@@ -0,0 +1 @@
+test.c
diff --git a/debian/libzxcvbn-dev.install b/debian/libzxcvbn-dev.install
new file mode 100755
index 0000000..3c2ab27
--- /dev/null
+++ b/debian/libzxcvbn-dev.install
@@ -0,0 +1,4 @@
+#!/usr/bin/dh-exec
+zxcvbn.h usr/include/
+libzxcvbn.so usr/lib/${DEB_HOST_MULTIARCH}/
+libzxcvbn.a usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/libzxcvbn-dev.lintian-overrides b/debian/libzxcvbn-dev.lintian-overrides
new file mode 100644
index 0000000..9e1c317
--- /dev/null
+++ b/debian/libzxcvbn-dev.lintian-overrides
@@ -0,0 +1,2 @@
+# not available
+no-upstream-changelog
diff --git a/debian/libzxcvbn0.install b/debian/libzxcvbn0.install
new file mode 100755
index 0000000..645723a
--- /dev/null
+++ b/debian/libzxcvbn0.install
@@ -0,0 +1,2 @@
+#!/usr/bin/dh-exec
+libzxcvbn.so.* usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/libzxcvbn0.lintian-overrides b/debian/libzxcvbn0.lintian-overrides
new file mode 100644
index 0000000..3e4566c
--- /dev/null
+++ b/debian/libzxcvbn0.lintian-overrides
@@ -0,0 +1,4 @@
+# binary data; not actually a spelling error
+spelling-error-in-binary usr/lib/i386-linux-gnu/libzxcvbn.so.0.0.0 DonT Don't
+# not available
+no-upstream-changelog
diff --git a/debian/libzxcvbn0.symbols b/debian/libzxcvbn0.symbols
new file mode 100644
index 0000000..37a7a94
--- /dev/null
+++ b/debian/libzxcvbn0.symbols
@@ -0,0 +1,3 @@
+libzxcvbn.so.0 libzxcvbn0 #MINVER#
+ ZxcvbnFreeInfo@Base 0.20150103
+ ZxcvbnMatch@Base 0.20150103
diff --git a/debian/patches/add-another-missing-file-to-clean-target.patch b/debian/patches/add-another-missing-file-to-clean-target.patch
new file mode 100644
index 0000000..398a0be
--- /dev/null
+++ b/debian/patches/add-another-missing-file-to-clean-target.patch
@@ -0,0 +1,22 @@
+From: Sean Whitton <spwhitton@spwhitton.name>
+Date: Wed, 28 Sep 2016 09:15:07 -0700
+Subject: add another missing file to clean target
+
+Forwarded: https://github.com/tsyrogit/zxcvbn-c/pull/9
+---
+ makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/makefile b/makefile
+index 2cf5c9e..adf3c9b 100644
+--- a/makefile
++++ b/makefile
+@@ -84,7 +84,7 @@ test: test-file test-inline test-c++inline test-c++file test-shlib test-statlib
+
+ clean:
+ rm -f test-file zxcvbn-file.o test-c++file zxcvbn-c++file.o
+- rm -f test-inline zxcvbn-inline.o test-c++inline zxcvbn-c++inline.o
++ rm -f test-inline zxcvbn-inline.o zxcvbn-inline-pic.o test-c++inline zxcvbn-c++inline.o
+ rm -f dict-*.h zxcvbn.dict zxcvbn.cpp test.cpp
+ rm -f dictgen
+ rm -f ${TARGET_LIB} ${SONAME} libzxcvbn.so test-shlib libzxcvbn.a test-statlib
diff --git a/debian/patches/patch-README-for-Debian.patch b/debian/patches/patch-README-for-Debian.patch
new file mode 100644
index 0000000..260131d
--- /dev/null
+++ b/debian/patches/patch-README-for-Debian.patch
@@ -0,0 +1,46 @@
+From: Sean Whitton <spwhitton@spwhitton.name>
+Date: Sat, 24 Sep 2016 13:46:46 -0700
+Subject: patch README for Debian
+
+Remove build instructions, and functions for when zxcvbn-c ws compiled
+with USE_DICT_FILE (see README.source).
+
+Forwarded: not-needed
+---
+ README.md | 19 +------------------
+ 1 file changed, 1 insertion(+), 18 deletions(-)
+
+diff --git a/README.md b/README.md
+index e42b001..b5fa5bc 100644
+--- a/README.md
++++ b/README.md
+@@ -9,28 +9,11 @@ The original coffee script version is available at
+ An article on the reasons for zxcvbn is at
+ https://tech.dropox.com/2012/04/zxcvbn-realistic-password-strength-estimation
+
+-##Building
+-
+-The makefile will build several test programs to test the code. It shows the steps needed to use the code in C and C++ programs, using the dictionary data read from file or included within the program executable.
+-The makefile has only been tried on Linux using GCC version 4.8.4, but should be faily portable to other systems.
+-
+-When dictionary data is included in your program's executable, the files `zxcvbn.c` , `zxcvbn.h` , `dict-src.h` are used in your program.
+-
+-When dictionary data is read from file, the files `zxcvbn.c` , `zxcvbn.h` , `dict-crc.h` and `zxcvbn.dict` are used in your program, compiled with `#define USE_DICT_FILE`. The CRC of the dictionary data file is written to `dict-crc.h` so your executable can detect corruption of the data.
+-
+-Rename `zxcvbn.c` to `zxcvbn.cpp` (or whatever your compiler uses) to compile as C++.
+-
+-The `dict*.h` and `zxcvbn.dict` files are generated by the dictgen program compiled from dict-generate.cpp (see makefile for details).
+-
+ ##Using
+
+-Initially call `ZxcvbnInit()` with the pathname of the `zxcvbn.dict` file. This can be omitted when dictionary data is included in the executable.
+-
+ Call `ZxcvbnMatch()` with the password and optional user dictionary to get the entropy estimation and optional information on the password parts (which will need freeing with `ZxcvbnFreeInfo()` after use). Do this for each password to be tested, or as each character of it is entered into your program. The optional user dictionary can change between each call.
+
+-Finally call `ZxcvbnUninit()` to free the dictionary data from read from file. This can be omitted when dictionary data is included in the executable.
+-
+-Review the test program in `test.c` for an example.
++Review the test program in `examples/test.c` for an example.
+
+
+ ## Differences from the original version.
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..0447f38
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+patch-README-for-Debian.patch
+add-another-missing-file-to-clean-target.patch
+standardise-makefile-variables.patch
diff --git a/debian/patches/standardise-makefile-variables.patch b/debian/patches/standardise-makefile-variables.patch
new file mode 100644
index 0000000..b3e48ed
--- /dev/null
+++ b/debian/patches/standardise-makefile-variables.patch
@@ -0,0 +1,117 @@
+From: Sean Whitton <spwhitton@spwhitton.name>
+Date: Wed, 28 Sep 2016 09:07:03 -0700
+Subject: standardise-makefile-variables
+
+- use $(LDFLAGS) close to end of command to avoid build failures with
+ linker option --as-needed
+
+- use $(CC), $(AR), $(CXX) to the user can choose their own compiler
+
+- use $(CPPFLAGS), $(CFLAGS) and $(CXXFLAGS) are they are intended
+
+- correct CPPFLAGS -> CXXFLAGS at top of file
+
+Forwarded: https://github.com/tsyrogit/zxcvbn-c/pull/10
+---
+ makefile | 45 +++++++++++++++++++++++++++++----------------
+ 1 file changed, 29 insertions(+), 16 deletions(-)
+
+diff --git a/makefile b/makefile
+index adf3c9b..c45c33f 100644
+--- a/makefile
++++ b/makefile
+@@ -1,8 +1,12 @@
+ CFLAGS ?= -O2 -Wall -Wextra -Wdeclaration-after-statement
+-CPPFLAGS ?= -O2 -Wall -Wextra
++CXXFLAGS ?= -O2 -Wall -Wextra
++
++# default programs
++CC ?= gcc
++AR ?= ar
++CXX ?= g++
+
+ # need zxcvbn.h prior to package installation
+-CFLAGS += -I.
+ CPPFLAGS += -I.
+
+ # library metadata
+@@ -15,32 +19,36 @@ all: test-file test-inline test-c++inline test-c++file test-shlib test-statlib
+
+ test-shlib: test.c $(TARGET_LIB)
+ if [ ! -e libzxcvbn.so ]; then ln -s $(TARGET_LIB) libzxcvbn.so; fi
+- gcc $(CFLAGS) -o $@ $< -L. -lzxcvbn -lm
++ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -L. $(LDFLAGS) -lzxcvbn -lm
+
+ $(TARGET_LIB): zxcvbn-inline-pic.o
+- gcc $(CFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-soname,$(SONAME) -o $@ $^ -lm
++ $(CC) $(CPPFLAGS) $(CFLAGS) \
++ -o $@ $^ -fPIC -shared -Wl,-soname,$(SONAME) $(LDFLAGS) -lm
+ if [ ! -e $(SONAME) ]; then ln -s $(TARGET_LIB) $(SONAME); fi
+
+ test-statlib: test.c libzxcvbn.a
+- gcc $(CFLAGS) $(LDFLAGS) -o $@ $^ -lm
++ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) -lm
+
+ libzxcvbn.a: zxcvbn-inline.o
+- ar cvq $@ $^
++ $(AR) cvq $@ $^
+
+ test-file: test.c zxcvbn-file.o
+- gcc $(CFLAGS) -DUSE_DICT_FILE -o test-file test.c zxcvbn-file.o -lm
++ $(CC) $(CPPFLAGS) $(CFLAGS) \
++ -DUSE_DICT_FILE -o test-file test.c zxcvbn-file.o $(LDFLAGS) -lm
+
+ zxcvbn-file.o: zxcvbn.c dict-crc.h zxcvbn.h
+- gcc $(CFLAGS) -DUSE_DICT_FILE -c -o zxcvbn-file.o zxcvbn.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) \
++ -DUSE_DICT_FILE -c -o zxcvbn-file.o zxcvbn.c
+
+ test-inline: test.c zxcvbn-inline.o
+- gcc $(CFLAGS) -o test-inline test.c zxcvbn-inline.o -lm
++ $(CC) $(CPPFLAGS) $(CFLAGS) \
++ -o test-inline test.c zxcvbn-inline.o $(LDFLAGS) -lm
+
+ zxcvbn-inline-pic.o: zxcvbn.c dict-src.h zxcvbn.h
+- gcc $(CFLAGS) -fPIC -c -o $@ $<
++ $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -c -o $@ $<
+
+ zxcvbn-inline.o: zxcvbn.c dict-src.h zxcvbn.h
+- gcc $(CFLAGS) -c -o zxcvbn-inline.o zxcvbn.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c -o zxcvbn-inline.o zxcvbn.c
+
+ dict-src.h: dictgen $(WORDS)
+ ./dictgen -o dict-src.h $(WORDS)
+@@ -49,23 +57,28 @@ dict-crc.h: dictgen $(WORDS)
+ ./dictgen -b -o zxcvbn.dict -h dict-crc.h $(WORDS)
+
+ dictgen: dict-generate.cpp makefile
+- g++ -std=c++11 $(CPPFLAGS) -o dictgen dict-generate.cpp
++ $(CXX) $(CPPFLAGS) -std=c++11 $(CXXFLAGS) \
++ -o dictgen dict-generate.cpp $(LDFLAGS)
+
+ test-c++inline: test.c zxcvbn-c++inline.o
+ if [ ! -e test.cpp ]; then ln -s test.c test.cpp; fi
+- g++ $(CPPFLAGS) -o test-c++inline test.cpp zxcvbn-c++inline.o -lm
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \
++ -o test-c++inline test.cpp zxcvbn-c++inline.o $(LDFLAGS) -lm
+
+ zxcvbn-c++inline.o: zxcvbn.c dict-src.h zxcvbn.h
+ if [ ! -e zxcvbn.cpp ]; then ln -s zxcvbn.c zxcvbn.cpp; fi
+- g++ $(CPPFLAGS) -c -o zxcvbn-c++inline.o zxcvbn.cpp
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \
++ -c -o zxcvbn-c++inline.o zxcvbn.cpp
+
+ test-c++file: test.c zxcvbn-c++file.o
+ if [ ! -e test.cpp ]; then ln -s test.c test.cpp; fi
+- g++ $(CPPFLAGS) -DUSE_DICT_FILE -o test-c++file test.cpp zxcvbn-c++file.o -lm
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \
++ -DUSE_DICT_FILE -o test-c++file test.cpp zxcvbn-c++file.o $(LDFLAGS) -lm
+
+ zxcvbn-c++file.o: zxcvbn.c dict-crc.h zxcvbn.h
+ if [ ! -e zxcvbn.cpp ]; then ln -s zxcvbn.c zxcvbn.cpp; fi
+- g++ $(CPPFLAGS) -DUSE_DICT_FILE -c -o zxcvbn-c++file.o zxcvbn.cpp
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \
++ -DUSE_DICT_FILE -c -o zxcvbn-c++file.o zxcvbn.cpp
+
+ test: test-file test-inline test-c++inline test-c++file test-shlib test-statlib testcases.txt
+ @echo Testing C build, dictionary from file
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..84fd4e2
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,9 @@
+#!/usr/bin/make -f
+
+# enable most hardening, but not PIE -- while we build some binary
+# executables in order to run the test suite, we only install
+# non-executable libraries
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-pie
+
+%:
+ dh $@
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..9230eda
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,2 @@
+# unavailable; request submitted to upstream
+debian-watch-may-check-gpg-signature
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..7fa69dc
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=4
+opts="mode=git" https://github.com/tsyrogit/zxcvbn-c \
+ refs/tags/v([\d\.]+) debian uupdate