diff options
Diffstat (limited to 'community/gsoc/project_ideas/package_manager.mdwn')
-rw-r--r-- | community/gsoc/project_ideas/package_manager.mdwn | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn deleted file mode 100644 index 23304f6b..00000000 --- a/community/gsoc/project_ideas/package_manager.mdwn +++ /dev/null @@ -1,51 +0,0 @@ -[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -[[!meta title="Hurdish Package Manager for the GNU System"]] - -Most GNU/Linux systems use pretty sophisticated package managers, to ease the -management of installed software. These keep track of all installed files, and -various kinds of other necessary information, in special databases. On package -installation, deinstallation, and upgrade, scripts are used that make all kinds -of modifications to other parts of the system, making sure the packages get -properly integrated. - -This approach creates various problems. For one, *all* management has to be -done with the distribution package management tools, or otherwise they would -loose track of the system state. This is reinforced by the fact that the state -information is stored in special databases, that only the special package -management tools can work with. - -Also, as changes to various parts of the system are made on certain events -(installation/deinstallation/update), managing the various possible state -transitions becomes very complex and bug-prone. - -For the official (Hurd-based) GNU system, a different approach is intended: -making use of Hurd [[translators|hurd/translator]] -- more specifically their -ability to present existing data in a different form -- the whole system state -will be created on the fly, directly from the information provided by the -individual packages. The visible system state is always a reflection of the -sum of packages installed at a certain moment; it doesn't matter how this state -came about. There are no global databases of any kind. (Some things might -require caching for better performance, but this must happen transparently.) - -The core of this approach is formed by [[hurd/translator/stowfs]], which -creates a traditional Unix directory structure from all the files in the -individual package directories. But this only handles the lowest level of -package management. Additional mechanisms are necessary to handle stuff like -dependencies on other packages. - -The goal of this task is to create these mechanisms. - -Possible mentors: Ben Asselstine (bing) - -Exercise: Make some improvement to any of the existing Hurd translators. -Especially those in [hurdextras](http://www.nongnu.org/hurdextras/) are often -quite rudimentary, and it shouldn't be hard to find something to improve. |