The time now is Thu 21 Jan 2021, 10:22
All times are UTC - 4 |
Page 1 of 5 [62 Posts] |
Goto page: 1, 2, 3, 4, 5 Next |
Author |
Message |
Iguleder

Joined: 11 Aug 2009 Posts: 2031 Location: Israel, somewhere in the beautiful desert
|
Posted: Tue 06 May 2014, 06:04 Post subject:
packdude Subject description: Fast and robust package management |
|
packdude
I don't like PPM, because:
- It's slow as hell. It does lots of text processing using shell scripts, which is a big no-no.
- It's contaminated with huge amounts of old code and ugly hacks. It was born very long ago and keeps growing since then.
- Its native package format, PET, is poorly designed. It's the only package format I'm aware of, which has a sub-directory named after the package.
- Its repositories format is error-prone and doesn't work well with big repositories (annoying missing package errors in Woof).
- All stages in the process of creating PET packages are manual. Some are even graphical (dir2pet).
However, I don't think using another distro's package manager in Puppy is a good idea. If we go this way, I think pacman is the way to go. It's fast, easy to use and gets the job done. However:
- I think it could be even simpler and lighter.
- I don't see any reason why a package manager should ask questions.
- I think it's nice to have a package manager that does maintenance tasks automatically, without prompting the user.
I think we should kick PPM and replace it with a simple and solid package manager. Support for Debian, Slackware or Ubuntu packages can be provided in the form of converted packages (i.e a tool that converts an entire Slackware repository into a "native" repository).
That's why I wrote packdude, a small package manager inspired by pacman, which supports only one, simple package format. I post it here as a "technology preview" - I'd like to hear more opinions about this idea and get some feedback.
It's still young, so its features are quite limited:
Package download and installation
- Fast and efficient package lookup, thanks to SQLite
- Lightweight decompression, using miniz (as opposed to LZMA2, as used by most major distros today)
- Fast package integrity verification, using the miniz CRC32 routine (instead of the zlib one)
- Support for multiple download protocols, via libcurl
- Fast, recursive dependencies resolution
- Package removal
- Automatic, recursive cleanup of unneeded dependencies
- Repositories
- Support for one, hardcoded repository
- repodude, a repository database generator, inspired by createrepo
- Package creation
- dudepack, a tool that converts tar archives into packages
- dudeunpack, a package extraction tool
- Distro building
- Support for working under a prefix as a regular user - i.e install packages to /tmp instead of /
packdude is designed to allow us to build a magical tool similar to debootstrap, which accepts an architecture (i.e x86_64) and a use case (i.e "Puppy for laptops with Xfce, please") and installs a clean Puppy system inside a directory.
Then, on top of that tool, we can build another tool, which converts a clean installed Puppy into a bootable ISO - a very thin and elegant tool that replaces woof-CE. This tool can used by remastering tools, too.
packdude is still considered experimental and may ruin your system. Use it at your own risk.
Sample Output
Installation of mtPaint:
Code: | [Tue May 6 12:55:09 2014](INFO): Fetching the package database from <censored>
[Tue May 6 12:55:10 2014](INFO): Downloading mtpaint-git05052014.dude
[Tue May 6 12:55:11 2014](INFO): Verifying the integrity of ./var/packdude/archive/mtpaint-git05052014.dude
[Tue May 6 12:55:11 2014](INFO): Downloading libjpeg_turbo-1.3.0.dude
[Tue May 6 12:55:11 2014](INFO): Verifying the integrity of ./var/packdude/archive/libjpeg_turbo-1.3.0.dude
[Tue May 6 12:55:11 2014](INFO): Downloading musl-1.1.0.dude
[Tue May 6 12:55:12 2014](INFO): Verifying the integrity of ./var/packdude/archive/musl-1.1.0.dude
[Tue May 6 12:55:12 2014](INFO): Downloading linux_headers-2.6.32.61.dude
[Tue May 6 12:55:14 2014](INFO): Verifying the integrity of ./var/packdude/archive/linux_headers-2.6.32.61.dude
[Tue May 6 12:55:14 2014](INFO): Unpacking linux_headers
[Tue May 6 12:55:14 2014](INFO): Registering linux_headers
[Tue May 6 12:55:14 2014](INFO): Sucessfully installed linux_headers
[Tue May 6 12:55:14 2014](INFO): Unpacking musl
[Tue May 6 12:55:14 2014](INFO): Registering musl
[Tue May 6 12:55:14 2014](INFO): Sucessfully installed musl
[Tue May 6 12:55:14 2014](INFO): Unpacking libjpeg_turbo
[Tue May 6 12:55:14 2014](INFO): Registering libjpeg_turbo
[Tue May 6 12:55:14 2014](INFO): Sucessfully installed libjpeg_turbo
[Tue May 6 12:55:14 2014](INFO): Downloading libpng-1.6.10.dude
[Tue May 6 12:55:14 2014](INFO): Verifying the integrity of ./var/packdude/archive/libpng-1.6.10.dude
[Tue May 6 12:55:14 2014](INFO): Downloading zlib-1.2.8.dude
[Tue May 6 12:55:14 2014](INFO): Verifying the integrity of ./var/packdude/archive/zlib-1.2.8.dude
[Tue May 6 12:55:14 2014](WARNING): musl is already installed; skipping
[Tue May 6 12:55:14 2014](INFO): Unpacking zlib
[Tue May 6 12:55:14 2014](INFO): Registering zlib
[Tue May 6 12:55:14 2014](INFO): Sucessfully installed zlib
[Tue May 6 12:55:14 2014](INFO): Unpacking libpng
[Tue May 6 12:55:14 2014](INFO): Registering libpng
[Tue May 6 12:55:14 2014](INFO): Sucessfully installed libpng
[Tue May 6 12:55:14 2014](INFO): Downloading tiff-4.0.3.dude
[Tue May 6 12:55:21 2014](INFO): Verifying the integrity of ./var/packdude/archive/tiff-4.0.3.dude
[Tue May 6 12:55:21 2014](WARNING): musl is already installed; skipping
[Tue May 6 12:55:21 2014](WARNING): zlib is already installed; skipping
[Tue May 6 12:55:21 2014](WARNING): libjpeg_turbo is already installed; skipping
[Tue May 6 12:55:21 2014](INFO): Unpacking tiff
[Tue May 6 12:55:22 2014](INFO): Registering tiff
[Tue May 6 12:55:22 2014](INFO): Sucessfully installed tiff
[Tue May 6 12:55:22 2014](INFO): Downloading gifsicle-1.82.dude
[Tue May 6 12:55:22 2014](INFO): Verifying the integrity of ./var/packdude/archive/gifsicle-1.82.dude
[Tue May 6 12:55:22 2014](INFO): Downloading giflib-4.2.3.dude
[Tue May 6 12:55:22 2014](INFO): Verifying the integrity of ./var/packdude/archive/giflib-4.2.3.dude
[Tue May 6 12:55:22 2014](WARNING): musl is already installed; skipping
[Tue May 6 12:55:22 2014](INFO): Unpacking giflib
[Tue May 6 12:55:22 2014](INFO): Registering giflib
[Tue May 6 12:55:22 2014](INFO): Sucessfully installed giflib
[Tue May 6 12:55:22 2014](INFO): Unpacking gifsicle
[Tue May 6 12:55:22 2014](INFO): Registering gifsicle
[Tue May 6 12:55:22 2014](INFO): Sucessfully installed gifsicle
[Tue May 6 12:55:22 2014](INFO): Unpacking mtpaint
[Tue May 6 12:55:22 2014](INFO): Registering mtpaint
[Tue May 6 12:55:22 2014](INFO): Sucessfully installed mtpaint |
Removal of mtPaint:
Code: | [Tue May 6 12:56:45 2014](INFO): Fetching the package database from <censored>
[Tue May 6 12:56:45 2014](INFO): Removing files installed by mtpaint
[Tue May 6 12:56:45 2014](INFO): Unregistering mtpaint
[Tue May 6 12:56:45 2014](INFO): Successfully removed mtpaint
[Tue May 6 12:56:45 2014](INFO): Cleaning up unneeded packages
[Tue May 6 12:56:45 2014](INFO): Removing files installed by libpng
[Tue May 6 12:56:45 2014](INFO): Unregistering libpng
[Tue May 6 12:56:45 2014](INFO): Successfully removed libpng
[Tue May 6 12:56:45 2014](INFO): Removing files installed by tiff
[Tue May 6 12:56:45 2014](INFO): Unregistering tiff
[Tue May 6 12:56:45 2014](INFO): Successfully removed tiff
[Tue May 6 12:56:45 2014](INFO): Removing files installed by gifsicle
[Tue May 6 12:56:45 2014](INFO): Unregistering gifsicle
[Tue May 6 12:56:45 2014](INFO): Successfully removed gifsicle
[Tue May 6 12:56:45 2014](INFO): Removing files installed by libjpeg_turbo
[Tue May 6 12:56:45 2014](INFO): Unregistering libjpeg_turbo
[Tue May 6 12:56:45 2014](INFO): Successfully removed libjpeg_turbo
[Tue May 6 12:56:45 2014](INFO): Removing files installed by zlib
[Tue May 6 12:56:45 2014](INFO): Unregistering zlib
[Tue May 6 12:56:45 2014](INFO): Successfully removed zlib
[Tue May 6 12:56:45 2014](INFO): Removing files installed by giflib
[Tue May 6 12:56:45 2014](INFO): Unregistering giflib
[Tue May 6 12:56:45 2014](INFO): Successfully removed giflib
[Tue May 6 12:56:45 2014](INFO): Removing files installed by musl
[Tue May 6 12:56:46 2014](INFO): Unregistering musl
[Tue May 6 12:56:46 2014](INFO): Successfully removed musl
[Tue May 6 12:56:46 2014](INFO): Removing files installed by linux_headers
[Tue May 6 12:56:46 2014](INFO): Unregistering linux_headers
[Tue May 6 12:56:46 2014](INFO): Successfully removed linux_headers |
Missing Features
- Package categories and description (easy to add, nothing but more two columns in the database )
- Package updating
- Integration with PPM's gtkdialog interface - I think it would be amazing if I could replace PPM's backend with packdude, but keep the same interface - zero headaches for users, but greatly improved performance and robustness.
Building
You'll need GCC, make, Git, libcurl, sqlite3 and libarchive to build packdude. The devx of all modern Puppies should contain all these packages, but may lack libarchive.
Code: | git clone https://github.com/iguleder/packdude.git
cd packdude
make |
Testing
By default, packdude is configured to use a repository of static 64-bit packages I built for personal use. You can use these packages on any 64-bit distro, including Slacko64 and Fatdog.
You can try out packdude without doing any damage to your system, by using an installation prefix:
Code: | mkdir -p /tmp/var/packdude/archive
packdude -p /tmp -i mtpaint |
In this example, packdude installs mtPaint to /tmp. Before you run packdude with "-p", make sure you create the specified directory and /var/packdude/archive under it.
If anything fails or takes a long time, you can re-run packdude with "-d" to get tons of debugging information:
Code: | packdude -p /tmp -i mtpaint -d |
Here are four examples for things you can do with packdude.
Test Case #1
Install two packages with some common dependencies:
Code: | packdude -i tinyxserver -p /tmp
packdude -i libpng -p /tmp |
tinyxserver pulls in zlib and packdude should notice it's already installed, when it installs libpng.
Test Case #2
Install two packages with a common dependency, then remove one of them. The common dependency should remain installed:
Code: | packdude -i mtpaint -p /tmp
packdude -i rox -p /tmp
packdude -r mtpaint -p /tmp
packdude -r rox -p /tmp |
In this case, both mtPaint and ROX-Filer depend on libpng. It should remain installed after mtPaint is removed, but packdude's automatic cleanup should remove it once ROX-Filer is removed, because no package requires it anymore.
Test Case #3
Install a package, then install multiple packages that depend on it and remove them. The first package should remain installed, because it was installed by the user and not as a dependency.
Code: | packdude -i zlib -p /tmp
packdude -i mtpaint -p /tmp
packdude -i tinyxserver -p /tmp
packdude -i rox -p /tmp
packdude -i lazy_utils -p /tmp
packdude -i dropbear -p /tmp
packdude -i bftpd -p /tmp
packdude -i curl -p /tmp
packdude -r mtpaint -p /tmp
packdude -r tinyxserver -p /tmp
packdude -r rox -p /tmp
packdude -r lazy_utils -p /tmp
packdude -r dropbear -p /tmp
packdude -r bftpd -p /tmp
packdude -r curl -p /tmp |
zlib should remain installed, while all other packages are removed without leaving a trace.
Test Case #4
Install packdude using packdude
Code: | packdude -i packdude -p /tmp |
_________________ My homepage
My GitHub profile
|
Back to top
|
|
 |
