-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy path01-Core.sh
More file actions
executable file
·331 lines (292 loc) · 17.1 KB
/
Copy path01-Core.sh
File metadata and controls
executable file
·331 lines (292 loc) · 17.1 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
#!/bin/bash
#bash +x
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
blacklist_a="kernel-[ghm]*,mkinitrd*,elvis*,floppy*,mtx*,tcsh*,ed*,sharutils*,loadlin*,devs*,sysvinit-*,eudev-*,grub-*,dbus-*" # For now we exclude grub untill we decide to just clean it.
blacklist_ap="hplip*,mariadb-*,vim*,linuxdoc*,man*,groff*,a2ps*,texinfo*,ksh93*,jed*,enscript*,cupsddk*,joe*,ispell*,jove*,pm-utils-*"
# These are necessary for printing
#blacklist_ap=$blacklist_ap"ghostscript-*,gutenprint-*,qpdf-*"
whitelist_l="libseccomp-*,ncurses*,libgphoto2*,parted*,taglib*,apr*,fuse*,libusb-*,zlib*,lzo*,libmad*,libtermcap*,libcap*,gdbm*,popt*,libao*,libid3tag*,mm*,libmowgli*,libmcs*,libaio*,alsa*,libnl*,libpcap*,libzip*,libunistring-*,elfutils-*,xxHash-*,lz4-*,lmdb-*,libuv-*"
whitelist_l=$whitelist_l",gmp*,libidn-*,libidn2-*,glib*,aalib*,libcaca*,gd-*,audiofile*,dbus*,esound*,sof-firmware-*,libieee1284*,libogg*,libtheora*,libvorbis*,libcddb*,libsamplerate*,libraw1394*,v4l-utils*,liboil*,mpfr*,wavpack*,libcdio*,expat*,urwid*,neon*,pcre*,libmpc*,libsndfile*,libnotify*,fftw*,libarchive*,libksba*,pygobject*,libmcrypt*,libssh-*,libatasmart-*,libffi-*,pycurl-*,libproxy-*,icu4c-*,libtasn1-*,libevent-*,jemalloc-*,libimobiledevice-*,libusbmuxd-*,usbmuxd-*,keyutils-*,libxml2-*,orc-*,svgalib-*,a52dec-*,polkit-*,libnih-*,libplist-*,gc-*,pulseaudio-*,alsa-plugins-*,sbc-*,json-c-*,libasyncns-*,libsigc++*,speexdsp-*,libssh2-*,mozilla-nss-*,libvpx-*,js185-*,ffmpeg-*,lame-*,libbluray-*,SDL2*,libyaml-*,pyparsing-*,python-six-*,opus*,libopusenc-*,speex-*,jansson-*,brotli-*,readline-*,newt-*,libpcap-*,libedit-*,python-Jinja2-*,python-MarkupSafe-*,python-doxy*,zstd-*,argon2-*,libptytty-*,duktape-*,libdeflate-*,libpsl-*,libunibreak-*,avahi-*,libdaemon-*,simdutf-*,libnvme-*,libfyaml-*,libmaxminddb-*"
# These are necessary for printing
whitelist_l=$whitelist_l",colord-*,graphene-*,libcupsfilters-*,libgusb-*,libpaper-*,libppd-*,poppler-*,fmt-*,pipewire-*,wireplumber-*"
whitelist_n="libtirpc-*,libndp-*,nghttp2-*,nmap*,links*,bind*,curl*,tcpdump*,openssh*,dhcpcd-*,dhcp-*,libgcrypt*,ppp*,bluez*,wget*,iproute2*,wpa_supplicant*,iptables*,iptraf*,openvpn-*,libmnl-*,openssl*,rsync*,gpgme*,dnsmasq*,wireless_tools*,ipw*,vsftpd*,net-tools*,stunnel*,pth*,obex*,openobex*,rp-pppoe*,tcp_wrappers*,netpipes*,iputils*,libgpg*,telnet*,nc-*,ethtool*,rdist*,mtr*,tftp-hpa*,netkit-ftp*,whois*,zd1211*,bridge-utils*,portmap*,network-scripts*,inetd*,popa3d*,bsd-finger*,traceroute*,iw*,crda*,pssh*,biff+comsat*,icmpinfo*,rfkill*,idnkit*,libassuan*,ipset-*,ebtables-*,npth-*,ngtcp2-*,wireless-regdb-*,libnftnl-*,nftables-*,libnetfilter_conntrack-*,openresolv-*"
whitelist_n=$whitelist_n",httpd*,gnutls*,sendmail*,cyrus-sasl*,openldap-client*,nfs-utils*,procmail*,netwatch*,vlan*,netkit-routed*,netwrite*,gnupg-*,iftop-,mobile-broadband-provider-info-*,ca-certificates-*,libksba-*,gnupg2-*,nettle-*,p11-kit-*,NetworkManager-*,ModemManager-*,libmbim-*,libqmi-*,mobile-broadband-provider-info-*,ntp-*,libnetfilter_queue-*,libnfnetlink-*,wireguard-tools-*,nghttp3-*,c-ares-*,krb5-*,nss-mdns-*,libqrtr-glib-*"
extra="chillispot,scanssh,nrg2iso,mdf2iso"
extra_lib=""
mkdir -p $NP $NP-work $NP-removed
downloadpkg() {
cd $SD/$NP-work
wget $WGET_OPTS "$slacksrc"/a/*.tgz # gzip, tar, xz, pkgtools 1.2MB
wget $WGET_OPTS -R "$blacklist_a" "$slacksrc"/a/*.txz # 23.9 MB
wget $WGET_OPTS -R "$blacklist_ap" "$slacksrc"/ap/*.t[g-x]z # 7 MB
wget $WGET_OPTS -A "$whitelist_l" "$slacksrc"/l/*.txz # 7.6 MB
wget $WGET_OPTS -A "$whitelist_n" "$slacksrc"/n/*.txz # 17.2 MB
echo Use the script that downloads slacky packages by name because this is a bit to much to maintain
#wget $WGET_OPTS $slacksrc/d/python2-2.*.txz # 12732K
wget $WGET_OPTS $slacksrc/d/perl-5.*.txz # 15532K - should be 5.3M after cleanup
wget $WGET_OPTS $slacksrc/d/libtool-2.*.txz # 420K
wget $WGET_OPTS $slacksrc/d/python-setuptools-*.txz # 676K
if [[ $ARCH = "" ]]; then
wget $WGET_OPTS http://packages.nimblex.net/nimblex/sshfs-fuse-2.3-i486-1.tgz # 55K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/systemd-221-i686-1.txz # 5.1M
wget $WGET_OPTS http://packages.nimblex.net/nimblex/grub2-2.00-slim-i486-1.txz # 1.1M
wget $WGET_OPTS http://packages.nimblex.net/nimblex/atop-1.26-i486-1.tgz # 113K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/ncdu-1.8-i486-1.tgz # 28K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/radvd-1.9.1-i486-1.tgz # 71K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/tdb-1.0.6-i486-1.tgz # 50K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/csync-0.49.9-i486-1.txz # 88K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/perl-Authen-SASL-2.16-i486-1.txz # 46K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/perl-IO-Socket-SSL-1.76-i486-1ponce.txz #52K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/perl-Net-SMTP-SSL-1.01-i486-1ponce.txz #5K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/urlgrabber-3.10-i686-1.txz # 84K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/snappy-1.1.2-i686-1.txz # 49K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/confuse-2.7-i686-1.txz # 51K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/yajl-2.1.0-i686-1.txz # 41K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/libev-4.11-i486-2.txz # 134K
elif [[ $ARCH = "64" ]]; then
wget $WGET_OPTS http://packages.nimblex.net/nimblex/audit-3.0.9-x86_64-1.txz # 629K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/dbus-1.16.2-x86_64-1.txz # 373K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/systemd-261-x86_64-1.txz # 8.2M
wget $WGET_OPTS http://packages.nimblex.net/nimblex/earlyoom-1.9.0-x86_64-1.txz # 32K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/grub2-2.00-slim-x86_64-1.txz # 1.1M
wget $WGET_OPTS http://packages.nimblex.net/nimblex/ncdu-1.15.1-x86_64-1.txz # 42K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/confuse-3.2-x86_64-1.txz # 66K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/perl-AnyEvent-7.17-x86_64-1.txz # 384K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/perl-JSON-XS-4.03-x86_64-1.txz # 88K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/perl-common-sense-3.75-x86_64-1.txz # 16K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/perl-Canary-Stability-2006-x86_64-1.txz # 8K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/perl-Types-Serialiser-1.01-x86_64-1.txz # 16K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/slapt-get-0.11.11-x86_64-1.txz # 160K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/yajl-2.1.0-x86_64-1.txz # 38K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/libev-4.33-x86_64-1.txz # 138K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/iperf3-3.19.1-x86_64-1.txz # 100K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/libconfig-1.8.1-x86_64-1.txz # 448K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/libev-4.33-x86_64-1.txz # 132K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/uthash-2.3.0-x86_64-1.txz # 108K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/evdi-1.14.15-x86_64-1.txz # 20K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/chntpw-140201-x86_64-1.txz # 84K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/pv-1.10.3-x86_64-1.txz # 104K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/shim-signed-1.47-x86_64-1.txz # 324K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/mokutil-0.7.2-x86_64-1.txz # 36K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/pipewire-1.6.4-x86_64-2_libcamera.txz # We need to have our own because libcamera is missing from slackware
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/xl2tpd-1.3.2-x86_64-1.txz # 430K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/strongswan-5.6.2-x86_64-1.txz # 863K
# Some fingerprint sensor support experiment
wget $WGET_OPTS http://packages.nimblex.net/nimblex/libgusb-0.4.9-x86_64-1.txz # 68K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/libfprint-1.94.2-x86_64-2.txz # 836K
wget $WGET_OPTS http://packages.nimblex.net/nimblex/fprintd-1.94.2-x86_64-1.txz # 128K
# # The following are some basic music apps related libs
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/dssi-1.1.1-x86_64-1.txz # 48K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/liblo-0.28-x86_64-1.txz # 69K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/lv2-1.10.0-x86_64-1.txz # 146K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/slv2-0.6.6-x86_64-2.txz # 56K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/liblrdf-0.5.0-x86_64-1.txz # 24K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/serd-0.20.0-x86_64-1.txz # 49K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/sord-0.12.2-x86_64-1.txz # 31K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/sratom-0.4.6-x86_64-1.txz # 16K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/liblrdf-0.5.0-x86_64-1.txz # 24K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/lilv-0.20.0-x86_64-1.txz # 59K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/celt051-0.5.1.3-x86_64-2.txz # 47K
# wget $WGET_OPTS http://packages.nimblex.net/nimblex/TLP-master-x86_64-1.txz # 60K
fi
}
instpkg() {
for pkg in $SD/$NP-work/* ; do
nice -n10 installpkg --root $SD/$NP $pkg
done
}
clean-core() {
cd $SD/$NP
# Remove stuff we don't need
echo "Starting the core cleanup procedure ... ;)"
ln -s /mnt/live/bin/vi bin/vi
rm -r etc/rc.d
#rm etc/rc.d/rc.pcmcia
#rm etc/rc.d/rc.inetd
#chmod +x etc/rc.d/rc.bluetooth
sed -i 's/darkstar/nimblex/g' etc/hosts
sed -i 's/# ForwardAgent no/ ForwardAgent yes/' etc/ssh/ssh_config
sed -i 's/# StrictHostKeyChecking ask/ StrictHostKeyChecking no/' etc/ssh/ssh_config
sed -i '3iInclude /etc/ssh/ssh_config.d/*.conf' etc/ssh/ssh_config
#sed -i 's/darkstar/nimblex/g' etc/rc.d/rc.M
#sed -i 's/LESS="-M"/LESS="-MR"/' etc/profile
# systemD related.
mv usr/lib/systemd/systemd.new usr/lib/systemd/systemd
ln -s /usr/lib/systemd/systemd sbin/init
#ln -s /usr/bin/udevadm sbin/udevadm
ln -s /usr/bin/systemctl bin/reboot
ln -s /usr/bin/systemctl bin/halt
ln -s /usr/bin/systemctl bin/poweroff
rm etc/mtab && ln -s /proc/self/mounts etc/mtab
rm etc/systemd/system/graphical.target.wants/display-manager.service
# Generate SSH host keys at boot.
ln -s /usr/lib/systemd/system/sshdgenkeys.service usr/lib/systemd/system/multi-user.target.wants/sshdgenkeys.service
# NimbleX ships /etc/ld.so.cache from the build and validates it with
# nimblex-refresh-caches; only let ldconfig.service run if the cache is missing.
sed -i '/^ConditionNeedsUpdate=|\/etc$/d' usr/lib/systemd/system/ldconfig.service
mv etc/pam.d/systemd-user.new etc/pam.d/systemd-user
# systemd (>=258) ships /usr/sbin/resolvconf as a symlink to resolvectl
# Revisit if/when we migrate to systemd-resolved.
# rm usr/sbin/resolvconf && ln -sf /sbin/resolvconf usr/sbin/resolvconf
#rm etc/xdg/autostart/pulseaudio.desktop
#ln -s /run/dbus/system_bus_socket var/run/dbus/
#sed -i '/lockdev 0775 root lock/'d usr/lib/tmpfiles.d/legacy.conf
sed -i 's/^autospawn = yes/autospawn = no/' etc/pulse/client.conf
sed -i 's/^allow-autospawn-for-root = yes/allow-autospawn-for-root = no/' etc/pulse/client.conf
# ln -s /usr/share/zoneinfo/GMT0 etc/localtime # This should be handled by tmpfiles.d/etc.conf
rm etc/slackware-version
rm boot/*
mkdir -p etc/smack/accesses.d
echo "nimblex" > etc/HOSTNAME
echo "NimbleX Linux." > etc/motd
echo "<html><body><h1>NimbleX is running your web server!</h1></body></html>" > var/www/htdocs/index.html
echo "WORKINGDIR=/var/slapt-get
EXCLUDE=^aaa_elflibs,^devs,^glibc-.*,^kernel-.*,^udev,.*-[0-9]+dl$
SOURCE=http://packages.nimblex.net/slackware${ARCH}/:OFFICIAL
" > etc/slapt-get/slapt-getrc
rm -r media/* mnt/*
rm -r usr/{doc,share/gtk-doc}
rm usr/info/*
rm -r usr/share/mc/{help,hints} # ~300KB
#rm -r usr/share/zenmap/pixmaps # 270KB
rm -r usr/share/svgalib-demos # 64KB
rm -r var/www/htdocs/manual # 730KB
rm usr/share/sounds/alsa/* # 730KB
rm usr/bin/omshell # 470KB
rm usr/sbin/dhcrelay # 480KB
# Removing firmware for hardware which is not mainstream. Saves 10M
cd lib/firmware
rm -r ueagle-atm/ libertas/ phanfw.bin ti-connectivity/ bnx2/ bnx2x* vxge/ myri10ge_* slicoss/ ql2*_fw.bin qlogic/ cxgb* liquidio/ netronome/ mellanox/ qed/
cd ../..
# Clean sone small stuff
rm usr/share/applications/{cups.desktop,wpa_gui.desktop}
# Handle Man pages
mkdir -p ../$NP-removed/man_pages/usr/man/ && mv usr/man/* $_
mkdir -p ../$NP-removed/man_pages/usr/local/man/ && mv usr/local/man/* $_
# Handle locale
mkdir -p ../$NP-removed/locale/usr/share/locale/ && mv usr/share/locale/* $_
#mkdir -p ../$NP-removed/locale/usr/lib${ARCH}/locale/ && mv usr/lib${ARCH}/locale/* $_
# Handle .h & .a files
mkdir -p ../$NP-removed/devel/usr/include/ && mv usr/include/* $_
mkdir -p ../$NP-removed/devel/lib${ARCH}/ && mv lib${ARCH}/*.a $_
mkdir -p ../$NP-removed/devel/usr/lib${ARCH}/ && mv usr/lib${ARCH}/*.a $_
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
# Slim down Perl some more because it's a HUGE bitch
mkdir -p ../$NP-removed/devel/usr/lib${ARCH}/perl5/auto/Encode/ && mv usr/lib${ARCH}/perl5/auto/Encode/{JP,KR,CN,TW} $_
mkdir -p ../$NP-removed/devel/usr/lib${ARCH}/perl5/CORE/ && mv usr/lib${ARCH}/perl5/CORE/*.h $_
mkdir -p ../$NP-removed/devel/usr/share/perl5/ && mv usr/share/perl5/pod $_
# Edit usr/share/cups/data/testprint.ps ?
# Handle usr/share/kbd/(consolefonts)(keymaps) ? #750KB
# Handle usr/share/nmap/(nmap-mac-prefixes)(nmap-os-db) ? #260KB
# Handle usr/share/terminfo # 200KB
# Handle usr/share/zoneinfo $ 200KB
# Default iptables to the nftables backend.
for t in iptables ip6tables iptables-save iptables-restore \
ip6tables-save ip6tables-restore; do
ln -sf xtables-nft-multi usr/sbin/$t
done
}
copy-static() {
echo "Copying stuff from 06-NimbleX"
cp ../06-NimbleX/etc/issue* etc/
cp ../06-NimbleX/etc/dhcpd.conf etc/
cp ../06-NimbleX/etc/vsftpd.conf etc/
cp ../06-NimbleX/etc/bootchartd.conf etc/
cp ../06-NimbleX/etc/profile etc/
cp ../06-NimbleX/etc/zshrc etc/
cp ../06-NimbleX/etc/locale.conf etc/
cp ../06-NimbleX/etc/vconsole.conf etc/
cp ../06-NimbleX/etc/rc.local etc/
cp ../06-NimbleX/etc/default/grub etc/default/
cp ../06-NimbleX/etc/sysctl.d/99-nimblex.conf etc/sysctl.d/
cp ../06-NimbleX/etc/skel/{\.bashrc,\.screenrc} etc/skel/
cp ../06-NimbleX/etc/skel/{\.bashrc,\.screenrc,\.vimrc} root/
# cp ../06-NimbleX/etc/slapt-get/slapt-getrc etc/slapt-get/
# cp ../06-NimbleX/usr/share/wallpapers/nimblex-wallpaper.jpg usr/share/wallpapers/
cp ../06-NimbleX/var/spool/mail/root var/spool/mail/root
# Memory-management shipped config (zram-swap.service, firefox.slice, earlyoom tuning).
# Units/symlinks/slices are covered by the globs above; these are the non-systemd bits.
cp ../06-NimbleX/etc/default/zram-swap etc/default/
cp ../06-NimbleX/usr/libexec/* usr/libexec/
cp ../06-NimbleX/usr/local/bin/* usr/local/bin/
cp ../06-NimbleX/etc/os-release etc/
cp ../06-NimbleX/lib/udev/rules.d/*.rules usr/lib/udev/rules.d/
cp ../06-NimbleX/etc/systemd/*.conf etc/systemd/
# Host-side virtio vsock backend (enables "ssh vsock/<cid>" into local VMs).
mkdir -p etc/modules-load.d && cp ../06-NimbleX/etc/modules-load.d/*.conf etc/modules-load.d/
#cp ../06-NimbleX/etc/dbus-1/system.d/* etc/dbus-1/system.d/
cp -a ../06-NimbleX/usr/lib/systemd/system/*.{service,socket,slice} usr/lib/systemd/system/
cp -a ../06-NimbleX/usr/lib/systemd/system/*.target.wants usr/lib/systemd/system/
cp -a ../06-NimbleX/usr/lib/sysusers.d usr/lib/
cp -a ../06-NimbleX/etc/pipewire etc/
mkdir -p var/lib/pipewire/.local/state/wireplumber/
cp ../06-NimbleX/usr/bin.noarch/* usr/bin/
if [[ $ARCH = "" ]]; then
cp ../06-NimbleX/sbin/* sbin/
cp ../06-NimbleX/usr/bin/* usr/bin/
cp ../06-NimbleX/usr/sbin/* usr/sbin/
elif [[ $ARCH = "64" ]]; then
cp ../06-NimbleX/usr/bin64/* usr/bin/
fi
}
# Rebuild merged-filesystem cache
run-caches() {
echo "Running ldconfig and others chrooted"
chroot . ldconfig
chroot . /usr/sbin/update-ca-certificates
chroot . glib-compile-schemas /usr/share/glib-2.0/schemas
chroot . gio-querymodules /usr/lib${ARCH}/gio/modules
}
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 world"
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-core
copy-static
run-caches
;;
"lzmfy" )
echo "...LZMFY"
nice -n10 mksquashfs $SD/$NP $SD/$NP.lzm $SQUASH_OPT
;;
"world" )
echo "...DOWNLOADING"
downloadpkg
echo "...INSTALLING"
instpkg
clean-core
copy-static
run-caches
echo "...LZMFY"
nice -n10 mksquashfs $SD/$NP $SD/$NP.lzm $SQUASH_OPT
;;
esac
echo -e "\n $0 \033[7m DONE \033[0m \n"
fi