Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
revised_pkg_install [2010/04/02 07:31] – installing/deinstalling of example config files DirkMeyerrevised_pkg_install [2018/04/15 17:29] (current) – MarkLinimon
Line 1: Line 1:
 +:!: MarkLinimon's note: work on this project seems to have stalled back in 2010.
 +
 The goal of improving the package installation experience is multi-fold: The goal of improving the package installation experience is multi-fold:
  
Line 7: Line 9:
     * For instance, add libarchive support to make pkg_install more responsive to failures, and thus reduce wasted time waiting for tar to complete, and also reduce the number of shell calls.     * For instance, add libarchive support to make pkg_install more responsive to failures, and thus reduce wasted time waiting for tar to complete, and also reduce the number of shell calls.
     * Add locking so that multiple copies of pkg_add / pkg_delete can be run in parallel, thus avoiding (or at the very least reducing) potential race conditions as far as modifying installed packages is concerned.     * Add locking so that multiple copies of pkg_add / pkg_delete can be run in parallel, thus avoiding (or at the very least reducing) potential race conditions as far as modifying installed packages is concerned.
 +    * Remove the custom Boolean data type with C99 standard ''%%bool%%'' (#include %%<%%stdbool.h>).
   - Write extensive tests so that we can ensure that the code makes functional sense; many BSD implementations sadly lack tests, and thus we can't be sure that the code actually meets requirements and reacts in meaningful ways.   - Write extensive tests so that we can ensure that the code makes functional sense; many BSD implementations sadly lack tests, and thus we can't be sure that the code actually meets requirements and reacts in meaningful ways.
  
Line 28: Line 31:
   * An idea that was kicked around before by jilles@ was a potential rewrite of pkg_install with a scripting language (of some flavor) as the top-level frontend, and then use a C backend to do the actual maintenance tasks. Take for instance apt vs dpkg, or yum vs rpm. This seems to be a good idea, but again -- requires some rewrites and fudging around.   * An idea that was kicked around before by jilles@ was a potential rewrite of pkg_install with a scripting language (of some flavor) as the top-level frontend, and then use a C backend to do the actual maintenance tasks. Take for instance apt vs dpkg, or yum vs rpm. This seems to be a good idea, but again -- requires some rewrites and fudging around.
   * pkg_install for instance has been completely rewritten (for the most part) in %%NetBSD%% to use a seemingly more logical structure: http://www.netbsd.org/gallery/presentations/joerg/eurobsdcon2006/pkg_install.html   * pkg_install for instance has been completely rewritten (for the most part) in %%NetBSD%% to use a seemingly more logical structure: http://www.netbsd.org/gallery/presentations/joerg/eurobsdcon2006/pkg_install.html
 +  * libpkg (started during the 2009 %%GSoC%%) takes advantage of libarchive and is another possibility for base: http://code.google.com/p/libpkg/
   * libpkg (which I was originally looking at for the 2007 %%GSoC%% and abandoned due to time) is another possibility for the base, but the project has been dead for over a year now (maybe because the code was contributed back to %%DragonflyBSD%%?): http://libpkg.berlios.de/    * libpkg (which I was originally looking at for the 2007 %%GSoC%% and abandoned due to time) is another possibility for the base, but the project has been dead for over a year now (maybe because the code was contributed back to %%DragonflyBSD%%?): http://libpkg.berlios.de/ 
 +
 +====== Bugs ======
 +
 +  - pkg_delete -f needs fine tuning.
 +    * -f should overwrite only the dependency checks
 +    * an new option should be used for removing files which checksum does not match. - didn't reach consensus on this.
 +    * "portupgrade" used "-f" and so a lot of user modified files get lost. make deinstall does too.
 +
 +  - pkg_add should by default skip already existing files, and override them only with an option similar to pkg_delete above.
  
 ====== Proposals for Phase 2 ====== ====== Proposals for Phase 2 ======
Line 74: Line 87:
 Reference thread: http://lists.freebsd.org/pipermail/freebsd-ports/2010-March/060367.html . Please see the rest of the thread for more details. Reference thread: http://lists.freebsd.org/pipermail/freebsd-ports/2010-March/060367.html . Please see the rest of the thread for more details.
  
-Author's Page: [[GarrettCooper|Garrett Cooper]].+Author's Page: [[NgieCooper|Ngie Cooper]]. 
 + 
 +---- 
 + 
 +{{tag>Stale}}
  
  • revised_pkg_install.1270193504.txt.gz
  • Last modified: 2010/04/02 07:31
  • by DirkMeyer