Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Fri 31 Oct 2014, 06:53
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » System
Woofy 0.91
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 1 of 8 Posts_count   Goto page: 1, 2, 3, ..., 6, 7, 8 Next
Author Message
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Wed 23 Jun 2010, 06:21    Post_subject:  Woofy 0.91
Sub_title: a simple, universal remaster tool (updated 20/07/2012)
 

Woofy
a simple remaster tool

- Woofy allows users to remaster an ISO file, without having to boot it up..
- Just choose your 'base' - the ISO you want to remaster

Download: Woofy 0.91

Features:

- Woofy can remaster any Puppy Linux ISO, using any version of Puppy Linux.
- add packages, remove files, edit themes, edit initrd.gz,
- choose to remaster with or without a zdrv
- check for missing dependencies in your new ISO
- supports grub or isolinux
- supports jwm, gtk, openbox and icon themes
- allows manual edit of SFS and ISO before building the final product

Video Demo: http://www.youtube.com/watch?v=cpMk7frOEho

To load it:

Type 'woofy' in the terminal, then you'll see all the background workings
in the terminal, as your new sfs and iso files are being created

Or use the menu entry, found at "Menu->System->Woofy"
(no messages during remaster)

Usage:

1. select the ISO you want to remaster
2. choose a name for your new ISO file
3. choose a working dir (a linux partition with lots of space, choose /tmp to use your RAM)
4. choose a suffix for your sfs file (optional, must not contain spaces)
5. add a text file, listing all files to be deleted from the iso (the list must contain full paths)
6. choose a package dir, containing the packages you want added (supports pet, sfs, tar.gz, deb, rpm, txz, xz)
7. choose to edit defaults apps, themes, sfs and boot options (or not)
8. Click 'Go', follow the on screen instructions.

Requirements:

You need a Puppy Linux ISO to remaster, any version should do.

You can use Woofy on any pup, full install or frugal, save file or no save file.
If you have a Linux partition, or a large save file (400mb+ free space), you do not even need much RAM.

The only real requirement is that you have enough space in your chosen working directory
(which could be your RAM, a save file, or a mounted linux partition)

"Enough space" means 3 or 4 times more than your ISO file size.

If remastering a Puppy ISO with a different SFS version than the one running Woofy,
you must have both mksquashfs3 and mksquashfs4 installed to remaster successfully.

Notes:

Woofy has a nice Help dialog, read it.

Thanks to stu90, iguleder, jemimah, 01micko, shinobar, others

Changelog:

version 0.91 - http://www.murga-linux.com/puppy/viewtopic.php?p=641665#641665

version 0.9

- fixed: duplicate and old listings in gtk, jwm, openbox, icon themes
- fixed: general code cleanup and fixes, improved logic
- fixed: creation of zdrv for other kernels
- fixed: initrd-editor.sh for unsupported files
- fixed: handling of installing SFS addon packages
- fixed: required to run as root, asks for root passwd if not root
- fixed: improved terminal output, easier to understand
- fixed: theme GUIs fixed for Pups with no ROX
- added: change default window manager of ISO, with wmswitcher
- added: offer to check deps, list missing libs in new SFS (thanks jemimah)
- added: GUI progress bars when building the SFS files (thanks jemimah)
- added: GUI dialogs for pkg install and ISO creation
- updated: re-organized pkg; fewer deps, all moved to /usr/local/woofy
- updated: woofy auto-update in ISO synced with new pkg format
- updated: remove initrd-editor and defaults-chooser auto-update in ISO
- updated: defaults-chooser, supports more apps
- updated: Help GUI has lots more info than before
- removed all binaries from the pkg (they should be in your pup!)
- woofy pkg now only 25k

version 0.8

- fixed: update of defaults-chooser and initrd-editor.sh in new ISO
- fixed: always check for full paths in list of files to delete
- fixed: get kernel version from base ISO, user must enter it manually if not found
- fixed: better detection and support of zdrvs in the base ISO
- fixed: remove zdrv on remastered ISO, if added back into main SFS
- fixed: creation of png icons, when updating icons theme
- fixed: wallpaper only updated if supplied image exists
- updated: improvement of terminal messages given during remaster

version 0.7

