Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ubuntu/debian puppy basesfs pkglist
- #
- # generic commands: %exit %include %makesfs %import
- # special package commands: %get_pkgs_by_priority %addbase %addpkg %bblinks %remove %repo %lock %cutdown
- # installer commands: %bootstrap %dpkg %dpkgchroot %depend %nodepend %reinstall %dpkg_configure
- # startup default: bootstrap, nodepend
- #
- # extra param for commands, params can be quoted
- # %include include-file
- # %makesfs output.sfs [squashfs-param]
- # %pkg_by_prio priority ["inclusion-egrep"] ["exclusion-egrep"]
- # %bblinks [nousr]
- # %remove pkgname ...
- # %repo url version sections pkgdb
- # %addpkg pkgname ...
- # %reinstall pkgname ...
- # %dpkg_configure configure flags
- # %lock pkgname ...
- # %cutdown [all doc gtkdoc nls cache dev]
- # %import dir ...
- #
- # %symlink source target
- # %rm file ... (-rf flag is always used)
- # %mkdir dir ... (-p flag is always used)
- # %touch file ...
- # % %chroot command ...
- #
- # start with %pkgs_by_prio required. Otherwise start with libc6.
- #
- # essential packages
- #%pkgs_by_priority "required" ".*lib.*|^tzdata|^bash|^dash|^lsb-base|^ncurses.*|^bsdutils|^kmod|^mount|^insserv|^mount|^sysvinit-utils|^procps|^makedev" "^klibc|.*plymouth.*|mountall"
- #%pkgs_by_priority "required" ".*lib.*|^tzdata|^bash|^dash|^lsb-base|^ncurses.*|^bsdutils|^kmod|^mount|^insserv|^sysvinit-utils|^makedev" "^klibc|.*plymouth.*"
- #%pkgs_by_priority "required"
- %bootstrap
- %nodepend
- %dummy libc6 #Tinycore has it's own c libraries. Maybe add symbolic links.
- libtinfo5 #Required for libreadline7
- #multiarch-support #Dependency of libpcre3
- libpcre3 #Dependency of libselinux1
- libselinux1
- sensible-utils #This is a dependency of debianutils but it isn't essential.
- debianutils
- gettext-base
- gettext
- %dummy base-files #Tinycore probably already has these
- zlib1g #dependency of libmagic, perl & squashfs-tools
- tar
- liblzma5 #Dependency of squashfs-tools
- liblz4-1 #Dependency of squashfs-tools
- liblzo2-2 #Dependency of squashfs-tools
- squashfs-tools
- libbz2-1.0
- libattr1
- libacl1
- %addpkg tinycore9_base_gz
- %importpkg tinycore9_bb_links_coreutils
- %addpkg tinycore9_bb_wrapper
- #%addpkg tinycore9_base_gz_users
- %addpkg puppycore_noarch
- %addpkg puppycore_users
- %chroot mkdir -p /var/packages/builtin_files/ #just in case
- #Keep pkg from installing libc6 (this avoids segmentation fault)
- %chroot cp /var/lib/dpkg/info/libc6.list /var/packages/builtin_files/libc6
- libgcc1 #dependency of libgcc1
- #gcc-6-base #dependency of libgcc1
- libstdc++6 #dependency of elfutils
- libelf1 #dependency of libasm1
- #libdw1 #dependency of libasm1
- libasm1 #dependency of elfutils
- elfutils #might help dpkg (or sc0ttman's pkg) with some packages
- dpkg
- %dpkgchroot
- bash
- dash
- coreutils
- libncursesw5 #A dependency of dialog
- dialog
- strace #add this for debugging purposes
- #Let's reconfigure stuff before running post install scripts
- %dpkg_configure --force-all -a
- %addpkg puppycore_noarch
- %addpkg puppycore_users
- %addpkg puppycore_i386_strech
- #%addpkg PKG #Uncomment this later once we add support for pkg
- %add pkg-apt-wrapper
- #At this point we coudl run pkg insead of dpkg but we havn't added support for this yet.
- # turn on dependency
- grep
- libgmp10 #required for gawk & libmpfr4
- libmpfr4 #required for gawk
- libreadline7 #required for gawk
- libsigsegv2 #required for gawk, sed
- #gawk seems to want libgmp10:i386 to be configured
- %dpkg_configure --force-all -a
- gawk
- %dummy mawk
- sed
- tar
- %dummy gzip
- %dummy cpio
- libc-bin
- libmount1
- libuuid1 #Dependency of libblkid1
- libblkid1 #Dependency of mount
- libeudev1 #Dependency of mount
- libsmartcols1 #Dependency of mount
- %dpkg_configure --force-all -a #Mount seems to want libmount1 confgiured
- mount
- libkmod2 # debian needs this, dependency of pciutils
- kmod # called in /etc/rc.d/rc.sysinit aroun d line 580
- libpci3
- pciutils #https://wiki.archlinux.org/index.php/NVIDIA_Optimus#No_screens_found_on_a_laptop/NVIDIA_Optimus
- dmidecode
- %dummy libpam0g
- %dummy libpam-modules-bin
- %dummy libpam-modules
- libaudit1 #required for passwd & dbus
- libcap-ng0 #Required for passwd & dbus
- # extra packages
- #screen # useful for debugging
- libmagic-mgc #Dependency of libmagic
- libmagic1 #dependency of file
- file # for checking file types
- locales # locale files
- libdb5.3 #Dependency of perl
- libgdbm3 #Dependency of perl
- perl-base #Required for debconf & Perl
- libperl5.24 #Dependency of perl
- perl
- %depend
- debconf #Required for openssl
- openssl #Required for ca-certificates
- ca-certificates #Recommended for wget
- %chroot update-ca-certificates
- libidn2-0 #Required for libpsl5
- libunistring0 #Required for libpsl5
- libpsl5 #Required for wget
- wget
- nano
- # xorg packages
- ######## THe following tools are needed to remaster puppy ###################
- aufs-tools
- #Already added: liblzo2-2 #Dependency of squashfs-tools
- #Already added: squashfs-tools
- growisofs
- syslinux-utils
- libcap2
- #Added below: cdrtools #need mkisofs from this package
- #########################################################################
- #rxvt-unicode using aterm instead
- aterm #Same name in tinycore
- urxvt #required for aterm
- #I'll sort out the dependency of this one later.
- libfltk1.3 #Instead of fltk-1.3 (from tinycore)
- flwm #Instead of flwm_topside (from tinycore)
- libimlib2 #Instead of imlib2-bin & imlib2 (from tinycore)
- alsa-utils #apulse is called from /root/.xinitrc
- ####### Maybe keep this since we dont' have matches for Xlibs, Xprogs, Xvesa but turn off dependency tracking
- libglib2.0-0 #Dependency of libdbus-glib-1-2, and need for rsvg-convert (used in ptheme)
- libdbus-glib-1-2 #Required for firefox
- libwayland-client0 #Dependency for yad, libegl1-mesa, libgbm1, firefox
- %dummy libwayland-server0 #Dependency for libegl1-mesa, libgbm1
- %dummy libxcb-dri2-0 #Dependency for libegl1-mesa, libgl1-mesa-glx
- libxcb-dri3-0 #Dependency for libegl1-mesa, libgl1-mesa-glx
- libxcb-present0 #Dependency for libegl1-mesa, libgl1-mesa-glx
- libxcb-sync1 #Dependency for libegl1-mesa
- %dummy libxcb-xfixes0 #Dependency for libegl1-mesa
- %dummy adduser #Dependency for dbus, xserver-xorg-core
- %dummy libxcb-glx0 #Required for libgl1-mesa-glx
- %dummy xserver-xorg-core-udeb #Dependency of xorg-input-abi-24
- %dummy xorg-input-abi-24 #Virtual package: dependency of: xserver-xorg-input-libinput
- #Can use xorg-driver-input instead of xserver-xorg-input-all, which is a virtual package
- #that lists the indvidual XOrg input drives as dependencies
- %dummy init-system-helpers #Dependency for dbus (systemd stuff)
- %dummy libselinux1 #Dependency for dbus
- libsystemd0 #Dependency for dbus, libdbus-1-3,procps (via libprocps6)
- %dummy gcc-6-base #Dependency for libgcc1: readme, licencing, todo, cangelog
- #We mightneed to add this
- %dummy libgcc1 #Dependency for libexpat1
- libapparmor1 #Dependency of dbus
- dbus #Recommended dependency for libdbus-1-3
- libasound2-data #Dependency of libasound2
- libasound2
- alsa-utils
- %dumy xserver-xorg-video-all #Let's pick the specific drivers that we want
- xserver-xorg-video-vesa
- xserver-xorg-video-vmware #This also works in virtualbox and qemu
- #Do this to help the xwin script find the video drivers:
- %chroot mkdir -p /usr/X11R7/lib
- %chroot cp -sr /usr/lib/xorg/modules/drivers/ /usr/X11R7/lib
- xserver-xorg-input-mouse
- xserver-xorg-input-kbd #THis is the keyboard module
- xserver-xorg
- #TODO Create a base sfs layere here. Add other packages as a higher up layer
- libxcb-shm0
- %dummy libx11-data #Dependency of libx11-6 (inernationalization)
- %dummy libxft2 #Dependency of x11-utils
- libxxf86dga1 #Dependency of x11-utils
- %dummy libxv1 #Dependency of x11-utils
- libxtst6 #Dependency of x11-utils, seems to be loaded during startup
- libxmuu1 #Dependency of x11-utils
- 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
- x11-utils
- #%dummy libxxf86vm1 #Dependency of x11-xserver-utils
- x11-xserver-utils
- x11-apps #xload is typically used in puppy. The other apps aren't needed.
- wbar #Some script is looking for wbar.png but we probably don't need this
- wbar-config
- numlockx #Seems to be called on startup
- ############################# Consider installing xinit ##############
- #TODO consider adding tinycore and create a layer here
- #xinit #we can start Xorg without xinit
- ######################### Not sure about this stuff ######
- %dummy libgdk-pixbuf2.0-common #dependency of libgdk-pixbuf2.0-0
- libgdk-pixbuf2.0-0
- %symlink ../lib/i386-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders /usr/bin/gdk-pixbuf-query-loaders
- #%addpkg --no-metadata fix_symlinks
- %addpkg fix_symlinks
- #Not sure if we need to symlink the .so files into LD_LIBRARY_PATH
- #We'll uncomment this if we need it
- #%chroot cp -sr /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/
- fonts-dejavu-core # standard font
- libxfont1 #Instead of libXfont (From tinycore)
- wbar #Same name on tinycore
- #######
- # window managers etc
- jwm
- rox
- mc #Replaces rox-filer # this will pull-in gtk2
- %bootstrap
- # network tools to make SNS happy
- ifplugd
- dhcpcd5
- wireless-tools
- wpasupplicant
- iptables
- %addpkg frisbee
- %addpkg simple_network_setup
- %addpkg network_wizard
- rfkill
- setserial #Needed if one is using a modem (Called from rc.sysinit)
- #yad #Needed for PortaBrowseInstall-i386-0.4; depends on libwayland-client0
- curl #Needed for PortaBrowseInstall-i386-0.4
- #gxmessage #Required for PortaBrowseInstall-i386-0.4
- %addpkg PortaBrowseInstall-i386-0.4
- # fixes for apt-get: re-install perl-base and xserver-xorg-core with dpkg
- %dpkgchroot
- %reinstall perl-base xserver-xorg-core
- %depkgchroot # switch back to bootstrap installer - faster
- %depend
- %Try to solve warning on rox about not being able to find the pixmap module with the following
- gtk2-engines-pixbuf #Pulls in libgtk2.0-0 as a dependency
- xdialog #note: only i386 arch available
- gtkdialog #note: only i386 arch available
- # This is different than puppies pmount (don't install it). Puppyies pmount is in
- # skeleton-rootfs (or pucore-noarch)
- #pmount #Only needed for multi-user systems but can coesist with puppies pmount by modifying the .desktop file
- #pmount requires gtkdialog to be at the path /usr/sbin/gtkdialog
- ln -s ../bin/gtkdialog /usr/sbin/gtkdialog
- %dpkg_configure --force-all -a
- # final steps
- # remove extremely toxic packages, then setup the dummy
- %chroot cp /sbin/ifdown /sbin/ifdown.back
- %chroot cp /sbin/ifquery /sbin/ifquery.back
- %chroot cp /sbin/ifup /sbin/ifup.back
- %remove initscripts ifupdown sysv-rc upstart mountall
- %dummy initscripts ifupdown sysv-rc upstart mountall
- %chroot mv /sbin/ifdown.back /sbin/ifdown
- %chroot mv /sbin/ifquery.back /sbin/ifquery
- %chroot mv /sbin/ifup.back /sbin/ifup.back
- # these useless packages got pulled by apt-get -f install, so prevent it from getting installed
- %remove plymouth libplymouth2 plymouth-theme-ubuntu-text
- %dummy plymouth libplymouth2 plymouth-theme-ubuntu-text
- %remove busybox-initramfs initramfs-tools-bin klibc-utils initramfs-tools
- %dummy busybox-initramfs initramfs-tools-bin klibc-utils initramfs-tools
- %dummy adduser base-files
- ## install busybox and its symlinks, fallback for missing utilities
- #busybox-static
- #%bblinks
- # install puppy-base - MUST BE LAST - unless overriding puppy-base
- #%mkdir /dev
- #Not sure if we should reinstall tinycore9_base_gz at this point or not
- #%addpkg --forced tinycore9_base_gz
- #%addpkg --forced tinycore9_bb_wrapper
- %addpkg --forced puppycore_noarch
- #%addpkg --forced tinycore9_base_gz_users #Can use instead of puppycore_users
- %addpkg --forced tinycore9_bb_wrapper
- %addpkg --forced puppycore_users
- %addpkg --forced puppycore_i386_strech
- #Can use tinycore9_base_gz_startup instead of puppycore: _sysinit _sysinit_net _Xstartup
- #%addpkg tinycore9_base_gz_startup
- %addpkg --forced puppycore_sysinit
- %addpkg --forced puppycore_sysinit_net
- %addpkg --forced puppycore_net
- %addpkg --forced puppycore_Xstartup
- %addpkg --forced puppycore_locale
- %reinstall jwm
- %addpkg --forced puppycore_xdg #Needed for fixmenus to work
- #The following wget will probably fail but the pkg is included for now above in puppycore_xdg
- %chroot wget ftp.us.debian.org/debian/pool/main/g/gnome-menus2/libgnome-menu2_3.0.1-4_i386.deb
- %chroot pkg -i libgnome-menu2_3.0.1-4_i386.deb #Needed for fixmenus to work
- %addpkg --forced jwm_config
- %chroot echo jwm > /etc/windowmanager
- %chroot fixmenus
- %reinstall rox
- %addpkg --forced puppycore_rox
- %addpkg --forced rox-filer-data
- %addpkg --forced rox_config
- %addpkg --forced puppycore_icons
- librsvg2-bin #Required for puppy themes
- %addpkg --forced pthemes #requires jwm_config
- %addpkg glibc_zoneinfo #Timezone stuff
- %addpkg --forced debian-setup # specific debian setup, overriding puppy-base
- #Dependencies for pkg (maybe create wrappers for these instead of installing them)
- %reinstall findutils #Dependency of PKG
- %reinstall sed #Dependency of PKG
- %reinstall grep #Dependency of PKG
- %reinstall wget #required for pkg
- %reinstall coreutils #pkg requires "sort" from coreutils
- %reinstall util-linux
- %reinstall libsystemd0 #Dependency for dbus, libdbus-1-3,procps (via libprocps6)
- %reinstall libprocps6 #Required for procps
- %reinstall procps
- %reinstall mount
- %reinstall xz-utils
- %dpkg_configure --force-all -a
- %addpkg --forced puppycore_utils #Required for puppy startup
- %rm /bin/sh
- %symlink /bin/bash /bin/sh
- %addpkg sync_pet_specs_fm_dpkg
- %chroot sync_pet_specs_fm_dpkg.sh
- %addpkg puppy_ppm_configs_devaun_ascii
- %addpkg PKG
- %chroot pkg --repo-update #Update the packge repos
- ## install extra built-in packages
- # apps
- # mtpaint
- %addpkg ad_hock_repo #contains: PupMenu-6.2.pet, uextract-3.36.pet
- #%chroot wget http://www.smokey01.com/radky/PupMenu-6.2.pet
- %chroot pkg -i PupMenu-6.2.pet
- #%rm PupMenu-6.2.pet
- #%chroot wget -O uextract-3.36.pet wget http://www.murga-linux.com/puppy/viewtopic.php?mode=attach&id=75600
- # www.murga-linux.com/puppy/viewtopic.php?mode=attach&id=75600
- %chroot pkg -i uextract-3.36.pet
- %chroot pkg -i CLInet-0.8.pet
- %chroot pkg -i ppm-mod-3.0.pet
- %chroot pkg -i cdrtools-3.02a06-i686-precise-20160317.pet #needed for mkisofs, which is used in puppies remaster script
- #See post http://murga-linux.com/puppy/viewtopic.php?p=1032661#1032661
- %addpkg ppm-mod-3.0_patch #Currently only contains printcols (i386 version)
- %chroot cp -sr /var/packages/repo /var/packages
- %remove ad_hock_repo
- #Incompelete example of how we could add an icon theme. (Use ptheme to select it)
- #%chroot pkg --get desk_icon_theme_darkfire-1
- #%chroot gtk-update-icon-cache /usr/share/icons/hicolor
- geany
- geany-plugin-addons
- %lock puppy-base puppy-base-arch libc6 # example: never update puppy base and libc6
- #%addpkg james-staging # temporary area to changes before they get merged to rootfs
- %reinstall libc-bin #contians ldconfig
- %chroot ldconfig
- # cutdown the size
- %cutdown doc gtkdoc nls # lets see if nls cutdown works now
- #Temporary fix to issue: http://murga-linux.com/puppy/viewtopic.php?t=116354
- %importpkg desktop_hacks
- %chroot fix_symlinks
- #%rm /dev #s243a: Do we want to remove /dev?
- # make the sfs (optional)
- %makesfs iso/iso-root/puppy_tascii.sfs -comp gzip # -Xcompression-level 1
Advertisement
Add Comment
Please, Sign In to add comment