diff --git a/010_apt-get.sh b/010_apt-get.sh index 7c1f2dd..ec3330f 100755 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -7,6 +7,7 @@ apt-get -y install xclip apt-get -y install xsel apt-get -y install neofetch apt-get -y install sshpass +apt-get -y install moreutils apt-get -y install git apt-get -y install gnutls-bin apt-get -y install tig diff --git a/010_generate-ssh.sh b/010_generate-ssh.sh index ff2d304..ff284ea 100755 --- a/010_generate-ssh.sh +++ b/010_generate-ssh.sh @@ -33,12 +33,12 @@ chmod 644 ~/.ssh/mozilla_rsa.pub EOF + DEST=/etc/skel cat > ${DEST}/.zprofile <<'EOF' if [ -f ${HOME}/.ssh/id_rsa.pub ]; then chmod 644 ${HOME}/.ssh/id_rsa.pub - exit 0 else echo "Generating ssh keys." ssh-keygen -q -t rsa -N '' -f ${HOME}/.ssh/id_rsa 2>/dev/null <<< y >/dev/null @@ -54,4 +54,6 @@ ssh-keygen -A # Root user keys ssh-keygen -q -t rsa -N '' -f ${HOME}/.ssh/id_rsa 2>/dev/null <<< y >/dev/null +# Do this for any server you want to connect to without interaction. +# ssh-keyscan git.ring-zero.co.uk >> ~/.ssh/known_hosts diff --git a/020_conky.sh b/020_conky.sh index 6e9b64d..b760e2e 100755 --- a/020_conky.sh +++ b/020_conky.sh @@ -34,26 +34,26 @@ cp ./fonts/* ${DEST}/.conky/fonts #sensors-detect #service kmod restart -echo "building conky-manager2" -apt-get install -y p7zip-full rsync imagemagick -cd /var/tmp - -# build deps -apt-get install -y autotools-dev devscripts debhelper valac libgtk-3-dev libgee-0.8-dev libjson-glib-dev -git clone https://github.com/zcot/conky-manager2 -cd conky-manager2 - -# Adjust to accept current valac version -sed -i -e "s|\(valac-\)....|valac|" debian/control -sed -i -e "s|\( realpath\).||" debian/control -dch -R -dpkg-buildpackage -us -uc -b -dpkg -i ../conky-manager_*deb -apt-get -f install - -# Remove build deps -apt-get remove -y autotools-dev valac debhelper libgtk-3-dev libgee-0.8-dev libjson-glib-dev -apt-get -y autoremove +#echo "building conky-manager2" +#apt-get install -y p7zip-full rsync imagemagick +#cd /var/tmp +# +## build deps +#apt-get install -y autotools-dev devscripts debhelper valac libgtk-3-dev libgee-0.8-dev libjson-glib-dev +#git clone https://github.com/zcot/conky-manager2 +#cd conky-manager2 +# +## Adjust to accept current valac version +#sed -i -e "s|\(valac-\)....|valac|" debian/control +#sed -i -e "s|\( realpath\).||" debian/control +#dch -R +#dpkg-buildpackage -us -uc -b +#dpkg -i ../conky-manager_*deb +#apt-get -f install +# +## Remove build deps +#apt-get remove -y autotools-dev valac debhelper libgtk-3-dev libgee-0.8-dev libjson-glib-dev +#apt-get -y autoremove # Run conky + theme on x startup. Points at the symlink in dotconky changed by theme mkdir -p ${DEST}/.xinitrc.d/ diff --git a/020_docker-compose.sh b/020_docker-compose.sh index eb4cb14..3e6f49b 100755 --- a/020_docker-compose.sh +++ b/020_docker-compose.sh @@ -1,72 +1,114 @@ #!/usr/bin/env bash -#!/usr/bin/env bash -apt-get install -y docker-compose -#dpkg -i /var/tmp/docker-compose/docker-compose_1.11.0-1_amd64.deb -# PROJECT=docker/compose -# PRERELEASE=false -# RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | select( .prerelease = false ) |.tag_name') -# VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-") -# DOWNLOAD_DIR=/tmp -# -# # make a containing directory -# mkdir -p /var/tmp/docker-compose-"${RELEASE}" -# cd /var/tmp/docker-compose-"${RELEASE}" || exit -# -# cat > ./description-pak << EOF -# Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration. -# EOF -# -# cat > ./checkinstall_it.sh << 'EOF' -# -# echo "ENTERING CHECKINSTALL" -# -# BASE_URL='https://api.github.com/repos' -# BASE_USER='docker' -# BASE_REPO='compose' -# LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license -# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases -# CONTENT=$(curl -s ${RELEASES_URL}/latest) -# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') -# -# echo "LATEST_URL: " "${LATEST_URL}" -# -# RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') -# -# LICENSE_URL=$(curl "${LICENSE_PAGE_URL}" | jq --raw-output '.download_url') -# wget -c ${LICENSE_URL} -# -# # make a new temporary directory for this use -# BASE_TMP_DIR=~/tmptmp/checkinstall_tmp -# mkdir -p ${BASE_TMP_DIR} -# -# # do your work -# checkinstall -y --fstrans \ -# --pkgname=docker-compose \ -# --pkgversion=${RELEASE} \ -# --pkgrelease=1 \ -# --pkgarch=amd64 \ -# --pkggroup=admin \ -# --pkglicense=LICENSE \ -# --pkgsource=${LATEST_URL} \ -# --maintainer=cyteen@ring-zero.co.uk \ -# --requires=docker-engine \ -# -D \ -# bash ./install.sh -# EOF -# -# cat > ./install.sh << 'EOF' -# BASE_URL='https://api.github.com/repos' -# BASE_USER='docker' -# BASE_REPO='compose' -# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases -# CONTENT=$(curl -s ${RELEASES_URL}/latest) -# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') -# -# # Download and copy the latest version to /usr/local/bin and make executable -# curl -s -o /usr/local/bin/docker-compose -L ${LATEST_URL} && chmod +x /usr/local/bin/docker-compose -# EOF -# -# bash ./checkinstall_it.sh -# -# docker-compose --version +USER="docker" +PROJECT="compose" +LICENSE="mit" +SECTION="admin" +HOMEPAGE="https://https://docs.docker.com/compose/" +BUILD_HOME="/var/tmp/compose_build" +#VERSION="2.1.0" +PACKAGE="docker-compose" +VERSION=$(curl "https://api.github.com/repos/${USER}/${PROJECT}/tags?per_page=5" | jq '[ .[] | select(.name|test("v[[:digit:].]+$"))]|.[0] | .name') +DEB_VERSION=$(echo ${VERSION} | tr -d "\"" | tr -d "v") # strip the preceding 'v' +#VERSION="1.0.0" +DEBEMAIL="person@company.tld" +DEBFULLNAME="Testy McTester" +DESCRIPTION="." +LONG_DESCRIPTION=" ." + +REQUIRES="docker-ce" +BUILD_DIR="/var/tmp/compose_build" +WORKDIR="/var/tmp/compose_build" + +## Checkinstall variables - see defaults in /etc/checkinstallrc +DOC_DIR=/usr/share/doc + +# make a new temporary directory for this use to avoid permission issues. +BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +#------------------------------------------------------------------------------- +mkdir -p ${BUILD_DIR} + +## Create and populate the install scripts and documentation for checkinstall +cat > ${BUILD_DIR}/description-pak << EOF +Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration. +EOF + +# | preinstall-pak | Run BEFORE the package is INSTALLED | +cat > ${BUILD_DIR}/preinstall-pak << EOF +#!/usr/bin/env bash +EOF + +# | postinstall-pak | Run AFTER the package is INSTALLED | +cat > ${BUILD_DIR}/postinstall-pak << EOF +#!/usr/bin/env bash +EOF + +# | preremove-pak | Run BEFORE the package is REMOVED | +cat > ${BUILD_DIR}/preremove-pak << EOF +#!/usr/bin/env bash +EOF + +# | postremove-pak | Run AFTER the package is REMOVED +cat > ${BUILD_DIR}/postremove-pak << EOF +#!/usr/bin/env bash +EOF + +## Make the doc-pak directory for README, INSTALL, COPYING, Changelog, TODO, CREDITS +mkdir -p ${BUILD_DIR}/doc-pak +#cp README INSTALL COPYING Changelog TODO CREDITS doc-pak + + +cat > ${BUILD_DIR}/doc-pak/README << 'EOF' +Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration. To learn more about all the features of Compose, see the list of features. + +Compose works in all environments: production, staging, development, testing, as well as CI workflows. You can learn more about each case in Common Use Cases. + +Using Compose is basically a three-step process: + +1. Define your app’s environment with a Dockerfile so it can be reproduced anywhere. + +2. Define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment. + +3. Run docker-compose up and Compose starts and runs your entire app. + +see: https://docs.docker.com/compose/ +EOF + +cat > ${BUILD_DIR}/checkinstall_it.sh << FOE + +## Checkinstall variables - see defaults in /etc/checkinstallrc +DOC_DIR=/usr/share/doc + +# make a new temporary directory for this use to avoid permission issues. +BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +mkdir -p '${BASE_TMP_DIR}' + + +# do your work +checkinstall -y --fstrans \ + --pkgname=${PACKAGE} \ + --pkgversion=${DEB_VERSION}\ + --pkgrelease=${RELEASE} \ + --pkgarch=amd64 \ + --pkggroup=admin \ + --pkglicense=LICENSE \ + --pkgsource=${LATEST_URL} \ + --maintainer=cyteen@ring-zero.co.uk \ + --requires=${REQUIRES} \ + --recommends=${RECOMENDS} \ + --suggests=${SUGGESTS} \ + -D \ + bash ${BUILD_DIR}/install.sh +FOE + +echo "Writing install.sh to: ${BUILD_DIR}/install.sh" +cat > ${BUILD_DIR}/install.sh << FOE +#!/usr/bin/env bash +set -e +#set -x + +wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/${VERSION}/${PACKAGE}-`uname -s`-`uname -m` && chmod +x /usr/local/bin/${PACKAGE} + +FOE + +bash ${BUILD_DIR}/checkinstall_it.sh diff --git a/020_enlightenment-theme_fc8c4a.sh b/020_enlightenment-theme_fc8c4a.sh new file mode 100644 index 0000000..d2a21b0 --- /dev/null +++ b/020_enlightenment-theme_fc8c4a.sh @@ -0,0 +1,122 @@ +#!/usr/bin/env bash + +USER="c0n" +PROJECT="relightable_fc8c4a" +LICENSE="mit" +SECTION="admin" +HOMEPAGE="https://relightable.c0n.de" +BUILD_HOME="/var/tmp/relightable_build" +#VERSION="2.1.0" +PACKAGE="relightable" +#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="1.0.0" +DEBEMAIL="person@company.tld" +DEBFULLNAME="Testy McTester" +DESCRIPTION="Recolourable enlightenment desktop default theme." +LONG_DESCRIPTION=" The standard theme comes in blue, this theme allows any colour to be substituted." + +REQUIRES="imagemagick" +BUILD_DIR="/var/tmp/relightable_build" +WORKDIR="/var/tmp/relightable_build" + +## Checkinstall variables - see defaults in /etc/checkinstallrc +DOC_DIR=/usr/share/doc + +# make a new temporary directory for this use to avoid permission issues. +BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +#------------------------------------------------------------------------------- +mkdir -p ${BUILD_DIR} + +## Create and populate the install scripts and documentation for checkinstall +cat > ${BUILD_DIR}/description-pak << EOF +Recolorable-wizard + +The standard theme comes in blue, this theme allows any colour to be substituted. +EOF + +# | preinstall-pak | Run BEFORE the package is INSTALLED | +cat > ${BUILD_DIR}/preinstall-pak << EOF +#!/usr/bin/env bash +EOF + +# | postinstall-pak | Run AFTER the package is INSTALLED | +cat > ${BUILD_DIR}/postinstall-pak << EOF +#!/usr/bin/env bash +EOF + +# | preremove-pak | Run BEFORE the package is REMOVED | +cat > ${BUILD_DIR}/preremove-pak << EOF +#!/usr/bin/env bash +EOF + +# | postremove-pak | Run AFTER the package is REMOVED +cat > ${BUILD_DIR}/postremove-pak << EOF +#!/usr/bin/env bash +EOF + +## Make the doc-pak directory for README, INSTALL, COPYING, Changelog, TODO, CREDITS +mkdir -p ${BUILD_DIR}/doc-pak +#cp README INSTALL COPYING Changelog TODO CREDITS doc-pak + + +cat > ${BUILD_DIR}/doc-pak/README << 'EOF' +*** rElightable *** + - recolorable E17 default theme + +based on the E17 default theme: http://svn.enlightenment.org/svn/e/trunk/e/data/themes +patched by Stefan Baur + +How to build: +a simple + make +should do the trick. +Note: you need to have all the necessary EFL libraries and edje_cc installed. + +How to change colors: +Open Enlightenment Settings -> Colors, select "Focus" Color, change to your liking and accept. +Note: make sure you set correct (non transparent) alpha. + +EOF + +cat > ${BUILD_DIR}/checkinstall_it.sh << FOE + +## Checkinstall variables - see defaults in /etc/checkinstallrc +DOC_DIR=/usr/share/doc + +# make a new temporary directory for this use to avoid permission issues. +BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +mkdir -p '${BASE_TMP_DIR}' + +# do your work +checkinstall -y --fstrans \ + --pkgname=${PROJECT} \ + --pkgversion=${VERSION}\ + --pkgrelease=${RELEASE} \ + --pkgarch=amd64 \ + --pkggroup=admin \ + --pkglicense=LICENSE \ + --pkgsource=${LATEST_URL} \ + --maintainer=cyteen@ring-zero.co.uk \ + --requires=${REQUIRES} \ + --recommends=${RECOMENDS} \ + --suggests=${SUGGESTS} \ + -D \ + bash ${BUILD_DIR}/install.sh +FOE + +echo "Writing install.sh to: ${BUILD_DIR}/install.sh" +cat > ${BUILD_DIR}/install.sh << FOE +#!/usr/bin/env bash +set -e +#set -x + + +## Download and copy the latest version to the shared theme directory +#wget -c -P /usr/share/elementary/themes https://relightable.c0n.de/themes/rElightable.edj + + +wget -c -O /usr/share/elementary/themes/relightable_fc8c4a.edj https://relighted.c0n.de/?get=198#198 +FOE + +bash ${BUILD_DIR}/checkinstall_it.sh diff --git a/020_enlightenment_relightable-theme.sh b/020_enlightenment_relightable-theme.sh new file mode 100644 index 0000000..6ceb3c9 --- /dev/null +++ b/020_enlightenment_relightable-theme.sh @@ -0,0 +1,124 @@ +#!/usr/bin/env bash + +USER="c0n" +PROJECT="relightable" +LICENSE="mit" +SECTION="admin" +HOMEPAGE="https://relightable.c0n.de" +BUILD_HOME="/var/tmp/relightable_build" +#VERSION="2.1.0" +PACKAGE="relightable" +#VERSION=$(curl "https://api.github.com/repos/${USER}/${PROJECT}/tags?per_page=5" | jq -r '.[0] | .name') +#RELEASE=$(curl "https://api.github.com/repos/${USER}/${PROJECT}/tags?per_page=5" | jq '[ .[] | select(.name|test("v[[:digit:].]+$"))]|.[0] | .name') +#VERSION=${VERSION:1} # strip the preceding 'v' +VERSION="1.0.0" +DEBEMAIL="person@company.tld" +DEBFULLNAME="Testy McTester" +DESCRIPTION="Recolourable enlightenment desktop default theme." +LONG_DESCRIPTION=" The standard theme comes in blue, this theme allows any colour to be substituted." + +REQUIRES="imagemagick" +BUILD_DIR="/var/tmp/relightable_build" +WORKDIR="/var/tmp/relightable_build" + +## Checkinstall variables - see defaults in /etc/checkinstallrc +DOC_DIR=/usr/share/doc + +# make a new temporary directory for this use to avoid permission issues. +BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +#------------------------------------------------------------------------------- +mkdir -p ${BUILD_DIR} + +## Create and populate the install scripts and documentation for checkinstall +cat > ${BUILD_DIR}/description-pak << EOF +Recolorable-wizard + +The standard theme comes in blue, this theme allows any colour to be substituted. +EOF + +# | preinstall-pak | Run BEFORE the package is INSTALLED | +cat > ${BUILD_DIR}/preinstall-pak << EOF +#!/usr/bin/env bash +EOF + +# | postinstall-pak | Run AFTER the package is INSTALLED | +cat > ${BUILD_DIR}/postinstall-pak << EOF +#!/usr/bin/env bash +EOF + +# | preremove-pak | Run BEFORE the package is REMOVED | +cat > ${BUILD_DIR}/preremove-pak << EOF +#!/usr/bin/env bash +EOF + +# | postremove-pak | Run AFTER the package is REMOVED +cat > ${BUILD_DIR}/postremove-pak << EOF +#!/usr/bin/env bash +EOF + +## Make the doc-pak directory for README, INSTALL, COPYING, Changelog, TODO, CREDITS +mkdir -p ${BUILD_DIR}/doc-pak +#cp README INSTALL COPYING Changelog TODO CREDITS doc-pak + + +cat > ${BUILD_DIR}/doc-pak/README << 'EOF' +*** rElightable *** + - recolorable E17 default theme + +based on the E17 default theme: http://svn.enlightenment.org/svn/e/trunk/e/data/themes +patched by Stefan Baur + +How to build: +a simple + make +should do the trick. +Note: you need to have all the necessary EFL libraries and edje_cc installed. + +How to change colors: +Open Enlightenment Settings -> Colors, select "Focus" Color, change to your liking and accept. +Note: make sure you set correct (non transparent) alpha. + +EOF + +cat > ${BUILD_DIR}/checkinstall_it.sh << FOE + +## Checkinstall variables - see defaults in /etc/checkinstallrc +DOC_DIR=/usr/share/doc + +# make a new temporary directory for this use to avoid permission issues. +BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +mkdir -p '${BASE_TMP_DIR}' + +# do your work +checkinstall -y --fstrans \ + --pkgname=${PROJECT} \ + --pkgversion=${VERSION}\ + --pkgrelease=${RELEASE} \ + --pkgarch=amd64 \ + --pkggroup=admin \ + --pkglicense=LICENSE \ + --pkgsource=${LATEST_URL} \ + --maintainer=cyteen@ring-zero.co.uk \ + --requires=${REQUIRES} \ + --recommends=${RECOMENDS} \ + --suggests=${SUGGESTS} \ + -D \ + bash ${BUILD_DIR}/install.sh +FOE + +echo "Writing install.sh to: ${BUILD_DIR}/install.sh" +cat > ${BUILD_DIR}/install.sh << FOE +#!/usr/bin/env bash +set -e +#set -x + +echo "PWD: ${PWD}" +echo "LSD:" +lsd + +## Download and copy the latest version to the shared theme directory +wget -c -P /usr/share/elementary/themes https://relightable.c0n.de/themes/rElightable.edj + +FOE + +bash ${BUILD_DIR}/checkinstall_it.sh diff --git a/020_jq.sh b/020_jq.sh new file mode 100755 index 0000000..2f0c639 --- /dev/null +++ b/020_jq.sh @@ -0,0 +1,830 @@ +#!/usr/bin/env bash +set -x +sudo apt-get -y install \ + 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. +" + +# Make the BUILD_HOME directory and clone upstream +mkdir -p ${BUILD_HOME} +cd ${BUILD_HOME} || exit + +git clone https://github.com/${USER}/${PROJECT}.git ${PACKAGE}-${VERSION} + +cd ${PACKAGE}-${VERSION} || exit + +mkdir -p m4 + + +cat < .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: + +Files: * +Copyright: 2012 Stephen Dolan +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 +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 +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 + . + 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 < debian/watch +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/${PROJECT}-$1\.tar\.gz/ \ + https://github.com/${USER}/${PROJECT}/tags .*/v?(\d\S+)\.tar\.gz +EOF + + +cat < debian/control +Source: jq +Section: utils +Priority: optional +Maintainer: ChangZhuo Chen (陳昌倬) +Uploaders: Simon Elsbrock +Build-Depends: debhelper (>= 10), + bison, + dh-autoreconf, + flex, + libonig-dev, + libtool-bin, + rake, + ruby-ronn +Standards-Version: 3.9.8 +Homepage: https://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 < 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 + diff --git a/020_sanoid.sh b/020_sanoid.sh new file mode 100755 index 0000000..eea0250 --- /dev/null +++ b/020_sanoid.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env bash +set -x +sudo apt-get -y install \ + git \ + dh-make \ + libconfig-inifiles-perl + +USER="jimsalterjrs" +PROJECT="sanoid" +LICENSE="mit" +SECTION="admin" +HOMEPAGE="https://openoid.net" +BUILD_HOME="/var/tmp/sanoid-git_build" +#VERSION="2.10.0" +PACKAGE="sanoid" +VERSION=$(curl "https://api.github.com/repos/${USER}/${PROJECT}/tags?per_page=5" | jq -r '.[0] | .name') +VERSION=${VERSION:1} # strip the preceding 'v' +DEBEMAIL="person@company.tld" +DEBFULLNAME="Testy McTester" +DESCRIPTION="Policy-driven snapshot management tool for ZFS filesystems." +LONG_DESCRIPTION="Create, thin, and monitor snapshots and pool health from a single configuration file." + +# Make the BUILD_HOME directory and clone upstream +mkdir -p ${BUILD_HOME} +cd ${BUILD_HOME} || exit + +git clone https://github.com/${USER}/${PROJECT}.git ${PACKAGE}-${VERSION} + +cd ${PACKAGE}-${VERSION} || exit + +mkdir -p m4 + + +cat < .git/gbp.conf +[DEFAULT] +# this is the upstream-branch: +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 + + +# 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 + + +echo **************** +cat debian/control +echo **************** + +BUILD_OPTIONS="" + +cat < debian/rules +#!/usr/bin/make -f +%: + dh \$@ + +override_dh_auto_configure: + dh_auto_configure -- ${BUILD_OPTIONS} +EOF + +cat < debian/watch +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/${PROJECT}-$1\.tar\.gz/ \ + https://github.com/${USER}/${PROJECT}/tags .*/v?(\d\S+)\.tar\.gz +EOF + +cp -a packages/debian/* debian + +dpkg-buildpackage -us -uc -b + +echo ${PACKAGE}_${VERSION}_amd64.deb + +sudo dpkg -i ../${PACKAGE}_${VERSION}_amd64.deb + diff --git a/020_vim.sh b/020_vim.sh index 9f15752..ff8af99 100755 --- a/020_vim.sh +++ b/020_vim.sh @@ -37,16 +37,16 @@ set wildignore+=node_modules/*,bower_components/* nnoremap gf :vertical wincmd f" " Display tabs at the beginning of a line in Python mode as bad. -au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/ +au BufRead, BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/ " Make trailing whitespace be flagged as bad. -au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/ +au BufRead, BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/ " Use the below highlight group when displaying bad whitespace is desired. highlight BadWhitespace ctermbg=red guibg=red " add the proper PEP8 indentation -au BufNewFile,BufRead *.py +au BufNewFile, BufRead *.py \ set tabstop=4 \ set softtabstop=4 \ set shiftwidth=4 @@ -196,9 +196,26 @@ Plugin 'tpope/vim-vinegar' Plugin 'vim-scripts/taglist.vim' Plugin 'majutsushi/tagbar' Plugin 'preservim/nerdtree' +Plugin 'ryanoasis/vim-devicons' +Plugin 'tiagofumo/vim-nerdtree-syntax-highlight' +Plugin 'tsony-tsonev/nerdtree-git-plugin' Plugin 'jistr/vim-nerdtree-tabs' Plugin 'severin-lemaignan/vim-minimap' +let g:NERDTreeGitStatusWithFlags = 1 +let g:NERDTreeIndicatorMapCustom = { + \ "Modified" : "✹", + \ "Staged" : "✚", + \ "Untracked" : "✭", + \ "Renamed" : "➜", + \ "Unmerged" : "═", + \ "Deleted" : "✖", + \ "Dirty" : "✗", + \ "Clean" : "✔︎", + \ 'Ignored' : '☒', + \ "Unknown" : "?" + \ } + let g:minimap_highlight='Visual' let NERDTreeQuitOnOpen=1 @@ -207,9 +224,11 @@ let NERDTreeMinimalUI = 1 let NERDTreeDirArrows = 1 -map :NERDTreeToggle -silent! nmap :NERDTreeToggle -silent! map :NERDTreeFind +" Nerdtree toggle keymap +nmap \ :NERDTreeToggle + +" Nerdtree find keymap +nnoremap :NERDTreeFind:vertical let g:NERDTreeMapActivateNode="" let g:NERDTreeMapPreview="" @@ -218,6 +237,10 @@ Plugin 'saltstack/salt-vim' Plugin 'plasticboy/vim-markdown' Plugin 'fatih/vim-go' +" CtrlP +let g:ctrlp_map = '' +let g:ctrlp_cmd = 'CtrlP' + " Python Plugin 'hynek/vim-python-pep8-indent' Plugin 'jmcantrell/vim-virtualenv' @@ -317,6 +340,10 @@ let g:NERDDefaultAlign = 'left' " Set a language to use its alternate delimiters by default let g:NERDAltDelims_java = 1 +" Use one space after # comment character in python, +" see http://tinyurl.com/y4hm29o3 +let g:NERDAltDelims_python = 1 + " Add your own custom formats or override the defaults let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } } @@ -346,7 +373,7 @@ nnoremap :NERDTreeFind:vertical let g:SimplyFold_docstring_preview=1 " Flag unnecessary whitespace -au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/lib +au BufRead, BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/lib " toggle between all lines folded and no lines folded. :nnoremap &foldlevel ? 'zM' :'zR' diff --git a/020_yq.sh b/020_yq.sh new file mode 100755 index 0000000..340125a --- /dev/null +++ b/020_yq.sh @@ -0,0 +1,91 @@ +#!/usr/bin/env bash +set -x +sudo apt-get -y install \ + jq \ + dh-make \ + python-flake8 \ + python-wheel + +USER="kislyuk" +PROJECT="yq" +LICENSE="mit" +SECTION="admin" +HOMEPAGE="https://kislyuk.github.io/yq/" +BUILD_HOME="/var/tmp/yq-git_build" +#VERSION="2.10.0" +PACKAGE="yq" +VERSION=$(curl "https://api.github.com/repos/${USER}/${PROJECT}/tags?per_page=5" | jq -r '.[0] | .name') +VERSION=${VERSION:1} # strip the preceding 'v' +DEBEMAIL="person@company.tld" +DEBFULLNAME="Testy McTester" +DESCRIPTION="Command-line YAML and XML processor." +LONG_DESCRIPTION="Command-line YAML and XML processor + +jq wrapper for YAML/XML documents." + +# Make the BUILD_HOME directory and clone upstream +mkdir -p ${BUILD_HOME} +cd ${BUILD_HOME} || exit + +git clone https://github.com/${USER}/${PROJECT}.git ${PACKAGE}-${VERSION} + +cd ${PACKAGE}-${VERSION} || exit + +mkdir -p m4 + + +cat < .git/gbp.conf +[DEFAULT] +# this is the upstream-branch: +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 + + +# 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 + + +echo **************** +cat debian/control +echo **************** + +BUILD_OPTIONS="--enable-aac --enable-ofono --enable-debug" + +cat < debian/rules +#!/usr/bin/make -f +%: + dh \$@ + +override_dh_auto_configure: + dh_auto_configure -- ${BUILD_OPTIONS} +EOF + +cat < debian/watch +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/${PROJECT}-$1\.tar\.gz/ \ + https://github.com/${USER}/${PROJECT}/tags .*/v?(\d\S+)\.tar\.gz +EOF + +dpkg-buildpackage -us -uc -b + +echo ${PACKAGE}_${VERSION}_amd64.deb + +sudo dpkg -i ../${PACKAGE}_${VERSION}_amd64.deb + diff --git a/build_deb_from_dsc.sh b/build_deb_from_dsc.sh index 8eb7948..5fb20fb 100755 --- a/build_deb_from_dsc.sh +++ b/build_deb_from_dsc.sh @@ -11,8 +11,8 @@ if [ "$1" == "-h" ]; then exit 0 fi - -BUILD_DIR=${BUILDDIR}/build +FILESTAMP=`date '+%Y-%m-%d-%H-%M'`-`uuidgen -t` +BUILD_DIR=${BUILDDIR}/build-${FILESTAMPS} echo "Building in ${BUILD_DIR}" mkdir -p ${BUILD_DIR} diff --git a/docker_compose-writer.sh b/docker_compose-writer.sh new file mode 100644 index 0000000..4f2a87d --- /dev/null +++ b/docker_compose-writer.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +set -x + +NGINX_NETWORK="$(docker network ls | grep nginx | awk '{print $2}')" +JSON_FILE="docker-compose2.json" +YAML_FILE="docker-compose2.yml" +WORKDIR="/tmp" + +declare -A DOCKER_OPT +DOCKER_OPT[7]='.["version"] = '2'' +# redis +DOCKER_OPT[6]='.["services"] += { "redis":{ "restart": "always", "image": "sameersbn/redis:4.0.9-2", "command": [ "--loglevel warning" ], "volumes": [ "redis-data:/var/lib/redis:Z" ]}}' + +# postgresql +DOCKER_OPT[5]='.["services"] += { "postgresql": { "restart": "always", "image": "sameersbn/postgresql:10-2", "volumes": [ "postgresql-data:/var/lib/postgresql:Z" ], "environment": [ "DB_USER=gitlab", "DB_PASS=mlpfinsonik", "DB_NAME=gitlabhq_production", "DB_EXTENSION=pg_trgm" ] }}' + +# gitlab +DOCKER_OPT[4]='.["services"] += { "gitlab": { "restart": "always", "image": "sameersbn/gitlab:12.7.6", "depends_on": [ "redis", "postgresql" ], "ports": [ "10080:80", "10022:22", "10443:443" ], "volumes": [ "gitlab-data:/home/git/data:Z" ]}}' +DOCKER_OPT[3]='.["services"] += { "gitlab": { "environment": }}' + +# volumes +DOCKER_OPT[2]='.["volumes"] += { "redis-data": null, "postgresql-data": null, "gitlab-data": null }' + +#networks +DOCKER_OPT[1]='.["networks"] += { "default": { "external": { "name": "'${NGINX_NETWORK}'" }}}' + + + +if [ ! -f ${WORKDIR}/${JSON_FILE} ] +then + echo "{}" > ${WORKDIR}/${JSON_FILE} +else + echo "${WORKDIR}/${JSON_FILE} exists." +fi + +# Count through the number of array elements, using ${# +# looking for one missing. +for ((i = 1; i < ${#DOCKER_OPT[@]}; ++i)); do + if [ -z "${DOCKER_OPT[$i]}" ]; then + echo Error: $i missing. + exit 1 + fi +done + +# Work through each array element, using ${!. +# regardless how it's spelled. +for i in "${!DOCKER_OPT[@]}"; do + OPTION="${DOCKER_OPT[$i]}" + jq "${OPTION}" ${WORKDIR}/${JSON_FILE} > ${WORKDIR}/${JSON_FILE}.new && \ + mv -b ${WORKDIR}/${JSON_FILE}.new ${WORKDIR}/${JSON_FILE} + yq -y . ${WORKDIR}/${JSON_FILE} > ${WORKDIR}/${YAML_FILE} +done + + +cat ${WORKDIR}/${JSON_FILE} | jq diff --git a/docker_daemon-writer.sh b/docker_daemon-writer.sh index 1426574..62b453f 100644 --- a/docker_daemon-writer.sh +++ b/docker_daemon-writer.sh @@ -69,11 +69,14 @@ DOCKER_OPT[63]='.["node-generic-resources"] = ["NVIDIA-GPU=UUID1", "NVIDIA_GPU=U DOCKER_OPT[64]='.["runtimes"] = {"cc-runtime": {"path": "/usr/bin/cc-runtime"},"custom": {"path": "usr/local/bin/my-runc-replacement", "runtimeArgs": ["--debug"]}}' DOCKER_OPT[65]='.["default-addresses-pools"] = [{"base":"172.80.0.0/16","size":24},{"base":"172.90.0.0/16","size":24}]' -if [ ! -f /tmp/daemon.json ] +JSON_FILE="daemon.json" +WORDIR="/tmp" + +if [ ! -f ${WORKDIR}/${JSON_FILE} ] then - echo "{}" > /tmp/daemon.json + echo "{}" > ${WORKDIR}/${JSON_FILE} else - echo "/tmp/daemon.json exists." + echo "${WORKDIR}/${JSON_FILE} exists." fi @@ -90,9 +93,9 @@ done # regardless how it's spelled. for i in "${!DOCKER_OPT[@]}"; do OPTION="${DOCKER_OPT[$i]}" - jq "${OPTION}" /tmp/daemon.json > /tmp/daemon.json.new && \ - mv -b /tmp/daemon.json.new /tmp/daemon.json + jq "${OPTION}" ${WORKDIR}/${JSON_FILE} > ${WORKDIR}/${JSON_FILE}.new && \ + mv -b ${WORKDIR}/${JSON_FILE}.new ${WORKDIR}/${JSON_FILE} done -cat /tmp/daemon.json | jq +cat ${WORKDIR}/${JSON_FILE} | jq diff --git a/push_sshkeys_to_gitlab.sh b/push_sshkeys_to_gitlab.sh new file mode 100644 index 0000000..4e3ec5c --- /dev/null +++ b/push_sshkeys_to_gitlab.sh @@ -0,0 +1,19 @@ + +GITLAB_URL="git.devuan.org" +GITLAB_USER="cyteen" + +PRIVATE_TOKEN="P8mHeR6ASfAsHeqQKdvg" # https://git.devuan.org/profile/personal_access_tokens //*[@id="feed_token"] +RSA_KEY=$(cat ${HOME}/.ssh/id_rsa.pub) + +# Send +echo "Sending key." +curl -d '{"title":"test key","key":"'"${RSA_KEY}"'"}' -H 'Content-Type: application/json' https://${GITLAB_URL}/api/v4/user/keys?private_token=${PRIVATE_TOKEN} + +# {"id":3889765,"title":"test key","key":"ssh-rsa ","created_at":"2019-08-01T21:26:40.952Z"} + + +# Test +echo "Testing key." +curl https://${GITLAB_URL}/api/v4/user/keys?private_token=${PRIVATE_TOKEN} + +# [{"id":3889765,"title":"test key","key":"ssh-rsa ","created_at":"2019-08-01T21:26:40.952Z"}]