Page 1 of 4

Simple Package Manager for Debian type

Posted: 17 Mar 2014, 04:05
by neko
Current version
spmDebian-15.01.28-noarch-4.xzm (37 K)
http://www.mediafire.com/download/i4vzw ... arch-4.xzm
md5sum: 27303ca65640901ff4f66159be5e58be spmDebian-15.01.28-noarch-4.xzm

is a simple package manager for debian type.
It downloads 'xxx.deb' type packages and converts those to Porteus modules 'xxx.xzm'.


The following description is displayed by pushing 'help' button.
####### INSTRUCTIONS ########

[Getting Package]
1. Specify your preferred package
1.1. Select from package list
(1) Select your preferred version in 'Version'
(2) Select one of 'all', 'main', 'contrib', 'non-free' in 'areas/module'.
'all' is same as 'main + contrib + non-free' areas.
(3) Select your preferred section in 'sections'.
(4) Select a package in 'package list'.
Click a package name, and the description will be displayed.

1.2. Search
(1) Select your preferred version in 'Version'
(2) Select one of 'all', 'main', 'contrib', 'non-free' in 'areas/module'.
(3) Set a search type buttons of
'package name' / 'key words' / 'library name'
(4) Enter search string
(5) Select a package in 'package list' that were searched.

2. Download the specified package
2.1. Single download
(1) Check off 'auto'
(2) Push download button
The specified package will be downloaded and converted to Porteus module in your storage.

2.2. Download with dependent packages
(1) Check on 'auto'
(2) Push download button
The specified package and it's dependent packages will be downloaded and converted to Porteus module in your storage.
The subdirectory in your storage is created and entities that are concerned with the package are symbolic linked here.
The libraries that are used by the package 'xxx_yyy.xzm' are merged into a 'lib4xxx_yyy.xzm' module.
The 'lib4xxx_yyy.xzm' module is created in the subdirectory 'xxx'.

[Merging libraries]
1. Select 'MODULE' in 'areas/module'.
All modules in your storage will be listed up in 'package list'
2. Select a module in 'package list'.
3. Push 'Merge' button
The specified package's dependent packages will be downloaded and converted to Porteus module in your storage.
The subdirectory in your storage is created and entities that are concerned with the package are symbolic linked here.
The libraries that are used by the package 'xxx_yyy.xzm' are merged into a 'lib4xxx_yyy.xzm' module.
The 'lib4xxx_yyy.xzm' module is created in the subdirectory 'xxx'.

Re: Simple Package Manager for Debian type

Posted: 17 Mar 2014, 04:26
by brokenman
Nice piece of work. I had a quick look but will test tomorrow.

Re: Simple Package Manager for Debian type

Posted: 17 Mar 2014, 12:36
by neko
@brokenman

"Simple" means that there are many issues in spmDebian.

One of issues is 'ldd path lack'.
The lacked paths must be set manually.

For example (64bit), 'chromium' might be gotten from 'debian7.4' and activated.
But it would not run.

If following paths is set (in '/etc/ld.so.conf'),
and then "/sbin/ldconfig" command is performed,
'chromium' can run.

=========================
/lib
/lib/x86_64-linux-gnu
/lib32
/lib64
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib32
/usr/lib64
/usr/local/lib
/usr/local/lib64
/usr/x86_64-slackware-linux/lib64
=========================

Thanks.

Re: Simple Package Manager for Debian type

Posted: 17 Mar 2014, 17:26
by francois
Thanks a lot neko. I had some thoughts about these debian packages for which it became more tedious to work with since we left PPM.

I will try it for sure. :D

Re: Simple Package Manager for Debian type

Posted: 17 Mar 2014, 22:30
by Slaxmax
ktsuss missing in kde

Re: Simple Package Manager for Debian type

Posted: 18 Mar 2014, 02:42
by neko
@francois
Thank you for your interest.

I think that it is better to change from 'PPM' to 'USM' on the view point of software size.
However, I may need the debian packages. So I made spmDebian for myself.
It is useful for me. Therefore I open it.
I am happy if it is useful for somebody.



@Slaxmax
Thank you for a bug report.

BUG:
It is impossible to execute spmDebian on KDE.
The reason is "ktsuss missing in kde".

FIX:
[file]
/opt/porteus-scripts/simplepm/simplepm
[function]
checkSPM()
[routine]
=== old === line 44-51
if [[ "$ds" = "kde3" ]];
then
kdesu --noignorebutton -d -u root -c $script $@
exit
else
ktsuss "$script $@ && sleep 2"
exit
fi

=== new ===
for SUDO in gksu gnsu kdesu ktsuss;
do
if [[ ! "`which $SUDO 2>/dev/null`" ]]
then
continue
fi
case $SUDO in
kdesu )
kdesu --noignorebutton -d -u root -c $script $@
;;
ktsuss )
ktsuss "$script $@ && sleep 2"
;;
* )
$SUDO $script $@ &
;;
esac
exit
done
local spmMSG00_03=`gettext simplepm "No su gui found"`
echo "####################################"
echo "$spmMSG00_03"
exit

Re: Simple Package Manager for Debian type

Posted: 18 Mar 2014, 17:24
by francois
I downloaded spmdebian, triggered it. Really, there is the essence of what I was looking for. 8)

I selected:
Jessie
all

I have unchecked auto. Then I have updated, thus the jessie database was updated it seem.

Code: Select all

With package selected, I get gnumerics package. Then I checkd auto. After download I get message;
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
*** There is not a dependency at all. ***
Maybe it should say:
There is no more dependency for gnumeric package.

A. I activate the package and libraries converted into modules. I get the error:

Code: Select all

root@porteus:~# gnumeric
gnumeric: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory
root@porteus:~#


