#!/usr/bin/env bash
set -x
sudo apt install -y \
	jq \
	dh-make \
	debhelper \
	dh-autoreconf \
	flex \
	bison \
	libtool-bin \
	make \
	automake \
	autoconf \
	libonig5 \
	libonig-dev \
	rake \
	ruby-ronn

USER="stedolan"
PROJECT="jq"
LICENSE="mit"
SECTION="admin"
HOMEPAGE="https://stedolan.github.io/jq/"
BUILD_HOME="/var/tmp/jq-git_build"
#VERSION="2.10.0"
PACKAGE="jq"
VERSION=$(curl "https://api.github.com/repos/${USER}/${PROJECT}/tags?per_page=5" | jq -r '.[0] | .name')
#VERSION=${VERSION:1} # strip the preceding 'v'
VERSION=$(echo ${VERSION} | tr -d "\"" | tr -d "[:alpha:]" | tr -d "\-")
DEBEMAIL="person@company.tld"
DEBFULLNAME="Testy McTester"
DESCRIPTION="Command-line JSON processor."
LONG_DESCRIPTION="  jq is like sed for JSON data – you can use it to slice
 and filter and map and transform structured data with
 the same ease that sed, awk, grep and friends let you
 play with text.
 .
 It is written in portable C, and it has minimal runtime
 dependencies.
 .
 jq can mangle the data format that you have into the
 one that you want with very little effort, and the
 program to do so is often shorter and simpler than
 you’d expect.
"

RSS_FEED="https://github.com/${USER}/${PROJECT}/releases.atom"
# xdg-open ${RSS_FEED}
echo ${RSS_FEED}

# Make the BUILD_HOME directory and clone upstream
mkdir -p ${BUILD_HOME}
cd ${BUILD_HOME} || exit

git clone http://github.com/${USER}/${PROJECT}.git ${PACKAGE}-${VERSION}

cd ${PACKAGE}-${VERSION} || exit

mkdir -p m4

cat <<EOF >.git/gbp.conf
[git-import-orig]
filter = ['docs/public/bootstrap/js/bootstrap.min.js']
filter-pristine-tar = True
upstream-branch=master
EOF

# debianize the BUILD_HOME directory
echo ${DEBFULLNAME}
dh_make \
	--createorig \
	--single \
	--native \
	--copyright ${LICENSE} \
	--yes

cp README.rst debian/README
rm debian/README.source

