diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/repo-add.sh.in | 34 | 
1 files changed, 17 insertions, 17 deletions
| diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 85b938ad..fd0c8142 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -266,29 +266,13 @@ db_write_entry() {  		esac  	done< <(bsdtar -xOqf "$pkgfile" .PKGINFO) -	csize=$(@SIZECMD@ "$pkgfile") - -	# compute checksums -	msg2 "$(gettext "Computing checksums...")" -	md5sum="$(openssl dgst -md5 "$pkgfile")" -	md5sum="${md5sum##* }" -	sha256sum="$(openssl dgst -sha256 "$pkgfile")" -	sha256sum="${sha256sum##* }" - -	# compute base64'd PGP signature -	if [[ -f "$pkgfile.sig" ]]; then -		msg2 "$(gettext "Adding package signature...")" -		pgpsig=$(openssl base64 -in "$pkgfile.sig" | tr -d '\n') -	fi -  	# ensure $pkgname and $pkgver variables were found  	if [[ -z $pkgname || -z $pkgver ]]; then  		error "$(gettext "Invalid package file '%s'.")" "$pkgfile"  		return 1  	fi -	pushd "$tmpdir/tree" >/dev/null -	if [[ -d $pkgname-$pkgver ]]; then +	if [[ -d $tmpdir/tree/$pkgname-$pkgver ]]; then  		warning "$(gettext "An entry for '%s' already existed")" "$pkgname-$pkgver"  	else  		if (( DELTA )); then @@ -300,10 +284,26 @@ db_write_entry() {  		fi  	fi +	csize=$(@SIZECMD@ "$pkgfile") + +	# compute checksums +	msg2 "$(gettext "Computing checksums...")" +	md5sum="$(openssl dgst -md5 "$pkgfile")" +	md5sum="${md5sum##* }" +	sha256sum="$(openssl dgst -sha256 "$pkgfile")" +	sha256sum="${sha256sum##* }" + +	# compute base64'd PGP signature +	if [[ -f "$pkgfile.sig" ]]; then +		msg2 "$(gettext "Adding package signature...")" +		pgpsig=$(openssl base64 -in "$pkgfile.sig" | tr -d '\n') +	fi +  	# remove an existing entry if it exists, ignore failures  	db_remove_entry "$pkgname"  	# create package directory +	pushd "$tmpdir/tree" >/dev/null  	mkdir "$pkgname-$pkgver"  	pushd "$pkgname-$pkgver" >/dev/null | 
