Help - Search - Members - Calendar
Full Version: Building a Package Management System.
Linuxhelp > Support > Technical Support
I know this post should be in programming but I might be able to get a better pool of answers here.

So like I've posted a few months ago I'm making an OS so now I have a min base Linux system up and running. This min based system is about as bare bones as you could go.
I'm now working on the front end and I need to build a package system. The package system I was going to base off was the portage / emerge system. Now I know I have to do
this by hand so I can't be taking the Portage system. What I'm wondering is what would be the best programming language to use. I know that portage is written in Python and I
think that might be the way to go.

I have also been directed to Ruby and told that might be a better choice. I know there are a lot of very experienced programmers here so this is why I'm posting.
What the system I'm building has to do is to sync a File off a web server and determine where to put it. The Files that will be downloaded are going to be Binary. So there will be no source compiling
required. Right now the choice that the group has made is to not have a ton of other software support. So for instance we wont be having like Mplayer or Geda on the web server just the specific Files needed for the project to work.

The reason were going with a Linux base as oppose to starting from scratch is two fold.

1) We want a base where people can edit and rebuild
2) We don't have the necessary skills to necessary build a kernel from scratch.

The only reason I'm using the word File instead of using the type of File, not that the type matters is because this is a college project and once I name the file type I have to referance this intire
site which is totally stupid so I'm not going to give away the exact details here. Of course if anyone would be interested in helping futher I would be more then glad to give out my email and from there we move forwards.


Why are you re-inventing the wheel? There are perfectly good package management systems out there, most noteably apt. Is there something that other systems are missing or lacking? I don't understand.
Well it's not that there is anything wrong with them, but do to the scope of this project I need to put enough work into this project to make the prof's satisfied. The other reason I don't want to grab a package management system is that I think the others might be a little over kill. My package management system is only syncing rom files. What I don't need is, the ability to upgrade the entire system. I want to hide the configuration because there will be noob's using the system.

It would also be a good learning experience to learn the inner workings of a package management system. Right now I only have created the most basic Linux system I could. In fact it's so bear bone it can only compile C files.

If I didn't put this in my post above, My Linux system is for my 3rd year college project. I don't want to release to much info about it because I have to make sure that it's all taken care of with Sponsors and such. All in all I just want to make my own Package system. The others are just to over kill, Emerge is to intense, Apt-get is to advanced for what I'm looking for.

In fact when finished my Linux system will be designed for the most Noob of Noob's my method for development is to make it so basic my mom can use it.
To rationalize it for you my mom is proud when she got to google. And lets not mention when she learned to ebay.

So back to my origanal question, What would be the best language to program it in, Ruby I've heard is the new C++. C++ is just classic. Python is web based. I'm just not sure which one would be the best to use.


** Python is NOT web-based. **

Seriously, package-management is a tricky topic. You quickly become bogged down resolving dependencies and managing configuration files. I'm sure you *could* hack something together that does the job, but the big ones (Apt, RPM/Yum and Portage) have a lot of developers working on them and even then they still have a few big problems.

If you really just want to grab files from a server though, Python is probably the way to go - Portage sort of proves it can act as a wrapper around rsync and wget. But, like I said, you still have to figure out WHAT to get (or sompile everything statically *cringe*)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2018 Invision Power Services, Inc.