multi package manager

Stuff that has yet to be sorted into a category.
Message
Author
jamesjeffries2
Posts: 196
Joined: Mon 28 Apr 2008, 00:50

multi package manager

#1 Post by jamesjeffries2 »

Been out of the puppy loop for a while due to having to learn lots about debian for work. Good to be back using puppy, much friendlier feel to it.

Anyway, working on a command line based package manager for puppy. a sort of apt-get style thing that we can link up to ibilio or any other puppy software repository.

After I have the basic functionality working I want to work on getting it be able to install packages from other distributions too such as .deb .rpm etc.

Would anyone use this? and what do some of the more technical people think about using other package formats?

Jim

User avatar
Eyes-Only
Posts: 1043
Joined: Thu 10 Aug 2006, 06:32
Location: La Confederation Abenaquaise

#2 Post by Eyes-Only »

.
Last edited by Eyes-Only on Thu 12 Nov 2009, 18:17, edited 1 time in total.
*~*~*~*~*~*
Proud user of LXpup and 3-Headed Dog. 8)
*~*~*~*~*~*

Jim1911
Posts: 2460
Joined: Mon 19 May 2008, 20:39
Location: Texas, USA

#3 Post by Jim1911 »

jamesjeffries2,

I'm sure that such an application will be embraced. But, as Eyes-Only said, there is work being done that you may want to check out, for example dposil already has done considerable work on getting apt-get and synaptic to work with his dpup and he expects them to be ready for release later this month.

Welcome back,
Jim

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#4 Post by technosaurus »

petget (and install.sh) can do a lot of this (pet, tgz and deb) from the command line already, but not rpm AFAIK. I also made a patch to be able to use txz (needs xz and tar 1.22+)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
gposil
Posts: 1300
Joined: Mon 06 Apr 2009, 10:00
Location: Stanthorpe (The Granite Belt), QLD, Australia
Contact:

#5 Post by gposil »

The latest rpm as in Mandriva2010, Suse and FC is a bit of a mystery, no one can tell me definitively how to unpack one...rpm2cpio does not work on them...Any clues
[img]http://gposil.netne.net/images/tlp80.gif[/img] [url=http://www.dpup.org][b]Dpup Home[/b][/url]

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#6 Post by amigo »

gposil, can you supply a link to one of the rpm's which is not working?

User avatar
gposil
Posts: 1300
Joined: Mon 06 Apr 2009, 10:00
Location: Stanthorpe (The Granite Belt), QLD, Australia
Contact:

#7 Post by gposil »

[img]http://gposil.netne.net/images/tlp80.gif[/img] [url=http://www.dpup.org][b]Dpup Home[/b][/url]

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#8 Post by amigo »

Thanks, I'll see what I can do about this -I've found others which did not unpack with certain tools.

aragon
Posts: 1698
Joined: Mon 15 Oct 2007, 12:18
Location: Germany

#9 Post by aragon »

if that helps: 7z shows me that inside the rpm there is the following archive

Code: Select all

abiword-2.8.1-1mdv2010.0.i586.cpio.lzma
whereas an older rpm has this

Code: Select all

streamripper-1.62.3-8.fc8.i386.cpio.gz
so maybe it is a problem cpio.gz vs. cpio.lzma.

aragon

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#10 Post by amigo »

I think you are onto the answer there aragon -the funny thing is that these brand-new archives are created with a(very) old version of rpm. I have occassionally had problems with some these, but have been able to decompress them using rpm2tgz or disrpm.

I#m going to llok at the rpm-3.x sources being used by these distros to see what is going on.

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#11 Post by amigo »

Okay, I cam up with this which seems to work with rpm2cpio, whether from rpm-3.x or rpm-4.x:

Code: Select all

#!/bin/sh

FILE="$1"
FILE_BASENAME=${FILE%.*}

#rpm2cpio test.rpm > "$FILE_BASENAME".cpio.test
#gzip -dc "$FILE_BASENAME".cpio.test > "$FILE_BASENAME".cpio ||rm -f "$FILE_BASENAME".cpio
#bzip2 -dc "$FILE_BASENAME".cpio.test > "$FILE_BASENAME".cpio ||rm -f "$FILE_BASENAME".cpio
#xz -dc "$FILE_BASENAME".cpio.test > "$FILE_BASENAME".cpio ||rm -f "$FILE_BASENAME".cpio
#cpio -i -m -d < test.cpio

rpm2cpio "$FILE" > "$FILE_BASENAME".cpio.test

for method in gzip bzip2 xz ; do
	$method -t "$FILE_BASENAME".cpio.test &> /dev/null
	if [[ $? = 0 ]] ; then
		$method -dc "$FILE_BASENAME".cpio.test > "$FILE_BASENAME".cpio
	else
		continue
	fi
done

if [[ -f "$FILE_BASENAME".cpio ]] ; then
	rm -f "$FILE_BASENAME".cpio.test
	cpio -i -m -d < "$FILE_BASENAME".cpio &> /dev/null
	if [[ $? = 0 ]] ; then
		rm -f "$FILE_BASENAME".cpio
		echo "Done"
	else
		echo "Failed cpio"
	fi
