-
Notifications
You must be signed in to change notification settings - Fork 13
/
05-KDE.sh
executable file
·125 lines (109 loc) · 4.54 KB
/
05-KDE.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/bin/bash
set -e
SD=`pwd`
ARCH=""
if [[ `uname -m` = "x86_64" ]]; then ARCH="64" ; fi
NP=`basename $0 | cut -d "." -f 1`${ARCH} # NimbleX Package name
if [[ -f .ftp-credentials ]]; then
. .ftp-credentials
slacksrc="ftp://${USERNAME}:${PASSWORD}@${HOSTNAME}/Bogdan/packages/slackware${ARCH}/slackware${ARCH}"
else
slacksrc="ftp://slackware.telecoms.bg/slackware/slackware${ARCH}-current/slackware${ARCH}"
fi
extrasrc="http://repository.slacky.eu/slackware${ARCH}-13.1/"
extrasrc="http://packages.nimblex.net/slacky${ARCH}/"
blacklist_kde="kdeartwork-*,calligra-*,marble-*,kstars-*,kiten-*,kgeography-*,parley-*,kalzium-*,ktouch-*,kig-*,kwordquiz-*,kremotecontrol-*,kbruch-*,khangman-*,kmplot-*,kanagram-*,klettres-*,kdevelop-*,ktorrent-*,libktorrent-*,blinken-*,kalgebra-*,cantor-*,kdetoys*,skanlite*,kdeadmin*,networkmanagement-*,amarok-*,kdepim-*,kplayer-*,amor-*,artikulate-*"
blacklist_kde=$blacklist_kde",ktuberling-*,kdiamond-*,pairs-*,kpat-*,kmahjongg-*,libkmahjongg-*,kajongg-*,kgoldrunner-*,palapeli-*,kbounce-*,granatier-*,kbreakout-*,kigo-*,kwordquiz-*,ksirk-*,rocs-*,kturtle-*,step-*,nepomuk-*,kget-*,cervisia-*,kapptemplate-*,kcachegrind-*,kde-dev-*,kdev-python-*,kompare-*,ksystemlog-*,ktux-*,lokalize-*,okteta-*,umbrello-*"
whitelist_l="clucene*,soprano*,qimageblitz*,strigi*,phonon-*,redland*,qca*,liblastfm*,libxklavier*,poppler*,libtiff*,libspectre*,libwnck*,attica*,eggdbus*,ebook-tools*,libdiscid*,shared-desktop-ontologies*,libiodbc*,herqq-*,libbluedevil-*,xapian-core-*,NOTYET_akonadi*"
blacklist_kde=$blacklist_kde",kdevplatform-*,kdewebdev-*,kdesdk-*,kfloppy-*,kdf-*,kmouth-*"
mkdir -p $NP-work $NP $NP-removed/man_pages/usr/man $NP-removed/locale/usr/share/locale $NP-removed/devel/usr/{include,lib${ARCH}}
downloadpkg() {
cd $SD/$NP-work
wget -R "$blacklist_kde" "$slacksrc"/kde/*.txz
wget -A "$whitelist_l" "$slacksrc"/l/*.txz
}
instpkg() {
for pkg in $SD/$NP-work/* ; do
installpkg --root $SD/$NP $pkg
done
}
clean-KDE() {
cd $SD/$NP
echo "Removing SOME of the most usless crap (doc/wallpapers/k3b-themes)"
rm -r usr/doc
rm -r usr/share/wallpapers/{Next,Canopee,Volna,Kokkini,Flow,Cluster,Opal,IceCold,Cascade,Shell}
#rm -r usr/share/apps/k3b/pics/73lab # ~ 200K
#rm -r usr/share/apps/k3b/pics/crystal # ~ 300K
rm -r usr/share/k3b/extra # Photo2vcd crap ~ 600K
rm -r usr/share/kopete/styles/Konqi # ~ 820K
rm -r usr/share/gtk-doc/html
rm -r usr/share/poppler/cMap/Adobe-Japan1 # ~620K
rm -r usr/share/poppler/cMap/Adobe-Korea1 # ~280K
#rm -r usr/share/apps/ksplash/Themes/Default # Instead we will use our own
#rm -r usr/share/apps/kdm/themes/{circles,horos,oxygen,oxygen-air}
# Copy NimbleX specific files
#!TODO 03-25-2021 -> Check if the following still make sense
#cp -a ../06-NimbleX/usr/share/kde4/services/ServiceMenus usr/share/kde4/services/
#cp -a ../06-NimbleX/usr/share/apps/{konsole,ksplash,kdm} usr/share/apps/
#cp -a ../06-NimbleX/usr/share/config/{kickoffrc,konquerorrc,kxkbrc,kwalletrc,kppprc,ksplashrc} usr/share/config/
#cp -a ../06-NimbleX/usr/share/apps/konsole/ usr/share/apps/
#cp ../06-NimbleX/etc/kde/kdm/kdmrc etc/kde/kdm/
echo "Moving other usless crap.(doc/include/man/locale)"
# Handle Man pages
mv usr/man/* ../$NP-removed/man_pages/usr/man/
# Handle locale
mv usr/share/locale/* ../$NP-removed/locale/usr/share/locale/
# Handle .h & .a files
mv usr/include/* ../$NP-removed/devel/usr/include/
}
run-ldconfig() {
echo "Running ldconfig chrooted inside $AUFS"
cd $SD && AUFS="aufs-temp" && mkdir -p $AUFS
mount -t aufs -o xino=/mnt/live/memory/aufs.xino,br:$NP none $AUFS
mount -t aufs -o remount,append:04-Apps${ARCH}=ro none $AUFS
#mount -t aufs -o remount,append:03-Libs${ARCH}=ro none $AUFS
mount -t aufs -o remount,append:02-Xorg${ARCH}=ro none $AUFS
mount -t aufs -o remount,append:01-Core${ARCH}=ro none $AUFS
chroot $AUFS ldconfig
umount $AUFS
rm -rf $NP/.wh..wh.*
}
SQUASH_OPT="-comp xz -noappend -b 256K -Xbcj x86 -no-xattrs"
if [[ -z $1 ]]; then
echo "Tell me what to do"
echo "You options are: clean download install lzmfy"
else
case $1 in
"clean" )
echo "...CLEANING"
rm -r $NP && echo $NP deleted
rm -r $NP-work && echo $NP-work deleted
rm -r $NP-removed && echo $NP-removed deleted
;;
"download" )
echo "...DOWNLOADING"
downloadpkg
;;
"install" )
echo "...INSTALLING"
instpkg
clean-KDE
run-ldconfig
;;
"lzmfy" )
echo "...LZMFY"
mksquashfs $NP $NP.lzm $SQUASH_OPT
;;
"world" )
echo "...DOWNLOADING"
downloadpkg
echo "...INSTALLING"
instpkg
clean-KDE
run-ldconfig
echo "...LZMFY"
mksquashfs $NP $NP.lzm $SQUASH_OPT
;;
esac
echo -e "\n $0 \033[7m DONE \033[0m \n"
fi