I think one of the useful things I can/should do, is try to design a new package managing system – just for the hell of it.
No. I’m not kidding. I’ve even been thinking more seriously about it for the past few days. I’ve been thinking of sticking it onto…guess what…fedora. I’m not a big fan of rpm – I believe that having _file_ associations as opposed to package associations is cruel and unusual punishment for users. Unless however, I can simply will the fedora developers to change to a different packaging scheme, I would have to think up, design and implement a complete example before I got people to look. My ideal packaging system would be:
- Dependencies should be organized using packages not files
- Should allow for one-click installs over the net. Yes, I’m serious
- Support multiple repository sources, including physcial removable media, local networks, internet, local packages and more
- Should support a (pluggable?) security interface. At the simplest – digital package signing/verification
- Automatic dependency resolution
- Support automatic package creation using tools
- Lots more, as soon as I read up about it ;)
- Use XML for configuration files, package lists, repository lists and package contents. (Allows for easy machine parsing)
- Be written in a high level language such as python
Is this going to be difficult? Yes, I would assume very difficult, since it has to be scalable, well designed and solve some problems present today. I suspect that I’m being rather naive about my requirements list – but I believe that if I persevere and focus, I can put together a solid list of deficiencies in current systems and by extension, create a requirements specification for what I want to replace it.