cat >debian/libjq-dev.install <<'EOF'
usr/include/jq.h
usr/include/jv.h
usr/lib/*/libjq.so
EOF

cat >debian/libjq1.symbols <<'EOF'
libjq.so.1 libjq1 #MINVER#
 jq_compile@Base 1.5
 jq_compile_args@Base 1.5
 jq_dump_disassembly@Base 1.5
 jq_format_error@Base 1.5
 jq_get_attr@Base 1.5
 jq_get_debug_cb@Base 1.5
 jq_get_error_cb@Base 1.5
 jq_get_input_cb@Base 1.5
 jq_get_jq_origin@Base 1.5
 jq_get_lib_dirs@Base 1.5
 jq_get_prog_origin@Base 1.5
 jq_init@Base 1.5
 jq_next@Base 1.5
 jq_parse@Base 1.5
 jq_parse_library@Base 1.5
 jq_realpath@Base 1.5
 jq_report_error@Base 1.5
 jq_set_attr@Base 1.5
 jq_set_attrs@Base 1.5
 jq_set_debug_cb@Base 1.5
 jq_set_error_cb@Base 1.5
 jq_set_input_cb@Base 1.5
 jq_set_nomem_handler@Base 1.5
 jq_start@Base 1.5
 jq_teardown@Base 1.5
 jq_testsuite@Base 1.5
 jq_util_input_add_input@Base 1.5
 jq_util_input_errors@Base 1.5
 jq_util_input_free@Base 1.5
 jq_util_input_get_current_filename@Base 1.5
 jq_util_input_get_current_line@Base 1.5
 jq_util_input_get_position@Base 1.5
 jq_util_input_init@Base 1.5
 jq_util_input_next_input@Base 1.5
 jq_util_input_next_input_cb@Base 1.5
 jq_util_input_set_parser@Base 1.5
 jq_yy_create_buffer@Base 1.5
 jq_yy_delete_buffer@Base 1.5
 jq_yy_flush_buffer@Base 1.5
 jq_yy_scan_buffer@Base 1.5
 jq_yy_scan_bytes@Base 1.5
 jq_yy_scan_string@Base 1.5
 jq_yy_switch_to_buffer@Base 1.5
 jq_yyalloc@Base 1.5
 jq_yyfree@Base 1.5
 jq_yyget_column@Base 1.5
 jq_yyget_debug@Base 1.5
 jq_yyget_extra@Base 1.5
 jq_yyget_in@Base 1.5
 jq_yyget_leng@Base 1.5
 jq_yyget_lineno@Base 1.5
 jq_yyget_lloc@Base 1.5
 jq_yyget_lval@Base 1.5
 jq_yyget_out@Base 1.5
 jq_yyget_text@Base 1.5
 jq_yylex@Base 1.5
 jq_yylex_destroy@Base 1.5
 jq_yylex_init@Base 1.5
 jq_yylex_init_extra@Base 1.5
 jq_yypop_buffer_state@Base 1.5
 jq_yypush_buffer_state@Base 1.5
 jq_yyrealloc@Base 1.5
 jq_yyrestart@Base 1.5
 jq_yyset_column@Base 1.5
 jq_yyset_debug@Base 1.5
 jq_yyset_extra@Base 1.5
 jq_yyset_in@Base 1.5
 jq_yyset_lineno@Base 1.5
 jq_yyset_lloc@Base 1.5
 jq_yyset_lval@Base 1.5
 jq_yyset_out@Base 1.5
 jv_array@Base 1.5
 jv_array_append@Base 1.5
 jv_array_concat@Base 1.5
 jv_array_contains@Base 1.5
 jv_array_get@Base 1.5
 jv_array_indexes@Base 1.5
 jv_array_length@Base 1.5
 jv_array_set@Base 1.5
 jv_array_sized@Base 1.5
 jv_array_slice@Base 1.5
 jv_bool@Base 1.5
 jv_cmp@Base 1.5
 jv_contains@Base 1.5
 jv_copy@Base 1.5
 jv_delpaths@Base 1.5
 jv_dels@Base 1.5
 jv_dump@Base 1.5
 jv_dump_string@Base 1.5
 jv_dump_string_trunc@Base 1.5
 jv_dumpf@Base 1.5
 jv_equal@Base 1.5
 jv_false@Base 1.5
 jv_free@Base 1.5
 jv_get@Base 1.5
 jv_get_kind@Base 1.5
 jv_get_refcnt@Base 1.5
 jv_getpath@Base 1.5
 jv_group@Base 1.5
 jv_has@Base 1.5
 jv_identical@Base 1.5
 jv_invalid@Base 1.5
 jv_invalid_get_msg@Base 1.5
 jv_invalid_has_msg@Base 1.5
 jv_invalid_with_msg@Base 1.5
 jv_is_integer@Base 1.5
 jv_keys@Base 1.5
 jv_keys_unsorted@Base 1.5
 jv_kind_name@Base 1.5
 jv_load_file@Base 1.5
 jv_mem_alloc@Base 1.5
 jv_mem_alloc_unguarded@Base 1.5
 jv_mem_calloc@Base 1.5
 jv_mem_calloc_unguarded@Base 1.5
 jv_mem_free@Base 1.5
 jv_mem_realloc@Base 1.5
 jv_mem_strdup@Base 1.5
 jv_mem_strdup_unguarded@Base 1.5
 jv_mem_uninit_setup@Base 1.5
 jv_mem_uninitialised@Base 1.5
 jv_nomem_handler@Base 1.5
 jv_null@Base 1.5
 jv_number@Base 1.5
 jv_number_value@Base 1.5
 jv_object@Base 1.5
 jv_object_contains@Base 1.5
 jv_object_delete@Base 1.5
 jv_object_get@Base 1.5
 jv_object_iter@Base 1.5
 jv_object_iter_key@Base 1.5
 jv_object_iter_next@Base 1.5
 jv_object_iter_valid@Base 1.5
 jv_object_iter_value@Base 1.5
 jv_object_length@Base 1.5
 jv_object_merge@Base 1.5
 jv_object_merge_recursive@Base 1.5
 jv_object_set@Base 1.5
 jv_parse@Base 1.5
 jv_parse_sized@Base 1.5
 jv_parser_free@Base 1.5
 jv_parser_new@Base 1.5
 jv_parser_next@Base 1.5
 jv_parser_remaining@Base 1.5
 jv_parser_set_buf@Base 1.5
 jv_set@Base 1.5
 jv_setpath@Base 1.5
 jv_show@Base 1.5
 jv_sort@Base 1.5
 jv_string@Base 1.5
 jv_string_append_buf@Base 1.5
 jv_string_append_codepoint@Base 1.5
 jv_string_append_str@Base 1.5
 jv_string_concat@Base 1.5
 jv_string_empty@Base 1.5
 jv_string_explode@Base 1.5
 jv_string_fmt@Base 1.5
 jv_string_hash@Base 1.5
 jv_string_implode@Base 1.5
 jv_string_indexes@Base 1.5
 jv_string_length_bytes@Base 1.5
 jv_string_length_codepoints@Base 1.5
 jv_string_sized@Base 1.5
 jv_string_slice@Base 1.5
 jv_string_split@Base 1.5
 jv_string_value@Base 1.5
 jv_string_vfmt@Base 1.5
 jv_true@Base 1.5
EOF

cat >debian/jq.docs <<'EOF'
README
AUTHORS
EOF

cat >debian/libjq1.install <<'EOF'
usr/lib/*/libjq.so.*
EOF

cat >debian/jq.install <<'EOF'
usr/bin/jq
usr/share/man/man1/jq.1
EOF

cat >debian/copyright <<'EOF'
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: jq
Source: <http://github.com/stedolan/jq>

Files: *
Copyright: 2012 Stephen Dolan <mu@netsoc.tcd.ie>
License: MIT
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the "Software"),
 to deal in the Software without restriction, including without limitation
 the rights to use, copy, modify, merge, publish, distribute, sublicense,
 and/or sell copies of the Software, and to permit persons to whom the
 Software is furnished to do so, subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included
 in all copies or substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Files: docs/* jq.1
Copyright: 2012 Stephen Dolan <mu@netsoc.tcd.ie>
License: CC-BY-3.0
 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
 .
  a. "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.
  b. "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 above) for the purposes of this
     License.
  c. "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.
  d. "Licensor" means the individual, individuals, entity or entities that
     offer(s) the Work under the terms of this License.
  e. "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.
  f. "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.
  g. "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.
  h. "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.
  i. "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:
 .
  a. to Reproduce the Work, to incorporate the Work into one or more
     Collections, and to Reproduce the Work as incorporated in the
     Collections;
  b. 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.";
  c. to Distribute and Publicly Perform the Work including as incorporated
     in Collections; and,
  d. to Distribute and Publicly Perform Adaptations.
  e. For the avoidance of doubt:
 .
     i. 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;
    ii. 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,
   iii. 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:
 .
  a. 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(b), 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(b), as requested.
  b. 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 Section 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 (b) 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.
  c. 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
 .
  a. 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.
  b. 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
 .
  a. 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.
  b. 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.
  c. 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.
  d. 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.
  e. 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.
  f. 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.

Files: docs/public/bootstrap/*
Copyright: 2012 Twitter, Inc
License: Apache-2.0
 On Debian systems the full text of the Apache-2.0 license can be found in the
  /usr/share/common-licenses/Apache-2.0 file.

Files: jv_dtoa.c
Copyright: 1991, 2000, 2001 by Lucent Technologies
           1991, 1996 by Lucent Technologies
License: Expat
 The author of this software is David M. Gay.
 .
 Permission to use, copy, modify, and distribute this software for any
 purpose without fee is hereby granted, provided that this entire notice
 is included in all copies of any software which is or includes a copy
 or modification of this software and in all copies of the supporting
 documentation for such software.
 .
 THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
 WARRANTY.  IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY
 REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
 OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.


Files: debian/*
Copyright: 2012 Simon Elsbrock <simon@iodev.org>
License: GPL-2.0+
 This package is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.
 .
 This package is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program. If not, see <http://www.gnu.org/licenses/>
 .
 On Debian systems, the complete text of the GNU General
 Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
EOF

cat >debian/rules <<'EOF'
#!/usr/bin/make -f
# -*- makefile -*-
DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-include /usr/share/dpkg/buildflags.mk

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    MAKEFLAGS += -j$(NUMJOBS)
endif

get-orig-source:
	uscan --force-download --rename --destdir .

override_dh_auto_configure:
	cp jq.1.prebuilt jq.1
#	cd docs && rake manpage > ../jq.1
	dh_auto_configure -- --disable-static

override_dh_auto_test:
	VERBOSE=1 dh_auto_test

override_dh_auto_clean:
	dh_auto_clean
	test ! -f ./jq.1.old || mv ./jq.1.old jq.1

override_dh_install:
	dh_missing --list-missing

%:
	dh $@
EOF

cat <<EOF >debian/watch
version=4
opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/${PROJECT}-$1\.tar\.gz/ \
  http://github.com/${USER}/${PROJECT}/tags .*/v?(\d\S+)\.tar\.gz
EOF

cat <<EOF >debian/control
Source: jq
Section: utils
Priority: optional
Maintainer: ChangZhuo Chen (陳昌倬) <czchen@debian.org>
Uploaders: Simon Elsbrock <simon@iodev.org>
Build-Depends: debhelper (>= 10),
               bison,
               dh-autoreconf,
               flex,
               libonig-dev,
               libtool-bin,
               rake,
               ruby-ronn
Standards-Version: 3.9.8
Homepage: http://github.com/stedolan/jq
Vcs-Git: https://anonscm.debian.org/git/collab-maint/jq.git
Vcs-Browser: https://anonscm.debian.org/git/collab-maint/jq.git

Package: jq
Architecture: any
Multi-Arch: foreign
Depends: libjq1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: lightweight and flexible command-line JSON processor
 jq is like sed for JSON data – you can use it to slice
 and filter and map and transform structured data with
 the same ease that sed, awk, grep and friends let you
 play with text.
 .
 It is written in portable C, and it has minimal runtime
 dependencies.
 .
 jq can mangle the data format that you have into the
 one that you want with very little effort, and the
 program to do so is often shorter and simpler than
 you’d expect.

Package: libjq1
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: lightweight and flexible command-line JSON processor - shared library
 jq is like sed for JSON data – you can use it to slice
 and filter and map and transform structured data with
 the same ease that sed, awk, grep and friends let you
 play with text.
 .
 It is written in portable C, and it has minimal runtime
 dependencies.
 .
 jq can mangle the data format that you have into the
 one that you want with very little effort, and the
 program to do so is often shorter and simpler than
 you’d expect.
 .
 This package contains the shared library.

Package: libjq-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libjq1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: lightweight and flexible command-line JSON processor - development files
 jq is like sed for JSON data – you can use it to slice
 and filter and map and transform structured data with
 the same ease that sed, awk, grep and friends let you
 play with text.
 .
 It is written in portable C, and it has minimal runtime
 dependencies.
 .
 jq can mangle the data format that you have into the
 one that you want with very little effort, and the
 program to do so is often shorter and simpler than
 you’d expect.
 .
 This package contains the development files.
EOF

cat <<EOF >docs/Rakefile
require 'yaml'
require 'json'
require 'ronn'
require 'tempfile'
require 'yaml'

def load_manual
  YAML::load(File.open("content/3.manual/manual.yml"))
end

task :manpage do
  Tempfile.open "manpage" do |f|
    manual = load_manual
    f.puts manual['manpage_intro']
    f.puts manual['body']
    manual['sections'].each do |section|

      f.puts "## #{section['title'].upcase}\n"
      f.puts section['body']
      f.puts ""
      (section['entries'] || []).each do |entry|
        f.puts "### #{entry['title']}\n"
        f.puts entry['body']
        f.puts ""
        (entry['examples'] || []).each do |example|
          f.puts "    jq '#{example['program']}'"
          f.puts "       #{example['input']}"
          f.puts "    => #{example['output'].join(", ")}"
          f.puts
        end
      end
      f.puts ""
    end
    f.puts manual['manpage_epilogue']
    f.close
    puts Ronn::Document.new(f.path).convert('roff').gsub(/<\/?code>/,"")
  end
end

task :manpage_default => ["default_manpage.md"] do
  puts Ronn::Document.new("default_manpage.md").convert('roff').gsub(/<\/?code>/,"")
end

task :mantests do
  load_manual['sections'].each do |section|
    (section['entries'] || []).each do |entry|
      (entry['examples'] || []).each do |example|
        puts example['program'].gsub("\n", " ")
        puts example['input']
        example['output'].each do |s| puts s end
        puts
      end
    end
  end
end

directory "output/download/source"
task :tarball => ["output/download/source"] do
  sh "cd ..; ./configure && make dist && make distclean"
  sh "cp ../jq-*.tar.gz output/download/source"
end

task :dist => [:build, :binaries, :tarball]
EOF

# Customize the debian directory values
#sed -i 's,^\(Description: \).*,\1'${DESCRIPTION}',' debian/control
#sed -i "s,^\(Description: \).*,\1${DESCRIPTION}," debian/control
#sed -i 's,^\(Section: \).*,\1'${SECTION}',' debian/control
#sed -i "s,^\(Maintainer: \).*,\1'${DEBFULLNAME}\ \<${DEBEMAIL}\>'," debian/control
#sed -i 's,^\(Homepage: \).*,\1'${HOMEPAGE}',' debian/control
#sed -i "s/.*insert\ long.*/${LONG_DESCRIPTION}/" debian/control

dpkg-buildpackage -us -uc -b

echo ${PACKAGE}_${VERSION}_amd64.deb

sudo dpkg -i ../${PACKAGE}_${VERSION}_amd64.deb
