Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package management with dependencies #14

Open
vaskas opened this issue Dec 19, 2019 · 7 comments
Open

Package management with dependencies #14

vaskas opened this issue Dec 19, 2019 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@vaskas
Copy link
Member

vaskas commented Dec 19, 2019

While the current Slackware-like process works well we might need a more sophisticated method of shipping packages once we have lots of them 😉

A few good options are:

  1. APK / abuild from Alpine linux
  1. Pkgin from NetBSD / pkgsrc
  • Fast

  • Easy to use

  • May contain BSDisms. E.g. it depends on libfetch that itself lives in the Net- and FreeBSD source trees and needs Makefile mockery

  • http://pkgin.net/

@vaskas vaskas added the enhancement New feature or request label Dec 22, 2019
@vaskas vaskas self-assigned this Dec 24, 2019
@vaskas
Copy link
Member Author

vaskas commented Dec 24, 2019

Another one worth investigating: https://crux.nu/Main/Handbook3-3#ntoc13

@vaskas
Copy link
Member Author

vaskas commented Dec 25, 2019

and one more http://z3bra.org/pm/

@vaskas
Copy link
Member Author

vaskas commented Jan 26, 2020

Tried https://git.yoctoproject.org/cgit/cgit.cgi/opkg and couldn't port quickly due to GNU-isms in the codebase that aren't easy to fix (strndup, open_memstream, fmemopen).

Now proceeding with pkgin. Got libfetch to build standalone (thanks Void Linux guys): https://github.com/BerryFarm/libfetch

@karawitan
Copy link
Collaborator

@vaskas
Copy link
Member Author

vaskas commented Jan 28, 2020

@karawitan
Copy link
Collaborator

oups .. let's forget about flatpak ...

@vaskas
Copy link
Member Author

vaskas commented Mar 31, 2021

Ok, here is where we got to in converting to adopting pkgin / pkg_install (https://github.com/BerryFarm/berrymuch/tree/build-nbpkg):

  • libarchive, libfetch, libnbcompat, pkg_install ported
  • With the above, I got pkg_install tools (e.g. pkg_add) working perfectly locally on the phone
  • I could get pkgin to build and work, but it had an issue fetching remote packages
  • The above linked build-nbpkg branch contains updated build scripts to bundle every berrymuch package into pkg_add compatible packages
  • At this point, no dependencies between the packages are specified. So the value of pkg_add is limited.
  • Without pkgin working with remote packages, its value is also limited

What needs to be done to finish this work:

  • Solve the pkgin / libfetch bug
  • Specify dependencies for every package in the ports/
  • Build and host the berrymuch packages in the new format

As I mentioned before I don't see myself working on this in the near future. If someone wants to contribute they are very welcome.

cc @extrowerk @csalg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants