wok rev 3440
Add slitaz-dev-tools (tazdev replace all scripts on tank)
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sun Jun 14 02:26:59 2009 +0200 (2009-06-14) |
parents | 13660dccc83b |
children | 79acaf03301f |
files | slitaz-dev-tools/receipt slitaz-dev-tools/stuff/README slitaz-dev-tools/stuff/tazdev slitaz-dev-tools/stuff/tazdev.conf |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/slitaz-dev-tools/receipt Sun Jun 14 02:26:59 2009 +0200 1.3 @@ -0,0 +1,18 @@ 1.4 +# SliTaz package receipt 1.5 + 1.6 +PACKAGE="slitaz-dev-tools" 1.7 +VERSION="1.0" 1.8 +CATEGORY="development" 1.9 +SHORT_DESC="SliTaz developers and build host tools." 1.10 +MAINTAINER="pankso@slitaz.org" 1.11 +DEPENDS="tazwok" 1.12 +WEB_SITE="http://www.slitaz.org/" 1.13 + 1.14 +# Rules to gen a SliTaz package suitable for Tazpkg. 1.15 +genpkg_rules() 1.16 +{ 1.17 + mkdir -p $fs/etc/slitaz $fs/usr/bin 1.18 + cp stuff/tazdev $fs/usr/bin 1.19 + cp stuff/tazdev.conf $fs/etc/slitaz 1.20 + chown -R root.root $fs 1.21 +}
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/slitaz-dev-tools/stuff/README Sun Jun 14 02:26:59 2009 +0200 2.3 @@ -0,0 +1,17 @@ 2.4 +SliTaz developers tools http://www.slitaz.org/ 2.5 +=============================================================================== 2.6 + 2.7 + 2.8 +SliTaz developers and build host tools. This package provide tazdev utility and 2.9 +tinyutils to help maintaining the distribution and automate packages compilation. 2.10 +The package provide 'tazdev' and it defaut config file: /etc/slitaz/tazdev.conf 2.11 + 2.12 + 2.13 +Website Devel corner: http://www.slitaz.org/en/devel/ 2.14 +Mercurial repositories: http://hg.slitaz.org/ 2.15 +SliTaz Laboratories: http://labs.slitaz.org/ 2.16 +Developers wiki: http://labs.slitaz.org/wiki/distro 2.17 +Build host: http://tank.slitaz.org/ 2.18 + 2.19 + 2.20 +===============================================================================
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/slitaz-dev-tools/stuff/tazdev Sun Jun 14 02:26:59 2009 +0200 3.3 @@ -0,0 +1,133 @@ 3.4 +#!/bin/sh 3.5 +# Tazdev - SliTaz developers and build host tool. 3.6 +# System wide config file: /etc/slitaz/tazdev.conf 3.7 +# 3.8 +# (c) 2009 SliTaz GNU/Linux - GNU gpl v3 3.9 +# 3.10 +# Authors : Christophe Lincoln (Pankso) <pankso@slitaz.org> 3.11 +# 3.12 + 3.13 +if [ -f /etc/slitaz/tazdev.conf ]; then 3.14 + . /etc/slitaz/tazdev.conf 3.15 +elif [ -f $PWD/tazdev.conf ]; then 3.16 + . $PWD/tazdev.conf 3.17 +else 3.18 + echo -e "\nNo config file found in /etc/slitaz or the current dir...\n" 3.19 + exit 0 3.20 +fi 3.21 + 3.22 +usage() 3.23 +{ 3.24 + echo -e "\nSliTaz developers and build host tool\n 3.25 +\033[1mUsage: \033[0m `basename $0` [command] [user] [stable|cooking] 3.26 +\033[1mCommands: \033[0m\n 3.27 + usage Print this short usage and command list. 3.28 + cmplog Log 'tazwok cmp' result. 3.29 + update-wok Update Hg wok and copy it to the chroot wok. 3.30 + chroot Mount virtual fs if needed and chroot into the build env. 3.31 + push Upload new packages to the mirror. 3.32 + dry-push Show what will be uploaded to the mirror. Do nothing. 3.33 + pull Download new packages from the mirror. 3.34 + dry-pull Show what will be downloaded from the mirror. Do nothing.\n" 3.35 +} 3.36 + 3.37 +# Exit if user is not root. 3.38 +check_root() 3.39 +{ 3.40 + if test $(id -u) != 0 ; then 3.41 + echo -e "\nThis program requires being run as root.\n" 3.42 + exit 0 3.43 + fi 3.44 +} 3.45 + 3.46 +check_mirror() 3.47 +{ 3.48 + # ping -c 1 $MIRROR 3.49 + if [ -n "$2" ]; then 3.50 + USER=$2 3.51 + else 3.52 + echo -e "\nPlease specify a user.\n" && exit 0 3.53 + fi 3.54 + if [ "$3" = "stable" ]; then 3.55 + REMOTE_DIR=$MIRROR_DIR/stable/ 3.56 + LOCAL_DIR=$STABLE/packages/ 3.57 + else 3.58 + REMOTE_DIR=$MIRROR_DIR/cooking/ 3.59 + LOCAL_DIR=$COOKING/packages/ 3.60 + fi 3.61 +} 3.62 + 3.63 +case "$1" in 3.64 + cmplog) 3.65 + # Log 'tazwok cmp' for the web interface (can be used via a cron job). 3.66 + check_root 3.67 + tazwok cmp | grep ^[A-Z] | tee $CMP_LOG 3.68 + echo "Date: `date`" >> $CMP_LOG ;; 3.69 + update-wok) 3.70 + # Update the Hg wok and copy it to the chroot env. Hg wok id 3.71 + # copied to the chroot wok to avoid messing with build result 3.72 + # file and so we can aslo modify receipt directly with affecting 3.73 + # the main Hg. 3.74 + check_root 3.75 + if [ "$2" = "stable" ]; then 3.76 + HG_WOK=$STABLE/wok 3.77 + CHROOT=$STABLE/chroot 3.78 + else 3.79 + HG_WOK=$COOKING/wok 3.80 + CHROOT_WOK=$COOKING/chroot/home/slitaz 3.81 + fi 3.82 + cd $HG_WOK 3.83 + hg pull && hg update 3.84 + echo -n "Copying Hg wok to the chroot... " 3.85 + cp -a $HG_WOK $CHROOT_WOK 3.86 + echo "Done" ;; 3.87 + chroot) 3.88 + # Chroot into a build env. Default to cookind configured in 3.89 + # tazdev.conf 3.90 + check_root 3.91 + if [ "$1" = "stable" ]; then 3.92 + ROOTFS=$STABLE/chroot 3.93 + else 3.94 + ROOTFS=$COOKING/chroot 3.95 + [ -n "$1" ] && ROOTFS=$1 3.96 + fi 3.97 + # Mount virtual Kernel file systems and chroot but check that 3.98 + # nobody else has done mounts 3.99 + if [ ! -d $ROOTFS/proc/1 ]; then 3.100 + mount -t proc proc $ROOTFS/proc 3.101 + mount -t sysfs sysfs $ROOTFS/sys 3.102 + mount -t devpts devpts $ROOTFS/dev/pts 3.103 + mount -t tmpfs shm $ROOTFS/dev/shm 3.104 + fi 3.105 + echo "Chrooting in $ROOTFS... " 3.106 + chroot $ROOTFS /bin/sh --login 3.107 + # Unmount virtual Kernel file systems on exit. and ensure we are the 3.108 + # last user before unmounting ! 3.109 + if [ "$(ps | grep $(basename $0) | grep -v grep | wc -l)" == "1" ]; then 3.110 + umount $ROOTFS/dev/shm 3.111 + umount $ROOTFS/dev/pts 3.112 + umount $ROOTFS/sys 3.113 + umount $ROOTFS/proc 3.114 + fi 3.115 + echo "Exiting of $ROOTFS chroot environment... " ;; 3.116 + push) 3.117 + check_mirror 3.118 + rsync -r -t -l -v -z --delete \ 3.119 + $LOCAL_DIR -e ssh $USER@$HOST:$REMOTE_DIR ;; 3.120 + dry-push) 3.121 + check_mirror 3.122 + rsync -r -t -l -v -z --delete --dry-run \ 3.123 + $LOCAL_DIR -e ssh $USER@$HOST:$REMOTE_DIR ;; 3.124 + pull) 3.125 + check_mirror 3.126 + rsync -r -t -l -v -z --delete \ 3.127 + -e ssh $USER@$HOST:$REMOTE_DIR $LOCAL_DIR ;; 3.128 + dry-pull) 3.129 + check_mirror 3.130 + rsync -r -t -l -v -z --delete --dry-run \ 3.131 + -e ssh $USER@$HOST:$REMOTE_DIR $LOCAL_DIR ;; 3.132 + usage|*) 3.133 + usage ;; 3.134 +esac 3.135 + 3.136 +exit 0
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/slitaz-dev-tools/stuff/tazdev.conf Sun Jun 14 02:26:59 2009 +0200 4.3 @@ -0,0 +1,13 @@ 4.4 +# tazdev.conf: SliTaz Developers tool configuration file. 4.5 +# 4.6 + 4.7 +# Path to 'tazwok cmp' log file. 4.8 +CMP_LOG="/var/log/tazwok-cmp.log" 4.9 + 4.10 +# Path for the wok, chroot and packages directory of each version. 4.11 +COOKING="/home/slitaz/cooking" 4.12 +STABLE="/home/slitaz/stable" 4.13 + 4.14 +# Main mirror settings. 4.15 +MIRROR="mirror.slitaz.org" 4.16 +MIRROR_DIR="/var/www/slitaz/mirror/packages"