mavrothal

Joined: 24 Aug 2009 Posts: 3108
|
Posted: Tue 06 May 2014, 06:49 Post subject:
Re: packdude Subject description: Fast and robust package management |
|
Iguleder wrote: | packdude
<snip>
Support for Debian, Slackware or Ubuntu packages can be provided in the form of converted packages (i.e a tool that converts an entire Slackware repository into a "native" repository).
<snip>
- Support for one, hardcoded repository
- repodude, a repository database generator, inspired by createrepo
|
Very exciting
But do you actually say to duplicate the entire debian and slackware repos or process the repo metadata in a way that packdude could understand but do the downloading from the original debia/slackware repos?
_________________ == Here is how to solve your Linux problems fast ==
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 2031 Location: Israel, somewhere in the beautiful desert
|
Posted: Tue 06 May 2014, 07:09 Post subject:
|
|
Exactly.
Instead of a silly situation where every client has to go through that long conversion process, we'll do it just once, server-side. The user gets the same user experience, no matter where the packages came from.
EDIT: it should be very easy to do this. We already have those parsers in Woof - we just need to change the output format a little bit.
_________________ My homepage
My GitHub profile
|
Back to top
|
|
 |
neerajkolte

Joined: 10 Feb 2014 Posts: 517 Location: Pune, India.
|
Posted: Tue 06 May 2014, 07:27 Post subject:
Re: packdude Subject description: Fast and robust package management |
|
Iguleder wrote: | packdude
Support for Debian, Slackware or Ubuntu packages can be provided in the form of converted packages (i.e a tool that converts an entire Slackware repository into a "native" repository).
| Nice idea, I will test it on my Fatdog64-630 and report back.
Thanks
_________________ "One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson
“We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.”
- Amara’s Law.
|
Back to top
|
|
 |
