forked from Spark/builder
		
	kek
This commit is contained in:
		
							
								
								
									
										81
									
								
								repo-clean
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										81
									
								
								repo-clean
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,81 @@ | ||||
| #!/usr/bin/bash | ||||
|  | ||||
| parse_pkg_filename() { | ||||
| 	declare filename=$1 | ||||
| 	declare -a filename_array | ||||
|  | ||||
| 	IFS='-' read -r -a filename_array <<< "$filename" | ||||
|  | ||||
| 	for (( i=${#filename_array[@]}; i>=0; i-- )); do | ||||
| 		printf '%s ' "${filename_array[$i]}" | ||||
| 	done | ||||
| } | ||||
|  | ||||
| is_latest() { | ||||
| 	declare filename=$1 p | ||||
|  | ||||
| 	for p in "${latest[@]}"; do | ||||
| 		if [[ "$filename" == "$p" ]]; then | ||||
| 			return 0 | ||||
| 		fi | ||||
| 	done | ||||
|  | ||||
| 	return 1 | ||||
| } | ||||
|  | ||||
| _pacsort() { | ||||
| 	declare i | ||||
|  | ||||
| 	for i in *.pkg.tar.xz; do | ||||
| 		printf '%s\n' "$i" | ||||
| 	done | pacsort -f | ||||
| } | ||||
|  | ||||
| while (( $# )); do | ||||
| 	case "$1" in | ||||
| 		-r) flag_rm=1;; | ||||
| 	esac | ||||
| 	shift | ||||
| done | ||||
|  | ||||
| if ! (( flag_rm )); then | ||||
| 	if ! [[ -d old ]]; then | ||||
| 		mkdir -p old || { | ||||
| 			return 1 | ||||
| 		} | ||||
| 	fi | ||||
| fi | ||||
|  | ||||
| read -d '' -r -a package_files < <( _pacsort ) | ||||
|  | ||||
| for f in "${package_files[@]}"; do | ||||
| 	unset revision version end package_name | ||||
|  | ||||
| 	read -r end revision version _ < <(parse_pkg_filename "$f") | ||||
| 	package_name=${f%%-$version-$revision*} | ||||
|  | ||||
| 	declare -g -A latest["$package_name"]="$package_name-$version-$revision-$end" | ||||
| done | ||||
|  | ||||
| for f in ${package_files[@]}; do | ||||
| 	if is_latest "$f"; then | ||||
| 		printf '%s is the latest version available\n' "$f" | ||||
| 	else | ||||
| 		printf 'Removing: %s\n' "$f" | ||||
|  | ||||
| 		if (( flag_rm )); then | ||||
| 			rm -f "$f" "${f}.sig" | ||||
| 		else | ||||
| 			mv "$f" old/ | ||||
|  | ||||
| 			if [[ -f "${f}.sig" ]]; then | ||||
| 				mv "${f}.sig" old/ | ||||
| 			fi | ||||
| 		fi | ||||
| 	fi | ||||
| done | ||||
|  | ||||
| if [[ -d old ]]; then | ||||
| 	cd old | ||||
| 	exec bash "$0" -r | ||||
| fi | ||||
							
								
								
									
										15
									
								
								repo-sign
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								repo-sign
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| #!/usr/bin/bash | ||||
|  | ||||
| for i in *.pkg.*; do | ||||
| 	if ! [[ "$i" == "${i%.*}.sig" ]]; then | ||||
| 		if ! [[ -f "${i}.sig" ]]; then | ||||
| 			unsigned_pkgs+=( "$i" ) | ||||
| 		fi | ||||
| 	fi | ||||
| done | ||||
|  | ||||
| for i in "${unsigned_pkgs[@]}"; do | ||||
| 	echo $i | ||||
| 	gpg --pinentry-mode loopback --passphrase-fd 0 --batch --no-tty --detach-sign --no-armor "$i" < ~/.gnupg/passphrase | ||||
| 	#gpg --batch --no-tty --detach-sign --no-armor "$i" | ||||
| done | ||||
							
								
								
									
										3
									
								
								sprunge
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								sprunge
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| curl -F 'sprunge=<-' http://sprunge.us | ||||
							
								
								
									
										49
									
								
								syntax
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										49
									
								
								syntax
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| _highlight() { | ||||
| 	declare -n syn=$1 | ||||
|  | ||||
| 	if [[ "$syn" ]]; then | ||||
| 		exec highlight --force --inline-css -f -I -O xhtml -S "$syn" 2>/dev/null | ||||
| 	else | ||||
| #		echo " :cgit: No syntax type provided." | ||||
| 		exec cat | ||||
| 	fi | ||||
| } | ||||
|  | ||||
| file_name=$1 | ||||
| file_extension="${file_name##*.}" | ||||
|  | ||||
| if ! [[ "$file_name" == "$file_extension" ]]; then | ||||
| 	case "$file_extension" in | ||||
| 		(md) exec cmark;; | ||||
| 		(bash|zsh) syntax='sh';; | ||||
| 		(*) syntax=$file_extension;; | ||||
| 	esac | ||||
| fi | ||||
|  | ||||
| case "$file_name" in | ||||
| 	(Makefile) syntax='makefile';; | ||||
| 	(PKGBUILD) syntax='sh';; | ||||
| esac | ||||
|  | ||||
| # Read and output the first line | ||||
| read -r | ||||
|  | ||||
| # Set syntax if the first line is a shebang | ||||
| if [[ "$REPLY" =~ ^'#!' ]]; then | ||||
|         case "$REPLY" in | ||||
|                 (*sh) syntax='sh';; | ||||
| 		(*ruby*) syntax='ruby';; | ||||
|         esac | ||||
| fi | ||||
|  | ||||
| { | ||||
| 	# Print the first line | ||||
| 	printf '%s\n' "$REPLY" | ||||
|  | ||||
| 	# Read and output everything | ||||
| 	while read -r; do | ||||
| 		printf '%s\n' "$REPLY" | ||||
| 	done | ||||
| } | _highlight syntax | ||||
		Reference in New Issue
	
	Block a user