else
	echo "Failed -no compression method found"
fi
That may *not* work with the busybox implementation of rp2cpio. I'm still trying to get it working another way as I have another tool which I normally use on rpm'S which does not rpm2cpio, but hexdump instead. But I haven't been able to get the lzma 'magic' bytes properly recognized.

jamesjeffries2
Posts: 196
Joined: Mon 28 Apr 2008, 00:50

#12 Post by jamesjeffries2 »

hmm, you are right looks like a lot of the work i was thinking of is already done!

WOW! for me one of the big things that i prefered in other distros was the package manager, but this looks really good.

I'm going to have to rethink this a bit, but I would still like a command version I think for my "puppy server" that I only access over ssh.

jamesjeffries2
Posts: 196
Joined: Mon 28 Apr 2008, 00:50

#13 Post by jamesjeffries2 »

So my understanding is this:

- which ever distro the puppy that you are using is based on can use the packages from that distro in the package manager
- and the user can add any repo from said distro


What I want to do is:

- for ANY puppy user to be able to install what ever packages they want.
- and the user can add ANY repo that contains these packages
- and dependencies can be satisfied cross distribution
- all from the command line

Should be a challenge, especially the cross package dependency stuff

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#14 Post by amigo »

Mixing programs and libs from different distros -even from different versions of the same distro is a bad idea. And the easier you make doing that, the more problems you create for the user.

Since there are over 1,000 distros out there, why not just build a program which will randomly install one program or library from each of themx --what do you suppose the result would be?

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#15 Post by Lobster »

There are two major sources of files
RPM (Red Hat/Fedora) and OpenSuse also using RPM
I believe.
Would that be a good place to start?
Much linux software offered
seems designed for usage by either Red Hat or Suse . . ..
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
gposil
Posts: 1300
Joined: Mon 06 Apr 2009, 10:00
Location: Stanthorpe (The Granite Belt), QLD, Australia
Contact:

#16 Post by gposil »

RPM problem solved...

Yes you need the full version of rpm2cpio, not the busybox one...
rpm2cpio xyz.rpm | xz -d | cpio -idv
That works...
[img]http://gposil.netne.net/images/tlp80.gif[/img] [url=http://www.dpup.org][b]Dpup Home[/b][/url]

User avatar
otropogo
Posts: 764
Joined: Sat 24 Oct 2009, 15:17
Location: Montreal
Contact:

are .deb packets auto-installable via PPM/

#17 Post by otropogo »

I'm a little confused by this thread. I vaguely recall reading a year or more ago that Puppy 4 was able to auto-install debian packages.

I've never actually tried this, but just today Jockjunior posted about successfully installing an anonymiser program called jondo via a .deb package.

What's the story on this?

Can it be done automatically via the pet manager in 4.3.1, or does one have to track down and install dependencies manually?

It was mentioned earlier here that it's dangerous to install packets from a different versions of the same distro.

Presumably that means that to use a .deb packet safely, the kernel for which it was compiled has to be the same as in the version of Puppy in which it's to be installed?

If so, there's not much hope of keeping up to date with the latest browser versions, is there?
otropogo@gmail.com facebook.com/otropogo

User avatar
gposil
Posts: 1300
Joined: Mon 06 Apr 2009, 10:00
Location: Stanthorpe (The Granite Belt), QLD, Australia
Contact:

#18 Post by gposil »

If you are using Dpup or Upup, yes certainly you can use PPM to install debs(with dependencies) from Debian or Ubuntu repos...not sure about 4.3.1...
[img]http://gposil.netne.net/images/tlp80.gif[/img] [url=http://www.dpup.org][b]Dpup Home[/b][/url]

User avatar
sikpuppy
Posts: 415
Joined: Sun 29 Mar 2009, 05:54

#19 Post by sikpuppy »

gposil wrote:If you are using Dpup or Upup, yes certainly you can use PPM to install debs(with dependencies) from Debian or Ubuntu repos...not sure about 4.3.1...
4.3.1 installs downloaded DEB files, but it doesn't check for dependencies. In fact 4.3.1 appears not to check dependencies unless the PPM is used, or the CHECK DEPENDENCIES menu item is used.
ASUS A1000, 800Mhz PIII Coppermine!, 192Mb RAM, 10Gb IBM Travelstar HDD, Build date August 2001.

User avatar
otropogo
Posts: 764
Joined: Sat 24 Oct 2009, 15:17
Location: Montreal
Contact:

#20 Post by otropogo »

sikpuppy wrote:....
4.3.1 installs downloaded DEB files, but it doesn't check for dependencies. In fact 4.3.1 appears not to check dependencies unless the PPM is used, or the CHECK DEPENDENCIES menu item is used.
:? So, if I download a .deb package, I can use 4.3.1's pet manager to install it, and it will tell me what dependencies I need - but then I have to go find them, download them, figure out where they need to go, and manually put them there?

And does the .deb have to be compiled for the kernel used in 4.3.1?
otropogo@gmail.com facebook.com/otropogo

Post Reply