s243a

mv_extracted_stuff.sh (Draft #2)

Jan 31st, 2021 (edited)
1,827
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 24.50 KB | None | 0 0
  1. #!/bin/bash
  2. CWD="$PWD"
  3. clean=true
  4. HARDLINKED_SFS_unextracted=puli7.3_x86_64-ungoogled-hardlinked.sfs
  5. EXTRACTED_SFS=puli7.3_x86_64-ungoogled-hardlinked.sfs.extracted
  6. NEW_SFS=puli7.3_x86_64-ungoogled-hardlinked-new.sfs
  7.  
  8. FR_SOURCE_ARCHIVE=/mnt/+mnt+sda5+test_save+ext2/firstRIB_lgo/00fwmods_focalpup64.sfs
  9. FR_SOURCE_ORIG=/mnt/+mnt+sda5+test_save+ext2/firstRIB_lgo/01firstrib_rootfs.sfs.extracted
  10. [ "$clean" = true ] && rm -rf "$EXTRACTED_SFS"
  11.  
  12. FR_SOURCE="$CWD"/"$EXTRACTED_SFS"/cont/01firstrib_lgo_rootfs
  13.  
  14. if [ ! -d $EXTRACTED_SFS ] ||  [ ! "$(ls -A $EXTRACTED_SFS)" ] ; then
  15.   #mkdir -p "$EXTRACTED_SFS"
  16.   uextract $HARDLINKED_SFS_unextracted || { echo "failed to extract $HARDLINKED_SFS_unextracted" && exit; }
  17.   if [[ "${HARDLINKED_SFS_unextracted}.extracted" != "$EXTRACTED_SFS" ]]; then
  18.     mv ${$HARDLINKED_SFS_unextracted}.extracted $EXTRACTED_SFS
  19.   fi
  20. fi
  21. EXTRACTED_SFS="$(realpath "$EXTRACTED_SFS")" || { echo "failed realpath \"$HARDLINKED_SFS\"" && exit; }
  22.  
  23. TARGET="$EXTRACTED_SFS"/cont; mkdir -p "$TARGET"
  24. MV_LOC="$TARGET/xenial-moved"; mkdir -p $MV_LOC
  25.  
  26. #See: https://forum.puppylinux.com/viewtopic.php?f=53&t=1397&p=15016&hilit=hardlinked#p15016
  27. HL_LOC="$EXTRACTED_SFS"; mkdir -p "$HL_LOC"
  28. USE_MULTI_ARCH_DIRS=yes
  29.  
  30. WARN_MV_ARCH=true
  31.  
  32.  
  33.  
  34. if [ ! -d "$TARGET" ]; then
  35.   mkdir -p "$TARGET"
  36.   rsync -rltDv --link-dest="${HL_LOC}/" "${HL_LOC}/" "${TARGET}/"
  37. fi
  38. if [ ! -d "$FR_SOURCE_ORIG" ]; then
  39.   uextract -o "$FR_SOURCE_ORIG" "$FR_SOURCE_ARCHIVE" || { echo "failed to extract $HARDLINKED_SFS_unextracted" && exit; }
  40. fi
  41. if [ ! -d "$FR_SOURCE_ORIG" ]; then
  42.   cp -Ra "$FR_SOURCE_ORIG" "$FR_SOURCE"
  43. fi
  44. if [ ! -d "$FR_SOURCE" ]; then
  45.   cp -Ra "$FR_SOURCE_ORIG" "$FR_SOURCE"
  46. fi
  47. #FR_SOURCE=/mnt/+mnt+sda5+test_save+ext2/firstRIB_lego/01firstrib_rootfs.sfs.extracted
  48. #Move no longer needed core libs
  49.  
  50. if [ "$USE_MULTI_ARCH_DIRS" = yes ]; then
  51.   while read arch_dir_rel; do
  52.      target_arch_dir="$TARGET/$arch_dir_rel"
  53.      arch_dir="$(basename "$arch_dir_rel")"
  54.      parent_dir_rel="$(dirname "${arch_dir_rel}")"
  55.      target_arch_parent="$TARGET/$parent_dir_rel"
  56.      parent_of_arch_dir="$TARGET/$parent_dir_rel"
  57.      fp_arch_dir="$parrent_dir/arch_dir"
  58.      #if [ ! -d "$target_arch_dir" ]; then
  59.       #source_dir="$FR_SOURCE/$a_dir"
  60.       source_arch_dir="$FR_SOURCE/$arch_dir_rel"
  61.       if [ ! -d "$source_arch_dir" ]; then
  62.         [ -e "$target_arch_dir" ] && rm "$target_arch_dir" ;
  63.         mkdir -p "$target_arch_dir"
  64.       else
  65.  
  66. #the read in this warn section causes the outer loop to be skipped so comment out until fixed.      
  67.         #if [ "$WARN_MV_ARCH" = true ]; then #Debugging code      
  68.           #set +x
  69.           #echo "about to:"
  70.           #echo "
  71.           #cd \"$FR_SOURCE\"
  72.             #echo ./\"${arch_dir_rel}\" | \
  73.               #cpio -pdu \"$TARGET\" )"
  74.           #read -p "Press enter to continue"
  75.           #set -x
  76.          #fi
  77.            
  78.         ( cd "$FR_SOURCE"
  79.           echo "./${arch_dir_rel}" | \
  80.             cpio -pdu "$TARGET" )    
  81.        fi
  82.      #fi
  83.  
  84.      while read b_name; do
  85.  
  86. #the read in this warn section causes the outer loop to be skipped so comment out until fixed.
  87.       #if [ "$WARN_MV_ARCH" = true ]; then #Debugging code
  88.         #set +x        
  89.         #echo "about to:"
  90.         #echo "
  91.          #mv \"$target_arch_parent/$b_name\" \"$target_arch_dir/$b_name\"
  92.        #( cd \"$target_arch_parent\"; ln -s \"$b_name\" \"$arch_dir/$b_name\" ) "
  93.          #read -p "Press enter to continue"      
  94.         #set -x
  95.        #fi
  96.        rel_path="$(dirname "$arch_dir_rel")/$b_name"
  97.        case "$rel_path" in
  98.        lib/lsb|lib/systemd|lib/terminfo) continue; ;;
  99.        usr/lib/apt|usr/lib/debootstrap|usr/lib/dpkg) continue; ;;    
  100.        usr/lib/locale|usr/lib/mime|usr/lib/NetworkManager) continue; ;;
  101.        usr/lib/pm-utils|usr/lib/ssl|usr/lib/tmpfiles.d) continue; ;;
  102.        esac
  103.        [[ "$target_arch_parent/$b_name" = "$target_arch_dir" ]] && continue
  104.        mv "$target_arch_parent/$b_name" "$target_arch_dir/$b_name"
  105.        ( cd "$target_arch_parent"; ln -s "$arch_dir/$b_name" "$b_name" )
  106.      done < <(find $target_arch_parent -mindepth 1 -maxdepth 1 -type d | xargs -n 1 basename)
  107.   done <<EOF
  108. usr/local/lib/x86_64-linux-gnu
  109. lib/x86_64-linux-gnu
  110. usr/lib/x86_64-linux-gnu  
  111. EOF
  112.  
  113. fi
  114.  
  115. if [ "$WARN_MV_ARCH" = true ]; then #Debugging code
  116.   set +x
  117.   echo "finished moving files to multi-arch dirs"
  118.   read -p "Press enter to continue"
  119.   set -x
  120. fi
  121.  
  122.  
  123. mkdir -p "$TARGET"/lib/glib23
  124. while read line; do
  125.   mv "$TARGET"/lib/$line "$TARGET"/lib/glib23/$line
  126. done <<EOF
  127. ld-2.23.so
  128. ld-linux-x86-64.so.2
  129. libanl-2.23.so
  130. libanl.so.1
  131. libaudit.so.1
  132. libaudit.so.1.0.0
  133. libBrokenLocale-2.23.so
  134. libBrokenLocale.so.1
  135. libbz2.so.1
  136. libbz2.so.1.0
  137. libbz2.so.1.0.4
  138. libc-2.23.so
  139. libcrypt-2.23.so
  140. libcrypt.so.1
  141. libc.so.6
  142. libdbus-1.so.3
  143. libdbus-1.so.3.14.6
  144. libdl-2.23.so
  145. libdl.so.2
  146. libgpg-error.so.0
  147. libgpg-error.so.0.17.0
  148. libhistory.so.5
  149. libhistory.so.6
  150. libhistory.so.6.3
  151. liblzma.so.0
  152. liblzma.so.5
  153. liblzma.so.5.0.0
  154. libm-2.23.so
  155. libmemusage.so
  156. libm.so.6
  157. libmvec-2.23.so
  158. libmvec.so.1
  159. libnl-3.so
  160. libnl-3.so.200
  161. libnl-3.so.200.22.0
  162. libnl-genl-3.so
  163. libnl-genl-3.so.200
  164. libnl-genl-3.so.200.22.0
  165. libnsl-2.23.so
  166. libnsl.so.1
  167. libnss_compat-2.23.so
  168. libnss_compat.so.2
  169. libnss_dns-2.23.so
  170. libnss_dns.so.2
  171. libnss_files-2.23.so
  172. libnss_files.so.2
  173. libnss_hesiod-2.23.so
  174. libnss_hesiod.so.2
  175. libnss_nis-2.23.so
  176. libnss_nisplus-2.23.so
  177. libnss_nisplus.so.2
  178. libnss_nis.so.2
  179. libpamc.so.0
  180. libpamc.so.0.82.1
  181. libpam_misc.so.0
  182. libpam_misc.so.0.82.0
  183. libpam.so.0
  184. libpam.so.0.83.1
  185. libpcprofile.so
  186. libpthread-2.23.so
  187. libpthread.so.0
  188. libreadline.so.5
  189. libreadline.so.6
  190. libreadline.so.6.3
  191. libresolv-2.23.so
  192. libresolv.so.2
  193. librt-2.23.so
  194. librt.so.1
  195. libSegFault.so
  196. libselinux.so.1
  197. libsepol.so.1
  198. libsystemd.so.0
  199. libsystemd.so.0.14.0
  200. libthread_db-1.0.so
  201. libthread_db.so.1
  202. libudev.so.0
  203. libudev.so.1
  204. libudev.so.1.6.3
  205. libutil-2.23.so
  206. libutil.so.1
  207. libz.so.1
  208. libz.so.1.2.8
  209. EOF
  210.  
  211. cd "$TARGET"/lib
  212. rm ld-linux.so.2
  213. ln -s ../lib32/ld-linux.so.2 ld-linux.so.2
  214.  
  215. #CWD="$PWD"
  216. #HARDLINKED_SFS=puli7.3_x86_64-ungoogled-hardlinked.sfs.extracted
  217. #FR_SOURCE=/mnt/+mnt+sda5+test_save+ext2/firstRIB_lego/01firstrib_rootfs.sfs.extracted
  218. #TARGET="$CWD"/"$HARDLINKED_SFS"/cont
  219.  
  220. #for folder in bin sbin usr/bin usr/sbin usr/local/bin usr/local/sbin
  221.   #for a_file in $(ls -1 $FR_SOURCE/"$folder");  do
  222.     #mkdir -p $TARGET/${folder}2
  223.     #if [[ "$(readlink "$TARGET/$folder/$a_file")" = */busybox  ]]; then
  224.       #if [ ! -h "$FR_SOURCE/$folder/$a_file" ]; then
  225.         #mv "$TARGET/$folder/$a_file" "$TARGET/${folder}2/$a_file"
  226.       #fi
  227.     #done
  228.   #done
  229. #done
  230.  
  231.  
  232. while read a_folder; do
  233.     mkdir -p "$MV_LOC/${a_folder}"
  234.   for a_file in $(ls -1A $FR_SOURCE/"$a_folder");  do
  235.  
  236.     #if [[ "$(readlink "$TARGET/$folder/$a_file")" = */busybox  ]]; then
  237.     #  if [ ! -h "$FR_SOURCE/$folder/$a_file" ]; then
  238.     source_file="$FR_SOURCE/$a_folder/$a_file"
  239.     target_file="$TARGET/$a_folder/$a_file"
  240.     if [ -d "$source_file" ] && [ ! -d "$target_file" ]; then
  241.       ( cd "$(dirname "$source_file")";
  242.         echo "$(basename "$source_file")" | \
  243.           cpio -pdu "$(dirname "$target_file")" )
  244.     else
  245.       if [ ! -e "$target_file" ] || [ $(stat -c %s "$source_file") -gt  $(stat -c %s "$target_file") ] || ! cmp --silent "$source_file" "$target_file"; then
  246.         if [ -e "$target_file" ]; then
  247.           if [ ! -d "$target_file" ]; then
  248.             if [ ! -d "$MV_LOC/${a_folder}" ]; then
  249.                ( cd "$TARGET";
  250.                  echo "./${a_folder}" | \
  251.                  cpio -pdu "$MV_LOC" )
  252.             fi
  253.             mv "$target_file" "$MV_LOC/${a_folder}/$a_file"
  254.           fi
  255.         fi
  256.         [ ! -d "$source_file" ] && ln "$source_file" "$target_file"
  257.       fi
  258.       #  fi
  259.       #done
  260.     fi
  261.   done
  262.  
  263. done <<EOF
  264. lib64
  265. var
  266. var/log
  267. var/log/apt
  268. var/cache
  269. var/cache/ldconfig
  270. var/cache/apt
  271. var/cache/apt/archives
  272. var/cache/apt/archives/partial
  273. var/cache/debconf
  274. var/lib
  275. var/lib/dpkg
  276. var/lib/dpkg/info
  277. var/lib/dpkg/updates
  278. var/lib/dpkg/parts
  279. var/lib/dpkg/alternatives
  280. var/lib/dpkg/triggers
  281. var/lib/apt
  282. var/lib/apt/lists
  283. var/lib/apt/lists/partial
  284. var/lib/apt/periodic
  285. var/lib/apt/mirrors
  286. var/lib/apt/mirrors/partial
  287. var/lib/pam
  288. usr
  289. usr/libexec
  290. usr/src
  291. usr/lib32
  292. usr/local
  293. usr/local/sbin
  294. usr/local/lib
  295. usr/local/include
  296. usr/local/share
  297. usr/local/share/ca-certificates
  298. usr/local/firstrib
  299. usr/local/firstrib/bin
  300. usr/local/bin
  301. usr/sbin
  302. usr/lib
  303. usr/lib/dpkg
  304. usr/lib/dpkg/methods
  305. usr/lib/dpkg/methods/apt
  306. usr/lib/ssl
  307. usr/lib/ssl/misc
  308. usr/lib/mime
  309. usr/lib/mime/packages
  310. usr/lib/apt
  311. usr/lib/apt/planners
  312. usr/lib/apt/methods
  313. usr/lib/apt/solvers
  314. usr/lib/NetworkManager
  315. usr/lib/NetworkManager/conf.d
  316. usr/lib/tmpfiles.d
  317. usr/lib/x86_64-linux-gnu
  318. usr/lib/x86_64-linux-gnu/coreutils
  319. usr/lib/x86_64-linux-gnu/perl-base
  320. usr/lib/x86_64-linux-gnu/perl-base/Text
  321. usr/lib/x86_64-linux-gnu/perl-base/Tie
  322. usr/lib/x86_64-linux-gnu/perl-base/Scalar
  323. usr/lib/x86_64-linux-gnu/perl-base/Getopt
  324. usr/lib/x86_64-linux-gnu/perl-base/unicore
  325. usr/lib/x86_64-linux-gnu/perl-base/unicore/To
  326. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib
  327. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Dep
  328. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Hyphen
  329. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/STerm
  330. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/NFKDQC
  331. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Sc
  332. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/InPC
  333. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/IDS
  334. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CI
  335. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/IDC
  336. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/PCM
  337. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/In
  338. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Ea
  339. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/QMark
  340. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Blk
  341. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/PatSyn
  342. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Vo
  343. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Math
  344. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Dash
  345. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/GCB
  346. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/XIDS
  347. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/GrExt
  348. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Alpha
  349. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CE
  350. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Jt
  351. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/NFKCQC
  352. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Term
  353. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/NFDQC
  354. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Nt
  355. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Ideo
  356. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Perl
  357. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/WB
  358. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/XIDC
  359. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/GrBase
  360. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWKCF
  361. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/InSC
  362. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWU
  363. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Hex
  364. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/BidiC
  365. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/DI
  366. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Lb
  367. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Cased
  368. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWT
  369. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CompEx
  370. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Age
  371. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/SD
  372. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Dia
  373. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Bc
  374. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Lower
  375. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Upper
  376. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Dt
  377. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Scx
  378. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWCM
  379. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/SB
  380. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Gc
  381. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Nv
  382. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Ccc
  383. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/BidiM
  384. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWL
  385. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Ext
  386. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Bpt
  387. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Hst
  388. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Jg
  389. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWCF
  390. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/UIdeo
  391. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/NFCQC
  392. usr/lib/x86_64-linux-gnu/perl-base/warnings
  393. usr/lib/x86_64-linux-gnu/perl-base/Hash
  394. usr/lib/x86_64-linux-gnu/perl-base/IO
  395. usr/lib/x86_64-linux-gnu/perl-base/IO/Socket
  396. usr/lib/x86_64-linux-gnu/perl-base/auto
  397. usr/lib/x86_64-linux-gnu/perl-base/auto/re
  398. usr/lib/x86_64-linux-gnu/perl-base/auto/Hash
  399. usr/lib/x86_64-linux-gnu/perl-base/auto/Hash/Util
  400. usr/lib/x86_64-linux-gnu/perl-base/auto/IO
  401. usr/lib/x86_64-linux-gnu/perl-base/auto/Socket
  402. usr/lib/x86_64-linux-gnu/perl-base/auto/attributes
  403. usr/lib/x86_64-linux-gnu/perl-base/auto/File
  404. usr/lib/x86_64-linux-gnu/perl-base/auto/File/Glob
  405. usr/lib/x86_64-linux-gnu/perl-base/auto/Cwd
  406. usr/lib/x86_64-linux-gnu/perl-base/auto/List
  407. usr/lib/x86_64-linux-gnu/perl-base/auto/List/Util
  408. usr/lib/x86_64-linux-gnu/perl-base/auto/Fcntl
  409. usr/lib/x86_64-linux-gnu/perl-base/auto/POSIX
  410. usr/lib/x86_64-linux-gnu/perl-base/Carp
  411. usr/lib/x86_64-linux-gnu/perl-base/IPC
  412. usr/lib/x86_64-linux-gnu/perl-base/File
  413. usr/lib/x86_64-linux-gnu/perl-base/File/Spec
  414. usr/lib/x86_64-linux-gnu/perl-base/Exporter
  415. usr/lib/x86_64-linux-gnu/perl-base/List
  416. usr/lib/x86_64-linux-gnu/gconv
  417. usr/lib/x86_64-linux-gnu/engines-1.1
  418. usr/lib/x86_64-linux-gnu/audit
  419. usr/lib/locale
  420. usr/lib/locale/C.UTF-8
  421. usr/lib/locale/C.UTF-8/LC_MESSAGES
  422. usr/lib/debootstrap
  423. usr/lib/pm-utils
  424. usr/lib/pm-utils/sleep.d
  425. usr/include
  426. usr/share
  427. usr/share/pixmaps
  428. usr/share/terminfo
  429. usr/share/debianutils
  430. usr/share/doc
  431. usr/share/doc/libpam0g
  432. usr/share/doc/libsepol1
  433. usr/share/doc/lsb-base
  434. usr/share/doc/coreutils
  435. usr/share/doc/libzstd1
  436. usr/share/doc/libnl-genl-3-200
  437. usr/share/doc/debianutils
  438. usr/share/doc/libnl-3-200
  439. usr/share/doc/dpkg
  440. usr/share/doc/perl
  441. usr/share/doc/libacl1
  442. usr/share/doc/libpcre2-8-0
  443. usr/share/doc/libunistring2
  444. usr/share/doc/libpcsclite1
  445. usr/share/doc/libattr1
  446. usr/share/doc/libgnutls30
  447. usr/share/doc/libtasn1-6
  448. usr/share/doc/libdb5.3
  449. usr/share/doc/libnettle7
  450. usr/share/doc/libaudit1
  451. usr/share/doc/libsystemd0
  452. usr/share/doc/libgcrypt20
  453. usr/share/doc/libffi7
  454. usr/share/doc/gcc-10-base
  455. usr/share/doc/libtinfo6
  456. usr/share/doc/perl-base
  457. usr/share/doc/zlib1g
  458. usr/share/doc/libapt-pkg6.0
  459. usr/share/doc/libreadline8
  460. usr/share/doc/libreadline8/examples
  461. usr/share/doc/libselinux1
  462. usr/share/doc/libpam-modules
  463. usr/share/doc/libpam-modules/examples
  464. usr/share/doc/libsemanage-common
  465. usr/share/doc/apt
  466. usr/share/doc/apt/examples
  467. usr/share/doc/readline-common
  468. usr/share/doc/liblz4-1
  469. usr/share/doc/base-passwd
  470. usr/share/doc/libnl-route-3-200
  471. usr/share/doc/liblzma5
  472. usr/share/doc/libaudit-common
  473. usr/share/doc/libudev1
  474. usr/share/doc/less
  475. usr/share/doc/libdebconfclient0
  476. usr/share/doc/libsemanage1
  477. usr/share/doc/libc6
  478. usr/share/doc/libpam-modules-bin
  479. usr/share/doc/adduser
  480. usr/share/doc/adduser/examples
  481. usr/share/doc/adduser/examples/adduser.local.conf.examples
  482. usr/share/doc/adduser/examples/adduser.local.conf.examples/skel.other
  483. usr/share/doc/adduser/examples/adduser.local.conf.examples/skel
  484. usr/share/doc/libcap-ng0
  485. usr/share/doc/libgmp10
  486. usr/share/doc/ncurses-base
  487. usr/share/doc/libpam-runtime
  488. usr/share/doc/libseccomp2
  489. usr/share/doc/libcrypt1
  490. usr/share/doc/tar
  491. usr/share/doc/diffutils
  492. usr/share/doc/libssl1.1
  493. usr/share/doc/libc-bin
  494. usr/share/doc/passwd
  495. usr/share/doc/passwd/examples
  496. usr/share/doc/ca-certificates
  497. usr/share/doc/ca-certificates/examples
  498. usr/share/doc/ca-certificates/examples/ca-certificates-local
  499. usr/share/doc/ca-certificates/examples/ca-certificates-local/local
  500. usr/share/doc/ca-certificates/examples/ca-certificates-local/debian
  501. usr/share/doc/ca-certificates/examples/ca-certificates-local/debian/source
  502. usr/share/doc/libbz2-1.0
  503. usr/share/doc/openssl
  504. usr/share/doc/openssl/HOWTO
  505. usr/share/doc/wpasupplicant
  506. usr/share/doc/wpasupplicant/examples
  507. usr/share/doc/gpgv
  508. usr/share/doc/libgpg-error0
  509. usr/share/doc/debconf
  510. usr/share/doc/libdbus-1-3
  511. usr/share/doc/ubuntu-keyring
  512. usr/share/doc/libp11-kit0
  513. usr/share/doc/libp11-kit0/examples
  514. usr/share/doc/libidn2-0
  515. usr/share/dpkg
  516. usr/share/gdb
  517. usr/share/gdb/auto-load
  518. usr/share/gdb/auto-load/usr
  519. usr/share/gdb/auto-load/usr/lib
  520. usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu
  521. usr/share/udhcpc
  522. usr/share/man
  523. usr/share/man/man3
  524. usr/share/man/pl
  525. usr/share/man/pl/man8
  526. usr/share/man/pl/man1
  527. usr/share/man/pl/man5
  528. usr/share/man/fr
  529. usr/share/man/fr/man8
  530. usr/share/man/fr/man1
  531. usr/share/man/fr/man5
  532. usr/share/man/nl
  533. usr/share/man/nl/man8
  534. usr/share/man/nl/man1
  535. usr/share/man/nl/man5
  536. usr/share/man/tr
  537. usr/share/man/tr/man8
  538. usr/share/man/tr/man1
  539. usr/share/man/tr/man5
  540. usr/share/man/man8
  541. usr/share/man/man1
  542. usr/share/man/man7
  543. usr/share/man/it
  544. usr/share/man/it/man8
  545. usr/share/man/it/man1
  546. usr/share/man/it/man5
  547. usr/share/man/man5
  548. usr/share/man/pt
  549. usr/share/man/pt/man8
  550. usr/share/man/pt/man1
  551. usr/share/man/pt/man5
  552. usr/share/man/de
  553. usr/share/man/de/man8
  554. usr/share/man/de/man1
  555. usr/share/man/de/man5
  556. usr/share/man/ja
  557. usr/share/man/ja/man8
  558. usr/share/man/ja/man1
  559. usr/share/man/ja/man5
  560. usr/share/man/zh_TW
  561. usr/share/man/zh_TW/man8
  562. usr/share/man/zh_TW/man1
  563. usr/share/man/zh_TW/man5
  564. usr/share/man/es
  565. usr/share/man/es/man8
  566. usr/share/man/es/man1
  567. usr/share/man/es/man5
  568. usr/share/man/pt_BR
  569. usr/share/man/pt_BR/man8
  570. usr/share/man/pt_BR/man1
  571. usr/share/man/pt_BR/man5
  572. usr/share/man/ru
  573. usr/share/man/ru/man8
  574. usr/share/man/ru/man1
  575. usr/share/man/ru/man5
  576. usr/share/man/sv
  577. usr/share/man/sv/man8
  578. usr/share/man/sv/man1
  579. usr/share/man/sv/man5
  580. usr/share/man/zh_CN
  581. usr/share/man/zh_CN/man8
  582. usr/share/man/zh_CN/man1
  583. usr/share/man/zh_CN/man5
  584. usr/share/man/hu
  585. usr/share/man/hu/man1
  586. usr/share/man/hu/man5
  587. usr/share/man/da
  588. usr/share/man/da/man8
  589. usr/share/man/da/man1
  590. usr/share/man/da/man5
  591. usr/share/man/id
  592. usr/share/man/id/man8
  593. usr/share/man/id/man1
  594. usr/share/man/sl
  595. usr/share/man/sl/man8
  596. usr/share/man/sl/man1
  597. usr/share/man/cs
  598. usr/share/man/cs/man8
  599. usr/share/man/cs/man1
  600. usr/share/man/cs/man5
  601. usr/share/man/ko
  602. usr/share/man/ko/man8
  603. usr/share/man/ko/man1
  604. usr/share/man/ko/man5
  605. usr/share/man/fi
  606. usr/share/man/fi/man1
  607. usr/share/pam-configs
  608. usr/share/bug
  609. usr/share/bug/apt
  610. usr/share/info
  611. usr/share/gcc-10
  612. usr/share/gcc-10/python
  613. usr/share/gcc-10/python/libstdcxx
  614. usr/share/gcc-10/python/libstdcxx/v6
  615. usr/share/pam
  616. usr/share/polkit-1
  617. usr/share/polkit-1/actions
  618. usr/share/tabset
  619. usr/share/readline
  620. usr/share/base-passwd
  621. usr/share/keyrings
  622. usr/share/perl5
  623. usr/share/perl5/Debconf
  624. usr/share/perl5/Debconf/Template
  625. usr/share/perl5/Debconf/Client
  626. usr/share/perl5/Debconf/FrontEnd
  627. usr/share/perl5/Debconf/Element
  628. usr/share/perl5/Debconf/Element/Gnome
  629. usr/share/perl5/Debconf/Element/Dialog
  630. usr/share/perl5/Debconf/Element/Editor
  631. usr/share/perl5/Debconf/Element/Teletype
  632. usr/share/perl5/Debconf/Element/Noninteractive
  633. usr/share/perl5/Debconf/Element/Web
  634. usr/share/perl5/Debconf/DbDriver
  635. usr/share/perl5/Debconf/Format
  636. usr/share/perl5/Debian
  637. usr/share/perl5/Debian/DebConf
  638. usr/share/perl5/Debian/DebConf/Client
  639. usr/share/doc-base
  640. usr/share/dbus-1
  641. usr/share/dbus-1/system-services
  642. usr/share/adduser
  643. usr/share/bash-completion
  644. usr/share/bash-completion/completions
  645. usr/share/libc-bin
  646. usr/share/ca-certificates
  647. usr/share/ca-certificates/mozilla
  648. usr/share/locale
  649. usr/share/locale/pl
  650. usr/share/locale/pl/LC_MESSAGES
  651. usr/share/locale/ca
  652. usr/share/locale/ca/LC_MESSAGES
  653. usr/share/locale/fr
  654. usr/share/locale/fr/LC_MESSAGES
  655. usr/share/locale/nl
  656. usr/share/locale/nl/LC_MESSAGES
  657. usr/share/locale/nb
  658. usr/share/locale/nb/LC_MESSAGES
  659. usr/share/locale/tr
  660. usr/share/locale/tr/LC_MESSAGES
  661. usr/share/locale/ku
  662. usr/share/locale/ku/LC_MESSAGES
  663. usr/share/locale/km
  664. usr/share/locale/km/LC_MESSAGES
  665. usr/share/locale/vi
  666. usr/share/locale/vi/LC_MESSAGES
  667. usr/share/locale/it
  668. usr/share/locale/it/LC_MESSAGES
  669. usr/share/locale/pt
  670. usr/share/locale/pt/LC_MESSAGES
  671. usr/share/locale/de
  672. usr/share/locale/de/LC_MESSAGES
  673. usr/share/locale/sk
  674. usr/share/locale/sk/LC_MESSAGES
  675. usr/share/locale/mr
  676. usr/share/locale/mr/LC_MESSAGES
  677. usr/share/locale/et
  678. usr/share/locale/et/LC_MESSAGES
  679. usr/share/locale/eo
  680. usr/share/locale/eo/LC_MESSAGES
  681. usr/share/locale/ja
  682. usr/share/locale/ja/LC_MESSAGES
  683. usr/share/locale/pa
  684. usr/share/locale/pa/LC_MESSAGES
  685. usr/share/locale/gl
  686. usr/share/locale/gl/LC_MESSAGES
  687. usr/share/locale/zh_TW
  688. usr/share/locale/zh_TW/LC_MESSAGES
  689. usr/share/locale/es
  690. usr/share/locale/es/LC_MESSAGES
  691. usr/share/locale/pt_BR
  692. usr/share/locale/pt_BR/LC_MESSAGES
  693. usr/share/locale/ru
  694. usr/share/locale/ru/LC_MESSAGES
  695. usr/share/locale/sv
  696. usr/share/locale/sv/LC_MESSAGES
  697. usr/share/locale/nn
  698. usr/share/locale/nn/LC_MESSAGES
  699. usr/share/locale/bg
  700. usr/share/locale/bg/LC_MESSAGES
  701. usr/share/locale/ro
  702. usr/share/locale/ro/LC_MESSAGES
  703. usr/share/locale/cy
  704. usr/share/locale/cy/LC_MESSAGES
  705. usr/share/locale/eu
  706. usr/share/locale/eu/LC_MESSAGES
  707. usr/share/locale/zh_CN
  708. usr/share/locale/zh_CN/LC_MESSAGES
  709. usr/share/locale/hu
  710. usr/share/locale/hu/LC_MESSAGES
  711. usr/share/locale/da
  712. usr/share/locale/da/LC_MESSAGES
  713. usr/share/locale/bs
  714. usr/share/locale/bs/LC_MESSAGES
  715. usr/share/locale/id
  716. usr/share/locale/id/LC_MESSAGES
  717. usr/share/locale/ar
  718. usr/share/locale/ar/LC_MESSAGES
  719. usr/share/locale/ne
  720. usr/share/locale/ne/LC_MESSAGES
  721. usr/share/locale/dz
  722. usr/share/locale/dz/LC_MESSAGES
  723. usr/share/locale/sl
  724. usr/share/locale/sl/LC_MESSAGES
  725. usr/share/locale/th
  726. usr/share/locale/th/LC_MESSAGES
  727. usr/share/locale/cs
  728. usr/share/locale/cs/LC_MESSAGES
  729. usr/share/locale/ast
  730. usr/share/locale/ast/LC_MESSAGES
  731. usr/share/locale/ko
  732. usr/share/locale/ko/LC_MESSAGES
  733. usr/share/locale/lt
  734. usr/share/locale/lt/LC_MESSAGES
  735. usr/share/locale/el
  736. usr/share/locale/el/LC_MESSAGES
  737. usr/share/locale/tl
  738. usr/share/locale/tl/LC_MESSAGES
  739. usr/share/locale/fi
  740. usr/share/locale/fi/LC_MESSAGES
  741. usr/share/locale/uk
  742. usr/share/locale/uk/LC_MESSAGES
  743. usr/share/lintian
  744. usr/share/lintian/profiles
  745. usr/share/lintian/profiles/dpkg
  746. usr/share/lintian/overrides
  747. usr/share/debconf
  748. usr/bin
  749. home
  750. home/debian
  751. tmp
  752. opt
  753. sbin
  754. lib
  755. lib/systemd
  756. lib/systemd/system
  757. lib/terminfo
  758. lib/terminfo/v
  759. lib/terminfo/h
  760. lib/terminfo/s
  761. lib/terminfo/a
  762. lib/terminfo/m
  763. lib/terminfo/r
  764. lib/terminfo/l
  765. lib/terminfo/x
  766. lib/terminfo/w
  767. lib/terminfo/d
  768. lib/terminfo/c
  769. lib/terminfo/t
  770. lib/terminfo/E
  771. lib/terminfo/p
  772. lib/lsb
  773. lib/lsb/init-functions.d
  774. lib/x86_64-linux-gnu
  775. lib/x86_64-linux-gnu/security
  776. bin
  777. etc/libnl-3
  778. etc/terminfo
  779. etc/selinux
  780. etc/network
  781. etc/network/if-pre-up.d
  782. etc/network/if-down.d
  783. etc/network/if-up.d
  784. etc/network/if-post-down.d
  785. etc/dpkg
  786. etc/dpkg/dpkg.cfg.d
  787. etc/ssl
  788. etc/ssl/private
  789. etc/ssl/certs
  790. etc/udhcpc
  791. etc/logrotate.d
  792. etc/wpa_supplicant
  793. etc/rc.d
  794. etc/pam.d
  795. etc/apt
  796. etc/apt/auth.conf.d
  797. etc/apt/preferences.d
  798. etc/apt/apt.conf.d
  799. etc/apt/sources.list.d
  800. etc/apt/trusted.gpg.d
  801. etc/security
  802. etc/security/namespace.d
  803. etc/security/limits.d
  804. etc/default
  805. etc/ifplugd
  806. etc/ifplugd/action.d
  807. etc/kernel
  808. etc/kernel/postinst.d
  809. etc/dbus-1
  810. etc/dbus-1/system.d
  811. etc/cron.daily
  812. etc/skel
  813. etc/ld.so.conf.d
  814. etc/ca-certificates
  815. etc/ca-certificates/update.d
  816. etc/alternatives
  817. EOF
  818.  
  819. #We don't need to copy these directories from firstribrootfs
  820. #dev
  821. #dev/pts
  822. #boot
  823. #root
  824. #sys
  825. #proc
  826. #mnt
  827. #media
  828. #run
  829. #etc
  830.  
  831. echo "include /etc/ld.so.conf.d/*.conf" >> "$TARGET/etc/ld.so.conf"
  832. export $PATH="$PATH":/usr/local/firstrib/bin >> /etc/profile #maybe do this in /root/.profile
  833.  
  834. while read a_file; do
  835.  cp -af "$FR_SOURCE/etc/$a_file" "$TARGET/etc/$a_file"
  836. done <<EOF
  837. xattr.conf
  838. environment
  839. deluser.conf
  840. ca-certificates.conf
  841. pam.conf
  842. adduser.conf
  843. debconf.conf
  844. gai.conf
  845. bindresvport.blacklist
  846. EOF
  847. #Don't need from /etc:
  848. #.pwd.lock
  849. #group-
  850. #Duplicate in /etc
  851. #gshadow
  852. #inittab
  853. #passwd
  854. #passwd-
  855. #gshadow-
  856. #inputrc
  857. #ld.so.cache
  858. #libaudit.conf
  859. #nsswitch.conf
  860. #resolv.conf
  861. #shells
  862. #shadow
  863.  
  864. while read a_file_rel_path; do
  865.   if [[ $(file "$TARGET/${a_file_rel_path}") != *ASCII* ]]; then
  866.     mv "$TARGET/${a_file_rel_path}-FULL" "$MV_LOC/${a_file_rel_path}-FULL"
  867.     mv "$TARGET/${a_file_rel_path}" "$TARGET/${a_file_rel_path}-FULL"
  868.     mv "$MV_LOC/${a_file_rel_path}" "$TARGET/${a_file_rel_path}"
  869.   fi
  870. done <<EOF
  871. sbin/losetup
  872. bin/df
  873. bin/umount
  874. bin/mount
  875. bin/ps
  876. EOF
  877.  
  878. cd "$TARGET"/lib
  879. rm ld-linux-x86-64.so.2
  880. ln -s ./x86_64-linux-gnu/ld-linux-x86-64.so.2 ld-linux-x86-64.so.2
  881. ln -s ./x86_64-linux-gnu/ld-linux-x86-64.so.2 ld-linux-x86-64.so.1
  882.  
  883. mksquashfs "$EXTRACTED_SFS" "$NEW_SFS"
  884.  
Advertisement
Add Comment
Please, Sign In to add comment