alien2puppy

Miscellaneous tools
Message
Author
User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

alien2puppy

#1 Post by 01micko »

Hi folks,

New version, 20101229, handles txz better

With the advent of "Woof - The Puppy Builder" there has been a pack of different Puppy's with different lineages crossbreeding.

Prime examples are Lupu Puppy 5, the Luci development for 5.1 and Barry's Spup Slackpup betas.

One problem.. the actual Puppy repos particular to those 'wooflets' are barish, though the Luci repo is starting to look healthy.. and the tool described here is a small part of that.

alien2puppy is a command line based tool to get a main app and it's dependencies 'merged' into a puppy package, either sfs or pet.

What you do is, plonk the app and all the dependencies in a single working directory, for big apps, do this outside your pupsave. Then you invoke the script in that directory with:

Code: Select all

alien2puppy -s Packagename_ver-001
for an sfs or:

Code: Select all

alien2puppy -p Packagename_ver-001
for a pet.

It's pretty easy, and the script walks you through the various stages and options as you go. It's quite verbose, with just a splash of colour.

I actually wrote it some time ago with a different name, debs2pkg.. Luci followers may have seen it before, even used the script.

Now, this isn't for everybody, you should be comfortable with the Linux command line and filesystem. Also, my coding is pretty rudimentary, so advanced users please cough up any suggestions where improvements could be made.

Notes
* the script is designed to make a small package, so there is an option for stripping, and in the Slackware section, the packages are split into doc, dev and nls.
*Debian/Ubuntu packages are far more simple, but you may find that you have many .debs even for a smallish app. In a way it's a good thing, because you can usually get all doc, dev, nls stuff separately.. consequently, splitting is not enabled for .debs.
*Slackware packages usually include a "doinst.sh" script, similar to Puppy's pinstall.sh script which is executed on installation. I have taken care of this but it may not be perfect.
*there is the chance to pause the script to sort out .desktop files which govern menu entries, and menu icons. In 'dir2pet' you have the option to rebuild the .desktop file to make it Puppy compliant, or you can do it before hand at the pause. The script attempts to discover where the program icon is located.. for KDE apps you may get alot of hits at this stage.
*in the Slackware section, after you make the initial .pet or sfs you are offered the choice to make the dev, doc, nls sfs OR pet if you initially chose '-s' sfs option or pets only if you initially chose the '-p' pet option.

