Hello o/

I would like to develop a package manager in c# to expand my knowledge about the language and more understand how package managers put together entire system.

so here are my questions:

  1. where should I start?
  2. do I invent my own pkg format or do I use pre built packages like deb or rpm? I think the later one will be more easier
  3. how do I setup my dev environment I am on Ubuntu and has installed VS Code and dotnet sdk

sorry it these questions feel too naive but I really think I can do this!

Thanks in advance!

  • china🇨🇳@lemmy.caOP
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 days ago

    I have a very rough idea actually, I know that all the package managers keeps track of all the installed files and then removes it when user demands it apart from that I think the most difficult thing would be deps resolution to do so I might have to maybe implement recursion in c#.

    • apt_install_coffee@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

      I recommend starting with basic operations, like:

      • putting installed files in the right directory structure.
      • integrity checking.
      • archiving and compressing.

      Decide whether your package manager is source-based, or if you’re going to make some kind of binary distribution mechanism. Either way, you’re going to need a process for configuring, compiling and installing packages from source.

      I do recommend looking at how Pacman, & apt approach all this. There are also likely books on this topic.

      Also recommend playing around with buildroot; not because it is a comprehensive package manager, but because it’s inner workings are very transparent.