ymir-linux / void-packages

The Void source libre packages collection
https://voidlinux.org
Other
7 stars 2 forks source link

Getting our modifications into packages #26

Open reback00 opened 4 years ago

reback00 commented 4 years ago

It seems we are very close to offer everything to users publicly. A project which was just a proof of concept once, is now becoming a distro, with it's own website (hopefully coming soon) with dedicated build system, which is amazing.

Currently, we have some pieces of the project which are important but they are handled manually through the liberation scripts. vkpurge-libre which handles the purging of linux-libre/linux images, seems to get installed on userspace (~/.local/bin), which is not even added to PATH by default, so not accessible right away. I think systemwide install would be better, since we're installing kernels and stuff on the system. The repo is also installed manually as a conf file. It works, but the problem is that it can't be updated easily. If there is a change in repo url/domain the script would have to be run again or installed manually which is a bit tedious.

I suggest making packages for them:

  1. A dedicated package for our repos, something like ymir-repos or ymir-repo-default?? Well, this kind of package is not that hard to create. It should be similar to void-repo-nonfree. I even made a snippet here. I've changed conf filename to 40-ymir-repo-libre.conf to reflect our identity better.

  2. A package for vkpurge-libre, in maybe something like a package named ymir-utils. I thought of ymir-utils because we may need to include more scripts to manage our distro in future. (feel free to discuss though) If possible, it should replace the existing vkpurge executable, so that the user does not have to remember the name of our script separately. EDIT: By "replace" I mean even if not replace the executable we should make it so that executing vkpurge executes vkpurge-libre This should make the transition smooth and effortless. But I'm not sure if it's doable. EDIT: Maybe systemwide aliases through something like /etc/profile.d/vkpurge-libre.sh (haven't tested that though)

  3. Adding your-freedom-x.y.z.xbps on repo would make it easier to push updates. I found it missing from the repo dir.

Let me know if I missed anything else for making a package.

If these are implemented, the liberation scripts can be much simpler, just installing those packages when needed. Also, it would be easier to manage the future changes and possibly track bugs.

drake-newell commented 4 years ago

I replaced vkpurge with vkpurge-libre (still just called vkpurge for ease of use) in the modified base-files package, as that is where vkpurge is normally. The repo file is also included in base-files now. The usage of the scripts as installed packages will still require manual actions since the repo package cannot be downloaded from the repo before the repo has been installed by the repo package (so it would need to be done with xdowngrade in that case).

drake-newell commented 4 years ago

One last step that needs to be done is actually making the server libre, as it is still running vanilla linux. EDIT: Just did it

drake-newell commented 4 years ago

Also it looks like the liberation script is being buggy and liberation-local is outdated, so I will fix those. For example, the prompt to install your-freedom does it no matter what the user selects.

reback00 commented 4 years ago

I replaced vkpurge with vkpurge-libre (still just called vkpurge for ease of use) in the modified base-files package, as that is where vkpurge is normally.

Great! That's even better.

drake-newell commented 4 years ago

@reback00 The legacy liberation-local script can't install the modified base-files because it includes the remote repo, so vkpurge-libre is now just installed in /usr/bin instead of ~/.local/bin.