There is a README in the tarball (no it's not a pet, you need to whack it in your $PATH or execute in situ) and there is a '-h' basic help option. As far as a man page goes, well this is it!

don570 has written a neat little tutorial here
______________________________________________________________________

Please enjoy and if you find a bug swat it, or call 000, 999, 911 or some other number than mine.. (er..joking of course, just report it!)

Cheers
Attachments
alien2puppy-0.2.tar.gz
new version 20101229
(4.27 KiB) Downloaded 2660 times
alien2puppy-0.1.tar.gz
(5.13 KiB) Downloaded 1882 times
avidemux.png
in Spup
(156.11 KiB) Downloaded 7426 times
Last edited by 01micko on Wed 29 Dec 2010, 04:43, edited 2 times in total.
Puppy Linux Blog - contact me for access

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

alien2puppy evalution

#2 Post by don570 »

Worked great for me. Instructions were clear.
I made Audacity and Abiword pet packages out of
debian packages in only couple of minutes.
Great stuff!!

To compare with old method of making pet packages see
http://www.murga-linux.com/puppy/viewto ... &start=690
---------------------------------------------------------------------------------------------

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

alien2puppy Tutorial

#3 Post by don570 »

I wanted to show how easy it was to use alien2puppy
so I wrote a tutorial located here

I used Audacity as the example but lots of other application packages
can be built using this procedure.

EDIT: I wrote another tutorial this time for building Abiword here

____________________________________________________________________
Last edited by don570 on Thu 29 Jul 2010, 23:09, edited 2 times in total.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#4 Post by 01micko »

Thanks don570

I'll put a link to that in the first post, near where I say that there's no "man" page.

Cheers
Puppy Linux Blog - contact me for access

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

one flaw in alien2puppy

#5 Post by don570 »

I have discovered one flaw in alien2puppy.
I made the mistake of using a pupsave file that was
very small, therefore there was little space in filesystem for the new
pet package to form.

My recommendation is to make sure that there is at least 20 mb of free
space to let the pet package be created. Unfortunately there
is no warning at terminal so the user can become confused.

gcmartin

Space priblems probably should be tested for AND warned

#6 Post by gcmartin »

dm570 hit an issue where a check in the alien2puppy tool could be improved on

On this space finding, would it be prudent to put a "test" at the beginning of the alien2puppy script to see if there is 20MB, then warn the user?

It it helps make a better user experience, it may be worth considering.

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

space for pet

#7 Post by don570 »

Recently I have been building my pets on a partition that has lots of space.
This way I avoid the 'lack of space problem'
I originally had been building in /root which is probably a bad practice.

___________________________________________________

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#8 Post by don570 »

I describe how to make Audacity 2.0.4 alpha from nightly build...

http://www.murga-linux.com/puppy/viewto ... 808#697808

Just a note... I am finding when constructing SFS packages that
I must move libraries to /usr/lib/ from /usr/lib/i386-linux-gnu

Pet packages don't have this problem.

___________________________________________________________

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

gettext version of alien2puppy 0.2

#9 Post by don570 »

I made a gettext version of alien2puppy 0.2

I changed some of the wording slightly and
I put a warning if the folder name has blank spaces.

I included a pot file if that will help the translators.

Instructions: put script 'alien2puppy' in executable path.

__________________________________________
Attachments
alien2puppy_gettext.tar.gz
(6.11 KiB) Downloaded 1154 times

rodin.s
Posts: 344
Joined: Wed 22 Sep 2010, 19:50
Location: Ukraine

Russian translation

#10 Post by rodin.s »

I have made Russian translation.
Run this in terminal to make it work:

Code: Select all

gzip -d ru.mo.gz; cp ru.mo /usr/share/locale/ru/LC_MESSAGES/alien2puppy.mo
Attachments
ru.mo.gz
(3.99 KiB) Downloaded 1044 times

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#11 Post by don570 »

I put alien2puppy in my right click utility package for convenience. :lol:
I'll put Russian mo file inside as well.
_________________________________________

I described how I made audacity 2.1 (daily build) with alien2puppy

http://www.murga-linux.com/puppy/viewto ... 377#817377

__________________________________________

I found that I had to remove several libraries that I found in i386 folder
and put these in regular /usr/lib/ folder

_____________________________________

gcmartin

WOOFCE?

#12 Post by gcmartin »

What does it take to have this utility included in future PUPs built via WOOFCE?

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#13 Post by don570 »

I found that one of the audacity effects crashs when it is used.

Sliding time scale/pitch shift


That is the problem when using the daily build. :roll:

..But it works great otherwise.

User avatar
LazY Puppy
Posts: 1934
Joined: Fri 21 Nov 2014, 18:14
Location: Germany

#14 Post by LazY Puppy »

Just tried this to check out, if it can handle the i386-linux-gnu directory (which is used in Precise and needs to be turned into a symbolic link). I've tested having alien2puppy extracted to /root/Downloads and executed from this location.

Tested with these files inside of directory, /root/Desktop/Aqualung_0.9-beta11-precise:

aqualung_0.9~beta11-1ubuntu9_i386.deb
libifp4_1.0.0.2-5_i386.deb
libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2_i386.deb
liblrdf0_0.4.0-5build1_i386.deb
liblua5.1-0_5.1.4-12ubuntu1_i386.deb
libmodplug1_0.8.8.4-1_i386.deb
liboggz2_1.1.1-1_i386.deb
libraptor1_1.4.21-7ubuntu0.1_i386.deb
libwavpack1_4.60.1-2_i386.deb


Command used in a Terminal:

/root/Downloads/alien2puppy -s /root/Desktop/Aqualung_0.9-beta11-precise

Didn't work!

Terminal Output:

Please wait a moment while /root/Desktop/Aqualung_0.9-beta11-precise is populated
The type of files can't be determined

What's wrong here?

---

Edit:

At least it doesn't have any i386-linux-gnu related code, so it obviously can NOT handle new .deb files from multi arch distros like Ubuntu.

PaDS 1.0.4 has the code and so it can do this!

Though, of course that's not the cause for the above mentioned problem...
RSH

"you only wanted to work your Puppies in German", "you are a separatist in that you want Germany to secede from Europe" (musher0) :lol:

No, but I gave my old drum kit away for free to a music store collecting instruments for refugees! :wink:

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#15 Post by don570 »

Code: Select all

/root/Downloads/alien2puppy -s /root/Desktop/Aqualung_0.9-beta11-precise
You were supposed to cd into folder then do command....

Code: Select all

alien2puppy -s /root/Desktop/Aqualung_0.9-beta11-precise
This creates folder 'Aqualung_0.9-beta11-precise' inside the folder containing the debs.

-------------------------------------------------------------------------------


Barry Kauler and 01micko mentioned (in his blog) about half a year ago
that there were problems with libraries in i386-linux-gnu.
Barry K makes a link called i386-linux-gnu , I believe, in some of his
distros. I guess that when they are downloaded , Ubuntu libraries will
be sent to the link's destination ---> /usr/lib/

_________________________________________________

When I use alien2puppy I move all libraries to /usr/lib/ when
the program stops to let the user find the icons.
Audacity doesn't seem to mind. :lol:

____________________________________________________

User avatar
LazY Puppy
Posts: 1934
Joined: Fri 21 Nov 2014, 18:14
Location: Germany

#16 Post by LazY Puppy »

You were supposed to cd into folder then do command....
Thanks for the information.

Will try this later.
Barry Kauler and 01micko mentioned (in his blog) about half a year ago
that there were problems with libraries in i386-linux-gnu.
Barry K makes a link called i386-linux-gnu , I believe, in some of his
distros. I guess that when they are downloaded , Ubuntu libraries will
be sent to the link's destination ---> /usr/lib/

_________________________________________________

When I use alien2puppy I move all libraries to /usr/lib/ when
the program stops to let the user find the icons.
Audacity doesn't seem to mind.
I have Audacity 2.0.0 and 2.0.5 (2.0.6beta) running from SFS without any i386-linux-gnu directory or symbolic link inside the SFS. Works well in my Precise based L.A.S.S.I.E. - should do also in a default Precise.
RSH

"you only wanted to work your Puppies in German", "you are a separatist in that you want Germany to secede from Europe" (musher0) :lol:

No, but I gave my old drum kit away for free to a music store collecting instruments for refugees! :wink:

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#17 Post by don570 »

I made a 64 bit version of audacity this time...

Explained HERE

___________________________________

watchdog
Posts: 2021
Joined: Fri 28 Sep 2012, 18:04
Location: Italy

#18 Post by watchdog »

I have tried to build a sfs of qt5 5.6.1 with webkit from slackware's reps with alien2puppy in slacko64 700 beta3: it fails line 127:

Code: Select all

# ./alien2puppy -s qt5-with_webkit-5.6.1

Please wait a moment while qt5-with_webkit-5.6.1 is populated
./alien2puppy: line 127: .: at-spi2-atk-2doinst.sh: file not found
Perhaps does this script need some update?

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#19 Post by don570 »

Check if there's enough disk space to do the un-archiving operations.
Maybe three times more space than the final package will be.
_________________________________________________

watchdog
Posts: 2021
Joined: Fri 28 Sep 2012, 18:04
Location: Italy

#20 Post by watchdog »

I changed near line 127 from:

Code: Select all

rm -f $DIR/install/slack-desc
		cd $DIR/install
		for i in `ls`; do
		. $i #exec doinst
		done
		cd ../
		cd ../
		echo `pwd`
		rm -rf $DIR/install #remove doinst.sh dir
to:

Code: Select all

rm -f $DIR/install/slack-desc
		cd $DIR/install
		for i in `ls`; do
		chmod +x $i
		./$i #exec doinst
		done
		cd ../
		cd ../
		echo `pwd`
		rm -rf $DIR/install #remove doinst.sh dir
It works now for me but I'm not a coder and so my change must be reviewed.

Post Reply