How do dotpup packages work?

Using applications, configuring, problems
Post Reply
Message
Author
guest101

How do dotpup packages work?

#1 Post by guest101 »

hi pups,,

I am curious how dotpup packages work..I know about the 'howto make packages' page but do these packages check dependencies against a current list or are apps self containd app-dir's ?

Does puppylinux support LSB, and if so why not.

thx
guest101

User avatar
jmarsden
Posts: 265
Joined: Sat 31 Dec 2005, 22:18
Location: California, USA

#2 Post by jmarsden »

According to their creator, GuestToo, dotpups are a flexible installer, not a package management tool. What a dotpup does when you click it is entirely defined inside it. It can do anything at all. Whether a particular dotpup does any form of dependency checking or package management is completely up to its author. There are no rules inherent in the dotpup system. The word "dangerous" has been applied to dotpups :-)

As to FHS, Puppy is not yet FHS compliant. Some within the Puppy community would like to work towards increased (or even full) FHS compliance, but we're a long way from that right now (as at Puppy 1.0.7).

Jonathan

User avatar
bombayrockers
Posts: 427
Joined: Sat 24 Sep 2005, 16:47
Location: Mumbai, India
Contact:

#3 Post by bombayrockers »

This is one way to check dependency after installing a dotpup. All the newer dotpups register with the pupget package manager. After installing the dotpup start pupget package manager and click on check dependencies of installed packages. Select the package you have just installed. If there are some unresolved dependencies it would let you know.

I once tried to fork the code from pupget to dotpup.sh, but since i am not a coder I could not get it to work.

Guest

#4 Post by Guest »

jmarsden wrote:According to their creator, GuestToo, dotpups are a flexible installer, not a package management tool. What a dotpup does when you click it is entirely defined inside it. It can do anything at all. Whether a particular dotpup does any form of dependency checking or package management is completely up to its author. There are no rules inherent in the dotpup system. The word "dangerous" has been applied to dotpups :-)
hmm...dangerous indeed....so the pupdog package creator script is assumed to handle all this I take it...if an app requires a additional dependnecy how does the script handle it ?
As to FHS, Puppy is not yet FHS compliant. Some within the Puppy community would like to work towards increased (or even full) FHS compliance, but we're a long way from that right now (as at Puppy 1.0.7).[/fquote]

so use of FHS is directly linked to LSB ?..is there a timeframe for inclusion of such things and why is it taking so long ( not flaming just want to understand)

cheers
guest101

Jonathan

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#5 Post by GuestToo »

dotpups are a flexible installer, not a package management tool
yes, this is exactly correct

a dotpup file is intended to work much like a Windows install-me.exe file would work, for example, as built by NSIS (Nullsoft Scriptable Install System)
NSIS packages can add/remove entries in the menu and quick-launch bar, create an uninstaller, etc etc ... but as far as i know, it does not do this by itself ... it does it by interfacing with the Windows package management tools, which actually do the work

a dotpup package is intended to work much like an installer file built with NSIS ... for example, eMule, 7-zip, Miranda, Abiword, Bittorrent Mainline, Azureus, OpenOffice, DOSBox, Picasa, Kaspersky, etc etc etc ... see http://nsis.sourceforge.net/Users

how each packager chooses to implement their packages (what files they put in the package and what they put in the NSIS installer script) is totally up to them

i think the dotpup system does exactly what it was intended to do
The word "dangerous" has been applied to dotpups
yes, by me

the reason a dotpup is potentially dangerous, is that it automatically runs an executable called dotpup.sh, which is usually a script ... of course, clicking any executable file will be equally potentially dangerous

pupget packages are equally potentially dangerous, for the same reason ... installing a pupget package will run a script called pinstall.sh, if it's in the package
do these packages check dependencies against a current list or are apps self containd
no, they are not intended to check for dependencies

a dotpup package is intended to be self-contained and to "just work" ... if a package requires dependencies that are not included with the standard Puppy distro, the packager should either include whatever is necesssary for the package to run, or the documentation with the download link should tell the user what is necessary to be installed for the package to run

an installer, even one as simple as the dotpup installer, can of course, make use of any package management tools that might be provided for it (by the Puppy system or by third party support) ... including dependency resolving tools ... there are distros that do not seem to find automatic dependency resolving tools necessary, for example, distros that are based on Slackware

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#6 Post by GuestToo »

by the way, if you prefer a more complex package menagement system with dependency resolving capability, like apt-get and urpmi, that you will find in an everything-and-the-Out house-sink distro, you will probably not like DSL's myDSL extensions either, which is also a simple package system (that i assume also works the way they intended)

dotpup packages can be used by anyone, even advanced users, but it is specifically targeted at Linux newbies that are used to using Windows

Guest

#7 Post by Guest »

GuestToo wrote:by the way, if you prefer a more complex package menagement system with dependency resolving capability, like apt-get and urpmi, that you will find in an everything-and-the-Out house-sink distro, you will probably not like DSL's myDSL extensions either, which is also a simple package system (that i assume also works the way they intended)

dotpup packages can be used by anyone, even advanced users, but it is specifically targeted at Linux newbies that are used to using Windows
okay, thx alot for explanation indeed. I think making things eaSier for newbies is always a good thing and likely worth any nuisance associated with it ( scripts running). I think though linux has built in measures called root to avoid that ? ( Assuming here how puppylinux/dotpup works being new here..

I do admit your system is simple not unlike windows...as ong as the libs on a system dont change from release to release then it makes for a great system, and I look fwd to trying it out.

cheers
nl

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#8 Post by GuestToo »

thx alot for explanation indeed
that's ok ... it gives me a chance to explain what dotpups are all about ... though it's certainly simple enough:

click to download ... click to install ... they are intended to work like a Windows install-me.exe file, so that they are familiar to Windows users
linux has built in measures called root to avoid that ?
Puppy runs as root by default ... it is definitely easier to use that way, but it is potentially a little less secure

any package installer that acesses /usr would have to run as root anyway

many of my dotpup packages do not install in /usr, so they could be installed and run and uninstalled by an unprivileged user ... but many of them make symlinks in /usr when they run, which would require that the program is run by root ... it would be possible to compile programs that do not use /usr, so these programs could be installed and uninstalled and run by an unprivileged user ... i think application directories (Apple Macs use them, so does Rox), ZeroInstall, and Gobo Linux are interesting ideas ... i think Autopackage can be installed and run by an unprivileged user, too
I do admit your system is simple not unlike windows
well, that was the main idea ... and if someone doesn't like dotpups, no one is being forced to use them
as ong as the libs on a system dont change from release to release
that can happen
often a Puppy upgrade will break a package or 2 ... but it's often an icon or wallpaper file that has been moved or deleted ... a package can be updated to work with the new version of Puppy ... it's possible that Puppy 2 may break a lot of packages

Guest

#9 Post by Guest »

GuestToo wrote:
how each packager chooses to implement their packages (what files they put in the package and what they put in the NSIS installer script) is totally up to them
how does the system then keep track to avoid massive library duplication since one packager to next wont have a clue what the other has packaged..one could check for installed packages I guess but are extra libs needed by a given app put in /usr/lib or in app-dir , or is it totally up to packager...

thx
guest

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#10 Post by GuestToo »

how does the system then keep track to avoid massive library duplication
in this case, i am referring to the NSIS installer ... it makes packages for Windows ... Windows has a lot of libraries that a program would use (dll's ... Dynamic Link Library)

there can be problems if a program needs a specific version of a library file, and if it installs that version over the one that is already installed ... the problems are called DLL Hell

in Puppy's case, if a program needs a library file that Puppy doesn't have, either it has to be included in the dotpup package or the program won't run ... or the library file(s) have to be installed seperately

if many packages include the same library file, that would not be as space efficient as it could be

there can also be problems if a package is uninstalled ... should the library file be uninstalled too, or not? ... maybe another program still needs it

the dotpup system is, and was intended to be, a simple installer ... it is not and was not intended to be a complex package mangement system ... a complex management system might deal with dependencies and be capable of automatically downloading and installing dependencies, and might track what programs and libraries are installed and what library files are needed by what packages etc etc etc ... a complex package management system would require a number of library packages available to be downloaded from specific places, probably from a repository

Windows doesn't have an automatic dependency resolving system (but it does have a large number of library files already built in to support programs)

Post Reply