summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/compute-rpm-sizes.sh15
-rwxr-xr-xtools/install-mozilla-extension.sh46
-rwxr-xr-xtools/install-portable-mozilla.sh58
-rwxr-xr-xtools/langs-expand.pl6
-rw-r--r--tools/live-lang39
-rwxr-xr-xtools/partition.sh41
-rwxr-xr-xtools/sync-trees.sh20
-rw-r--r--tools/umount-live48
8 files changed, 273 insertions, 0 deletions
diff --git a/tools/compute-rpm-sizes.sh b/tools/compute-rpm-sizes.sh
new file mode 100755
index 0000000..5425d3f
--- /dev/null
+++ b/tools/compute-rpm-sizes.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+chroot=$1
+name=$2
+
+if [ -z "$chroot" ] || [ -z "$name" ]; then
+ echo "usage: $0 <chroot> <name>"
+fi
+
+full=$name-full.lst
+leaves=$name-leaves.lst
+chroot $chroot sh -c "rpm -qa --qf '%{size} \t%{name}\n' | sort -n" > $full
+chroot $chroot sh -c "urpmi_rpm-find-leaves | xargs rpm -q --qf '%{size} \t%{name}\n' | sort -n" > $leaves
+
+echo $full $leaves
diff --git a/tools/install-mozilla-extension.sh b/tools/install-mozilla-extension.sh
new file mode 100755
index 0000000..4bb4c3b
--- /dev/null
+++ b/tools/install-mozilla-extension.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+extpath=$1
+xpi=$2
+
+if [ -z "$extpath" ]; then
+ echo "usage: $0 <mozilla extension path> [<xpi file>]"
+ exit 1
+fi
+
+xpi_dir="."
+if [ -n "$xpi" ]; then
+ xpi_dir="`basename $xpi`.dir"
+ rm -rf $xpi_dir
+ mkdir -p $xpi_dir
+ unzip -q -d $xpi_dir $xpi
+fi
+
+rdf="$xpi_dir/install.rdf"
+if [ ! -f $rdf ]; then
+ echo "unable to find rdf file"
+ exit 1
+fi
+
+# remove leading newline from some broken rdf files (pt-PT)
+perl -pi -e 's/^\r?\n// if $. == 1' $rdf
+
+hash="$(perl -pe 's/\r\n/\n/g' $rdf | sed -n '/.*em:id="\(.*\)"/{s//\1/p;q}')"
+if [ -z "$hash" ]; then
+ hash="$(perl -pe 's/\r\n/\n/g' $rdf | sed -n '/.*em:id>\(.*\)<\/em:id>.*/{s//\1/p;q}')"
+fi
+if [ -z "$hash" ]; then
+ echo "Failed to find plugin hash."
+ exit 1
+fi
+
+echo "installing $hash in $extpath"
+
+extdir="$extpath/$hash"
+rm -rf $extdir
+mkdir -p "$extdir"
+cp -af $xpi_dir/* "$extdir/"
+
+if [ -n "$xpi" ]; then
+ rm -rf $xpi_dir
+fi
diff --git a/tools/install-portable-mozilla.sh b/tools/install-portable-mozilla.sh
new file mode 100755
index 0000000..5158ceb
--- /dev/null
+++ b/tools/install-portable-mozilla.sh
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+mozapp=$1
+mozver=$2
+download=1
+
+if [ -z "$mozapp" -o -z "$mozver" ]; then
+ echo "usage: $0 <mozilla application> <version>"
+fi
+
+case "$mozapp" in
+ firefox)
+ sourceforgedir="portableapps/Mozilla Firefox, Portable Ed./Mozilla Firefox, Portable Edition $mozver"
+ installername=FirefoxPortable
+ portablename=FirefoxPortable
+ ;;
+ thunderbird)
+ sourceforgedir="portableapps/Mozilla Thunderbird, P.E./Mozilla Thunderbird, Portable Edition $mozver"
+ installername=ThunderbirdPortable
+ portablename=ThunderbirdPortable
+ ;;
+ *)
+ echo "invalid application: $mozapp"
+ exit 1
+ ;;
+esac
+
+installer="${installername}_${mozver}_English.paf.exe"
+switchlocaleurl=https://addons.mozilla.org/en-US/firefox/downloads/file/16920/locale_switcher-2.1-fx+tb.xpi
+switchlocalename=$(basename $switchlocaleurl)
+
+if [ -n "$download" ]; then
+
+ wget -nc "http://freefr.dl.sourceforge.net/sourceforge/$sourceforgedir/$installer"
+ wget -nc $switchlocaleurl/$switchlocalename
+fi
+
+xpi_url=http://releases.mozilla.org/pub/mozilla.org/$mozapp/releases/$mozver/win32/xpi/
+xpi_dir="${mozapp}-${mozver}-xpi"
+extdir="${portablename}/App/DefaultData/profile/extensions"
+
+if [ -n "$download" ]; then
+ rm -rf $xpi_dir
+ mkdir -p $xpi_dir
+ lftp -e "lcd $xpi_dir; mget -c *.xpi; quit" $xpi_url
+fi
+
+wine $installer
+
+bindir=$(dirname $0)
+for ext in $switchlocalename $xpi_dir/*.xpi; do
+ $bindir/install-mozilla-extension.sh $extdir $ext
+done
+
+mozexe="$portablename/$portablename.exe"
+#- pre-create profile data, takes a long time on USB
+wine $mozexe
+# FIXME: run from key? (different path)
diff --git a/tools/langs-expand.pl b/tools/langs-expand.pl
new file mode 100755
index 0000000..2d0797b
--- /dev/null
+++ b/tools/langs-expand.pl
@@ -0,0 +1,6 @@
+#!/usr/bin/perl -l
+use lib qw(/usr/lib/libDrakX);
+use lang;
+use MDK::Common;
+my @langs = grep { member(lang::locale_to_main_locale($_), @ARGV) } lang::list_langs();
+print join("\n", map { lang::l2name($_) . " (" . $_ . ")" } sort(@langs));
diff --git a/tools/live-lang b/tools/live-lang
new file mode 100644
index 0000000..6772648
--- /dev/null
+++ b/tools/live-lang
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+#
+#
+
+use strict;
+use lib qw(/usr/lib/libDrakX);
+use common;
+use lang;
+
+my @chroot = @ARGV;
+
+@chroot or usage();
+
+foreach my $path (@chroot) {
+ my %done;
+ my $qa = `chroot $path rpm -qa`;
+ my @list;
+ foreach my $rpm (split "\n", $qa) {
+ my $l;
+ if ($rpm =~ /locales-([^-]+)-/) {
+ #$l = $1
+ } elsif ($rpm =~ /(?:i18n|l10n|aspell)-([^-]+)-/) {
+ $l = $1
+ }
+ if ($l && $lang::langs{$l} && !$done{$l}) {
+ $done{$l} = 1;
+ push @list,@{$lang::langs{$l}}[0]
+ }
+ }
+ print "$path: ", join(", ", sort @list), "\n"
+}
+
+exit;
+
+sub usage {
+ print "\nusage:\n\n\t\tlive-lang <chroot install>\n\n";
+ exit
+}
+
diff --git a/tools/partition.sh b/tools/partition.sh
new file mode 100755
index 0000000..2637797
--- /dev/null
+++ b/tools/partition.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+DEVICE=$1
+LABEL=Share
+if [ -z "$DEVICE" ]; then
+ echo "No device"
+ exit 1
+fi
+
+# FT
+#END1=780
+#END2=1950
+
+#END1=380
+#END2=1022
+
+END1=25000
+END2=60869
+
+fdisk $DEVICE <<EOF
+o
+n
+p
+1
+
+$END1
+n
+p
+2
+
+$END2
+t
+1
+b
+t
+2
+b
+w
+EOF
+
+mkdosfs -n $LABEL ${DEVICE}1
diff --git a/tools/sync-trees.sh b/tools/sync-trees.sh
new file mode 100755
index 0000000..8eea0f6
--- /dev/null
+++ b/tools/sync-trees.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+#MEDIA=/media/non-free/release
+[ -n "$1" ] && DRY_RUN=-n
+DIST=/cooker/i586
+ROOT=$DIST$MEDIA
+SOURCE=/live/mnt/BIG/dis/devel$ROOT
+DEST=/mnt/field/dis/local$ROOT
+TEST=media/main/release/media_info/UPDATING
+
+rsync $DRY_RUN -avP -lHz -e 'ssh -xc arcfour' --delete --delete-excluded --exclude 'debug_*/*/*' --exclude SRPMS $SOURCE/ $DEST
+
+if [ -e "$DEST/$TEST" ]; then
+ echo
+ echo "Warning: package upload in progress"
+ echo "Resync tree!"
+ exit 1
+fi
+
+exit 0
diff --git a/tools/umount-live b/tools/umount-live
new file mode 100644
index 0000000..098c82e
--- /dev/null
+++ b/tools/umount-live
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+### BEGIN INIT INFO
+# Provides: umount-live
+# Default-Stop: 0 6
+# Should-Stop: $remote_fs
+# Short-Description: Umounts live-system-specific mountpoints on
+#halt/reboot
+# Description: This service umounts live-system-specific mountpoints
+#on halt/reboot.
+### END INIT INFO
+
+mypath=$_
+
+case "$1" in
+ *start)
+ ;;
+ *stop)
+ exit
+ ;;
+ *)
+ gprintf "Usage: %s\n" "$(basename $0) {start}"
+ exit 1
+ ;;
+esac
+
+roottype=`awk '$2 == "/" { print $3 }' /etc/fstab`
+
+if [ "$roottype" != unionfs ]; then
+ # disable self during first halt when installed
+ chkconfig --del $(basename $0)
+ #rm -f $mypath
+ exit
+fi
+
+maybe_umount() {
+ eval d=\$$#
+ [ -e $d ] && umount $@
+}
+
+maybe_umount -l /live/distrib
+maybe_umount -l /live/memory
+maybe_umount -l /live/system
+maybe_umount -l /live/media
+
+maybe_umount /var/lib/rpm
+maybe_umount /tmp/rpm/real
+maybe_umount /tmp/rpm