I’m currently developing my own distro. Everything’s going well until I realize I need a package manager. None of the options I checked out really interested me, so I figured I’d get started with shell scripting and make one myself.
The process is very simple:
- User calls Glacier
- Glacier asks user which package to install
- Glacier fetches a tarball containing a package info file, scripts that Glacier executes to either install, update, or remove said package, the executable(s), and a copy of whatever license the program uses
- Glacier unpacks the archive and executes the corresponding script (for example, executing glacier-install will execute the package’s INSTALL.sh script)
- Glacier moves the package’s information file to /etc/glacier/pkginfo
Currently, there are only 3 packages in the repository (kinda sad lol), but I am working on packaging all the tools necessary to build the base system.
If possible, feedback on the following would be excellent:
- I followed in xbps’ footsteps, hence why there are separate scripts for each operation, should I keep this or make it more similar to a traditional package manager?
Unlike a traditional package manager (pacman -S package), Glacier provides a prompt for the packages you want to install:
glacier-install [ ? ] Enter package name:
Would new users find this too hard? (distro is focused on more advanced users so this might not be a problem at all) – Should I change where the package info files get sent?