Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Thu 24 Jul 2014, 11:38
All times are UTC - 4
 Forum index » Taking the Puppy out for a walk » Suggestions
The State of Package Management
Moderators: Flash, Ian, JohnMurga
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 4 of 15 Posts_count   Goto page: Previous 1, 2, 3, 4, 5, 6, ..., 13, 14, 15 Next

Should Puppy's package format be changed?
Yes, without backwards compatibility.
28%
 28%  [ 11 ]
Yes, with backwards compatibility.
25%
 25%  [ 10 ]
No, but the PET format should be standardized/stricter.
20%
 20%  [ 8 ]
No, the PET format works fine.
25%
 25%  [ 10 ]
Total_votes : 39

Author Message
2byte

Joined: 09 Oct 2006
Posts: 357

PostPosted: Wed 01 Feb 2012, 17:56    Post_subject:  

I knew before posting the idea would be rejected out of hand. Amigo is 100% right, although I don’t understand the point of that snide remark in the last sentence.

Jemimah
It might cripple the functionality of the installed software but it would prevent the base system from being crippled by a poorly packaged pet. I am talking about user installed software, not system upgrades. Those things you say we already have, yep. The idea doesn’t do away with those as you pointed out. As for foreign packages, I was referring to installing without fear of overwriting critical system files. Damage from running foreign software is unpreventable.

As long as the PPM blindly installs everything in a pet and blindly executes any pinstall script and then blindly removes every file that was in the pet people are going to continue to fubar their system.

If the Puppy package management isn’t broken, then don’t fix it.

No hard feelings Smile

_________________

Back to top
View user's profile Send_private_message 
jemimah


Joined: 26 Aug 2009
Posts: 4309
Location: Tampa, FL

PostPosted: Wed 01 Feb 2012, 19:45    Post_subject:  

If you want to prevent overwriting system files, by far the easiest and most effective way is to mount the save file below the main sfs - as we discovered in a saluki-008 bug. Laughing

Perhaps it is better to have the user confirm system file overwrite.

It is important to understand that good package management (in the style of other distros) and read-only filesystems can be rather at odds with each other.

If you want apt-style package management, the only option is the one Sickgut concluded with - you must design the entire distro around it. You must discard Puppy entirely and start over. Anything less is doomed to failure.
Back to top
View user's profile Send_private_message Visit_website 
2byte

Joined: 09 Oct 2006
Posts: 357

PostPosted: Wed 01 Feb 2012, 20:03    Post_subject:  

Well I'll just say this, then butt out. I have been using this sort of thing as my own package control system since Lucid was first released and it has performed very well.

Best regards to all

_________________

Back to top
View user's profile Send_private_message 
darkcity


Joined: 23 May 2010
Posts: 2424
Location: near here

PostPosted: Thu 02 Feb 2012, 06:43    Post_subject:  

Hi 2byte

It is possible you could upload your system to the forum so other could test it?

Very Happy

_________________
helping Wiki for help | IF SendSpace link = "dead" THEN PM me ("up file to http://meownplanet.net/")
Back to top
View user's profile Send_private_message Visit_website 
Lobster
Official Crustacean


Joined: 04 May 2005
Posts: 15117
Location: Paradox Realm

PostPosted: Thu 02 Feb 2012, 07:17    Post_subject:  

If Sqlite is too complex a flatfile database that creates a text file
is available as a base
http://puppylinux.info/topic/p-data-alpha-flat-file-database

_________________
Puppy WIKI
Back to top
View user's profile Send_private_message Visit_website 
sunburnt


Joined: 08 Jun 2005
Posts: 5009
Location: Arizona, U.S.A.

PostPosted: Thu 02 Feb 2012, 16:47    Post_subject:  

amigo; I myself don`t assume SFS and non-union Squash files are new.
However they don`t seem to be used much even though they have many
important improvements over the classic legacy .tar.gz type package.

Tiny Core Linux uses them very effectively, but a little oddly in my opinion.
But the manner of usage is consistent with the way the packages are setup.

To statically compile app. Squash packages by the Linux distro. it`s to be
used on would seem to be in line with what amigo is suggesting.
Static compiling solves nearly all shared library mismatches that might occur.
Back to top
View user's profile Send_private_message 
amigo

Joined: 02 Apr 2007
Posts: 2217

PostPosted: Fri 03 Feb 2012, 13:22    Post_subject:  

The problem with statically-linking everything is that you wind up shipping duplicates of libs and making each app much larger than necessary -unless you use binary compression which means each app winds up needing more RAM and cycles than necessary...

Anyway, simply following the natural arrangement of things, developers usually write software in a compartmented way. Just because you are trying to get a certain 'capability' working, doesn't mean you should deliver it as a single-file or single-stop-solution.

From a devs standpoint, it's much easier to maintain, bugfix or add features using a modular approach -despite the use of git, etc. Those guys are still thinking along the lines of 'stable' and experimental code, with stable being for the public consumption and experimental for the devs.

The matter of staying compatible for a useful amount of time also comes into play. If your desired program depends on somebody elses lib, then it makes sense for you to release your code where it is working against a 'release' version of those libs.
Back to top
View user's profile Send_private_message 
sunburnt


Joined: 08 Jun 2005
Posts: 5009
Location: Arizona, U.S.A.

PostPosted: Fri 03 Feb 2012, 15:25    Post_subject:  

amigo; Exactly!!!
Quote:
it makes sense for you to release your code where it is working against a 'release' version of those libs.

This makes for an endless cycle of being chained to someone else`s whims.
I`m sure you know what I`m talking about... Constant changes to your app`s.
dependencies forcing you to update your app. in a never ending cycle.
I`ve had to update apps. several times because of changes made to Puppy.

