-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy path05-KDE.sh
More file actions
executable file
·136 lines (120 loc) · 5.11 KB
/
Copy path05-KDE.sh
File metadata and controls
executable file
·136 lines (120 loc) · 5.11 KB
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
126
127
128
129
130
131
132
133
134
135
136
#!/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
WGET_OPTS="${WGET_OPTS:--q -N}"
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*,cfitsio-*"
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 $WGET_OPTS -R "$blacklist_kde" "$slacksrc"/kde/*.txz
wget $WGET_OPTS -A "$whitelist_l" "$slacksrc"/l/*.txz
}
instpkg() {
for pkg in $SD/$NP-work/* ; do
nice -n10 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/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/
mkdir -p usr/lib/udev && mv lib/udev/* usr/lib/udev/ 2>/dev/null || true
sed -i 's|/lib/udev/|/usr/lib/udev/|g' usr/lib/udev/rules.d/*.rules 2>/dev/null || true
}
run-caches() {
cd $SD && AUFS="aufs-temp"
echo "Rebuilding caches chrooted inside $AUFS"
mount | grep aufs-temp && umount 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
chroot $AUFS fc-cache
chroot $AUFS update-mime-database /usr/share/mime
chroot $AUFS update-desktop-database -q /usr/share/applications
chroot $AUFS gio-querymodules /usr/lib${ARCH}/gio/modules
#chroot $AUFS update-gtk-immodules
chroot $AUFS update-gdk-pixbuf-loaders
chroot $AUFS glib-compile-schemas /usr/share/glib-2.0/schemas/
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-caches
;;
"lzmfy" )
echo "...LZMFY"
nice -n10 mksquashfs $NP $NP.lzm $SQUASH_OPT
;;
"world" )
echo "...DOWNLOADING"
downloadpkg
echo "...INSTALLING"
instpkg
clean-KDE
run-caches
echo "...LZMFY"
nice -n10 mksquashfs $NP $NP.lzm $SQUASH_OPT
;;
esac
echo -e "\n $0 \033[7m DONE \033[0m \n"
fi