The State of Package Management

What features/apps/bugfixes needed in a future Puppy
Post Reply

Should Puppy's package format be changed?

Yes, without backwards compatibility.
11
28%
Yes, with backwards compatibility.
10
26%
No, but the PET format should be standardized/stricter.
8
21%
No, the PET format works fine.
10
26%
 
Total votes: 39

Message
Author
User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#136 Post by jemimah »

Moose On The Loose wrote:
This brings to mind a suggestion I made before. Perhaps if things are being worked on, it should be considered:

Make the layers like this:

*************************
Current work
*************************
root & my-documents & perhaps my-applications
*************************
All hardware related settings installed pets etc
*************************
Any loaded extending SFS files
*************************
The main SFS file
************************

This way, when someone changes machines or changes versions of puppy the documents he is working on etc can appear in the new machine or version without trouble. It would mean having two save files but other than that it would not be a major change to the way things are done except keeping track of the files from the pets. We know what directories have the
settings.

The order I show has the pets replacing the SFS files when there is a conflict. I think that this is the right order because the pets are usually done only after the first re-boot if you want to use some SFS.
AUFS really only writes to the top layer. Splitting the writable layers is not really feasible. What you can do is setup puppy how you like, then convert the contents of your save file to a pet, which you could install if you needed to start over for some reason. It's generally better to save documents and such in a location outside the save file.

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#137 Post by jpeps »

jemimah wrote:
For woof-installed packages, you can find a copy of the pet.specs in /root/woof-installed-packages. The pet.specs contains the package name, dependencies, and origin. The list of files is in /root/packags/builtin_files/<packagename>. Barry uses a compressed format that is different than the filelist for user installed packages, but all the information is there. The only thing that is discarded is the pinstall and puninstall scripts - most packages don't have these anyway.
Really? Try searching the various builtin names and let me know what the correct woof pet.spec is. The names could be easily searchable for the specific spec.

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#138 Post by jemimah »

Searching the file is probably not as hard as you think it is.

Code: Select all

cat woof-installed-packages | egrep  ".*\|.*zip.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|"

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#139 Post by jpeps »

jemimah wrote:Searching the file is probably not as hard as you think it is.

Code: Select all

cat woof-installed-packages | egrep  ".*\|.*zip.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|"
This is a start, but still doesn't work for names like "bc". It also takes too long and still needs more filtering out for use in a script. I also don't know if the builtin is using the dev package or not. Why not just use specific names in the builtin list? Note that the script has to account for a name like "acl" referencing "libacl1" (or at least I think that's what it's referencing).

"ed" could be "libedit" or "libedit2", each with separate devs (or who knows what else).

Code: Select all

#!/bin/sh

OLD_IFS="${IFS}"
IFS="|"

cd /root/.packages

var=`cat woof-installed-packages | grep ${1} `

for i in $var; do
 var=`echo  "$i" | grep "^${1}"`
  [ "$var" ] || echo "$i" | grep "^lib${1}"
done

IFS="${OLD_IFS}"

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#140 Post by jemimah »

Sure it does

Code: Select all

cat woof-installed-packages |egrep  ".*\|bc\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|"
How long does this take for you?
real 0m0.008s
user 0m0.006s
sys 0m0.002s
There wouldn't be an aliases problem if you weren't using compat packages - maintaining our own repo allows us to have consistent package names. But you can get a list of aliases from /root/.packages/PKGS_MANAGEMENT.

I think the builtins are that way because it takes less space. Don't like it? Fix it.

Code: Select all

cat /root/.packages/builtin_files/<packagename>  | 
while read LINE ; do 
  if [[ $LINE =~ '/.*' ]] ; then 
    DIR=$LINE
    continue 
  else 
    echo ${DIR}/$LINE
  fi
done

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#141 Post by jpeps »

jemimah wrote:Sure it does

Code: Select all

cat woof-installed-packages |egrep  ".*\|bc\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|"
How long does this take for you?
try it with "acl", "atk" , etc...

Also doesn't address the issues already mentioned. Thanks

I'll keep looking...
Last edited by jpeps on Tue 21 Feb 2012, 22:20, edited 1 time in total.

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#142 Post by sunburnt »

Aitch; Exactly... Puppy`s always looking for a better version ( throw-away ).
I`ve used 3 at a time, each one doing something needed ( reboot ). Sad...

jemimah; I agree, Squash files are important to building an advanced O.S.
As I`ve said listing their advantages, there`s lots to like about Squash files.

jpeps; Why do you say this? In what manner is Puppy better? Boot options?
The present system is light years ahead of something like TC.
T.C. is crude to be sure, but some of it`s basic design is superior to Puppy.

I agree with amigo in that loading apps. into ram is a waste of ram space.
The Squash file takes ~1/3 the apps. size, and running it uses more ram.
Same with a swap, uses ram, slows the O.S. down, and works the H.D.
But to do without a swap a PC needs at least 1GB of ram ( arguably more ).

I always thought the config. files in one save and app. installs in another.
Mixing everything together is a mess and prone to save file corruption.
But if there`s a Linux partition, why have a save file? Use save directories.