If apps. are statically built, then this won`t happen nearly as much.
If a new Puppy has a different lib., your app. will probably keep working.
Yes the apps. are larger, but not by a lot, and ram`s no longer hoarded.

I have run a statistical analysis of library size verses it`s common usage.
Big common libs. would be shared, smaller non-common ones static.
First a process of sorting out the installed shared libs. is needed.
So when building apps., if the libs. not already installed then it`s static.

# Best for Barry to build many shared libs. for all of the Puppy types.
# Then app. building is easy to do without concern for building the libs.

It might be a fair assumption that Puppy has a lot of the common libs.
Not many more would be added to Puppy as shared libs. ( maybe 2x ).
This could be added to the Devx SFS file ( It has 322MB of libs. now...).
Back to top
View user's profile Send_private_message 
jpeps

Joined: 31 May 2008
Posts: 3220

PostPosted: Sat 04 Feb 2012, 19:00    Post_subject:  

sunburnt wrote:


# Best for Barry to build many shared libs. for all of the Puppy types.
# Then app. building is easy to do without concern for building the libs.

It might be a fair assumption that Puppy has a lot of the common libs.
Not many more would be added to Puppy as shared libs. ( maybe 2x ).
This could be added to the Devx SFS file ( It has 322MB of libs. now...).


In the interest of keeping things small, having a large central repository of available libs to use as needed would seem preferable.
Back to top
View user's profile Send_private_message 
sunburnt


Joined: 08 Jun 2005
Posts: 5009
Location: Arizona, U.S.A.

PostPosted: Sun 05 Feb 2012, 16:59    Post_subject:  

jpeps; Agreed, adding to the the Devx file may not be the best choice.
Splitting libs. to a few SFS files by usage may be the best approach.
A separate media libs. SFS file, as media is probably the biggest group.

The idea being... Libs. built by Puppy devs. for the main Puppy releases.
Then most of the Puppy variants should have no problems with the libs.
These extra lib. SFS files would make .sfs / .pet package building a snap.

And they would increase the chance of random app. binary files working.
I think some times a Debian app. binary would work, but the Debian lib. fails.
Back to top
View user's profile Send_private_message 
jpeps

Joined: 31 May 2008
Posts: 3220

PostPosted: Sun 05 Feb 2012, 18:35    Post_subject:  

sunburnt wrote:


And they would increase the chance of random app. binary files working.
I think some times a Debian app. binary would work, but the Debian lib. fails.


well...there's the issue of versions, symlinks, etc etc. Good build scripts can work for static apps like skype, for example, so there's no need to store anything. Quite often, a renamed link to a another lib is all that is needed. Then there's dependency hell...lets say for some gnome app. The question is...how much do you want to override intelligence with automation?
Back to top
View user's profile Send_private_message 
scsijon

Joined: 23 May 2007
Posts: 1020
Location: the australian mallee

PostPosted: Sun 05 Feb 2012, 22:24    Post_subject:  

If you want a new Package Manager it needs to be able to handle the current format else there will be problems. However there is no reason why it should not have two sections, one that handles the current format and another the new format, but the new format would be need to be flexable enough to be changed/extended, rather than replaced in the future else people will grumble and eventually go elsewhere with complaints like 'it's too hard to add apps'.

