How do dotpup packages work?
How do dotpup packages work?
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
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
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
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
- bombayrockers
- Posts: 427
- Joined: Sat 24 Sep 2005, 16:47
- Location: Mumbai, India
- Contact:
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.
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.
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 ?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
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
yes, this is exactly correctdotpups are a flexible installer, not a package management tool
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
yes, by meThe word "dangerous" has been applied to dotpups
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
no, they are not intended to check for dependenciesdo these packages check dependencies against a current list or are apps self containd
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
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
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..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
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
that's ok ... it gives me a chance to explain what dotpups are all about ... though it's certainly simple enough:thx alot for explanation indeed
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
Puppy runs as root by default ... it is definitely easier to use that way, but it is potentially a little less securelinux has built in measures called root to avoid that ?
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
well, that was the main idea ... and if someone doesn't like dotpups, no one is being forced to use themI do admit your system is simple not unlike windows
that can happenas ong as the libs on a system dont change from release to release
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
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...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
thx
guest
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)how does the system then keep track to avoid massive library duplication
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)