Yes, most Puppy installs are frugal, and that says a lot. "Method of choice".
Frugal installs are far less prone to corruption and viruses ( but not perfect ).

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#143 Post by jpeps »

sunburnt wrote:
jpeps; Why do you say this? In what manner is Puppy better? Boot options?
The present system is light years ahead of something like TC.
I haven't been there in a while, but I was referring to it's propensity for boot failures related to installed apps.
jemimah wrote: But you can get a list of aliases from /root/.packages/PKGS_MANAGEMENT.
doesn't help at all

jemimah wrote: I think the builtins are that way because it takes less space. Don't like it? Fix it.
thanks, very helpful. I could do my own distro too, but that's not what this thread is about. How much extra space does using a specific file name take ....geez..

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#144 Post by jpeps »

This seems to do pretty well, although I'm still not clear whether it's the correct package. I didn't see any alsa-lib specs in woof

Code: Select all

#!/bin/sh

OLD_IFS="${IFS}"
IFS="|"

cd /root/.packages

var2=`cat woof-installed-packages |egrep  ".*\|${1}*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*\|.*"`
if [ ! "$var2" ]; then 
  var=`cat woof-installed-packages | grep ${1}`
   for i in $var; do
     var=`echo  "$i" | grep "^${1}" | grep "-" | grep -v "\-dev" | grep -v "\.deb"`
     [ "$var" ] ||  var=`echo "$i" | grep "^lib${1}" | grep "_" | grep -v "\-dev" | grep -v "\.deb"`
      if [ "$var" ]; then  
             spec=`cat woof-installed-packages | grep "$var"`
               name=`echo $spec | cut -d' ' -f1` 
               name=`echo $name | grep $var`
               if [ "$name" ]; then 
                      echo "$spec"
                      break
               fi
               
       fi
   done
 
else
  echo "$var2"
fi

IFS="${OLD_IFS}" 

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#145 Post by jpeps »

A file with all the builtin and matching woof names with pet.spec files is all of 80K, 24K compressed
Attachments
builtin-specs.png
(18.71 KiB) Downloaded 505 times

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#146 Post by disciple »

Frugal installs are far less prone to corruption and viruses ( but not perfect ).
What, are people having problems with full installs? Or do you just mean in theory?
I don't see how they would be any less prone... maybe easier to recover from.
Do you know a good gtkdialog program? Please post a link here

Classic Puppy quotes

ROOT FOREVER
GTK2 FOREVER

2byte
Posts: 353
Joined: Mon 09 Oct 2006, 18:10

The State of Package Management

#147 Post by 2byte »

jemimah wrote: For woof-installed packages, you can find a copy of the pet.specs in /root/woof-installed-packages. The pet.specs contains the package name, dependencies, and origin. The list of files is in /root/packags/builtin_files/<packagename>.
For reference:

Code: Select all

#new: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description| 
#ex: abiword-1.2.4|abiword|1.2.4|5|Document|999K|slackware/ab|abiword-1.2.4-5-i486.tgz|+aiksausus,+gtk2|a nice wordprocessor| 
Just one example --

Perl pet specs from /root/.packages/woof-installed-packages, truncated.

Code: Select all

 
perl_5.10.1|perl|5.10.1|8ubuntu2|BuildingBlock|13156K|pool/main/p/perl|perl_5.10.1-8ubuntu2_i386.deb|....
perl_5.10.1|perl|5.10.1|8ubuntu2|BuildingBlock|13156K|pool/main/p/perl|perl_5.10.1-8ubuntu2_i386.deb|....

perl-base_5.10.1|perl-base|5.10.1|8ubuntu2|System|4608K|pool/main/p/perl|perl-base_5.10.1-8ubuntu2_i386.deb|....
perl-base_5.10.1|perl-base|5.10.1|8ubuntu2|System|4608K|pool/main/p/perl|perl-base_5.10.1-8ubuntu2_i386.deb|....

perl-modules_5.10.1|perl-modules|5.10.1|8ubuntu2|BuildingBlock|15848K|pool/main/p/perl|perl-modules_5.10.1-8ubuntu2_all.deb|....
perl-modules_5.10.1|perl-modules|5.10.1|8ubuntu2|BuildingBlock|15848K|pool/main/p/perl|perl-modules_5.10.1-8ubuntu2_all.deb|..... 
Insn't that odd, they are listed twice and the duplicates are identical....

From the 'pkgname' field in the above pet specs, duplicates ignored
perl_5.10.1
perl-base_5.10.1
perl-modules_5.10.1

