Official Package Manager

New features which should be implemented in Porteus; suggestions are welcome. All questions or problems with testing releases (alpha, beta, or rc) should go in their relevant thread here, rather than the Bug Reports section.
Locked
User avatar
brokenman
Site Admin
Site Admin
Posts: 5456
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Official Package Manager

Post#61 by brokenman » 12 Oct 2011, 03:09

Porteus Package Manager2 has arrived. I am just having it cleaned and polished before releasing it for testing. It is far from perfect; however it does have some major improvements over the existing version. At the moment dependency resolution does not work solid for ALL third party repos, but it will get better. It is primarily to be used for getting modules from the official porteus server, or converting slackware packages. In this manner, most, if not all dependencies will be resolved. It weighs in at under 300Kb which is great for such a large script and keeps in line with our minimal size ideaology.

FEATURES:
Dependency resolution: across Porteus and slackware repos.
Activation: When you activate a module, its deps are found and activated. If deps don't exist they are resolved.
Deactivation: Deps of module being deactivated are found, and if not being used by another app, are also deactivated.
Config file editing: This allows you to change repo URL's or remove config files.
Rootcopy support: If PPM senses you are using 'always fresh' mode it can palce config files into rootcopy.
Package browse or search by keywords: Allows you to search for 'image editor' or similar.
Module merger: I don't support it. But i included a module merger for people that prefer one single module with all deps included.
Third party repos: Chakra, Salix, Debian, Fedora, Fidoslax, Slackbuilds, Slacky
Fedora is currently dormant and stops short of downloading the package. I think the process of generating the menus is too time consuming and am thinking about dropping Fedora from the final version. I left it in place to get opinions. Should it stay or should it go?

Slackware converter

You can convert from a slackware ISO, a local slackware file, a folder full of slackware packages or use the online repo's. Packages are converted and placed in your chosen storage. When you attempt to activate them, all deps will be resolved (hopefully).

Slackbuilds
Allows you to sync a slackbuilds repository locally after which you can browse the packages, select one, download it and build it locally on your system. You will need to watch the build output to ensure the build was successful. Advanced users can also edit the .slackbuild file or just download the source to do with as they please. If you don't want to sync, you can just use the online express repo and download a package source to build as you like.

TODO:
Add a library finder. I currently use a script that allows me to enter a library, and it will go and search across multiple distro repositories until it finds the package that contain the library i need. It then converts the package into a Porteus compliant module. I will add this to the next PPM.

Tidy up dependency resolution for 3rd party apps.


This project has been an epic saga for me ... at times very frustrating and it has taken me away from maintaining 32bit Porteus (which i enjoy). It may be that not many more NEW features are added and i spend a little time just refining what i already have. As usual constructive comments are welcome, as long as they don't require me to spend months working or rewriting this animal.

Once i have cleaned it up a little i will release the 32bit version for testing. During this time i will be road testing the 64bit version and fixing any bugs that appear.
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
Ahau
King of Docs
King of Docs
Posts: 1331
Joined: 28 Dec 2010, 15:18
Distribution: LXDE & Xfce 32/64-bit
Location: USA

Re: Official Package Manager

Post#62 by Ahau » 12 Oct 2011, 15:25

:Yahoo!: :Yahoo!:

Brokenman, thank you for all of your hard work on this! It will pay massive dividends for the users, new and old. I'm very much looking forward to seeing it in action!
Please take a look at our online documentation, here. Suggestions are welcome!

User avatar
brokenman
Site Admin
Site Admin
Posts: 5456
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Official Package Manager

Post#63 by brokenman » 13 Oct 2011, 01:46

Ok i have the 32bit version ready for testing. Remember this is only a testing version and is not a solid working release. Please try the Fedora function and let me know if you think it takes too much time. Personally i am not 100% happy with the final version. There is too much going on and dep resolution really only works solid for slackware/slacky. It sucks a littel for 32bit because these days all slackware apps are built for kde4 ... so 32bit users should use the 12.2 repo.

Anyway ... after some thinking i would like to rewrite it again (and take some time) to make sure everything works flawlessly. I would leave out all non slackware 3rd party repos except maybe one. I'd like to get debian working complete with full dep resolution. Let me know your thoughts.

Known problems:
Looping dep resolution.
At the moment due to the construct we will have to live with it.
Pauses before downloading from some repos.
This is because some repos are FTP and login needs to complete. Other times it needs to confirm that the repo is up before downloading from it, and this can take a little time.
Too many missing deps
For 32bit you should use the 12.2 slackware repo. As the porteus server becomes more populated with module this should improve.

Download PPM1.1 here
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
fanthom
Site Admin
Site Admin
Posts: 4566
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland, currently - Cork, IE
Contact:

Re: Official Package Manager

Post#64 by fanthom » 14 Oct 2011, 20:20

I would leave out all non slackware 3rd party repos except maybe one.
yep - now i'm thinking the same. i wasn't aware that slackbuilds repo is that large :)
Slackware + slackbuilds should cover 90% of packages which are needed by the users. not sure if Salix provides their own packages or just adding dep resolution to slackware's one.
for 32bit you could leave FIDOSlax as extras.
maybe Debian for both archs but with warning that only cli/scripting_language (python, php, etc..) apps should be pulled from it, no libs as it can cause more bad than good things.

more to come...

EDIT:\
i see that menu (application list) for slackbuilds is created "on the fly" every time user enters this category (which takes time).
maybe better would be to store it in a cache file in /opt/ppm folder (or whatever) and create once after every sync?
sync -> create menu -> ready to go

EDIT2:
played with "conversion" functions in new PPM - here is the result
a) couldn't get Fedora and chakra repos to work, application hanged at some stage. i would mark them for removal.
b) "debian repo" adds list of packages (a-z) to the existing one at every try
c) "return" function did not work for me few times. Also - got few Xdialog crashes during work with PPM. all errors are reproducible.

great work in general but still needs some polishing :)
Please add [Solved] to your thread title if the solution was found.

beny
Full of knowledge
Full of knowledge
Posts: 724
Joined: 02 Jan 2011, 11:33
Location: italy

Re: Official Package Manager

Post#65 by beny » 15 Oct 2011, 23:14

hi brokenman how can i change the config of repository if i want choose slacky or debian the layout of program it is like the old version, but nice graphic,and the help script not work ppm crash when i click on it.can be that i do not remember the procedure to make the upgrade of repository,ok bye

User avatar
brokenman
Site Admin
Site Admin
Posts: 5456
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Official Package Manager

Post#66 by brokenman » 21 Oct 2011, 17:14

Help function will point directly to an HTML file in final version. All config files are stored in /etc/ppm and this is where you can change repos. You can also do it through the menu item 'Manage configuration files'.

The graphics are nicer in this version, but Xdialog is difficult to manipulate. The next version will have a better GUI.

Posted after 5 days 2 hours 39 minutes 33 seconds:
Here is a sneak screen of the next version i am working on. This version will not close the window and open another every time a button is clicked ... this was annoying me. I think it looks much nicer too.

Image
Image
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
fanthom
Site Admin
Site Admin
Posts: 4566
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland, currently - Cork, IE
Contact:

Re: Official Package Manager

Post#67 by fanthom » 21 Oct 2011, 19:13

i like it very much :Bravo:
Please add [Solved] to your thread title if the solution was found.

User avatar
francois
Contributor
Contributor
Posts: 4946
Joined: 28 Dec 2010, 14:25
Distribution: kde xfce porteus manjaro kubun
Location: Enfin l'été, le changement climatique attendu: le soleil.

Re: Official Package Manager

Post#68 by francois » 21 Oct 2011, 21:48

I had to reread the hole thread as I did not come on it enough often. Congratulations to you brokenman, but also to the testers.

Your GUI looks real great and gives at first sight the power of the PPM tool. It gives you more saliva in the mouth. Its very hard to resist testing it.
Voltaire: Le mieux est l'ennemi du bien.

User avatar
brokenman
Site Admin
Site Admin
Posts: 5456
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Official Package Manager

Post#69 by brokenman » 24 Oct 2011, 13:59

Can someone please try to compile the slackbuild here on 64bit Porteus or slackware please?

You can get the source here.

I get the following error:

Code: Select all

gtkdialog.c:36:21: fatal error: gtk/gtk.h: No such file or directory
compilation terminated.
make[3]: *** [gtkdialog.o] Error 1
make[3]: Leaving directory `/tmp/SBo/gtkdialog-0.8.0/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/SBo/gtkdialog-0.8.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/SBo/gtkdialog-0.8.0'
make: *** [all] Error 2
The header exists so not sure what to make of it. pkg-config i installed but i am sure it is just a compile time option that needs setting. Heeeeelllp. Very important.
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
fanthom
Site Admin
Site Admin
Posts: 4566
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland, currently - Cork, IE
Contact:

Re: Official Package Manager

Post#70 by fanthom » 24 Oct 2011, 14:19

Code: Select all

gtkdialog.c:36:21: fatal error: gtk/gtk.h: No such file or directory
this reminds me an error which i had during Xdialog compilation.
Xdialog wanted to compile against gtk1 (which - as i remember correctly - is present in 32bits but not in 64) and i had to use ./configure --enable-gtk2 flag (or something very similar) to compile it successfully on 64bit box.

please check if gtkdialog supports gtk2. i hope yes cause i dont really want to pull gtk1 - well, will do if i have to...

Cheers
Please add [Solved] to your thread title if the solution was found.

beny
Full of knowledge
Full of knowledge
Posts: 724
Joined: 02 Jan 2011, 11:33
Location: italy

Re: Official Package Manager

Post#71 by beny » 24 Oct 2011, 15:07

hi brokenman the file is at this link http://www.mediafire.com/?v34t31gab9l7bu1

User avatar
brokenman
Site Admin
Site Admin
Posts: 5456
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Official Package Manager

Post#72 by brokenman » 24 Oct 2011, 15:29

Thanks Beny ... can always count on you. :Yahoo!:
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
francois
Contributor
Contributor
Posts: 4946
Joined: 28 Dec 2010, 14:25
Distribution: kde xfce porteus manjaro kubun
Location: Enfin l'été, le changement climatique attendu: le soleil.

Re: Official Package Manager

Post#73 by francois » 04 Nov 2011, 23:42

@brokenman:
I appreciate very much the huge enterprise that represents the features that you are currently implementing for PPM.

I just looked recently on the side of arch linux with the archbang iso working with openbox. It looks good:
http://archbang.org/

It gave me some taste of the arch linux system and philosophy. They pretend to maintain one of the most exhaustive package system.

In relation with ppm, wouldn't it be a good idea that we could be pacman packages (arch linux package manager) and/or AUR builpkg (makepkg) compatible. This would give us some access to a huge library of packages. Here is a vew of AUR for smplayer:
http://aur.archlinux.org/packages.php?ID=15280
Voltaire: Le mieux est l'ennemi du bien.

User avatar
brokenman
Site Admin
Site Admin
Posts: 5456
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v3.2rcX all desktops
Location: Brazil
Contact:

Re: Official Package Manager

Post#74 by brokenman » 05 Nov 2011, 00:32

Funny you would mention this ... i already played with the idea while creating the current PPM and settled on salix and debian. I think arch might be a good idea but i need to look into it a little further. The structure of the repositories is important, and i prefer to use repos that give package description index files without having to download the package to find out what it is.

Archbang looks very cool, i might grab it and check out the features.
How do i become super user?
Wear your underpants on the outside and put on a cape.

Falcony
Full of knowledge
Full of knowledge
Posts: 233
Joined: 01 Jan 2011, 12:44
Location: Russia

Re: Official Package Manager

Post#75 by Falcony » 14 Nov 2011, 07:11

@ Hi brokenman,

any updated version of PPM available to test?

32-bit

Locked