s243a

basesfs (tiny_devuan)

Feb 8th, 2021
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.62 KB | None | 0 0
  1. # ubuntu/debian puppy basesfs pkglist
  2. #
  3. # generic commands: %exit %include %makesfs %import
  4. # special package commands: %get_pkgs_by_priority %addbase %addpkg %bblinks %remove %repo %lock %cutdown
  5. # installer commands: %bootstrap %dpkg %dpkgchroot %depend %nodepend %reinstall %dpkg_configure
  6. # startup default: bootstrap, nodepend
  7. #
  8. # extra param for commands, params can be quoted
  9. # %include include-file
  10. # %makesfs output.sfs [squashfs-param]
  11. # %pkg_by_prio priority ["inclusion-egrep"] ["exclusion-egrep"]
  12. # %bblinks [nousr]
  13. # %remove pkgname ...
  14. # %repo url version sections pkgdb
  15. # %addpkg pkgname ...
  16. # %reinstall pkgname ...
  17. # %dpkg_configure configure flags
  18. # %lock pkgname ...
  19. # %cutdown [all doc gtkdoc nls cache dev]
  20. # %import dir ...
  21. #
  22. # %symlink source target
  23. # %rm file ... (-rf flag is always used)
  24. # %mkdir dir ... (-p flag is always used)
  25. # %touch file ...
  26. # % %chroot command ...
  27. #
  28. # start with %pkgs_by_prio required. Otherwise start with libc6.
  29. #
  30.  
  31. # essential packages
  32. #%pkgs_by_priority "required" ".*lib.*|^tzdata|^bash|^dash|^lsb-base|^ncurses.*|^bsdutils|^kmod|^mount|^insserv|^mount|^sysvinit-utils|^procps|^makedev" "^klibc|.*plymouth.*|mountall"
  33. #%pkgs_by_priority "required" ".*lib.*|^tzdata|^bash|^dash|^lsb-base|^ncurses.*|^bsdutils|^kmod|^mount|^insserv|^sysvinit-utils|^makedev" "^klibc|.*plymouth.*"
  34. #%pkgs_by_priority "required"
  35.  
  36. %bootstrap
  37. %nodepend
  38. %dummy libc6 #Tinycore has it's own c libraries. Maybe add symbolic links.
  39. libtinfo5 #Required for libreadline7
  40. #multiarch-support #Dependency of libpcre3
  41. libpcre3 #Dependency of libselinux1
  42. libselinux1
  43. sensible-utils #This is a dependency of debianutils but it isn't essential.
  44. debianutils
  45. gettext-base
  46. gettext
  47. %dummy base-files #Tinycore probably already has these
  48. zlib1g #dependency of libmagic, perl & squashfs-tools
  49. tar
  50. liblzma5 #Dependency of squashfs-tools
  51. liblz4-1 #Dependency of squashfs-tools
  52. liblzo2-2 #Dependency of squashfs-tools
  53. squashfs-tools
  54. libbz2-1.0
  55. libattr1
  56. libacl1
  57. %addpkg tinycore9_base_gz
  58. %importpkg tinycore9_bb_links_coreutils
  59. %addpkg tinycore9_bb_wrapper
  60. #%addpkg tinycore9_base_gz_users
  61. %addpkg puppycore_noarch
  62. %addpkg puppycore_users
  63. %chroot mkdir -p /var/packages/builtin_files/ #just in case
  64. #Keep pkg from installing libc6 (this avoids segmentation fault)
  65. %chroot cp /var/lib/dpkg/info/libc6.list /var/packages/builtin_files/libc6
  66.  
  67. libgcc1 #dependency of libgcc1
  68. #gcc-6-base #dependency of libgcc1
  69. libstdc++6 #dependency of elfutils
  70. libelf1 #dependency of libasm1
  71. #libdw1 #dependency of libasm1
  72. libasm1 #dependency of elfutils
  73. elfutils #might help dpkg (or sc0ttman's pkg) with some packages
  74.  
  75. dpkg
  76. %dpkgchroot
  77. bash
  78. dash
  79. coreutils
  80. libncursesw5 #A dependency of dialog
  81. dialog
  82. strace #add this for debugging purposes
  83. #Let's reconfigure stuff before running post install scripts
  84. %dpkg_configure --force-all -a
  85. %addpkg puppycore_noarch
  86. %addpkg puppycore_users
  87. %addpkg puppycore_i386_strech
  88. #%addpkg PKG #Uncomment this later once we add support for pkg
  89. %add pkg-apt-wrapper
  90. #At this point we coudl run pkg insead of dpkg but we havn't added support for this yet.
  91. # turn on dependency
  92. grep
  93. libgmp10 #required for gawk & libmpfr4
  94. libmpfr4 #required for gawk
  95. libreadline7 #required for gawk
  96. libsigsegv2 #required for gawk, sed
  97. #gawk seems to want libgmp10:i386 to be configured
  98. %dpkg_configure --force-all -a
  99. gawk
  100. %dummy mawk
  101. sed
  102. tar
  103. %dummy gzip
  104. %dummy cpio
  105. libc-bin
  106. libmount1
  107. libuuid1 #Dependency of libblkid1
  108. libblkid1 #Dependency of mount
  109. libeudev1 #Dependency of mount
  110. libsmartcols1 #Dependency of mount
  111. %dpkg_configure --force-all -a #Mount seems to want libmount1 confgiured
  112. mount
  113.  
  114. libkmod2 # debian needs this, dependency of pciutils
  115. kmod # called in /etc/rc.d/rc.sysinit aroun d line 580
  116. libpci3
  117. pciutils #https://wiki.archlinux.org/index.php/NVIDIA_Optimus#No_screens_found_on_a_laptop/NVIDIA_Optimus
  118. dmidecode
  119.  
  120. %dummy libpam0g
  121. %dummy libpam-modules-bin
  122. %dummy libpam-modules
  123.  
  124. libaudit1 #required for passwd & dbus
  125. libcap-ng0 #Required for passwd & dbus
  126. # extra packages
  127. #screen # useful for debugging
  128. libmagic-mgc #Dependency of libmagic
  129. libmagic1 #dependency of file
  130. file # for checking file types
  131. locales # locale files
  132.  
  133. libdb5.3 #Dependency of perl
  134. libgdbm3 #Dependency of perl
  135. perl-base #Required for debconf & Perl
  136. libperl5.24 #Dependency of perl
  137. perl
  138.  
  139. %depend
  140. debconf #Required for openssl
  141. openssl #Required for ca-certificates
  142. ca-certificates #Recommended for wget
  143. %chroot update-ca-certificates
  144. libidn2-0 #Required for libpsl5
  145. libunistring0 #Required for libpsl5
  146. libpsl5 #Required for wget
  147. wget
  148.  
  149. nano
  150. # xorg packages
  151.  
  152. ######## THe following tools are needed to remaster puppy ###################
  153. aufs-tools
  154. #Already added: liblzo2-2 #Dependency of squashfs-tools
  155. #Already added: squashfs-tools
  156. growisofs
  157. syslinux-utils
  158. libcap2
  159. #Added below: cdrtools #need mkisofs from this package
  160. #########################################################################
  161.  
  162. #rxvt-unicode using aterm instead
  163. aterm #Same name in tinycore
  164. urxvt #required for aterm
  165. #I'll sort out the dependency of this one later.
  166. libfltk1.3 #Instead of fltk-1.3 (from tinycore)
  167. flwm #Instead of flwm_topside (from tinycore)
  168.  
  169. libimlib2 #Instead of imlib2-bin & imlib2 (from tinycore)
  170.  
  171.  
  172. alsa-utils #apulse is called from /root/.xinitrc
  173.  
  174.  
  175. ####### Maybe keep this since we dont' have matches for Xlibs, Xprogs, Xvesa but turn off dependency tracking
  176.  
  177. libglib2.0-0 #Dependency of libdbus-glib-1-2, and need for rsvg-convert (used in ptheme)
  178. libdbus-glib-1-2 #Required for firefox
  179. libwayland-client0 #Dependency for yad, libegl1-mesa, libgbm1, firefox
  180. %dummy libwayland-server0 #Dependency for libegl1-mesa, libgbm1
  181. %dummy libxcb-dri2-0 #Dependency for libegl1-mesa, libgl1-mesa-glx
  182. libxcb-dri3-0 #Dependency for libegl1-mesa, libgl1-mesa-glx
  183. libxcb-present0 #Dependency for libegl1-mesa, libgl1-mesa-glx
  184. libxcb-sync1 #Dependency for libegl1-mesa
  185. %dummy libxcb-xfixes0 #Dependency for libegl1-mesa
  186. %dummy adduser #Dependency for dbus, xserver-xorg-core
  187. %dummy libxcb-glx0 #Required for libgl1-mesa-glx
  188. %dummy xserver-xorg-core-udeb #Dependency of xorg-input-abi-24
  189. %dummy xorg-input-abi-24 #Virtual package: dependency of: xserver-xorg-input-libinput
  190. #Can use xorg-driver-input instead of xserver-xorg-input-all, which is a virtual package
  191. #that lists the indvidual XOrg input drives as dependencies
  192. %dummy init-system-helpers #Dependency for dbus (systemd stuff)
  193. %dummy libselinux1 #Dependency for dbus
  194.  
  195. libsystemd0 #Dependency for dbus, libdbus-1-3,procps (via libprocps6)
  196.  
  197. %dummy gcc-6-base #Dependency for libgcc1: readme, licencing, todo, cangelog
  198. #We mightneed to add this
  199. %dummy libgcc1 #Dependency for libexpat1
  200.  
  201. libapparmor1 #Dependency of dbus
  202. dbus #Recommended dependency for libdbus-1-3
  203.  
  204. libasound2-data #Dependency of libasound2
  205. libasound2
  206. alsa-utils
  207.  
  208. %dumy xserver-xorg-video-all #Let's pick the specific drivers that we want
  209. xserver-xorg-video-vesa
  210. xserver-xorg-video-vmware #This also works in virtualbox and qemu
  211.  
  212. #Do this to help the xwin script find the video drivers:
  213. %chroot mkdir -p /usr/X11R7/lib
  214. %chroot cp -sr /usr/lib/xorg/modules/drivers/ /usr/X11R7/lib
  215.  
  216. xserver-xorg-input-mouse
  217. xserver-xorg-input-kbd #THis is the keyboard module
  218. xserver-xorg
  219. #TODO Create a base sfs layere here. Add other packages as a higher up layer
  220.  
  221. libxcb-shm0
  222. %dummy libx11-data #Dependency of libx11-6 (inernationalization)
  223. %dummy libxft2 #Dependency of x11-utils
  224. libxxf86dga1 #Dependency of x11-utils
  225. %dummy libxv1 #Dependency of x11-utils
  226. libxtst6 #Dependency of x11-utils, seems to be loaded during startup
  227. libxmuu1 #Dependency of x11-utils
  228. libxcb-shape0 #Dependency of x11-utils #frisbee seems like it might work without this but you'll get the error: libxcb-shape.so.0 missing
  229. x11-utils
  230. #%dummy libxxf86vm1 #Dependency of x11-xserver-utils
  231. x11-xserver-utils
  232. x11-apps #xload is typically used in puppy. The other apps aren't needed.
  233. wbar #Some script is looking for wbar.png but we probably don't need this
  234. wbar-config
  235. numlockx #Seems to be called on startup
  236. ############################# Consider installing xinit ##############
  237. #TODO consider adding tinycore and create a layer here
  238. #xinit #we can start Xorg without xinit
  239. ######################### Not sure about this stuff ######
  240.  
  241. %dummy libgdk-pixbuf2.0-common #dependency of libgdk-pixbuf2.0-0
  242. libgdk-pixbuf2.0-0
  243. %symlink ../lib/i386-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders /usr/bin/gdk-pixbuf-query-loaders
  244. #%addpkg --no-metadata fix_symlinks
  245. %addpkg fix_symlinks
  246.  
  247.  
  248. #Not sure if we need to symlink the .so files into LD_LIBRARY_PATH
  249. #We'll uncomment this if we need it
  250. #%chroot cp -sr /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/
  251.  
  252. fonts-dejavu-core # standard font
  253.  
  254. libxfont1 #Instead of libXfont (From tinycore)
  255. wbar #Same name on tinycore
  256.  
  257. #######
  258.  
  259. # window managers etc
  260. jwm
  261. rox
  262.  
  263. mc #Replaces rox-filer # this will pull-in gtk2
  264.  
  265. %bootstrap
  266.  
  267. # network tools to make SNS happy
  268. ifplugd
  269. dhcpcd5
  270. wireless-tools
  271. wpasupplicant
  272. iptables
  273. %addpkg frisbee
  274. %addpkg simple_network_setup
  275. %addpkg network_wizard
  276. rfkill
  277. setserial #Needed if one is using a modem (Called from rc.sysinit)
  278. #yad #Needed for PortaBrowseInstall-i386-0.4; depends on libwayland-client0
  279. curl #Needed for PortaBrowseInstall-i386-0.4
  280. #gxmessage #Required for PortaBrowseInstall-i386-0.4
  281. %addpkg PortaBrowseInstall-i386-0.4
  282. # fixes for apt-get: re-install perl-base and xserver-xorg-core with dpkg
  283. %dpkgchroot
  284. %reinstall perl-base xserver-xorg-core
  285. %depkgchroot # switch back to bootstrap installer - faster
  286. %depend
  287.  
  288. %Try to solve warning on rox about not being able to find the pixmap module with the following
  289. gtk2-engines-pixbuf #Pulls in libgtk2.0-0 as a dependency
  290.  
  291. xdialog #note: only i386 arch available
  292. gtkdialog #note: only i386 arch available
  293.  
  294. # This is different than puppies pmount (don't install it). Puppyies pmount is in
  295. # skeleton-rootfs (or pucore-noarch)
  296. #pmount #Only needed for multi-user systems but can coesist with puppies pmount by modifying the .desktop file
  297. #pmount requires gtkdialog to be at the path /usr/sbin/gtkdialog
  298. ln -s ../bin/gtkdialog /usr/sbin/gtkdialog
  299.  
  300. %dpkg_configure --force-all -a
  301.  
  302. # final steps
  303. # remove extremely toxic packages, then setup the dummy
  304. %chroot cp /sbin/ifdown /sbin/ifdown.back
  305. %chroot cp /sbin/ifquery /sbin/ifquery.back
  306. %chroot cp /sbin/ifup /sbin/ifup.back
  307. %remove initscripts ifupdown sysv-rc upstart mountall
  308. %dummy initscripts ifupdown sysv-rc upstart mountall
  309. %chroot mv /sbin/ifdown.back /sbin/ifdown
  310. %chroot mv /sbin/ifquery.back /sbin/ifquery
  311. %chroot mv /sbin/ifup.back /sbin/ifup.back
  312.  
  313. # these useless packages got pulled by apt-get -f install, so prevent it from getting installed
  314. %remove plymouth libplymouth2 plymouth-theme-ubuntu-text
  315. %dummy plymouth libplymouth2 plymouth-theme-ubuntu-text
  316. %remove busybox-initramfs initramfs-tools-bin klibc-utils initramfs-tools
  317. %dummy busybox-initramfs initramfs-tools-bin klibc-utils initramfs-tools
  318. %dummy adduser base-files
  319.  
  320. ## install busybox and its symlinks, fallback for missing utilities
  321. #busybox-static
  322. #%bblinks
  323.  
  324. # install puppy-base - MUST BE LAST - unless overriding puppy-base
  325. #%mkdir /dev
  326.  
  327. #Not sure if we should reinstall tinycore9_base_gz at this point or not
  328. #%addpkg --forced tinycore9_base_gz
  329. #%addpkg --forced tinycore9_bb_wrapper
  330. %addpkg --forced puppycore_noarch
  331.  
  332. #%addpkg --forced tinycore9_base_gz_users #Can use instead of puppycore_users
  333. %addpkg --forced tinycore9_bb_wrapper
  334. %addpkg --forced puppycore_users
  335.  
  336. %addpkg --forced puppycore_i386_strech
  337.  
  338. #Can use tinycore9_base_gz_startup instead of puppycore: _sysinit _sysinit_net _Xstartup
  339. #%addpkg tinycore9_base_gz_startup
  340.  
  341. %addpkg --forced puppycore_sysinit
  342. %addpkg --forced puppycore_sysinit_net
  343. %addpkg --forced puppycore_net
  344. %addpkg --forced puppycore_Xstartup
  345. %addpkg --forced puppycore_locale
  346.  
  347. %reinstall jwm
  348. %addpkg --forced puppycore_xdg #Needed for fixmenus to work
  349. #The following wget will probably fail but the pkg is included for now above in puppycore_xdg
  350. %chroot wget ftp.us.debian.org/debian/pool/main/g/gnome-menus2/libgnome-menu2_3.0.1-4_i386.deb
  351. %chroot pkg -i libgnome-menu2_3.0.1-4_i386.deb #Needed for fixmenus to work
  352. %addpkg --forced jwm_config
  353. %chroot echo jwm > /etc/windowmanager
  354. %chroot fixmenus
  355. %reinstall rox
  356. %addpkg --forced puppycore_rox
  357. %addpkg --forced rox-filer-data
  358. %addpkg --forced rox_config
  359. %addpkg --forced puppycore_icons
  360. librsvg2-bin #Required for puppy themes
  361. %addpkg --forced pthemes #requires jwm_config
  362. %addpkg glibc_zoneinfo #Timezone stuff
  363. %addpkg --forced debian-setup # specific debian setup, overriding puppy-base
  364.  
  365. #Dependencies for pkg (maybe create wrappers for these instead of installing them)
  366. %reinstall findutils #Dependency of PKG
  367. %reinstall sed #Dependency of PKG
  368. %reinstall grep #Dependency of PKG
  369. %reinstall wget #required for pkg
  370. %reinstall coreutils #pkg requires "sort" from coreutils
  371. %reinstall util-linux
  372. %reinstall libsystemd0 #Dependency for dbus, libdbus-1-3,procps (via libprocps6)
  373. %reinstall libprocps6 #Required for procps
  374. %reinstall procps
  375. %reinstall mount
  376. %reinstall xz-utils
  377.  
  378. %dpkg_configure --force-all -a
  379.  
  380. %addpkg --forced puppycore_utils #Required for puppy startup
  381.  
  382. %rm /bin/sh
  383. %symlink /bin/bash /bin/sh
  384.  
  385. %addpkg sync_pet_specs_fm_dpkg
  386. %chroot sync_pet_specs_fm_dpkg.sh
  387. %addpkg puppy_ppm_configs_devaun_ascii
  388. %addpkg PKG
  389. %chroot pkg --repo-update #Update the packge repos
  390.  
  391. ## install extra built-in packages
  392.  
  393. # apps
  394. # mtpaint
  395.  
  396. %addpkg ad_hock_repo #contains: PupMenu-6.2.pet, uextract-3.36.pet
  397.  
  398. #%chroot wget http://www.smokey01.com/radky/PupMenu-6.2.pet
  399. %chroot pkg -i PupMenu-6.2.pet
  400. #%rm PupMenu-6.2.pet
  401.  
  402. #%chroot wget -O uextract-3.36.pet wget http://www.murga-linux.com/puppy/viewtopic.php?mode=attach&id=75600
  403. # www.murga-linux.com/puppy/viewtopic.php?mode=attach&id=75600
  404. %chroot pkg -i uextract-3.36.pet
  405. %chroot pkg -i CLInet-0.8.pet
  406. %chroot pkg -i ppm-mod-3.0.pet
  407. %chroot pkg -i cdrtools-3.02a06-i686-precise-20160317.pet #needed for mkisofs, which is used in puppies remaster script
  408. #See post http://murga-linux.com/puppy/viewtopic.php?p=1032661#1032661
  409. %addpkg ppm-mod-3.0_patch #Currently only contains printcols (i386 version)
  410. %chroot cp -sr /var/packages/repo /var/packages
  411. %remove ad_hock_repo
  412.  
  413. #Incompelete example of how we could add an icon theme. (Use ptheme to select it)
  414. #%chroot pkg --get desk_icon_theme_darkfire-1
  415. #%chroot gtk-update-icon-cache /usr/share/icons/hicolor
  416.  
  417. geany
  418. geany-plugin-addons
  419.  
  420. %lock puppy-base puppy-base-arch libc6 # example: never update puppy base and libc6
  421. #%addpkg james-staging # temporary area to changes before they get merged to rootfs
  422.  
  423. %reinstall libc-bin #contians ldconfig
  424. %chroot ldconfig
  425.  
  426. # cutdown the size
  427. %cutdown doc gtkdoc nls # lets see if nls cutdown works now
  428.  
  429. #Temporary fix to issue: http://murga-linux.com/puppy/viewtopic.php?t=116354
  430. %importpkg desktop_hacks
  431. %chroot fix_symlinks
  432.  
  433. #%rm /dev #s243a: Do we want to remove /dev?
  434. # make the sfs (optional)
  435. %makesfs iso/iso-root/puppy_tascii.sfs -comp gzip # -Xcompression-level 1
  436.  
Advertisement
Add Comment
Please, Sign In to add comment