B. The subdirectory in your storage is created and entities that are concerned with the package are symbolic linked here. libraries, there seems to be a libgtk is amongst the downloaded missing symlink.

B. Comment on the procedure:
2.2. Download with dependent packages
...
The libraries that are used by the package 'xxx_yyy.xzm' are merged into a 'lib4xxx_yyy.xzm' module.
Where is lib4xxx_yyy.xzm?
The 'lib4xxx_yyy.xzm' module is created in the subdirectory 'xxx'.
Where is subdirectory 'xxx'
[Merging libraries]
1. Select 'MODULE' in 'areas/module'.
Where is areas/module?

Thanks.

Re: Simple Package Manager for Debian type

Posted: 19 Mar 2014, 04:40
by neko
@francois
Thank you for your report.

1. The report message
"There is not a dependency at all."
and
"There is no more dependency for gnumeric package."

======>
If 'auto' is checked on but a merged libraries module is not created,
there are 2 report messages at end of merging depending on the reason.(except error)

(1) the reason that the target module does not need libraries at all.
"There is not a dependency at all."
(2) the reason that the target module needs libraries but there is not a library at all.
"Did not find a dependent library at all"

note:
On the case that the target module does not need libraries at all,
some library packages may be downloaded.

Because these packages are written in the dependency part of target package information,
and basic libraries are used from system.
The basic libraries are gotten from '00n-xxx.xzm's :
000-kernel.xzm,001-core.xzm,002-xorg.xzm,...

======>
The message will be changed to your suggestion.

2. can not execute with missing libraries
gnumeric: error while loading shared libraries:
there seems to be a libgtk is amongst the downloaded missing symlink.

======>
(may be) 'ldd path lack'
Please refer "by neko » 17 Mar 2014, 13:36" article.

======>
A patch will be inserted in order to set 'libpath for debian'.
This patch run at booting in '/etc/rc.d'.
So, spmDebian must have been already activated at booting.

3. description
(1)lib4xxx_yyy.xzm?

======>
These sentences will be changed.

The libraries that are used by the package 'xxx_yyy.xzm' are merged into a 'lib4xxx_yyy.xzm' module.
The 'lib4xxx_yyy.xzm' module is created in the subdirectory 'xxx'.
-->
The libraries that are used by the target package are merged into a libraries module.
The merged libraries module is created in the subdirectory.
The name of merged libraries module is lib4'target package name'.

(2)Select 'MODULE' in 'areas/module'
Where is areas/module?

======>
This sentence will be changed.

1. Select 'MODULE' in 'areas/module'
-->
1. Select 'MODULE' in 'Select an area or module'

Re: Simple Package Manager for Debian type

Posted: 19 Mar 2014, 06:57
by neko
spmDebian-14.03.17-noarch-2.xzm (32K)
http://www.mediafire.com/download/wicrs ... arch-2.xzm
md5sum: 9cdf5b154f10bb3fd07d661388eee864 spmDebian-14.03.17-noarch-2.xzm

is updated from spmDebian-14.03.17-noarch-1.xzm.

Thank Slaxmax and francois for your reports.

1. bug fix
(1)It is impossible to execute spmDebian on KDE.

Please refer
"by Slaxmax » 17 Mar 2014, 23:30" article,
"by neko » 18 Mar 2014, 03:42" article.

2. additional function
(1) A patch is inserted in order to set 'libpath for debian'.
This patch run at booting in '/etc/rc.d'.
So, spmDebian must have been already activated at booting.

Please refer
"by neko » 17 Mar 2014, 13:36" article,
"by francois » 18 Mar 2014, 18:24" article,
"by neko » 19 Mar 2014, 05:40" article.

3. betterment
(1)merging report message
(2)description by help button

Please refer
"by francois » 18 Mar 2014, 18:24" article,
"by neko » 19 Mar 2014, 05:40" article.

Re: Simple Package Manager for Debian type

Posted: 19 Mar 2014, 11:19
by francois
My problem was that I used spmdebian with kde. :(

Please refer "by neko » 17 Mar 2014, 13:36" article.
Please refer
"by Slaxmax » 17 Mar 2014, 23:30" article,
"by neko » 18 Mar 2014, 03:42" article.

Is there some hyperlinks for these, I do not understand where are these articles could be.

Re: Simple Package Manager for Debian type

Posted: 19 Mar 2014, 19:28
by Slaxmax
@francois

kde is missing ktsuss command used in spmDebian.
In the newest version neko fixed the problem.

Re: Simple Package Manager for Debian type

Posted: 19 Mar 2014, 23:39
by francois
Thanks slaxmax.

I am on xfce presently. Trying spm debian with gnumeric and pychess.

I will report. 8)

What did you achieved to build?

Re: Simple Package Manager for Debian type

Posted: 20 Mar 2014, 01:12
by brokenman
In Porteus v3.0 ktsuss was replaced with a modified 'gnsu' package (latest shadow package broke ktsuss and gksu) which uses sudo as a back end. Any ktsuss file should link to /usr/bin/gnsu.

Re: Simple Package Manager for Debian type

Posted: 20 Mar 2014, 02:55
by Slaxmax
@francois
I am only testing :D

@brokenman
Thanks for your explanation

Re: Simple Package Manager for Debian type

Posted: 20 Mar 2014, 16:02
by tome

Code: Select all

In Porteus v3.0 ktsuss was replaced with a modified 'gnsu' package (latest shadow package broke ktsuss and gksu) which uses sudo as a back end. Any ktsuss file should link to /usr/bin/gnsu.
I use '/usr/bin/ktsuss' from v2.1 in v3.0 (i486) and it works better for me than gnsu, that can not recognize whitespace characters.