Page 1 of 1

How to convert a RPM to a PET?

Posted: Sun 10 Mar 2013, 23:13
by Smithy
Is it possible to convert an RPM file to a PET?

Posted: Sun 10 Mar 2013, 23:17
by Semme
You'll have :wink: zero trouble finding rpm2pet here.

Tar.GZ into a working Puppy Prog.

Posted: Mon 11 Mar 2013, 01:13
by Smithy
Ha ha, thanks for the tip Semme. The rpm turned into an uncontrollable mess.
Found a tar.gz.

http://sourceforge.net/projects/speak-f ... uperb-west

Next question, how can this be Puppified? (A working pet?) I know it's a bit retro..

Posted: Mon 11 Mar 2013, 01:33
by Semme
While there might be binaries float'n around, you've gotta build it.

Depending on how you're run'n THINSlacko, you'll need this Pups corresponding devx pkg.

Posted: Mon 11 Mar 2013, 08:33
by Smithy
Not sure what you mean about how I am running Thin Slacko, I am just running it live from a cd, remastered with extras.

Ok found this one:
01micko/slacko/FATSlacko/devx_slacko_5.3.3x.sfs

Do you reckon that's the right one to build against?

Then I will follow this tutorial:

http://puppy.b0x.me/wiki/doku.php?id=compile

Posted: Mon 11 Mar 2013, 10:13
by Semme
As long as you have a home for it, I was particular about my link.

Where compiling's concerned- consider this page a supplement.

Posted: Mon 11 Mar 2013, 17:25
by Smithy
Thank you for the the link. I have found a .deb version, seems to install.
(after tl/tk pets installed).
Interface looks..er rudimentary and it can't find
root.xspeakfree.rc. (And it probably never will).
So will try at this, before descending into the madness of compiling.

Posted: Mon 11 Mar 2013, 17:33
by Semme
Is that the exact file name?

Posted: Mon 11 Mar 2013, 17:59
by Karl Godt
Snipplet from one petget script altered by me:

Code: Select all

rpm)
RPM2CPIO="rpm2cpio"
[ "`which rpm2cpio2`" ] && RPM2CPIO='rpm2cpio2'
$RPM2CPIO ${FULLPKGNAME} 2>$TEMP_D/_rpm2cpio.errs| cpio -d -i -m 2>>$TEMP_D/_rpm2cpio.errs
if [ "$?" != '0' ];then
xmessage -bg red -file $TEMP_D/_rpm2cpio.errs
exec petget "$PASSEDPARAM"
fi
#tar xf ${FULLPKG}.tar
#trustedgrub-1.1.3-15.1.src.rpm
#included TrustedGRUB-1.1.3.tgz
FIND_PATTERN=`echo "$FULLPKG" | tr -d '[[:punct:]][[:digit:]]'| sed 's|src$||'`
echo "FIND_PATTERN=$FIND_PATTERN'"
#NEW_FULLPKG_NAME=`find -iname "*$FIND_PATTERN*" |grep -v '\.rpm$'`
NEW_FULLPKG_NAME=`find -iname "*$FIND_PATTERN*" |grep -E '\.tgz$|\.tar$|\.gz$|\.bz2$|\.lzo$|\.lzma$|\.xz$'`
echo "NEW_FULLPKG_NAME='$NEW_FULLPKG_NAME'"
#TODO if more than one ;(

if [ "$NEW_FULLPKG_NAME" ];then
EXT_1=`echo "$NEW_FULLPKG_NAME"|rev|cut -f 1 -d'.'|rev`
EXT_2=`echo "$NEW_FULLPKG_NAME"|rev|cut -f 2 -d'.'|rev`
echo "EXT_1='$EXT_1' EXT_2='$EXT_2'"
case $EXT_1 in
tgz)
cp "$NEW_FULLPKG_NAME" explore.tar.gz
tar $VERB xzf explore.tar.gz
;;
tar)
tar $VERB -xf "$NEW_FULLPKG_NAME"
;;
*)
 case $EXT_2 in
 tar)
  case $EXT_1 in
  gz)
  gunzip $VERB -f "$NEW_FULLPKG_NAME"
  ;;
  bz2)
  bunzip2 $VERB -f "$NEW_FULLPKG_NAME"
  ;;
  lzo)
  lzop $VERB -f -d "$NEW_FULLPKG_NAME"
  ;;
  lzma)
  lzma $VERB -f -d "$NEW_FULLPKG_NAME"
  ;;
  xz)
  xz $VERB -f -d "$NEW_FULLPKG_NAME"
  ;;
  *):;; #VIEW_TMP='';;
  esac
  NEW_PKG_NAME=`echo "$NEW_FULLPKG_NAME" |sed "s|\.$EXT_1||"`
  echo "NEW_PKG_NAME='$NEW_PKG_NAME'"
  tar -xf "${NEW_PKG_NAME}"
 ;;
 ""|*) :  #VIEW_TMP=''
 ;;
 esac
;;

Partly took code from /usr/local/bin/pupzip.

Rpms have changed the encryptions or cpio logics many times. Really new .rpm are likely not to work with the Puppy busybox rpm2cpio. Inside rpms there are mostly .tar.*s . They are a box with a box inside.

Posted: Mon 11 Mar 2013, 22:10
by Smithy
Semme wrote:Is that the exact file name?
Well this is how far I have got with the .deb+tcl/tk pets.

The microphone mute button is stuck and I can't move it over to open, but that could be something else alsa usb related.

@Karl:
Yes there were a load of boxes within boxes in the rpm.

Posted: Mon 11 Mar 2013, 22:26
by Semme
Yeah, maybe I'll take a look. In the meantime I found this little trinket.

PS- You ever get to try this?

Posted: Tue 12 Mar 2013, 09:01
by Smithy
Yes semme, I did, but it is not cross platform, no encryption, have to go through some third party, and the speak freely protocol will handle signals in remote areas where their signal drops down to virtually nothing.
Plus there is a nifty audio signal monitor that lets me tell them that they need a new microphone or their computer fan is on the way out!

Posted: Tue 12 Mar 2013, 11:16
by Semme
So under Wine you're OK?

Posted: Tue 12 Mar 2013, 19:20
by Smithy
Well it used to work sometimes. When I got the buzzing sound (like a usb sample rate mismatch, like wine couldn't change to 16 bit 8khz) I would reboot and mostly after a reboot I could use the prog in wine.

But not anymore. It constantly buzzes on transmission.
Thought maybe the Linux version would hook into alsa better.

/etc/modprobe.d/alsa-base.conf

contents added

options snd-usb-audio index=0
options snd-hda-intel index=1

where snd-hda-intel is the sound module for onboard or internal sound device.

this will force usb to always be index=o

Well that finally brought up the volume slider for usb audio, but both devices are saying that they are Device:0 in the multiple sound card wizard.
Back to the ghastly Intel HD for the moment.

EDIT: Looks like I got it wrong on some aspects of Psip

"The good thing about psip is you don't have to be logged into a server to use it. For example: if you have Psip running and I know your IP address I could add it as a buddy and call you direct."

"The buddy address entry would be something like sip:192.168.0.6"