242 lines
7.1 KiB
Bash
242 lines
7.1 KiB
Bash
#!/bin/sh
|
|
|
|
# Don't waste your time making this bash/ash/sh rc
|
|
# file executable or trying to create debian menus
|
|
# with it. The hashbang at the top is for syntax
|
|
# highlighting.
|
|
|
|
|
|
# convenience variables
|
|
e='enlightenment'
|
|
|
|
eh_installdir ( ) {
|
|
eh_echo "creating dir(s) $@"
|
|
/usr/bin/install -g root -o root -d -m 755 "$@"
|
|
}
|
|
|
|
eh_echo ( ) {
|
|
echo "ehelper: $@..."
|
|
}
|
|
|
|
# consolidate debhelper files into debian/ehrc
|
|
nospoon ( ) {
|
|
sed '/^#ehrc#/,$ d' ehrc > data
|
|
echo -e "#ehrc# This is a regex target that begins the data section.\n" >> data
|
|
(for i in enl*; do echo "#file:$i"; sed 's/^/\#/' $i; echo -e "\n"; done | cat -s) >> data
|
|
mv ehrc ehrc.old; mv data ehrc
|
|
}
|
|
|
|
spoon ( ) {
|
|
eh_echo "unpacking debhelper files"
|
|
perl -we 'undef $/; while(<>) { while( /^#file:(.*?)^(.*?)^$/smg ) { $file=$1; $data=$2; $data =~ s/^#//smg; open FILE,">$file" || die "$file !?"; print FILE "$data" || die "$file !?"; close FILE || die "$file !?"; } }' ehrc
|
|
}
|
|
|
|
# place Debian menu stubs in menus.cfg
|
|
eh_menufilter ( ) {
|
|
eh_echo "adding Debian menu stub to menus.cfg"
|
|
perl -lwne '/^__E_CFG_VERSION 0$/ and print("$_\n\n", qw@BEGIN_NEW_FILE_MENU("DEBIAN_MENU", "ROOT", "/etc/enlightenment/menus/debian.menu")@, "\nEND_MENU") or /^ADD_MENU_SUBMENU_TEXT_ITEM.*APPS_SUBMENU/ and print("$_\n", qw@ADD_MENU_SUBMENU_TEXT_ITEM("Debian", "DEBIAN_MENU")@) or print;' src/themes/configs/menus.cfg > debian/$e/usr/share/$e/config/menus.cfg
|
|
eh_installdir debian/$e/etc/$e/menus
|
|
}
|
|
|
|
# IF this is a CVS source tree, expand debhelper files
|
|
# and run ./autogen.sh. ELSE, just run ./configure.
|
|
eh_configure ( ) {
|
|
(cd debian; spoon)
|
|
test -f config.cache && eh_echo "removing config.cache" && rm config.cache
|
|
test -f autogen.sh && ./autogen.sh "$@" || ./configure "$@"
|
|
}
|
|
|
|
eh_unpacktheme ( ) {
|
|
local themedir="debian/$1/usr/share/enlightenment/themes/$2"
|
|
local srcdir="src/themes"
|
|
eh_installdir $themedir
|
|
eh_echo "unpacking $2.etheme to $themedir"
|
|
|
|
tar zxpf "$srcdir/$2.etheme" -C $themedir
|
|
}
|
|
|
|
eh_installthemes ( ) {
|
|
eh_unpacktheme "$e-theme-bluesteel" "BlueSteel"
|
|
eh_unpacktheme "$e-theme-shinymetal" "ShinyMetal"
|
|
eh_unpacktheme "$e" "BrushedMetal-Tigert"
|
|
}
|
|
|
|
eh_makfilefilter ( ) {
|
|
eh_echo "disabling src/themes/Makefile's theme unpacking routine"
|
|
perl -ni'.old' -lwe '/^install-data-local:$/ .. /^$/ or print' src/themes/Makefile
|
|
}
|
|
|
|
eh_undocumented ( ) {
|
|
eh_echo "adding undocumented man page links"
|
|
local needdocs=$(cd debian/$e/usr/bin ; ls | sed '/^enlightenment$/d; s#$#.1#' | xargs)
|
|
eh_echo "$needdocs"
|
|
dh_undocumented -p $e $needdocs
|
|
eh_installdir debian/$e/usr/share/doc/$e
|
|
cp src/ChangeLog debian/$e/usr/share/doc/$e/changelog
|
|
}
|
|
|
|
eh_clean ( ) {
|
|
rm -f core `find . \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
|
|
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
|
|
-o -name '.*.rej' -o -name '.SUMS' -o -name '*.old' \) -print`
|
|
}
|
|
|
|
# install meta function
|
|
eh_install ( ) {
|
|
eh_menufilter
|
|
eh_installthemes
|
|
eh_undocumented
|
|
perl -pi -lwe 's/^EBIN=.*/EBIN=\/usr\/bin/' debian/$e/usr/bin/$e.install
|
|
eh_clean
|
|
}
|
|
|
|
#ehrc# This is a regex target that begins the data section.
|
|
|
|
#file:enlightenment-theme-bluesteel.README.Debian
|
|
#See the enlightenment package's /usr/share/doc/enlightenment/
|
|
#for additional information.
|
|
|
|
#file:enlightenment-theme-shinymetal.README.Debian
|
|
#See the enlightenment package's /usr/share/doc/enlightenment/
|
|
#for additional information.
|
|
|
|
#file:enlightenment.README.Debian
|
|
#Enlightenment for Debian/GNU Linux
|
|
#----------------------------------
|
|
#
|
|
#NOTES for users of KDE/GNOME and those not using KDE/GNOME:
|
|
# There are a number of config files with pretty obvious names
|
|
# in /usr/share/enlightenment/config. You can go there and
|
|
# copy or the appropriate files to the normal names. As an
|
|
# example:
|
|
#
|
|
# cp keybindings.gmc.cfg keybindings.cfg
|
|
#
|
|
# This can also be accomplished by copying the appropriate
|
|
# files to $HOME/.enlightenment/
|
|
#
|
|
#Visit http://www.debian.org for the latest official Debian binary and
|
|
#source code enlightenment packages.
|
|
#
|
|
#Visit http://www.debian.org/~ljlane/ for the latest bug tracking,
|
|
#news, and pre/experimental package releases of Enlightenment for
|
|
#Debian.
|
|
#
|
|
#Visit http://www.enlightenment.org/ for the latest enlightenment news
|
|
#and source code.
|
|
#
|
|
#
|
|
#Laurence J. Lane <ljlane@debian.org>, Fri, 5 Nov 1999 20:33:57 -0500
|
|
|
|
#file:enlightenment.conffiles
|
|
#/etc/menu-methods/enlightenment
|
|
|
|
#file:enlightenment.docs
|
|
#NEWS README INSTALL AUTHORS
|
|
|
|
#file:enlightenment.menu
|
|
#?package(enlightenment):needs="wm" section="WindowManagers"\
|
|
# title="Enlightenment" command="/usr/bin/enlightenment"
|
|
|
|
#file:enlightenment.menu-method
|
|
##!/usr/sbin/install-menu
|
|
#
|
|
#compat="menu-1";
|
|
#!include menu.h
|
|
#
|
|
#compat="menu-2";
|
|
#
|
|
## choose a terminal program here:
|
|
# function term_prog()="Eterm";
|
|
# #function term_prog()="rxvt";
|
|
# #function term_prog()="xterm";
|
|
#
|
|
#treewalk=c(m);
|
|
#rootprefix="/etc/enlightenment/menus/";
|
|
#userprefix="$HOME/.enlightenment/menus_debian/";
|
|
#mainmenutitle="Debian Menu";
|
|
#
|
|
#function menu_sh() = prefix() "debian_menu_sh";
|
|
#prerun="set -e; rm -f " prefix() "debian*menu/" menu_sh();
|
|
#postrun="set -e; cat " menu_sh() "| sed 's/_debian/debian/g' | sh; rm -f " menu_sh();
|
|
#
|
|
#function quote($text)= "\"" $text "\"";
|
|
#function tick($text)= "\'" $text "\'";
|
|
#
|
|
#function space()= " ";
|
|
#function newline()="\n";
|
|
#
|
|
#function entry($com)= quote(esc(title(),"\"")) space()
|
|
# quote(ifelse(icon(),icon(),"NULL")) space()
|
|
# quote("exec") space()
|
|
# $com;
|
|
#
|
|
#function term($com)= term_prog() " -T " tick(title()) " -e " $com;
|
|
#
|
|
#supported;
|
|
# wm= entry(quote("eesh -e restart_wm " $command) newline());
|
|
# x11= entry(quote($command) newline());
|
|
# text= entry(quote(term($command)) newline());
|
|
#endsupported;
|
|
#
|
|
#function etitle()= tolower(replacewith($section,"/","_") ".menu");
|
|
#
|
|
#startmenu= "cat > " prefix() etitle() " << END" newline() quote(title()) newline();
|
|
#
|
|
#endmenu= "END" newline() newline();
|
|
#
|
|
#submenutitle="\""title()"\" NULL menu \"" prefix() etitle() "\"\n";
|
|
#
|
|
#genmenu="debian_menu_sh";
|
|
|
|
#file:enlightenment.postinst
|
|
##!/bin/sh -e
|
|
#
|
|
#if test -x /usr/sbin/register-window-manager >/dev/null 2>&1; then
|
|
# /usr/sbin/register-window-manager --add /usr/bin/enlightenment
|
|
#fi
|
|
#
|
|
##DEBHELPER#
|
|
#
|
|
#exit 0
|
|
|
|
#file:enlightenment.postrm
|
|
##!/bin/sh -e
|
|
#
|
|
#if test "$1" = "purge" -a -x /usr/sbin/register-window-manager; then
|
|
# /usr/sbin/register-window-manager --remove /usr/bin/enlightenment
|
|
#fi
|
|
#
|
|
##DEBHELPER#
|
|
#
|
|
#exit 0
|
|
#
|
|
|
|
#file:enlightenment.preinst
|
|
##!/bin/sh -e
|
|
#
|
|
#dpkg --assert-long-filenames 2>&1 > /dev/null || { echo "requires dpkg (>= 1.4.17)"; exit 1; }
|
|
#
|
|
#theme_dir='/usr/share/enlightenment/themes'
|
|
#
|
|
#if test -f "$themedir/BrushedMetal-Tigert"; then
|
|
# local date=$(date -R | tr ' ' '_')
|
|
# echo "warning: attempting to move $themedir/BrushedMetal-Tigert to $themedir/BrushedMetal-Tigert.$date"
|
|
# mv -v "$themedir/BrushedMetal-Tigert" "$themedir/BrushedMetal-Tigert.$date"
|
|
# echo "You should probably remove $themedir/BrushedMetal-Tigert.$date"
|
|
#fi
|
|
#
|
|
##DEBHELPER#
|
|
#
|
|
#exit 0
|
|
|
|
#file:enlightenment.prerm
|
|
##!/bin/sh -e
|
|
#
|
|
#find /etc/enlightenment/menus/ -type f -name 'debian*.menu' -print0 | xargs -0r rm -f
|
|
#
|
|
##DEBHELPER#
|
|
#
|
|
#exit 0
|
|
|