Skip to content

Conversation

@mobinmob
Copy link
Contributor

@mobinmob mobinmob commented Oct 19, 2020

This PR is the continuation of the packaging and integration work @teldra has done on #23122, which is based on the work @zenfailure has done on #21142. They have done pretty much all the basic work needed -and then some- to integrate @Obarun 's work with void's packaging.

In this PR I will continue their work, try to make the configuration and switch from one init to the other as smooth as possible and package the frontend service files from https://github.com/mobinmob/void-66-services once they are ready.

@mobinmob
Copy link
Contributor Author

Version 2.2.1 is a minor update with nice documentation fixes.

@mobinmob mobinmob changed the title [WIP] New package: boot-66serv-2.2.0 [WIP] New package: boot-66serv-2.2.1 Oct 19, 2020
@mobinmob
Copy link
Contributor Author

mobinmob commented Nov 8, 2020

Improvements in the runit service which not does not execute /etc/runit/2 anymore:

  • The service uses now its own dedicated "66" runlevel and not the "default" runlevel, which has services that are handled by the boot@ module service (aggety-*).
  • It does not try to execute /etc/rc.local if present - that is handled by the services in the boot@ module.
  • It does not try to match a word in the kernel commandline to a runlevel and use it.

The above make easier to switch between 66 and runit as the collections of (runit) services are seperate. It sould be totaly transparrent for the new user. Existing users that have the runit service enabled should reenable it by:

66-disable -S runit
66-enable -S -F -C runit

in order to use the new service frontend. They will also have to reenable the runit services they use the normal way - by symlinking to /var/service.

The runit service continues to have an issue, as it does not terminate the supervised services when stopped.

@mobinmob
Copy link
Contributor Author

@execute in [stop] is written now in shell and works as it should.

@mobinmob
Copy link
Contributor Author

mobinmob commented Dec 15, 2020

  • The switch-initutils service frontend file now resides in this package instead of the void-66-services repo. The service is needed regardless of the use of other 66 services. A user can choose to use 66 with runit services and they will still need to have the proper init utilities...
  • The '@Version' value is set now seperately for each frontend. If a frontend changes only its '@Version' should be incremented. boot@ is of couse an exception.

@ericonr ericonr added the new-package This PR adds a new package label Dec 20, 2020
@mobinmob
Copy link
Contributor Author

There is now a template for the first release of void-66-services. It contains 77 services.

@travankor
Copy link
Contributor

Can we add this to void docs as well?

@mobinmob
Copy link
Contributor Author

mobinmob commented Dec 29, 2020

Can we add this to void docs as well?

@teldra has written the first doc in his void-docs fork. I am revising it because certain things have improved substantially (handling switching poweroff/halt etc transparently and automatically). I will add the doc in this PR and install it with vdoc in the package. I think sending a PR to void-docs is a bit premature at this stage - Ι want to improve certain things first and get rid of [WIP] :)

@mobinmob
Copy link
Contributor Author

mobinmob commented Jan 3, 2021

More work on the runit service:

  • Removed the log argument for runsvdir.
  • Replaced some utilities (env, mkdir, ln) with their alternatives from s6-portable-utils.
  • Changed the service @type from longrun to classic. The change requires disabling and re-enabling the service for the current users.

@mobinmob
Copy link
Contributor Author

New version of boot-66serv:

  • New homepage and distfiles for boot-66serv.
  • Needs at least 66 v. 0.6.0.0 - please do not update until Skarnet packages new year 2021 release. #27815 is merged. To use, boot@system should be re-enabled.
  • @options is removed from services frontend files, as log is always created (unless it is explicitly disabled per-service) and [environment] automaticaly enables @options = ( env ).

@mobinmob mobinmob changed the title [WIP] New package: boot-66serv-2.2.1 [WIP] New package: boot-66serv-2.3.0 Feb 1, 2021
@mobinmob
Copy link
Contributor Author

mobinmob commented Feb 1, 2021

Rebase onto master and remove tty@ frontend service file - no longer needed, as boot-66serv uses tty-rc@ and tty-earlier@ which are included.

@mobinmob
Copy link
Contributor Author

mobinmob commented Feb 3, 2021

Small improvement:
There is now a symlink in /etc/66rc.conf that points to the configuration file of the boot@system service. Now users can edit directly /etc/66rc.conf with their favourite editor and then enable again the service with:

# 66-enable -F -t boot boot@system

That is strictly to provide a more common approach to editing the basic boot configuration instead of using the - powerfull - 66-env utility.
Many thanks to @Obarun for the suggestion of the symlink.

@mobinmob
Copy link
Contributor Author

mobinmob commented Feb 4, 2021

The latest commit adds a small utility script named 66boot-initial-setup. The utility automatically creates the recommended trees (boot, default and runit) and enables needed services in them. It is non-interactive. Users can execute it after boot-66serv installation or if they want to start from scratch after removing all their existing trees.

There are also minor changes in the template (double-quoting vars etc).

@mobinmob mobinmob force-pushed the boot-66serv branch 2 times, most recently from 5e91003 to 9cd40a7 Compare February 4, 2021 23:52
@mobinmob
Copy link
Contributor Author

mobinmob commented Oct 17, 2022

I spun up a VM to test this PR, and everything seems to work fine. One thing I noticed while setting it up is that some of these packages are missing dependencies on s6-rc, s6, and execline. Without these packages installed, boot-66serv will never bring Void to a functional state. On Obarun, these are all dependencies of the 66 package, while Void lacks these dependencies.

Thank you for testing!
The 66 package should depend on these implicitly, since its template contains makedepends="oblibs-devel skalibs-devel execline-devel s6-devel s6-rc-devel". The other packages depend on it - I did have these deps on boot-66serv before and I removed them because of the dependency on 66. I will check the packages again and see why there is an issue. OFC 66 cannot work without s6 and s6-rc :)

@mobinmob
Copy link
Contributor Author

@NymanMatthias : #40007
s6 and execline are s6-rc deps. Thanks for the report :)

@github-actions
Copy link

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions github-actions bot added the Stale label Jan 16, 2023
@mobinmob
Copy link
Contributor Author

mobinmob commented Jan 18, 2023

Ι am currently testing 66 with the new skarnet stack release in #41635 . After that I will push a small update (fixes) here and in the repo.

@mobinmob
Copy link
Contributor Author

mobinmob commented Feb 5, 2023

Changes

boot-66ser:

  • Fixes for zfs detection in 66boot-storage-autoconf
  • Small changes in 66boot-* scripts.

void-66services v. 0.0.3 :

  • 181 services in total!
  • More work to have services log to the per-service logger instead of syslog.
  • Add a changelog.
  • Split licensing information (LICENSE - LICENSE-3RD-PARTY) and amend the README.md accordingly.
  • Repo-wide: remove unneeded @options key, standardise layout a little.
  • Create additional service frontend files for nginx, dhcpcd and dhcpcd@ that use pid namespaces though 66-ns. These frontends have the suffix _ns after the service name.
  • All services are represented now by either a single frontend file or a single directory with necessary files/subdirs.
  • Use a single template that packages the master branch for the users that want to track development - void-66-services-master.
  • Include documentantion in the package, starting from void-66-services-master and version 0.0.3.
  • Documentation:
    • Add simple logging documentation in conf/void-66-logging.md.
    • Add information about the new 66boot-* utilities in conf/void-66-conf.md
    • Change Suggestions_for_services.md to point to the master branch as the development branch.
    • Add documentation for running runit services with the runit and runit-wrapsv@ service frontend files in conf/void-66-runitsv.md. These service frontend files are not in this repo, but in the 66-voidlinux repo since they are currently part of the boot-66serv package.
    • Change the instructions in conf/void-66-conf.md to use the new binary packages repo.
    • Add documentation for the new 66-void and base-system-66 packages in conf/void-66-base-system.md.
  • Many fixes.
  • Two new contributors in this release, thanks @linuxergr and @paper42

Packages with be appearing in the repo in an hour or so with the version suffix (when applicable) 20230205.
The 66-voidlinux repo with have the same tag.

@mobinmob
Copy link
Contributor Author

mobinmob commented Mar 11, 2023

Changes:

  • boot-66serv : replace removed s6-test with test
  • 66-void: new version, remove /etc/os-release, it is now in base-files.

Packages with be appearing in the repo in less than a day with the version suffix (when applicable) 20230311.
The 66-voidlinux repo with have the same tag.

@sonnysighedup
Copy link

Hi @mobinmob,

I get an interesting crash after the recent 66/s6/execline/oblibs/skalibs update you pushed to the void repos recently. The update itself went fine, but when I go to reboot, the system crashes, and upon hard reboot - after nearly making it all the way through the boot - I get the following message:

if: fatal: unable to spawn s6-test: No such file or directory
if: fatal: unable to spawn s6-test: No such file or directory
ifelse: fatal: unable to spawn s6-test: No such file or directory
error: i/o error: Broken pipe (os error 32)

I was able to downgrade everything and boot as normal.

I think the crash happened right before greetd was to pull up my login page. Could this be related to the shift from s6-test to test in boot-66serv from last month?

@mobinmob
Copy link
Contributor Author

mobinmob commented Apr 12, 2023

@sonnysighedup

Since the last update of this PR and the repo packages in avyssos I have removed the single reference to s6-test from boot-66serv. I also pushed the one-line change upstream and was acccepted and merged..
Are you using the packages from the repo?
 boot-66serv-2.4.1.20230311_1 has the fix...

@sonnysighedup
Copy link

Thank you for the quick reply, @mobinmob.

It's turns out this was more of a display manager issue, than a boot one. I forgot that I hacked up ob-gtkgreet-sway to work with your void-66 implementation. The wayland-session script used to launch window managers calls s6-test. I replaced those references with test and everything worked with the updated 66/s6 packages, though it produces some output that I haven't been able to catch yet.

Thanks for all work you've to make 66 a reality on void!

@mobinmob
Copy link
Contributor Author

mobinmob commented Apr 12, 2023

Thank you for the feedback - always happy to help 😉
If you have working frontend files for your setup which are missing from void-66-services, please consider sending a PR.

@github-actions
Copy link

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions github-actions bot added the Stale label Jul 12, 2023
@github-actions github-actions bot closed this Jul 27, 2023
@mobinmob
Copy link
Contributor Author

mobinmob commented Jul 29, 2023

osnd issues means the unofficial repo is down - I will have a solution hopefully in the next week.

@mobinmob
Copy link
Contributor Author

@paper42 Can this PR be re-opened?

@mobinmob
Copy link
Contributor Author

mobinmob commented Aug 5, 2023

New repo is up, please add it with:

# xbps-install -S --repository=https://codeberg.org/mobinmob/void-66/raw/branch/master void-unofficial-repo-66

or

# xbps-install -S --repository=http://www.avyssos.eu/repos/voidlinux/66 void-unofficial-repo-66

The new release tag is 20230805, has only minor xlint fixes. I pushed it to my branch but since this PR is still closed it will not appear here...

@mobinmob
Copy link
Contributor Author

mobinmob commented Aug 6, 2023

The repo now supports tls, the void-unofficial-repo-66 package was updated to version 4 to reflect that. No user intervention is required other than a regular update :)

I hope I will be able to test in the following week a way that a user can automatically reuse the standard /etc/rc.conf to configure the boot@ stage1 moduse service. The 66boot-rcdotconf and 66boot-storage-autoconf (see documentation) already do a fine job, but I think I can make it so a user just needs to enable the boot@ service and everything will work :)

@mobinmob
Copy link
Contributor Author

mobinmob commented Aug 13, 2023

The PR continues in #45578.
Thanks for eveyone that contributed, I hope you are still interested in 66 on voidlinux. Many nice developments lie ahead :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-package This PR adds a new package Stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants