From 1dabf5a8d511db458dd529588e57a8ed8185787a Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Thu, 28 May 2020 16:45:43 +0300 Subject: added new utilities, changed repository structure --- repo/git/kiss-add | 13 +++++++++++++ repo/git/kiss-bump | 12 ++++++++++++ repo/git/kiss-commit | 5 +++++ repo/git/kiss-maintainer | 18 ++++++++++++++++++ repo/git/kiss-rel | 16 ++++++++++++++++ repo/git/kiss-update | 2 ++ repo/kiss-cargo-urlgen | 17 +++++++++++++++++ repo/kiss-cargolock-urlgen | 21 +++++++++++++++++++++ repo/kiss-reporevdepends | 17 +++++++++++++++++ 9 files changed, 121 insertions(+) create mode 100755 repo/git/kiss-add create mode 100755 repo/git/kiss-bump create mode 100755 repo/git/kiss-commit create mode 100755 repo/git/kiss-maintainer create mode 100755 repo/git/kiss-rel create mode 100755 repo/git/kiss-update create mode 100755 repo/kiss-cargo-urlgen create mode 100755 repo/kiss-cargolock-urlgen create mode 100755 repo/kiss-reporevdepends (limited to 'repo') diff --git a/repo/git/kiss-add b/repo/git/kiss-add new file mode 100755 index 0000000..3f29946 --- /dev/null +++ b/repo/git/kiss-add @@ -0,0 +1,13 @@ +#!/bin/sh +# Commit the current directory as a new package + +case "$1" in --help|-h) printf '%s\n' "usage: ${0##*/}"; exit 0; esac + +read -r ver _ < version || { + printf '%s\n' "could not find version file, are you on a package directory?" + exit 1 +} + +# Unstage all changes and stage the current directory +git reset; git add . +git commit -m "${PWD##*/}: add new package at $ver" diff --git a/repo/git/kiss-bump b/repo/git/kiss-bump new file mode 100755 index 0000000..e4b758f --- /dev/null +++ b/repo/git/kiss-bump @@ -0,0 +1,12 @@ +#!/bin/sh +# Commit the current directory as a version bump + +case "$1" in --help|-h) printf '%s\n' "usage: ${0##*/}"; exit 0 ; esac + +read ver _ < version || { + printf '%s\n' "could not find version file, are you on a package directory?" + exit 1 +} + +git reset; git add . +git commit -m "${PWD##*/}: bump to $ver" diff --git a/repo/git/kiss-commit b/repo/git/kiss-commit new file mode 100755 index 0000000..ae0315a --- /dev/null +++ b/repo/git/kiss-commit @@ -0,0 +1,5 @@ +#!/bin/sh +# Commit a package without the prefix of 'package:' + +[ "$1" ] || { printf 'usage: %s \n' "${0##*/}"; exit 0 ;} +git reset; git add .; git commit -m "${PWD##*/}: $*" diff --git a/repo/git/kiss-maintainer b/repo/git/kiss-maintainer new file mode 100755 index 0000000..629a893 --- /dev/null +++ b/repo/git/kiss-maintainer @@ -0,0 +1,18 @@ +#!/bin/sh -ef +# Find the maintainer of a package + +# Copyright (C) 2019-2020 Dylan Araps. +# Copyright (C) 2929 Cem Keylan. +# Distributed under the terms of the MIT License + +case "$1" in ''|--help|-h) printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} " ; exit 0 ; esac + +kiss s "$1" | while read -r repo; do cd "$repo" + m=$(git log -1 version 2>/dev/null) ||: + m=${m##*Author: } + m=${m%%>*} + + [ "$m" ] || continue + + printf '=> %s\n%s>\n' "$PWD" "$m" +done diff --git a/repo/git/kiss-rel b/repo/git/kiss-rel new file mode 100755 index 0000000..ae76c6e --- /dev/null +++ b/repo/git/kiss-rel @@ -0,0 +1,16 @@ +#!/bin/sh +# Bump the release number of a package + +case "$1" in --help|-h) printf '%s\n' "usage: ${0##*/}"; exit 0; esac + +read -r ver rel < version || { + printf '%s\n' "could not find version file, are you on a package directory?" + exit 1 +} + +# Update the version file with the new release number +printf '%s\n' "$ver $(( rel += 1 ))" > version + +# Unstage all changes and add the version file +git reset; git add version +git commit -m "${PWD##*/}: bump release number" diff --git a/repo/git/kiss-update b/repo/git/kiss-update new file mode 100755 index 0000000..13f4793 --- /dev/null +++ b/repo/git/kiss-update @@ -0,0 +1,2 @@ +#!/bin/sh + diff --git a/repo/kiss-cargo-urlgen b/repo/kiss-cargo-urlgen new file mode 100755 index 0000000..2105329 --- /dev/null +++ b/repo/kiss-cargo-urlgen @@ -0,0 +1,17 @@ +#!/bin/sh +# Create static cargo sources for Rust packages + +# Copyright (C) 2020 - Dylan Araps. +# Copyright (C) 2020 - Cem Keylan. +# Distributed under the terms of the MIT License + +case "$1" in ''|--help|-h) printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} [crate+ver] [crate+ver]"; exit 0 ; esac + +# We convert the name-version seperator from '+' to '-' to +# avoid issues that may arise from version numbers that include +# a '-'. + +for crate in "$@"; do + printf 'https://static.crates.io/crates/%s/%s.crate vendor\n' \ + "${crate%+*}" "$(echo "$crate" | sed 's/+/-/')" +done diff --git a/repo/kiss-cargolock-urlgen b/repo/kiss-cargolock-urlgen new file mode 100755 index 0000000..7d78a6a --- /dev/null +++ b/repo/kiss-cargolock-urlgen @@ -0,0 +1,21 @@ +#!/bin/sh +# Convert the given Cargo.lock file to sources + +case "$1" in + -) set -- /dev/stdin ;; + ''|--help|-h) printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} " "" \ + "'-' can be used to read from stdin." ; exit 0 +esac + +# Word splitting is intentional +# shellcheck disable=2046 +set -- $(sed '/name =/b;/version =/b;d' "$1" | + sed 's/version = /#/g;s/name = //;s/"//g' | + tr '\n' ' ' | sed 's/ #/#/g') + +# We convert the name-version seperator to '#' and back to '-' +# to avoid issues that may arise from version names with a '-' +for crate in "$@" ; do + printf 'https://static.crates.io/crates/%s/%s.crate vendor\n' \ + "${crate%#*}" "$crate" | sed 's/#/-/g' +done diff --git a/repo/kiss-reporevdepends b/repo/kiss-reporevdepends new file mode 100755 index 0000000..59262f0 --- /dev/null +++ b/repo/kiss-reporevdepends @@ -0,0 +1,17 @@ +#!/bin/sh +# Display packages on the repository which depend on package +# shellcheck disable=2086 + +case "$1" in ''|--help|-h) printf 'usage: %s \n' "${0##*/}"; exit 0; esac + +pkg="$1" +IFS=:; set -- $KISS_PATH; unset IFS + +for repo do + # Change directory to the upper directory of the repository + # so it outputs packages in this nice looking format. + # repository/package: + cd "$repo/.." ||: + # This grep only checks for the full word + grep "^$pkg\$\|^$pkg\s" -- "${repo##*/}"/*/depends 2>/dev/null ||: +done -- cgit v1.2.3