What will need doing though if it is to suceed, is either creating a repointing table for those many faithfull old apps that will remain as is, to deal with the extra and changes in structure, ir an orderly update/repackage with only the pet.specs (and maybe the packagename changed to the new format with a ref to show it's part of an old series).

I looked at OpenSuSE's packaging, as I was considering adding OpenSuSE to our available base sets and build a OpenSuSE based Puppy.

In their case they set their dependancies quite differently to most others. Dependancies can be both Packages or/and individual files, including versions.

They also use the xlm format {xlm format url missing}, which is quite an eye-opener on what can be included and what can be in it.

For example, for the opensuse package ConsoleKit-0.4.5-6.2.2.i586.rpm, (in xlm format) the pet.specs is:

Code:

##----------------------------------------
=Pkg: ConsoleKit 0.4.5 6.2.2 i586
=Cks: SHA1 3d3c52dd2b7a1bdb8710d7771e37984f5c79d2bf
+Req:
/bin/sh
/bin/sh
/bin/sh
config(ConsoleKit) = 0.4.5-6.2.2
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.2)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libck-connector.so.0
libdbus-1.so.3
libdbus-glib-1.so.2
libglib-2.0.so.0
libgobject-2.0.so.0
libgthread-2.0.so.0
libpam.so.0
libpam.so.0(LIBPAM_1.0)
libpam.so.0(LIBPAM_EXTENSION_1.0)
libpolkit-gobject-1.so.0
libpthread.so.0
libpthread.so.0(GLIBC_2.0)
libz.so.1
login
pam-config >= 0.22
pwdutils
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
-Req:
+Prv:
config(ConsoleKit) = 0.4.5-6.2.2
libck-connector.so.0
pam_ck_connector.so
ConsoleKit = 0.4.5-6.2.2
ConsoleKit(x86-32) = 0.4.5-6.2.2
/etc/ConsoleKit
/etc/ConsoleKit/run-seat.d
/etc/ConsoleKit/run-session.d
/etc/ConsoleKit/seats.d
/etc/ConsoleKit/seats.d/00-primary.seat
/etc/dbus-1/system.d/ConsoleKit.conf
/usr/bin/ck-history
/usr/bin/ck-launch-session
/usr/bin/ck-list-sessions
/usr/sbin/ck-log-system-restart
/usr/sbin/ck-log-system-start
/usr/sbin/ck-log-system-stop
/usr/sbin/console-kit-daemon
-Prv:
=Grp: System/Daemons
=Lic: GPLv2+
=Vnd: openSUSE
=Src: ConsoleKit 0.4.5 6.2.2 src
=Tim: 1319908259
=Loc: 1 ConsoleKit-0.4.5-6.2.2.i586.rpm
=Siz: 89661 323799


and this is for just one package!

= are statements about the app
+ and - Req: are the file requirements boundaries (files/packages between must be already there.
+ and - Prv: is privlidge access requirements
and their are others.

As much as I would love to use it, I don't think that most puppy builders would be willing to spend that much time working on the package file for a single app, it would however fix that problem we have with multiple bases and missing dependancies though!

I might add that opensue works on requiring any dependancies installed BEFORE the new app is installed, that is one thing we should consider somehow making mandatory, as we fall down at that step. Especially as a growing number of apps are now integrating and the installs are either amending dependancy config files or their own if a dependancy is there and available.

anyway that's my initial thoughts on this topic

regards to all
Back to top
View user's profile Send_private_message Visit_website 
2byte

Joined: 09 Oct 2006
Posts: 357

PostPosted: Sun 05 Feb 2012, 22:32    Post_subject:  

There is a lot of discussion about the current ppm. What I would like to know;
Is there anyone willing to band together and create a brand new ppm?
If we did create one, would it be incorporated into Woof-X? What criteria would it have to meet to become 'official'?
Barry, are you willing to comment about this?

darkcity wrote:
It is possible you could upload your system to the forum so other could test it?
darkcity
The 'system' I use isn't an automated utility that could be uploaded for testing. Another thing about it is it's an all or nothing sort of thing; you either use Puppy's package manager or this so called system, but you can't use both.

_________________

Back to top
View user's profile Send_private_message 
jpeps

Joined: 31 May 2008
Posts: 3220

PostPosted: Mon 06 Feb 2012, 01:57    Post_subject:  

scsijon wrote:

I looked at OpenSuSE's packaging, as I was considering adding OpenSuSE to our available base sets and build a OpenSuSE based Puppy.

In their case they set their dependancies quite differently to most others. Dependancies can be both Packages or/and individual files, including versions.


Does that mean each and every dependency must be uploaded to a puppy repository?
Back to top
View user's profile Send_private_message 
sunburnt


Joined: 08 Jun 2005
Posts: 5009
Location: Arizona, U.S.A.

PostPosted: Mon 06 Feb 2012, 16:59    Post_subject:  

Doesn`t anyone see the value of not using loose files in an O.S.?
Squash files can`t get viruses ( I believe...), and don`t corrupt easily.
SFS files require almost no package management, only config. files.
They stay compressed, load to ram, and can be swapped on-the-fly.
And they can be mounted from anywhere, hd, ram, usb, lan, and web.

One of Puppy`s big strengths is it`s main SFS file holding most of the O.S.
And the devx file ( "DEVeloper eXtra", I think...) is it`s second best setup.

I suggest a few more SFS file extentions like medx ( "MEDia eXtra" ).
Having more "shared" libs. available in SFS form is a real good idea.

Have enough extra SFS lib. files covering most of the common libs.
Odd libs. are always needed, so static compile them into the apps.
An app. package builder should check shared libs. and list needed libs.
Back to top
View user's profile Send_private_message 
Display_posts:   Sort by:   
Page 4 of 15 Posts_count   Goto page: Previous 1, 2, 3, 4, 5, 6, ..., 13, 14, 15 Next
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Taking the Puppy out for a walk » Suggestions
Jump to:  

Rules_post_cannot
Rules_reply_cannot
Rules_edit_cannot
Rules_delete_cannot
Rules_vote_cannot
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1085s ][ Queries: 15 (0.0116s) ][ GZIP on ]