- new: option to edit initrd.gz, when setting boot options
- new: auto update initrd-editor in remastered ISO, if it's already installed
- new: auto update defaults-chooser in remastered ISO, if it's already installed
- new: added openbox themes support
- new: icon creation, now scales/converts SVG and 24x24 icons, if needed (like icon_switcher)
- new: choose desktop icon layout setup, with smart choice of "default" icon layout for different pups
- fixed: supports all new puppy sfs names, even from latest woof
- fixed: chooses correct zdrv file name for all puppies, even latest from woof
- fixed copying of icon themes into default theme folder on ISO
- fixed: improved automatic deletion of supplied list of files on ISO
- updated: defaults-changer (built in to woofy) updated to 0.8
- updated: better GUI layout and boot settings GUI logic, nicer timing and info on tooltips and help dialogs
- updated: help info screen, more up to date with all features
- updated: sfsver comparison for zdrv naming, puplets fix
- updated: better comments in main script
- Known issues with latest (0.7): here


version 0.6
- new: remaster lupu, luci, lupq, quirky, wary, dpup, tpup, spup (etc), puppy4, puppy3 and puppy2
- new: remaster any puppy version, not only the one which is booted
- new: editable boot options for both grub4dos and isolinux booting ISOs
- new: creates joliet iso file with a nice volume name
- new: supports remaster of isos with either sfs3 or sfs4
- new: option to create or remove zdrv sfs for the new live cd
- new: supports remaster of isos with multiple sfs files
- new: auto-update woofy, if installed on the chosen iso
- new: option to delete any working dirs during remaster process that are no longer required (save space)
- new: option to manually edit iso files before building the new iso file (to edit splash.xpm, etc)
- fixed: many, many bugfixes, plus very reliable error-handling at each step
- fixed: runs cleanup and exits whenever any step of the remaster fails
- faster, safer

...

version 0.3
- change the default apps, wallpaper and gtk/jwm/icon themes
- (slightly) better help info, dialogs and tooltips
- (thanks to lguleder for many changes..)

version 0.2
- choose to edit sfs and boot options before remaster
- added help GUI when editing boot params
- rename sfs file to use the chosen suffix
- better tooltips in gui fields
- pinstall is executed in the new sfs, for each pet added (thanks to lguleder)
- fixmenus is executed on the sfs before its created (thanks to lguleder)
- fixmenus added to first boot stuff in new rc.update file (thanks to jemimah)
- better start and finish dialogs

ENJOY
woofy-0.9.pet
Description  version 0.9
pet

 Download 
Filename  woofy-0.9.pet 
Filesize  25.8 KB 
Downloaded  887 Time(s) 
woofy-0.8.pet
Description  version 0.8
pet

 Download 
Filename  woofy-0.8.pet 
Filesize  239.2 KB 
Downloaded  1198 Time(s) 
woofy-0.7.pet
Description  version 0.7
pet

 Download 
Filename  woofy-0.7.pet 
Filesize  237.92 KB 
Downloaded  850 Time(s) 
woofy.pet
Description  version 0.6
pet

 Download 
Filename  woofy.pet 
Filesize  234.27 KB 
Downloaded  1128 Time(s) 
woofy.png
 Description   screenshot
 Filesize   41.08 KB
 Viewed   8962 Time(s)

woofy.png

woofy.pet
Description  version 0.3
pet

 Download 
Filename  woofy.pet 
Filesize  231.15 KB 
Downloaded  1287 Time(s) 
woofy.pet
Description  version 0.2
pet

 Download 
Filename  woofy.pet 
Filesize  229.62 KB 
Downloaded  1147 Time(s) 

Edited_times_total
Back to top
View user's profile Send_private_message 
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Wed 23 Jun 2010, 13:30    Post_subject:  

I would love someone to help me update the puppy menu (reading /usr/share/applications/*) in the remastered sfs, before the iso is created..

I tried adding 'fixmenus' in '.xinitrc' using 'sed', before and after the 'exec jwm' line, but it wouldn't work..

although sed worked fine, adding fixmenus before jwm starts causes it to repeatedly restart on boot, while adding it after jwm starts is obviously pointless..

So... Anyone know how to run 'fixmenus' on a mounted pup_*.sfs file?

Also, to show Woofy works.. Here is a screenshot of my first woofy iso..

I used Puppy Arcade 8 as a base, and removed all the emulator and gaming stuff..
I also added a goffice sfs (abiword, gnumeric and inkscape) plus a load of pet files (around 20)..

This took me 5 mins to build with woofy Very Happy
woofy-01.png
 Description   a screenshot of my first woofy-remastered ISO
 Filesize   107.23 KB
 Viewed   8613 Time(s)

woofy-01.png


_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search
Back to top
View user's profile Send_private_message 
jemimah


Joined: 26 Aug 2009
Posts: 4309
Location: Tampa, FL

PostPosted: Wed 23 Jun 2010, 14:25    Post_subject:  

In Puppeee I added fixmenus to /etc/rc.d/rc.update to get around this problem.
Back to top
View user's profile Send_private_message Visit_website 
Iguleder


Joined: 11 Aug 2009
Posts: 1923
Location: Israel, somewhere in the beautiful desert

PostPosted: Wed 23 Jun 2010, 15:07    Post_subject:  

Just chroot into the extracted SFS and do fixmenus. Woof uses chroot to run the pinstall stuff ... and I use it in my own distro for full-frugal-hybrid-installs Laughing

This looks kinda promising ... I think I'll try to write something similar ... I think you should make it extract the SFS, then extract all pets one by one, chroot, pinstall, exit chroot, then chroot again for fixmenus and change the version number/distro name as Woof does.

EDIT: even more fun stuff! Make it run the wallpaper setting tool, the JWM theme chooser, the GTK thingy and the icons thingy, while within chroot!

_________________
My homepage
Back to top
View user's profile Send_private_message Visit_website MSNM 
ICQ 
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Thu 24 Jun 2010, 05:03    Post_subject:  

jemimah wrote:
In Puppeee I added fixmenus to /etc/rc.d/rc.update to get around this problem.

Thanks jemimah..
I noticed rc.update already calls fixmenus, but only if the Puppy version was found to be updated..

Can i simply move the existing call to fixmenus (which is inside the 'if puppy was updated' clause) outside the if statement, so that it is executed every boot? I'm guessing yes..

And lguleder, I'm guessing I can make the chroot changes work, although I will include only pinstall and fixmenus, for now..

How would I do it? I'm unfamiliar with using chroot...

I would like to check for and then run pinstall, after each package is extracted to the mounted sfs...

I only need to chroot to /mnt/old.sfs, no other place...

So would I only call chroot once or each time I want to run a command on the mounted sfs?
Is this something like it? (I know its not correct code syntax..)

Code:

...
(foreach package)
  cp ./package/* /mnt/old.sfs/
  chroot /mnt/old.sfs [ -x /pinstall ] && /pinstall
(end foreach)
...
chroot /mnt/old.sfs fixmenus
...


And then... How do I change root back to '/'? Maybe this...

Code:
chroot /

But I'm guessing not, as '/' is now '/mnt/old.sfs'

Any help on using chroot and where I would call it regarding a foreach file loop, would be greatly appreciated..

Finally..

What changes to I need to make to enable users to rename the pup_*sfs in the new iso?
I'm guessing after renaming the file, I will have to update some other files to point to it correctly..

So.. What should I do to make the pup_*.sfs renaming process work?

Also, I don't think it's really worth letting users change the official version number in the remastered iso, it will always be whatever the base was..

Anyway, thanks for your suggestions guys, they are very helpful... Very Happy

_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search
Back to top
View user's profile Send_private_message 
Iguleder


Joined: 11 Aug 2009
Posts: 1923
Location: Israel, somewhere in the beautiful desert

PostPosted: Thu 24 Jun 2010, 05:34    Post_subject:  

If you want to know how to use chroot in a script for just one command ... here's a simple example, returns your grep version Smile

Code:


#!/bin/sh

echo "before chroot"

chroot /mnt/sda6 \
grep --version | head -1

echo "after chroot"



You can use this ... here's a simple algorithm:

Code:

if there are PETs to add (ummm ... output of `ls /pets/directory/*.pet | wc -l` maybe?)

  for each PET

    extract the pet
    chroot and run pinstall.sh
    delete pinstall.sh

  end for each

  delete the pet specs file

end if


Btw, I have another suggestion, a fixes directory, just a directory with stuff to add after everything ... for manual tweaks.

_________________
My homepage
Back to top
View user's profile Send_private_message Visit_website MSNM 
ICQ 
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Thu 24 Jun 2010, 07:14    Post_subject:  

weird double post removed...
_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search

Edited_time_total
Back to top
View user's profile Send_private_message 
Iguleder


Joined: 11 Aug 2009
Posts: 1923
Location: Israel, somewhere in the beautiful desert

PostPosted: Thu 24 Jun 2010, 07:50    Post_subject:  

Working on my own remaster thingy ... so far it works great and even does fixmenus/pinstall.sh. Here it is, sc0ttman, have a look. Should be useful for Woofy ... Very Happy

I took a look at your script, mine works differently ... just take my chroot commands, I think that's all you need in Woofy ... good job, dude Smile

I think I'll write a simple frontend for my script as you did with yours ... fun thing Wink

Code:

#!/bin/busybox ash

# Moo - a simple Puppy remaster tool
# Iguleder, June 2010, GPL, gl hf

# the ISO you wish to remaster
export originalIso="/root/pup-431.iso"

# a temporary mount point for the ISO
export isoMountPoint="/mnt/isotemp"

# a working directory where the SFS is extracted, needs plenty of space
export sfsWorkingDirectory="/tmp/sfstemp"

# a working directory for the initramfs
export initramfsWorkingDirectory="/tmp/initramfstemp"

# a working directory for the extracted, remastered ISO
export isoWorkingDirectory="/tmp/isotemp"

# a working directory for PETs
export petWorkingDirectory="/tmp/pettemp"

# a directory with PETs to slipstream and an optional directory to copy over to the main SFS
export petsDirectory="/root/mootest/pets"
export stuffDirectory="/root/mootest/stuff"

# the directory for the remastered iso
#export isoDirectory="`dirname $originalIso`"
export isoDirectory="/mnt/home"

# the puplet name, prefix and version
export pupletName="MooPup"
export pupletPrefix="moo"
export pupletVersion="600"

mount_iso()
{

  echo "Creating mount point for the ISO"
  mkdir -p "$isoMountPoint"

  echo "Mounting the ISO"
  mount -t iso9660 -o loop,ro "$originalIso" "$isoMountPoint"

}

extract_iso()


  echo "Creating the ISO working directory"
  mkdir -p "$isoWorkingDirectory"

  sfsFileName="$(basename `ls $isoMountPoint/*.sfs`)"
 
  echo "Extracting the ISO"
  for file in `ls $isoMountPoint/*`; do
 
    temp=`basename $file`

    if [ "$temp" != "$sfsFileName" ]; then

      echo "  $temp"
      cp $file "$isoWorkingDirectory"

    fi

  done

}

unmount_iso()
{

  echo "Unmounting the ISO"
  umount -d "$isoMountPoint"

  echo "Removing the ISO mount point"
  rmdir "$isoMountPoint"

}

extract_sfs()
{

  echo "Extracting the Puppy SFS"
  unsquashfs -d "$sfsWorkingDirectory" "$isoMountPoint/$sfsFileName" > /dev/null 2>&1

}

# usage: add_pet /path/to/pet
add_pet()
{

  echo "Adding `basename $1`"
 
  echo "  Extracting"
  tar xzf $1 -C $petWorkingDirectory > /dev/null 2>&1

  echo "  Copying files to the SFS working directory"
  cp -r $petWorkingDirectory/*/* "$sfsWorkingDirectory"
 
  if [ -f "$sfsWorkingDirectory/pinstall.sh" ]; then

    echo "  Executing pinstall.sh"
    chroot $sfsWorkingDirectory bash pinstall.sh   

    rm $sfsWorkingDirectory/pinstall.sh

  fi
 
  echo "  Cleaning the PET working directory"
  rm -r $petWorkingDirectory/*
 
}

add_pets()
{

  echo "Creating the PET working directory"
  mkdir "$petWorkingDirectory"

  for pet in `find $petsDirectory -name '*.pet'`; do

    add_pet `realpath $pet`

  done

  if [ -f "$sfsWorkingDirectory/*/pet.specs" ]; then
 
    rm "$sfsWorkingDirectory/*.pet.specs"

  fi
 
  echo "Deleting PET working directory"
  rmdir "$petWorkingDirectory"

}

