summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2014-03-06 23:18:22 +0100
committerFlorian Pritz <bluewind@xinu.at>2015-05-27 15:49:10 +0200
commit9454e6c20dc722aa65dbdc9a1c4a5ba65bac4f8e (patch)
treec5edd1851cfd6b260af8b762a5f1a88dbf7c1ec1
parenta1594ae1f6cd183efaee5c52eca01fe5d708b1e1 (diff)
downloaddevtools-gitpkgsv2.tar.gz
devtools-gitpkgsv2.tar.xz
initial work to support new dbscriptsgitpkgsv2
still buggy and missing features, but I don't know which. forgot to commit this earlier... Signed-off-by: Florian Pritz <bluewind@xinu.at>
-rw-r--r--archrelease.in41
-rw-r--r--commitpkg.in33
2 files changed, 32 insertions, 42 deletions
diff --git a/archrelease.in b/archrelease.in
index 6f52dbc..bac4041 100644
--- a/archrelease.in
+++ b/archrelease.in
@@ -56,31 +56,30 @@ done
# gracefully handle files containing an "@" character
known_files=("${known_files[@]/%/@}")
+tag=$(get_full_version $_pkgname)
+
+stat_busy "Copying ${trunk} to ${tag}"
+
+if [[ -d tags/$tag ]]; then
+ #declare -a trash
+ #trash=()
+ #while read -r file; do
+ #trash+=("tags/$tag/$file")
+ #done < <(svn ls "tags/$tag")
+ #[[ $trash ]] && svn rm -q "${trash[@]/%/@}"
+ die "already tagged"
+else
+ mkdir -p "tags/$tag"
+ svn add --parents -q "tags/$tag"
+fi
-for tag in "$@"; do
- stat_busy "Copying ${trunk} to ${tag}"
-
- if [[ -d repos/$tag ]]; then
- declare -a trash
- trash=()
- while read -r file; do
- trash+=("repos/$tag/$file")
- done < <(svn ls "repos/$tag")
- [[ $trash ]] && svn rm -q "${trash[@]/%/@}"
- else
- mkdir -p "repos/$tag"
- svn add --parents -q "repos/$tag"
- fi
-
- # copy all files at once from trunk to the subdirectory in repos/
- svn copy -q -r HEAD ${known_files[@]/#/$trunk/} "repos/$tag/"
+# copy all files at once from trunk to the subdirectory in repos/
+svn copy -q -r HEAD ${known_files[@]/#/$trunk/} "tags/$tag/"
- stat_done
-done
+stat_done
stat_busy "Releasing package"
-printf -v tag_list ", %s" "$@"; tag_list="${tag_list#, }"
-svn commit -q -m "archrelease: copy ${trunk} to $tag_list" || abort
+svn commit -q -m "archrelease: copy ${trunk} to $tag" || abort
stat_done
popd >/dev/null
diff --git a/commitpkg.in b/commitpkg.in
index 1095006..237e5db 100644
--- a/commitpkg.in
+++ b/commitpkg.in
@@ -163,7 +163,7 @@ for _arch in ${arch[@]}; do
done
if [[ ${#commit_arches[*]} -gt 0 ]]; then
- archrelease "${archreleaseopts[@]}" "${commit_arches[@]/#/$repo-}" || die
+ archrelease || die
fi
if [[ ${#uploads[*]} -gt 0 ]]; then
@@ -178,25 +178,16 @@ if [[ ${#uploads[*]} -gt 0 ]]; then
unset new_uploads
msg 'Uploading all package and signature files'
rsync "${rsyncopts[@]}" "${uploads[@]}" "$server:staging/$repo/" || die
-fi
-if [[ "${arch[*]}" == 'any' ]]; then
- if [[ -d ../repos/$repo-i686 && -d ../repos/$repo-x86_64 ]]; then
- pushd ../repos/ >/dev/null
- stat_busy "Removing $repo-i686 and $repo-x86_64"
- svn rm -q $repo-i686
- svn rm -q $repo-x86_64
- svn commit -q -m "Removed $repo-i686 and $repo-x86_64 for $pkgname"
- stat_done
- popd >/dev/null
- fi
-else
- if [[ -d ../repos/$repo-any ]]; then
- pushd ../repos/ >/dev/null
- stat_busy "Removing $repo-any"
- svn rm -q $repo-any
- svn commit -q -m "Removed $repo-any for $pkgname"
- stat_done
- popd >/dev/null
- fi
+ for _upload in "${uploads[@]}"; do
+ local pkgfile=${upload##*/}
+
+ # TODO: logic to determine which package to add to which arches
+ if [[ $pkgfile = *.pkg.tar?(.?z) ]]; then
+ for _arch in "${commit_arches[@]}"; do
+ ssh "$server" ln -sr "staging/$repo/$pkgfile" "staging/$repo/$arch/$pkgfile"
+ done
+ fi
+ done
fi
+