]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian/dinstall.functions
Regenerate i18n/Index before generate-release.
[dak.git] / config / debian / dinstall.functions
index 172d6e40e41899b9d37ffb2190bb7a218228f5f9..2981c8c303d513bc223a2ff7d21c68ae00f1c58e 100644 (file)
@@ -171,6 +171,8 @@ function packages() {
     log "Generating Packages and Sources files"
     #cd $configdir
     #dak generate-packages-sources
+    # XXX: disable again later
+    dak generate-packages-sources2 --description-md5 -o Dir::Root=$webdir/newdists/
     dak generate-packages-sources2
     dak contents generate
 }
@@ -181,8 +183,14 @@ function pdiff() {
 }
 
 function release() {
+    # XXX: disable once we can remove i18n/Index (#649314)
+    log "Generating i18n/Index"
+    (cd "$ftpdir/dists"; for dist in testing unstable; do $scriptsdir/generate-i18n-Index $dist; done)
+    (cd "$webdir/newdists/dists"; for dist in testing unstable; do $scriptsdir/generate-i18n-Index $dist; done)
     log "Generating Release files"
     dak generate-releases
+    # XXX: disable again later
+    dak generate-releases -o Dir::Root=$webdir/newdists/
 }
 
 function dakcleanup() {
@@ -243,22 +251,10 @@ function mkmaintainers() {
 function copyoverrides() {
     log 'Copying override files into public view ...'
 
-    for ofile in $copyoverrides ; do
-           cd $overridedir
-           chmod g+w override.$ofile
-
-           cd $indices
-
-           newofile=override.$ofile.gz
-           rm -f .newover-$ofile.gz
-           pc="`gzip 2>&1 -9nv <$overridedir/override.$ofile >.newover-$ofile.gz`"
-        if ! cmp -s .newover-$ofile.gz $newofile || [ ! -f $newofile ]; then
-                   log "   installing new $newofile $pc"
-                   mv -f .newover-$ofile.gz $newofile
-                   chmod g+w $newofile
-        else
-                   rm -f .newover-$ofile.gz
-           fi
+    for ofile in ${overridedir}/override.{lenny,squeeze,wheezy,sid}.{,extra.}{main,contrib,non-free}*; do
+        bname=${ofile##*/}
+        gzip -9cv --rsyncable ${ofile} > ${indices}/${bname}.gz
+        chmod g+w ${indices}/${bname}.gz
     done
 }
 
@@ -418,7 +414,7 @@ function mirrorpush() {
         while read SHASUM SIZE NAME; do
             if ! [ -f "${subdir}/${NAME}" ]; then
                bname=$(basename ${NAME})
-                if [ "${bname}" = "Packages" ] || [ "${bname}" = "Sources" ]; then
+                if [[ "${bname}" =~ ^(Packages|Sources|Translation-[a-zA-Z_]+)$ ]]; then
                     # We don't keep unpacked files, don't check for their existance.
                     # We might want to go and check their unpacked shasum, but right now
                     # I don't care. I believe it should be enough if all the packed shasums
@@ -575,3 +571,36 @@ function changelogs() {
     rsync -aHW --delete --delete-after --ignore-errors ${exportdir}/changelogs/. .
     sudo -H -u archvsync /home/archvsync/runmirrors metaftpdo > ~dak/runmirrors-metadata.log 2>&1 &
 }
+
+function gitpdiff() {
+    # Might be that we want to change this to have more than one git repository.
+    # Advantage of one is that we do not need much space in terms of storage in git itself,
+    # git gc is pretty good on our input.
+    # But it might be faster. Well, lets test.
+    log "Adjusting the git tree for pdiffs"
+    cd ${dbdir}/git/git/
+
+    # The regex needs the architectures seperated with \|
+    garchs=$(dak admin a list|sed -e ':q;N;s/\n/\\|/g;t q')
+
+    # First, get all the files we want to work on. ../dists/ is a symlink to the real dists/ we
+    # want to work with.
+    # Also, we only want contents, packages and sources.
+    for file in $(find ../dists/ -regex ".*/\(Contents-\($archs\)\|\(Packages\|Sources\)\).gz"); do
+        log "${file}"
+        basen=${file%%.gz};
+        basen=${basen##../};
+        dir=${basen%/*};
+        mkdir -p $dir;
+        zcat $file > $basen;
+    done
+
+    # Second, add all there is into git
+    cd dists
+    git add .
+    # Maybe we want to make this the same for tag and commit? But well, shouldn't matter
+    COMD=$(date  -Is)
+    TAGD=$(date +%Y-%m-%d-%H-%M)
+    git commit -m "Commit of ${COMD}"
+    git tag "${TAGD}"
+ }