add_stuff()
{

  if [ -f "$stuffDirectory" ]; then
 
    if [ "`ls $stuffDirectory`" != "" ]; then
   
      echo "Adding other stuff"
      cp -r $stuffDirectory/* "$sfsWorkingDirectory"

    fi
   
  fi
   
}

create_sfs()
{

  echo "Creating the remastered SFS"
  mksquashfs "$sfsWorkingDirectory" "$isoWorkingDirectory/$pupletPrefix-$pupletVersion.sfs" -all-root

  echo "Deleting the SFS working directory"
  rm -r "$sfsWorkingDirectory"

}

create_iso()
{

  cd "$isoWorkingDirectory"
 
  echo "Creating the ISO"
  mkisofs -D -R -o "$isoDirectory/$pupletPrefix-$pupletVersion.iso" -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table "$isoWorkingDirectory"

  echo "Deleting the ISO working directory"
  rm -r "$isoWorkingDirectory"

}

last_minute()
{

  . $sfsWorkingDirectory/etc/DISTRO_SPECS
 
  echo "Doing all last-minute stuff"
 
  echo "  Setting the puplet name"
  sed s/DISTRO_NAME=\'$DISTRO_NAME\'/DISTRO_NAME=\'$pupletName\'/ $sfsWorkingDirectory/etc/DISTRO_SPECS > $sfsWorkingDirectory/etc/DISTRO_SPECS_temp
  mv $sfsWorkingDirectory/etc/DISTRO_SPECS_temp $sfsWorkingDirectory/etc/DISTRO_SPECS

  echo "  Setting the puplet version"
  sed s/DISTRO_VERSION=$DISTRO_VERSION/DISTRO_VERSION=$pupletVersion/ $sfsWorkingDirectory/etc/DISTRO_SPECS > $sfsWorkingDirectory/etc/DISTRO_SPECS_temp
  mv $sfsWorkingDirectory/etc/DISTRO_SPECS_temp $sfsWorkingDirectory/etc/DISTRO_SPECS

  echo "  Setting the puplet file prefix"
  sed s/DISTRO_FILE_PREFIX=\'$DISTRO_FILE_PREFIX\'/DISTRO_FILE_PREFIX=\'$pupletPrefix\'/ $sfsWorkingDirectory/etc/DISTRO_SPECS > $sfsWorkingDirectory/etc/DISTRO_SPECS_temp
  mv $sfsWorkingDirectory/etc/DISTRO_SPECS_temp $sfsWorkingDirectory/etc/DISTRO_SPECS

  echo "  Running fixmenus"
  chroot $sfsWorkingDirectory fixmenus > /dev/null 2>&1
 
}

# must run before create_sfs (!!!)
create_initramfs()
{

  echo "Remastering the initramfs"
 
  echo "  Creating the initramfs working directory"
  mkdir "$initramfsWorkingDirectory"
 
  echo "  Moving over the initramfs"
  mv "$isoWorkingDirectory/initrd.gz" "$initramfsWorkingDirectory"
 
  cd "$initramfsWorkingDirectory"
 
  echo "  Extracting the initramfs"
  gunzip initrd.gz
  cpio -i < initrd
  rm initrd
 
  echo "  Writing the puplet information"
  cp "$sfsWorkingDirectory/etc/DISTRO_SPECS" .
 
  echo "  Creating the remastered initramfs"
  find . | cpio -o -H newc | gzip -9 > "$isoWorkingDirectory/initrd.gz"
 
  echo "Deleting the initramfs working directory"
  rm -r "$initramfsWorkingDirectory"

}

mount_iso
extract_iso
extract_sfs
unmount_iso
add_pets
add_stuff
last_minute
create_initramfs
create_sfs
create_iso

echo "Done! Your remastered ISO is $isoDirectory/$pupletPrefix-$pupletVersion.iso."


Regarding the version number and distro version, it's in DISTRO_SPECS. Just a couple of seds. I'm gonna add that to Moo, just for fun ...

By the way, how did you change the themes in that example Woofylet you made? It's impossible to run the icon/gtk/jwm theme chooser from within chroot ...

EDIT: found an easy way to set the name, version and prefix of the puplet ... still need to make one puplet and boot it. Updated the code.

EDIT: it doesn't work, because the initramfs has DISTRO_SPECS too. It needs to be replaced too ... not a problem, I'll do it.

EDIT 2: fixed it! Now it also remasters the initramfs. Only two problems left: the help page and the boot splash.

_________________
My homepage
Back to top
View user's profile Send_private_message Visit_website MSNM 
ICQ 
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Thu 24 Jun 2010, 13:11    Post_subject:  

OK.. Adding fixmenus to rc.update did nothing - and it was already in there twice!
I made sure 'fixmenus' is called at various points, from early on in the script to right at the end..
Still nothing... Restarting X did nothing to update the menu, rebooting also did nothing..

Any ideas?

Iguleder wrote:
Working on my own remaster thingy ... so far it works great and even does fixmenus/pinstall.sh. Here it is, sc0ttman, have a look. Should be useful for Woofy ... Very Happy

Thanks very much.. Much nicer, cleaner code than mine.. Embarassed
And I'm definitely stealing some of its features Wink

Code:
unsquashfs -d "$sfsWorkingDirectory" "$isoMountPoint/$sfsFileName" > /dev/null 2>&1

Is unsquashfs better than mounting the sfs file?

Code:
  if [ -f "$sfsWorkingDirectory/pinstall.sh" ]; then

    echo "  Executing pinstall.sh"
    chroot $sfsWorkingDirectory bash pinstall.sh   

    rm $sfsWorkingDirectory/pinstall.sh

  fi

Thanks for this.. Gonna try it out soon Very Happy

Code:
mksquashfs "$sfsWorkingDirectory" "$isoWorkingDirectory/$pupletPrefix-$pupletVersion.sfs" -all-root

Is the above better than using dir2sfs? I assumed dir2sfs was present in all Puppies..

Code:
mkisofs -D -R -o "$isoDirectory/$pupletPrefix-$pupletVersion.iso" -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table "$isoWorkingDirectory"

Again, is the above better than using dir2iso?

Code:
last_minute()
{

  . $sfsWorkingDirectory/etc/DISTRO_SPECS
 
  echo "  Setting the puplet name"
  sed s/DISTRO_NAME=\'$DISTRO_NAME\'/DISTRO_NAME=\'$pupletName\'/ $sfsWorkingDirectory/etc/DISTRO_SPECS > $sfsWorkingDirectory/etc/DISTRO_SPECS_temp
  mv $sfsWorkingDirectory/etc/DISTRO_SPECS_temp $sfsWorkingDirectory/etc/DISTRO_SPECS

  ...
 
  echo "  Running fixmenus"
  chroot $sfsWorkingDirectory fixmenus > /dev/null 2>&1
 
}

I'll be stealing most of this... Or I would..
Except, I can't find DISTRO_SPECS anywhere in TurboPup, or my puplets (all based on Turboup)..
I even unpacked the initrd.gz, then initrd, and it wasn't there..


So for now, I will be leaving out the DISTRO_SPECS changes in Woofy...
Unless there is another way to change version numbers and puplet name..?


Quote:
By the way, how did you change the themes in that example Woofylet you made?

Woofy allows the manual editing of the sfs before it's mounted..
I just went in and changed the wallpaper picture, using ROX.

Quote:
It's impossible to run the icon/gtk/jwm theme chooser from within chroot ...

That's a shame.. Sad What was the issue?

Another note... Renaming the new pup_*.sfs file is an important feature for me..
So, I edited an iso manually as a test...

I renamed its sfs file, and rebuilt the iso.. and it booted fine..

So.. Can I just rename the pup_*.sfs in the new iso and it will still boot fine?
No other changes needed?


Because I want to let users choose a new suffix (or none) for the new sfs file..

In Woofy, I want to get the version number from the original sfs filename and rename the new one to "pup_$ver$suffix.sfs",
where "$ver" may be "420" or "431", etc and "$suffix" is any [a-z] string..

I tried sed and other ways...
What is the easy way to do get the version number out of the pup_*.sfs filename?

_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search
Back to top
View user's profile Send_private_message 
Iguleder


Joined: 11 Aug 2009
Posts: 1923
Location: Israel, somewhere in the beautiful desert

PostPosted: Thu 24 Jun 2010, 13:29    Post_subject:  

I have no idea how it works on non-Woof puppies, that's the problem. I just know how to pull everything from DISTRO_SPECS and replace it under Puppy 4.3.1 and newer, because it's Woof ...

Quote:
Is unsquashfs better than mounting the sfs file?


I think it should be faster ... here you don't have to mount it, just extract it.

Quote:
Is the above better than using dir2sfs?


I really don't know what dir2sfs does ... I just like it barebones, I use mksquashfs in my own distro for everything ... Smile

Quote:
Again, is the above better than using dir2iso?


What is that dir2iso you used? I tried to find it on 4.3.1 ... anyway, I used the command Barry uses in Woof to build the ISO.

_________________
My homepage
Back to top
View user's profile Send_private_message Visit_website MSNM 
ICQ 
jemimah


Joined: 26 Aug 2009
Posts: 4309
Location: Tampa, FL

PostPosted: Thu 24 Jun 2010, 14:00    Post_subject:  

sc0ttman wrote:

Thanks jemimah..
I noticed rc.update already calls fixmenus, but only if the Puppy version was found to be updated..

Can i simply move the existing call to fixmenus (which is inside the 'if puppy was updated' clause) outside the if statement, so that it is executed every boot? I'm guessing yes..



Add it to the part that runs in Pupmode 5, after updating the network-drivers-list, gtk-icon-cache, and desk-icons.
Back to top
View user's profile Send_private_message Visit_website 
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Fri 25 Jun 2010, 07:43    Post_subject:  

updated to 0.2 ... thanks for the help guys Smile
_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search
Back to top
View user's profile Send_private_message 
Iguleder


Joined: 11 Aug 2009
Posts: 1923
Location: Israel, somewhere in the beautiful desert

PostPosted: Fri 25 Jun 2010, 08:39    Post_subject:  

I found a way to set the GTK/JWM/icon themes, I'm working on it. I found a way to detect all present themes and change them manually. Now I'll put the lists in listboxes as I did with the default applications wizard ... btw, I like the 002 GUI Smile
_________________
My homepage
Back to top
View user's profile Send_private_message Visit_website MSNM 
ICQ 
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Fri 25 Jun 2010, 09:13    Post_subject:  

Iguleder wrote:
I found a way to set the GTK/JWM/icon themes, I'm working on it. I found a way to detect all present themes and change them manually. Now I'll put the lists in listboxes as I did with the default applications wizard ... btw, I like the 002 GUI Smile

that sounds great.. and thanks...

I would also love to use chroot to integrate my defaults-app changer thing...
or yours, depending on which is installed.. Smile

Could you get that working too? That would be really nice...

_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search
Back to top
View user's profile Send_private_message 
Iguleder


Joined: 11 Aug 2009
Posts: 1923
Location: Israel, somewhere in the beautiful desert

PostPosted: Sat 26 Jun 2010, 03:37    Post_subject:  

I don't think it's possible. As far as I see, it's impossible to run gtkdialog stuff from within chroot, only outside ... so I'm currently working on a dialog that has lists of all themes, lets you choose and then changes them without chroot (sort of a hack to do whatever the wizards do, but manually).

Currently my wizard lists all icon themes, JWM themes and wallpapers. There's a little mess with JWM themes, I'll sort that out. When all three work, I'll add GTK themes.

However, I think I can make a hacked version of your wizard that uses relative paths, then include it with Woofy, copy to the extracted SFS directory, then run it, then delete it. This way it can set everything without chroot ... theoretically, should work Smile

EDIT: fixed the JWM themes thing.
wiz.png
 Description   
 Filesize   12.57 KB
 Viewed   8244 Time(s)

wiz.png


_________________
My homepage
Back to top
View user's profile Send_private_message Visit_website MSNM 
ICQ 
Display_posts:   Sort by:   
Page 1 of 8 Posts_count   Goto page: 1, 2, 3, ..., 6, 7, 8 Next
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » System
Jump to:  

Rules_post_cannot
Rules_reply_cannot
Rules_edit_cannot
Rules_delete_cannot
Rules_vote_cannot
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1607s ][ Queries: 13 (0.0129s) ][ GZIP on ]