*Name: *Ian Foster * **Email:* [email protected] *Background:* I am a freshman college student looking to go into Computer Science, I First learned about Linux in 7th grade and have been using it more and more every day since (I am using 99.9% Linux now) I love the Open source idea and want to contribute back to the community. I am not a very experienced programmer but I want to learn as much as I can. I have most experience in web development which is what gave me this idea.
*Project Title:* Web Repository (maybe call it Repoman for repository manager?) *Benefits to Debian:* This project would allow more people to upload to repository's and make it easier to create a new one. Along with a new way for distributing packages. *Deliverables*: A new way of managing repository's through a web GUI.* * ** ** *Abstract*: A PHP system that would manager a new deb repository. It would have the ability to add, remove, update, etc.. applications from the repository all from a web interface. The user will upload a deb that they want to add to the repository and this program will extract the information from the deb and place it in the appropriate location and update the packages file The repository will be searchable just like searching for a package in synaptic or another package manager. Some advantages of this system are a much simpler way of creating new repositories, and managing them. And You no longer need to keep a copy of a repository on your local computer, everything will be web based. But there will be nothing preventing older forms of repository management from working too. Once the project is finished if time permits I'd like to add a “One Click Install” feature similar to what is found in Maemo, a distribution based of Debian that allows the user to install a program my opening a small text file. *Project details:* When installing the web repository for the first time it will ask you about what the name of repository should be, the distribution, and components. Using that information it will create the respective folders along with the Release file. After the repository is setup the user will have the ability to upload .deb packages. The php program would move the deb to a temp or working folder, where it would extract the control.tar.gz file from the deb which is an ar archive. Then it would extract the control file from /./control in the control.tar.gz archive. It would then display this information on the screen allowing the user to edit it if desired. After submitting the control data back to the program it would move the .deb to a “pool” folder. Then it would put the data from the control file into a Packages file that would be in the distribution/component/architecture/ folder. Then it would make two archives of this file, one .bz2 and the other .gz. Every time a new package is added the program will do the same as above but add the new information to the Packages files. When the user wants to remove a package the program will look in the Packages file for the “Filename: “ entry to get the packages location, then it will delete the file, and remove the corresponding entry in the Packages files. The repository will also be searchable, You would be able to go to a search page and search for a package by name, description or both. And even be able to refine the search by architecture, etc.. The program would take the search term and look in the respective Packages files under the “Package: “ section for the package name and the “Description: “ section for the description. The repository can be protected by a single password for uploading or have multiple usernames and passwords, It will also have the ability to have guest or public users to search the repository or only users with accounts. Once the above is working when the user searches and selects a file they will have two option, download it or download a “One Click Install” file. The one click install file will be a small text file with the .install extension. The file will have two sections a “[install]” section and a “[catalog]” section. The install section will contain the package name and the “[catalog]” name. The [catalog] will contain the deb line of the repository the package is from. That way if a user wants to install a package that is not in a repository this will add that repository for them and install the program. This would require a program to be installed on the computer that would know how to read the .install files. The idea of a .install file came from Mameo and it is not my own. *Project schedule:* I can start work immediately after My proposal is approved, I imagine that the project will take all of the 3 months to complete. After the Google Summer of Code is over I would still like to continue work on the project adding new features and removing bugs. *Other summer plans:* I have a part-time job as a webmaster, but I can work from home which means anywhere with wifi. I also have a comp that will take up one week. The remaining time I plan on working on this project. *Exams and other commitments:* None. *If you are not a Debian Developer:* I do plan on working on the project in my free tome after the summer, I would love to see it grow and even have other contribute to it. -- Ian Foster http://lanrat.com http://world0.com
_______________________________________________ Soc-coordination mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/soc-coordination
