slitaz-dev-tools annotate slitaz-release/slitaz-release @ rev 294

slitaz-release: tiny edits
author Paul Issott <paul@slitaz.org>
date Sun Mar 19 10:00:19 2017 +0000 (2017-03-19)
parents af4dbddd22bb
children 0f84a16feb0f
rev   line source
pankso@291 1 #!/bin/sh
pankso@291 2 #
pankso@291 3 # slitaz-release - SliTaz stable and cooking release helper. The script
paul@294 4 # will check hostname to handle host specific release tasks (tank, pangolin,
pankso@291 5 # mirror, local)
pankso@291 6 #
pankso@291 7 # Copyright (C) 2017 SliTaz GNU/Linux - BSD License
pankso@291 8 #
pankso@291 9 #. /lib/libtaz.sh # Is not installed on pangolin & mirror (slitaz 4.0)
pankso@291 10
pankso@291 11 version="$1"
pankso@291 12
pankso@291 13 if [ "$2" ]; then
pankso@291 14 local_repos="$2"
pankso@291 15 else
pankso@291 16 local_repos="$HOME/Projects"
pankso@291 17 fi
pankso@291 18
pankso@291 19 help() {
pankso@291 20 cat << EOT
pankso@291 21
pankso@291 22 $(colorize 032 "Usage:") slitaz-release [version] [repos_path]
pankso@291 23
pankso@291 24 $(colorize 033 "Local repos :") $local_repos
pankso@291 25 $(colorize 033 "Documentation :") http://www.slitaz.org/en/devel/release.php
pankso@291 26
pankso@291 27 EOT
pankso@291 28 }
pankso@291 29
pankso@291 30 # Colorize message
pankso@291 31 colorize() {
pankso@291 32 : ${color=$1}
pankso@291 33 shift
pankso@291 34 case "$color" in
pankso@291 35 0*) echo -e "\\033[${color:-38}m$@\\033[39m" ;;
pankso@291 36 *) echo -e "\\033[1;${color:-38}m$@\\033[0;39m" ;;
pankso@291 37 esac; unset color
pankso@291 38 }
pankso@291 39
pankso@291 40 title() {
pankso@291 41 echo ""; colorize 033 "$@"
pankso@291 42 }
pankso@291 43
pankso@291 44 check_string() {
pankso@291 45 if [ "$slitaz_release" != "$version" ]; then
pankso@291 46 colorize 031 "Wrong string: $slitaz_release"
pankso@291 47 echo " * $1"
pankso@291 48 else
pankso@291 49 colorize 031 "SliTaz release: $version"
pankso@291 50 fi
pankso@291 51 }
pankso@291 52
pankso@291 53 #
pankso@291 54 # Handle commands
pankso@291 55 #
pankso@291 56 case "$1" in
pankso@291 57 "") help; exit 0 ;;
pankso@291 58 esac
pankso@291 59
pankso@291 60 #
paul@294 61 # Handle host specific tasks
pankso@291 62 #
pankso@291 63 case "$(hostname)" in
pankso@291 64
pankso@291 65 tank)
paul@294 66 # Build host with chroots and built ISOs
pankso@291 67 slitaz="/home/slitaz"
pankso@291 68 ;;
pankso@291 69
pankso@291 70 mirror)
paul@294 71 # Host packages and official ISOs
pankso@291 72 packages=""
pankso@291 73 ;;
pankso@291 74
pankso@291 75 pangolin)
pankso@291 76 # Host all Hg repositories
pankso@291 77 repos="/home/slitaz/repos"
pankso@291 78
pankso@291 79 # Stable wok
pankso@291 80 title "Checking repo: wok-stable"
pankso@291 81 cd $repos/wok-stable; hg up
pankso@291 82 slitaz_release=$(hg parents --template '{latesttag}')
pankso@291 83 check_string "stable wok is not yet tagged to $version"
pankso@291 84
pankso@291 85 # Cooking wok
pankso@291 86 title "Checking repo: wok"
pankso@291 87 cd $repos/wok; hg up
pankso@291 88 slitaz_release=$(hg parents --template '{latesttag}')
pankso@291 89 check_string "cooking wok is not yet ready to be copied" ;;
pankso@291 90
pankso@291 91 *)
pankso@291 92 # Local Hg repos: set stable string and Hg tags
pankso@291 93 for repo in slitaz-base-files slitaz-doc wok; do
pankso@291 94 if [ ! -d "$local_repos/$repo" ]; then
pankso@291 95 colorize 031 "Missing repos: $local_repos/$repo"; exit 1
pankso@291 96 fi
pankso@291 97 done
pankso@291 98
pankso@291 99 # /etc/slitaz-release
pankso@291 100 title "Checking file: /etc/slitaz-release"
pankso@291 101 base_files="$local_repos/slitaz-base-files/rootfs"
pankso@291 102 slitaz_release=$(cat $base_files/etc/slitaz-release)
pankso@291 103 check_string "slitaz-base-files must be modified and wok updated"
pankso@291 104
pankso@291 105 # isolinux.cfg
pankso@291 106 title "Checking file: isolinux.cfg"
pankso@291 107 isolinux_cfg="$local_repos/wok/syslinux/stuff/isolinux.cfg"
pankso@291 108 slitaz_release=$(grep "MENU TITLE" $isolinux_cfg | cut -d " " -f 6)
pankso@291 109 check_string "syslinux package must be modified and wok updated"
pankso@291 110
pankso@291 111 # slitaz-doc
pankso@291 112 title "Checking repo: slitaz-doc"
pankso@291 113 cd $local_repos/slitaz-doc
pankso@291 114 slitaz_release=$(hg parents --template '{latesttag}')
pankso@291 115 check_string "slitaz-doc should provide relnotes and be tagged"
pankso@291 116
pankso@291 117 # wok: the current cooking wok will be copied to wok-stable on
paul@294 118 # Hg server and then it will continue its own life with security updates.
paul@294 119 # Tagging the wok lets us have the initial state of the new release.
pankso@291 120 title "Checking repo: wok"
pankso@291 121 cd $local_repos/wok
pankso@291 122 slitaz_release=$(hg parents --template '{latesttag}')
pankso@291 123 check_string "the wok should be tagged to $version"
pankso@291 124
pankso@291 125 echo "" ;;
pankso@291 126 esac
pankso@291 127
pankso@291 128 exit 0