Resolving .deb dependencies

Post here if you are a new Porteus member and you're looking for some help.
LinksysRouter
White ninja
White ninja
Posts: 4
Joined: 19 Jun 2015, 12:23
Distribution: XFCE
Location: Australia

Resolving .deb dependencies

Post#1 by LinksysRouter » 19 Jun 2015, 12:29

There is the occasional program I would like to put in that isn't in the slackware repositories (like http://www.marzocca.net/linux/baobab/ for example). Unfortunately, the package requires a heck of a lot of gtk and gnome dependencies, and I don't know what to package with it to get it to work.

Is there a way to automatically resolve dependencies when retrieving the package for porteus, or failing that, a way to download the deb including *all* dependencies (not just the dependencies for the debian distribution I am downloading them from)?

Or failing that, someone have a baobab xzm already made? Though I'd prefer to know how to for future reference.

Seva
Samurai
Samurai
Posts: 134
Joined: 30 Apr 2015, 12:00
Distribution: XFCE Porteus Desktop 3.1 64bit
Location: Moscow, Russia

Re: Resolving .deb dependencies

Post#2 by Seva » 19 Jun 2015, 12:35

if i understand correctly, porteus is intended to work with software in form of xzm modules, no other formats are suitable
posted from Porteus

LinksysRouter
White ninja
White ninja
Posts: 4
Joined: 19 Jun 2015, 12:23
Distribution: XFCE
Location: Australia

Re: Resolving .deb dependencies

Post#3 by LinksysRouter » 19 Jun 2015, 12:48

Seva wrote:if i understand correctly, porteus is intended to work with software in form of xzm modules, no other formats are suitable
It's possible to convert a .deb to a .xzm and have it work correctly (in fact I have done that with gddrescue 1.19 since the newest version isn't in slackware yet).

The problem with this method is that it doesn't take any dependency handling into account. If you convert a .deb to a module, it doesn't check for dependencies, list them or resolve them (where a .deb would do that in a native debian environment).

So if you have a .deb of the program you want *and* .debs of every dependency it needs that is missing from porteus, you can potentially make it work. The issue is that there isn't any easy way to compare your porteus build to the .deb you are trying to convert and find out what packages you need to get. I am hoping someone knows how to do this.

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: Resolving .deb dependencies

Post#4 by Bogomips » 19 Jun 2015, 13:06

LinksysRouter wrote:The problem with this method is that it doesn't take any dependency handling into account. If you convert a .deb to a module, it doesn't check for dependencies, list them or resolve them (where a .deb would do that in a native debian environment).

So if you have a .deb of the program you want *and* .debs of every dependency it needs that is missing from porteus, you can potentially make it work.
If you are adept enough: Resolving Non-Slackware Dependencies :wink:
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

LinksysRouter
White ninja
White ninja
Posts: 4
Joined: 19 Jun 2015, 12:23
Distribution: XFCE
Location: Australia

Re: Resolving .deb dependencies

Post#5 by LinksysRouter » 19 Jun 2015, 13:18

Bogomips wrote:
LinksysRouter wrote:The problem with this method is that it doesn't take any dependency handling into account. If you convert a .deb to a module, it doesn't check for dependencies, list them or resolve them (where a .deb would do that in a native debian environment).

So if you have a .deb of the program you want *and* .debs of every dependency it needs that is missing from porteus, you can potentially make it work.
If you are adept enough: Resolving Non-Slackware Dependencies :wink:
That's pretty much exactly what I want to do, actually being able to do it... we'll see. I've kermudgeoned harder things when hitting my Ballmer Peak.

neko
DEV Team
DEV Team
Posts: 2109
Joined: 09 Feb 2013, 09:55
Distribution: APorteus-FVWM-ja-x86_64.iso
Location: japan

Re: Resolving .deb dependencies

Post#6 by neko » 19 Jun 2015, 15:52

The following procedure is how to get 'baobad' with dependencies by spmDebian tool.

1. get 'baobab' by 'spmDebian'.
(1) select 'Debian7.8' (that library version is almost match with ones of 'Porteus 3.1')
(2) search package name 'baobab'
(3) download on auto mode
(4) you could get 'baobab/baobab_3.4.1-1_i386.xzm' and 'baobab/lib4baobab_3.4.1-1_i386.xzm'

2. activate
the library for 'baobad' (lib4baobab_3.4.1-1_i386.xzm)
and
the 'baobad' (baobab_3.4.1-1_i386.xzm)

3. execute 'baobad' from terminal
[result]
(baobab-bin:18941): GLib-GIO-ERROR **: Settings schema 'org.gnome.desktop.interface' is not installed

/usr/bin/baobab: 69 行: 18941 Trace/breakpoint trap $P/$CMD-bin $@

4. check on network by google search *)
"baobab package missing gsettings-desktop-schemas dependency"
https://bugs.launchpad.net/ubuntu/+sour ... ug/1294804

[answere]
The output logged in the original report is conclusive.
Install baobab and get errors.
Install gsettings-desktop-schemas and baobab runs.

5. get 'gsettings-desktop-schemas' by spmDebian tool.
you could get 'gsettings-desktop-schemas_3.4.2-3_all.xzm'

6. activate
'gsettings-desktop-schemas_3.4.2-3_all.xzm'

7. execute 'baobad' from GUI menu

*)note
this step may be skipped.

'spmDebian' tool:
please refer
http://forum.porteus.org/viewtopic.php? ... =30#p31070


Thanks.

LinksysRouter
White ninja
White ninja
Posts: 4
Joined: 19 Jun 2015, 12:23
Distribution: XFCE
Location: Australia

Re: Resolving .deb dependencies

Post#7 by LinksysRouter » 20 Jun 2015, 04:13

Looks like it worked!

Image

Cool, the debian spm worked great. That'll be useful if/when I encounter this problem in the future. Cheers.

Post Reply