LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Puppy (https://www.linuxquestions.org/questions/puppy-71/)
-   -   Short Fatdog64 Script that Installs (https://www.linuxquestions.org/questions/puppy-71/short-fatdog64-script-that-installs-4175464264/)

bobbobbix 05-31-2013 02:50 PM

Short Fatdog64 Script that Installs
 
Here is another version of fextiu written for a later
Puppy Linux, Fatdog64. It has become necessary for me
to look at 64-bit because of reasons beyond my control.
What I can do is adapt my scripts.

Don't get me wrong, I still use my old computers
(with Puppy of course). One is over a decade old and
the other is newer (but not like recent 'new')
-both run Lucid 5.2.8 and still run well.

The 64-bit Frontier Gets Its Turn...

Fextiu_2 is tested as well as shortened while still
packing the punch of the originals. Once again, no
scripts are involved, and no X is needed. It is
a little shorter than a 100 lines of code, but has been
effective for me. This also demonstrates the
adaptability of the code.

A great part of freedom of code is the ability to do
whatever you want to it. If the code doesn't work as
original, just modify it so that it does. Just be
mindful of its limits and how they can be expanded.

Enough chit chat, here it is:

Code:

#! /bin/bash

# FEXTIU_2 - for fatdog64 620 beta 3 (maybe beyond, maybe before)
# a rewrite of fextiu script - does not execute scripts
# even works partially for fd64-32bit-libs-6.sfs both ways
# only additional help (sometimes optional) is rm -r lib32 to clean empty paths
#
# supports: deb, tar, sfs, zip, pet
# warnings: ubuntu packages have become risky, using debian packages is better
#  do not use wildcards like *
#  some deb packages may produce output, check /FEXTIU if they installed successfully

# global variables
mdir=" "        #special variable for pet

# functions
uninstaller() {
  sed -i 's/^/\//' /*.fextiutxt #make small correction
  a=$(echo /*.fextiutxt)
  xargs rm < $a 2>/dev/null #xargs used to uninstall from list
  echo "fextiu'd" #remove if too wordy
  rm /*.fextiutxt
  return;
  }

generate() { # no longer a f(f(x))
    if [ ! -d "/FEXTIU" ]; then mkdir /FEXTIU;fi
    b=$(echo "$1" | sed -re 's/^.+\///') #strip path
    find * > "/FEXTIU/$b.fextiutxt"
    tar cf - * | ( cd /; tar xfp -) 2> /dev/null # tar move to /
    return;
    }

xtar() {
        echo "...extracting tar $1 to /FTEMP"
        tar -xf "$1" -C /FTEMP
        return;       
        }

xzip() {
        echo "...extracting zip $1 to /FTEMP"
        cp "$1" /FTEMP;        cd /FTEMP
        unzip *.zip > /dev/null ; rm *.zip       
        return;
        }
       
xdeb() { #ubuntu debs not guaranteed - some debs may show output
        echo "...installing deb $1"
        dpkg-deb -x "$1" /FTEMP 2> /dev/null
        cd /FTEMP
        return;
        }

xpet() {
        echo "...installing pet $1"
        tar -xf "$1" -C /FTEMP 2> /dev/null; cd /FTEMP/*
        mdir=$(pwd); #special variable needed here
        return;
        }

xsfs() { #if script mounts, it won't umount - so copying directly
        echo "...installing sfs $1: needs lots of space"       
        cp "$1" /FTEMP; cd /FTEMP
        b=$(echo "$1" | sed -re 's/^.+\///') #strip path
        unsquashfs $b; cd squashfs-root
        rm /FTEMP/"$1"
        return;
        }

# MAIN
if [ "$1" = "-h" ]; then {
        clear
        echo "FEXTIU_2: Fast EXTractor and Installer/Uninstaller v.2"; echo
        echo "Usage: fextiu_2 [options] [file_path]"
        echo "Ex: # fextiu_2 -deb /root/randomdeb.deb"; echo
        echo "Options:"
        echo "deb........installs from debs (ubuntu debs not guaranteed)"
        echo "sfs........sfs4 squash files"
        echo "tar........tar with -xf option only"
        echo "          to cut coding, will be extracted to /FTEMP"
        echo "pet........pets are supported"
        echo "zip........zip files are supported"
        echo; echo "Fextiu_2 can also uninstall with -u; just copy file below to / then run:"
        echo "# fextiu_2 -u"; echo
        echo "Files: Each .fextiutxt file is stored in /FEXTIU"
    echo "/FTEMP is intentionally left behind for examination-remove with '# rm -r /FTEMP'"
    }; fi

  rm -r /FTEMP; mkdir /FTEMP # cleared - backup if desired
 
  if [ "$1" = "-pet" ]; then xpet "$2"; generate "$mdir"; fi
  if [ "$1" = "-sfs" ]; then xsfs "$2"; generate "$2"; fi 
  if [ "$1" = "-zip" ]; then xzip "$2"; fi
  if [ "$1" = "-deb" ]; then xdeb "$2"; generate "$2"; fi #read sub
  if [ "$1" = "-tar" ]; then xtar "$2"; fi   
  if [ "$1" = "-u" ]; then uninstaller; fi
# EOF


bobbobbix 06-02-2013 12:16 PM

Testing is Slow but Steady
 
Testing is going well. I am mainly testing the packages I have
downloaded already (which by no means accounts for all). I can't
freely download my way to victory (yes, that slow and cuts off
randomly), so timely effort is done offline.

Testing is not complete yet. For those who are curious, my new
local repo is incomplete (near DVD-size). The test results may not
come in for a while.

Current: I just got finished with espeak and zenity,
and timidity, which work well.

Issues with my old 32-bit packages:
There has been this one package, the 1337-generator works,
but the font is distorted (appears as squares-same result with
petget). Also, the wondershaper one works as well, but it depends
on another package that doesn't work because of the kernel? Others
seemingly work ok, but there are a number I haven't tested just yet.

Being too quick in using via command prompt leads to careless
mistakes, which in turn leads to further errors. Pay attention to
correct usage of -pet and -sfs.

bobbobbix 06-05-2013 09:06 AM

sample usage
 
While waiting for my localrepo to finish (so that I can post results)
I have made a small script that uses fextiu_2 to install the
fd 32-bit libs package. It is clickable.

(Note that I did NOT make that package. I am grateful to the person who
did though. I don't know who did exactly, and I don't want to credit
the wrong person. My google skills are not that good now. See above
for why. Without that package, we would not have the chance to use
former 32-bit packages.)

Here is the script:

Code:

#! /bin/bash

yaf-splash -text "Loading ability to run 32-bit applications..." -transparent -placement top -font 10x20 -timeout 5 -bg yellow


sh /root/fextiu_2 -sfs /localrepo/32bit/fd64-32bit-libs-6.sfs

yaf-splash -text "You can now run 32 bit applications (limited-uninstall with fextiu -u)" -transparent -placement top -font 10x20 -timeout 5 -bg yellow


bobbobbix 06-05-2013 02:06 PM

Incomplete Report
 
My local repo is incomplete, but results
have been strong so far. What didn't work
out are still in progress. Now it is
almost half the size as the previous, but
it is not finished yet. The finished
report will be bigger.

Code:

dvd.sfs md5sum: 2acf2f46fc90ae7e7be8ae5f5a294006
so far...shortened a little *INCOMPLETE*
Expect drivers to not always be compatible

Package Stats: 78 working */ 8 not working (so far)/ 86 total
Not Working:
0 : Scripted (surprised)
2 : Drivers
6 : Unknown (probably will decrease as more become useful)


|-- 32bit
|  |-- 5-Voyager-5G.sfs *
|  |-- DataRecovery
|  |  |-- foremost_1.5.7-1_i386.deb *
|  |  |-- scalpel_1.60-1build1_i386.deb *
|  |  `-- testdisk-6.11.3.pet *
|  |-- devscripts_2.11.6ubuntu1_i386.deb * (dependencies?)
|  |-- dosbox-0.72.pet *
|  |-- dosemu_1.4.0+svn.1999-2_i386.deb *
|  |-- espeak-1.45.03-i486.pet *
|  |-- fd64-32bit-libs-6.sfs *
|  |-- Firefox-6.0-lucid525.pet * (update)
|  |-- Frisbee-beta-2.pet *
|  |-- Google_Earth-6.0.3.2197-lucid525.pet * (update)
|  |-- gtk+12-1.2.10.pet *
|  |-- libglib-1.2.pet *
|  |-- libgmodule-1.2.tar.gz *
|  |-- LibreOfc_3.3.0_rc4_sfs4.sfs *
|  |-- perl-5.8.8.pet
|  |-- portaudio-v19-i486.pet
|  |-- qemu-0.91-launchscript-SDL-1.29.pet *
|  |-- rubix-1.03.tar.gz *
|  |-- SDL_jewels-1.1.0-i486.pet * (flickering)
|  |-- Skype-2.1.0-Lucid.pet * (update)
|  |-- Supertuxkart-0.6.1a1-sfs4.sfs * (flickering)
|  |-- syslinux-common_4.04+dfsg-1ubuntu1_all.deb *
|  |-- tree_1.5.3-1_i386.deb *
|  |-- unrar-3.7.8.pet *
|  |-- unrpm.undeb.pet *
|  |-- util-linux_2.17.2-9_i386.deb *
|  |-- wine-1.5.7-i486_v2.pet *
|  |-- wondershaper_1.1a-5_all.deb * (dependencies)
|  `-- xbubble-0.5.11.2.orig-i486.pet *
|-- AceOfPenguins-1.4.pet *
|-- bluez-4.101-610.pet
|-- ccd2iso_0.3-3_amd64.deb *
|-- CPUtemp_fd600-1.5.pet *
|-- Drivers
|  `-- ati-catalyst32-13.1.pet
|-- freepats_20060219-1_all.deb
|-- gnome-bluetooth-2.32.0-610.pet
|-- gnupg_1.4.10-2ubuntu1_amd64.deb *
|-- guvcview_fd600-1.5.0.pet *
|-- hplip_print_fd600-3.12.10a.pet (driver-oops)
|-- iptraf-3.0.0-600.pet *
|-- jre16u31_x64.sfs *
|-- libaa1_1.4p5-38_amd64.deb *
|-- libaa-bin_1.4p5-37+b1_amd64.deb *
|-- libasyncns0_0.3-1.1_amd64.deb *
|-- libattr1_2.4.44-2_amd64.deb *
|-- libaudio2_1.9.2-4_amd64.deb *
|-- libaudiofile0_0.2.6-8_amd64.deb *
|-- libcap2_2.19-3_amd64.deb *
|-- libcdio10_0.81-4.1_amd64.deb *
|-- libdirectfb-1.2-9_1.2.10.0-4_amd64.deb *
|-- libdv4_1.0.0-2.1_amd64.deb
|-- libesd-alsa0_0.2.36-3_amd64.deb *
|-- libgdbm3_1.8.3-9_amd64.deb *
|-- libgpm2_1.20.4-3.3_amd64.deb *
|-- libjack0_0.118+svn3796-7_amd64.deb *
|-- libjpeg62_6b1-1_amd64.deb *
|-- liblzma2_5.0.0-2_amd64.deb *
|-- libnotify1_0.5.0-2_amd64.deb *
|-- libphonon4_4.6.0really4.4.2-1_amd64.deb *
|-- libpulse0_0.9.21-3+squeeze1_amd64.deb *
|-- libpulse-mainloop-glib0_0.9.21-3+squeeze1_amd64.deb *
|-- libreadline6_6.1-1_amd64.deb *
|-- libssl0.9.8_0.9.8o-4squeeze14_amd64.deb *
|-- libsvga1_1.4.3-29_amd64.deb *
|-- libtiff4_3.9.4-5+squeeze8_amd64.deb *
|-- libwrap0_7.6.q-19_amd64.deb *
|-- libx86-1_1.1+ds1-6_amd64.deb *
|-- libxdg-basedir1_1.1.1-1_amd64.deb *
|-- links2_2.3~pre1-1+squeeze1_amd64.deb *
|-- lynx-2.8.7.pet *
|-- MPlayer-1.0rc4.pet * (not fully functional-bad download?)
|-- nano-tiny_2.2.4-1_amd64.deb *
|-- nethogs-0.8.0-610.pet *
|-- obsidian_cursor_theme-1-600.pet *
|-- opera-11.64-1403.x86_64.pet *
|-- qemu-1.2.2-arm-x86_64.pet *
|-- qt4-4.8.1.pet *
|-- timidity_2.13.2-39+b1_amd64.deb *
|-- timidity-daemon_2.13.2-39_all.deb *
|-- udftools-1.0.0b3-amd64.pet *
|-- Xine-1.2.2.pet *
|-- xinput_calibrator-0.7.5.pet *
|-- Xmahjongg-3.7-fd64.pet * (run as gxmahjongg)
`-- zenity_2.30.0-1_amd64.deb *

3 directories, 113 files <shortened>


Karl Godt 07-23-2013 05:44 AM

You should have named the thread "Short Fatdog64 Script that Installs PACKAGES"

Was confused - thought it would be an OS installer .

Was using Puppie´s which petget with sometimes little issues .
Now I use Puppy OS for compiling - seldom install packages .
These *.tar.* files are opened by which pupzip , which mostly directs to which xarchive .

Still running Macpup Foxy3 ( based on 4.3 ) on Core2Duo machine .


All times are GMT -5. The time now is 08:27 AM.