Code: Select all

# ls ~/.packages/builtin_files | grep perl
libperl
perl-digest-sha1
perl-html-parser
perl_tiny
# 
um, 3 .deb pkgs, 4 file lists in builtin_files. None match, nor do any match on the 'nameonly' field.
What files did perl-base_5.10.1-8ubuntu2_i386.deb provide?
Which ones came from perl_5.10.1-8ubuntu2_i386.deb, or perl-modules_5.10.1-8ubuntu2_all.deb?

[musing]
I wonder what will happen if I make a pet and upgrade perl to the newer full version, then decide to uninstall it.
I want to take a shot at compiling a new kernel. Barry says you need a full install to do that.
Hmm, what packages are already in my devx.... Which files belong to those ... this app looks interesting, I wonder if it will I break anything if I compile & install it...
[/musing]
.


User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

Re: The State of Package Management

#148 Post by jemimah »

2byte wrote:
jemimah wrote: For woof-installed packages, you can find a copy of the pet.specs in /root/woof-installed-packages. The pet.specs contains the package name, dependencies, and origin. The list of files is in /root/packags/builtin_files/<packagename>.
For reference:

Code: Select all

#new: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description| 
#ex: abiword-1.2.4|abiword|1.2.4|5|Document|999K|slackware/ab|abiword-1.2.4-5-i486.tgz|+aiksausus,+gtk2|a nice wordprocessor| 
Just one example --

Perl pet specs from /root/.packages/woof-installed-packages, truncated.

Code: Select all

 
perl_5.10.1|perl|5.10.1|8ubuntu2|BuildingBlock|13156K|pool/main/p/perl|perl_5.10.1-8ubuntu2_i386.deb|....
perl_5.10.1|perl|5.10.1|8ubuntu2|BuildingBlock|13156K|pool/main/p/perl|perl_5.10.1-8ubuntu2_i386.deb|....

perl-base_5.10.1|perl-base|5.10.1|8ubuntu2|System|4608K|pool/main/p/perl|perl-base_5.10.1-8ubuntu2_i386.deb|....
perl-base_5.10.1|perl-base|5.10.1|8ubuntu2|System|4608K|pool/main/p/perl|perl-base_5.10.1-8ubuntu2_i386.deb|....

perl-modules_5.10.1|perl-modules|5.10.1|8ubuntu2|BuildingBlock|15848K|pool/main/p/perl|perl-modules_5.10.1-8ubuntu2_all.deb|....
perl-modules_5.10.1|perl-modules|5.10.1|8ubuntu2|BuildingBlock|15848K|pool/main/p/perl|perl-modules_5.10.1-8ubuntu2_all.deb|..... 
Insn't that odd, they are listed twice and the duplicates are identical....
Perhaps you should report this type of thing as a bug - you never know, it might get fixed.

2byte
Posts: 353
Joined: Mon 09 Oct 2006, 18:10

#149 Post by 2byte »

Jemimah! Facetious obtuseness? You? :lol:


User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#150 Post by jemimah »

Nope, I'm serious. That's bizarre - there's definitely a bug somewhere.

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#151 Post by jpeps »

The bug may be too much woof-woof

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#152 Post by sunburnt »

disciple; It`s no theory that a Squash file is impervious to viruses.
Though where there`s a will there`s a way, I`m sure it could be done...
The Save file is loose files so it`s open to all the usual problems.
And Squash files are less likely to be corrupted from all the reasons that it
can happen as it`s read-only, and being one file as opposed to thousands.
Both frugal and full installs can rot, but by it`s nature frugal`s more secure.
Last edited by sunburnt on Thu 23 Feb 2012, 23:26, edited 1 time in total.

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#153 Post by jpeps »

Here's a detailed explanation by pemasu on the builtins. Another example of all the thought that has gone into the present product.

http://murga-linux.com/puppy/viewtopic. ... &start=660

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#154 Post by disciple »

disciple; It`s no theory that a Squash file is impervious to viruses.
:?:
The real question is not whether a squash file is impervious to viruses, but rather whether using squash files makes the system more secure.
It doesn't. Because of the magic of unionfs if Puppy somehow managed to catch a virus, regardless of whether you have a full or a frugal install it would affect you the same and be equally likely to happen.
Do you know a good gtkdialog program? Please post a link here

Classic Puppy quotes

ROOT FOREVER
GTK2 FOREVER

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#155 Post by Karl Godt »

if you are able to create a binary that works as a daemon with a weird name like /usr/bin/fds6rtg , make a pet with a pinstall script , that sed's some lines into a file in /etc/init.d to start it at bootup ...

I really think that Puppy gets too fast updated to make people run Puppy longer than two month .

There is too much MS updated my [anti-]virus psychology warfare , that it hurts to read such thoughts . :P

Post Reply