# HG changeset patch # User Aleksej Bobylev # Date 1440079219 -10800 # Node ID 5323427d34b909e2cc8e761bd113a6e526cb0643 # Parent f8e0ae0ac1d93ce02089087b6b378427271046ca Add "noheader" flag to get page without header/footer/panel "wrappers" (for pop-ups); strip, minify and gzip scripts and styles. diff -r f8e0ae0ac1d9 -r 5323427d34b9 Makefile --- a/Makefile Tue Aug 18 19:09:02 2015 +0300 +++ b/Makefile Thu Aug 20 17:00:19 2015 +0300 @@ -8,9 +8,15 @@ BASECGI?=boot.cgi hardware.cgi help.cgi index.cgi network.cgi settings.cgi EXTRACGI?=floppy.cgi powersaving.cgi -VERSION:=$(shell grep ^VERSION tazpanel | cut -d '=' -f 2) +VERSION:=$(shell grep ^VERSION tazpanel | cut -d= -f2) all: msgfmt + mkdir build + cp -a *.cgi bootloader tazpanel \ + lib/libtazpanel lib/*.js \ + styles/default/*.html styles/default/*.css \ + build + ./stripall.sh # i18n @@ -45,24 +51,30 @@ $(DESTDIR)$(PREFIX)/share/applications \ $(DESTDIR)$(SYSCONFDIR) \ $(DESTDIR)$(PANEL)/menu.d \ - $(DESTDIR)/var/log - cp -a tazpanel $(DESTDIR)$(PREFIX)/bin + $(DESTDIR)/var/log \ + $(DESTDIR)$(PANEL)/lib \ + $(DESTDIR)$(PANEL)/styles/default + + cp -a build/tazpanel $(DESTDIR)$(PREFIX)/bin -[ "$(VERSION)" ] && sed -i 's/^VERSION=[0-9].*/VERSION=$(VERSION)/' $(DESTDIR)$(PREFIX)/bin/tazpanel - cp -a lib/ styles/ doc/ README* $(DESTDIR)$(PANEL) + + cp -a doc/ README README.html $(DESTDIR)$(PANEL) + cp -a build/libtazpanel build/gz/*.js.gz $(DESTDIR)$(PANEL)/lib + cp -a build/gz/*.css.gz build/*.html styles/default/*.ico styles/default/*.ttf $(DESTDIR)$(PANEL)/styles/default + @for c in $(BASECGI); do \ - cp -a $$c $(DESTDIR)$(PANEL); \ + cp -a build/$$c $(DESTDIR)$(PANEL); \ done; + if [ -e $(DESTDIR)$(PANEL)/user ] ; then rm -rf $(DESTDIR)$(PANEL)/user; fi ln -s . $(DESTDIR)$(PANEL)/user + cp -a po/mo/* $(DESTDIR)$(PREFIX)/share/locale cp -a data/*.conf $(DESTDIR)$(SYSCONFDIR) cp -a data/*.desktop $(DESTDIR)$(PREFIX)/share/applications cp -a data/icons $(DESTDIR)$(PREFIX)/share touch $(DESTDIR)/var/log/tazpanel.log - @# Clean comments in production release - sed -i '/^\t*\/\//d' $(DESTDIR)$(PANEL)/lib/tazpanel.js - @# Remove this when TazWeb will support OpenType ligatures for web-fonts (maybe, after Webkit upgrade?) mkdir -p $(DESTDIR)/usr/share/fonts/TTF ln -fs $(PANEL)/styles/default/tazpanel.ttf $(DESTDIR)/usr/share/fonts/TTF/tazpanel.ttf @@ -73,15 +85,16 @@ $(DESTDIR)$(PANEL)/menu.d/hardware \ $(DESTDIR)/usr/bin @for c in $(EXTRACGI); do \ - cp -a $$c $(DESTDIR)$(PANEL); \ + cp -a build/$$c $(DESTDIR)$(PANEL); \ done; - cp -a bootloader $(DESTDIR)/usr/bin + cp -a build/bootloader $(DESTDIR)/usr/bin ln -s ../../floppy.cgi $(DESTDIR)$(PANEL)/menu.d/boot/floppy ln -s ../../powersaving.cgi $(DESTDIR)$(PANEL)/menu.d/hardware/powersaving # Clean source clean: + rm -rf build rm -rf po/mo rm -f po/*.mo rm -f po/*.*~ diff -r f8e0ae0ac1d9 -r 5323427d34b9 lib/libtazpanel --- a/lib/libtazpanel Tue Aug 18 19:09:02 2015 +0300 +++ b/lib/libtazpanel Thu Aug 20 17:00:19 2015 +0300 @@ -12,18 +12,15 @@ _() { local T="$1"; shift; printf "$(gettext "$T")" "$@"; echo; } _n() { local T="$1"; shift; printf "$(gettext "$T")" "$@"; } -_p() { - local S="$1" P="$2" N="$3"; shift 3; - printf "$(ngettext "$S" "$P" "$N")" "$@"; } GUI_USER=nobody [ "$HTTP_HOST" == "127.0.0.1:82" ] && for i in "$HTTP_COOKIE" "$QUERY_STRING" ; do - v="$(echo "$i" | sed '/guiuser=/!d;s/.*guiuser=\([A-Za-z0-9_]*\).*/\1/')" - [ "$v" ] || continue - busybox ps | sed '/d;/d;/127\.0\.0\.1:82/!d' | grep -q " $v " || continue - GUI_USER="$v" + v="$(echo "$i" | sed '/guiuser=/!d;s/.*guiuser=\([A-Za-z0-9_]*\).*/\1/')" + [ "$v" ] || continue + busybox ps | sed '/d;/d;/127\.0\.0\.1:82/!d' | grep -q " $v " || continue + GUI_USER="$v" done [ "$(id -un)" == "${REMOTE_USER:=$GUI_USER}" ] || exec su -s /bin/sh -c "$(realpath $0) $@" $REMOTE_USER @@ -36,9 +33,7 @@ # I18n . /etc/locale.conf -. /usr/bin/gettext.sh -TEXTDOMAIN='tazpanel' -export TEXTDOMAIN LANG LC_ALL +export TEXTDOMAIN='tazpanel' LANG LC_ALL # We need a config file first @@ -155,7 +150,7 @@ if ifconfig | grep -A1 $1 | grep -q inet; then ip=$(ifconfig | grep -A1 $1 | grep inet | awk '{ print $2 }' | cut -d: -f2) [ "$(cat /sys/class/net/$1/carrier)" == "1" ] && - scan="$(_ 'Scan')" + scan=''$(_ 'Scan')'' fi [ "$(cat /sys/class/net/$1/carrier)" == "1" ] && status="$(_ 'connected')" && @@ -184,20 +179,20 @@ for i in $(ls /sys/class/net); do case $i in eth*) - echo " $i - Ethernet $(interface_status $i)" ;; + echo ''$i' + Ethernet '$(interface_status $i)'';; wlan*|ath*|ra*) - echo " $i - Wireless $(interface_status $i)" ;; + echo ''$i' + Wireless '$(interface_status $i)'';; ppp*) - echo " $i - Point to point $(interface_status $i)" ;; + echo ''$i' + Point to point '$(interface_status $i)'';; tap[0-9]*|tun[0-9]*) - echo " $i - User space $(interface_status $i)" ;; + echo ''$i' + User space '$(interface_status $i)'';; lo) - echo " $i - Loopback $(interface_status $i)" ;; + echo ''$i' + Loopback '$(interface_status $i)'';; *) continue ;; esac @@ -224,7 +219,7 @@ list_locales() { for locale in $(find /usr/share/i18n/locales -type f -name "[a-z][a-z]_[A-Z][A-Z]") do - echo "" + echo "" done } @@ -232,10 +227,12 @@ # Get the list of console keymaps list_keymaps() { - if [ -d /usr/share/kbd ]; then # kbd-base + if [ -d /usr/share/kbd ]; then + # kbd-base find /usr/share/kbd/keymaps/i386 -type f -name '*.map*' ! -path '*include*' | \ awk -F/ '{gsub(/.map.gz/, ""); printf "