mavrothal

Joined: 24 Aug 2009 Posts: 3108
|
Posted: Tue 06 May 2014, 07:41 Post subject:
|
|
Iguleder wrote: | Exactly.
Instead of a silly situation where every client has to go through that long conversion process, we'll do it just once, server-side. The user gets the same user experience, no matter where the packages came from.
EDIT: it should be very easy to do this. We already have those parsers in Woof - we just need to change the output format a little bit. |
It just looks like a maintenance headache (regular repo updates) and a big unnecessary duplication. In addition if you host binary packages, you should also host the sources (according to GPL), further increasing size and maintenance headaches.
Since conversion scripts will be/have been developed why not use a frond end to download and covert the package from the original and then pass it to packdude for further processing. In most (all?) cases you will just need to process only the package metadata and or install scripts, so it should be fast.
This way down the road additional repos/distros can be used. even the pets that are spread all over the place
_________________ == Here is how to solve your Linux problems fast ==
|
Back to top
|
|
 |
neerajkolte

Joined: 10 Feb 2014 Posts: 517 Location: Pune, India.
|
Posted: Tue 06 May 2014, 13:59 Post subject:
|
|
Hi Iguleder,
Could you possibly tell me where to get libarchive for fatdog64-630.
I have devx sfs loaded. Following is the output I have in terminal when I try to install packdude Code: | # git clone https://github.com/iguleder/packdude.git
Cloning into 'packdude'...
remote: Reusing existing pack: 160, done.
remote: Counting objects: 36, done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 196 (delta 6), reused 0 (delta 0)
Receiving objects: 100% (196/196), 566.28 KiB | 10 KiB/s, done.
Resolving deltas: 100% (90/90), done.
# cd packdude
# make
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o packdude.o packdude.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o manager.o manager.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
manager.c: In function 'manager_fetch':
manager.c:181:2: warning: string length '4526' is greater than the length '4095' ISO C99 compilers are required to support [-Woverlength-strings]
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o database.o database.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o fetch.o fetch.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o repo.o repo.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o log.o log.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o stack.o stack.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o package.o package.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
Package libarchive was not found in the pkg-config search path.
Perhaps you should add the directory containing `libarchive.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libarchive' found
cc -c -o archive.o archive.c -O2 -pipe -std=gnu99 -Wall -pedantic -DVAR_DIR=\"/var\" -DARCH=\"x86_64\" -DPACKAGE=\"packdude\" -DVERSION=1 -DREPO=\"http://repo.dimakrasner.com:1024\"
archive.c:6:21: fatal error: archive.h: No such file or directory
compilation terminated.
make: *** [archive.o] Error 1
#
| I have searched in Fatdog package manager but couldn't find it.
Thanks
_________________ "One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson
“We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.”
- Amara’s Law.
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 2031 Location: Israel, somewhere in the beautiful desert
|
Posted: Tue 06 May 2014, 14:10 Post subject:
|
|
Either take another distro's package (not recommended) or build it from source.
EDIT: I'm currently trying to build a bootable ISO using packdude - so far, it looks great. I wrote a debootstrap-like thing that installs the kernel, some user mode tools, tinyxserver, JWM and ROX-Filer and packdude itself to a directory (packdude -p in a loop, nothing fancy). Then, I took the code that generates an ISO image and put it in an independent script.
The second part works fine already, but the first is still running (my repository is slow as hell).
_________________ My homepage
My GitHub profile
|
Back to top
|
|
 |
darry1966

Joined: 26 Feb 2012 Posts: 897
|
Posted: Tue 06 May 2014, 19:57 Post subject:
|
|
Hi Iguleder,
I wish you my sincerest best with this project - one of the things that puts me off "modern" Puppies and some new users is the Puppy Package Manager and I agree a commanline/Gui package manager like pacman would be ace.
To be able to install packages from commandline would be cool.
Does this mean you could have a Debian net install type scenario for Puppy to have a customized install - in other words could what you are developing lead to this???????
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 2031 Location: Israel, somewhere in the beautiful desert
|
Posted: Wed 07 May 2014, 03:05 Post subject:
|
|
Not exactly.
I want us to have a very fast tool that installs Puppy to a directory, with support for multiple targets (use cases, desktops, etc'). It's network-based like netinstall, but not a bootable image - it's an application you can run on any distro.
Then, scripts that build a Puppy ISO from an installed Puppy can be used to build a Puppy. You get easy remastering for free.
_________________ My homepage
My GitHub profile
|
Back to top
|
|
 |
darry1966

Joined: 26 Feb 2012 Posts: 897
|
Posted: Wed 07 May 2014, 03:51 Post subject:
|
|
Thanks Iguleder
It sounds really awesome what you are doing.
|
Back to top
|
|
 |
amigo
Joined: 02 Apr 2007 Posts: 2647
|
Posted: Wed 07 May 2014, 05:34 Post subject:
|
|
So, what does the package format look like?
Are there database files included in the package -or are the database entries generated while unpacking the archive?
Are there facilities for pre/post install/uninstall scripts?
What about upgrade/downgrade/replace actions?
I'm sure you haven't implemented all of these yet -I just want to get you thinking about them from the beginning -because the package format specification must include mechanisms for doing these things. The package format is the central thing to get right as soon as possible since the software for creating and managing the packages hangs from the package format.
Of course, the users here will want dependency resolution right away. But, as you have hinted in the OP, the layout and management of a package repository is also essential to managing dependencies. A central database of dependency information will not work because it is un-manageable. So, packages themselves have to be able to communicate this information -which means that the info must be available at package build-time.
For most systems this means having a pre-authored list of dependencies. The better alternative is to have dependency information *generated* at package build-time. This means building packages from freshly-built sources. The point here is that the package-creation software is the most important bit of code needed. This insures consistent creation of packages which fit the package format.
The package format can then transmit depends/conflicts info, script actions needed, pkg description info, etc., forward to the tools which install/upgrade the packages. The actual installation of a single package should be handled by CLI tools which can then be called by GUI applications, or other CLI tools which can 'manage' dependencies or installation scenarios.
I could go on -I love the subject of packages! But, I don't want to belabor or bore anyone here... I've already designed a couple of new package formats, along with the software for creating and managing them, so I might be able to help you think about some aspects which you may not have thought through yet -let me know, if so. Not many new package formats get created, so there aren't many chances to talk about it...
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 2031 Location: Israel, somewhere in the beautiful desert
|
Posted: Fri 09 May 2014, 02:10 Post subject:
|
|
Still working on integration - since I use my own, new union file system, SQLite3 and packdude itself triggered three bugs.
So far, the whole thing works, but in a distro built using packdude, it's possible to install packages but their extraction fails at some point, so they're only partially-installed. I'm currently testing all the fixes I wrote.
_________________ My homepage
My GitHub profile
|
Back to top
|
|
 |
Ibidem
Joined: 25 May 2010 Posts: 553 Location: State of Jefferson
|
Posted: Wed 14 May 2014, 23:16 Post subject:
|
|
Not immediate concerns, but some features that would be useful long-term.
-Can it install local packages?
-Support for file: repositories is very useful (makes for much faster installs, among other things)
It would probably speed up your testing a good bit.
-If you want to support debootstrap-type use, it _needs_ to support specifying a repository on the command line.
-In the distant future, multiple repositories would be helpful...
A netinstall system might be packdude, a shell, and a few key utilities (mainly networking tools, modprobe, mount, a partitioner, and mkfs). Debian has two flavors of netinstall; one has just the networking stuff and download the installer and all that at boot, the other has the full installer at the start.
|
Back to top
|
|
 |
Iguleder

Joined: 11 Aug 2009 Posts: 2031 Location: Israel, somewhere in the beautiful desert
|
Posted: Thu 15 May 2014, 02:31 Post subject:
|
|
I was thinking, maybe a -u parameter for specifying the repository is enough. If the user doesn't pass it, there is a hard coded fallback.
_________________ My homepage
My GitHub profile
|
Back to top
|
|
 |
puppyluvr

Joined: 06 Jan 2008 Posts: 3512 Location: Chickasha Oklahoma
|
Posted: Thu 15 May 2014, 08:01 Post subject:
|
|
Hello,
Sounds like a much needed upgrade.
The ability to parse metadata and convert packages from multiple distros would be awesome.
One thought:
If you build it specifically for Puppy,
Why not "Packdog" "Dogpack" and "Dogunpack"
Lol...
_________________ Close the Windows, and open your eyes, to a whole new world
I am Lead Dog of the
Puppy Linux Users Group on Facebook
Join us!
Puppy since 2.15CE...
|
Back to top
|
|
 |
|
Page 1 of 5 [62 Posts] |
Goto page: 1, 2, 3, 4, 5 Next |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|