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

Stable merge window for week 49 of 2023 #782

Merged
merged 15 commits into from
Dec 26, 2023
Merged

Stable merge window for week 49 of 2023 #782

merged 15 commits into from
Dec 26, 2023

Conversation

Eeems
Copy link
Member

@Eeems Eeems commented Dec 10, 2023

New Packages

Updated Packages

Tooling

  • New provides=() field added for packages.
  • Added unit-exists and disable-unit methods to install-lib

Note: This doesn't change what OS version that toltec supports, as full support still requires various packages to be updated, removed, or replaced. Along with proper testing of all packages in the repository, as well as the upgrade process. https://github.com/toltec-dev/toltec/milestone/7 contains the current list of issues and pull requests required for 3.x support.

Etn40ff and others added 13 commits December 9, 2023 21:42
* Add package for wireguard-tools

* Pull in provides from #600

* Add provides to wireguard packages

* add conflicts

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
…reguard (#742)

* linux-stracciatella: update sources to RM1XX_5.4.70_v1.3.4

* Bump build image to v3.1

* Add wireguard module to linux-stracciatella

* Move wireguard config out of sources

* Remove debug symbols for rM1

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
* Update neofetch to v1.1.0

* inform config update

* optional config msg
* Update webinterface-wifi to v2.0.0

* reload daemon if running on upgrade

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
* Add package webinterface-onboot 1.2.2

* daemon opt/bin

* fmt

* correct error reporting; conflict ddvk

* reinstall on upgrade

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
* Update micro to 2.0.12

Release notes: https://github.com/zyedidia/micro/releases/tag/v2.0.12

* Update micro to 2.0.13
Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
* Add package: webinterface-upload-button v1.0.1

* auto apply/revert; reinstall on reenable

* remove alias
* Add package: signature-rM v1.0.2

* auto apply/revert; reinstall on reenable

* conflicts=(ddvk-hacks)

* remove error suppression

* #770 and #772 conflict

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
@Eeems Eeems added the merge Weekly merge of the testing branch into the stable branch label Dec 10, 2023
@Eeems
Copy link
Member Author

Eeems commented Dec 10, 2023

Todo

  • Populate description with release notes
  • Test on rM1
  • Test on rM2

@Eeems Eeems marked this pull request as ready for review December 10, 2023 21:46
@Eeems
Copy link
Member Author

Eeems commented Dec 10, 2023

I can install wireguard and wireguard-tools at the same time, even though wireguard provides wireguard-tools and wireguard-tools conflicts with wireguard. It doesn't matter the order I specify them in. Upon inspecting /opt/lib/opkg/status it appears that wireguard-tools is missing the conflicts line. This will need to be resolved before this can merge to stable.

@Eeems
Copy link
Member Author

Eeems commented Dec 10, 2023

I've opened #784 to resolve the issue. It will need to be included before this can merge to stable.

@bkirwi
Copy link

bkirwi commented Dec 14, 2023

I did some testing on rm2 this evening: rmfm, display/rm2fb, remux, neofetch all behave well.

I expect to test most of the other rm2 packages sometime before the end of the weekend... except for linux-stracciatella probably, in case someone else with an rm2 wants to pick it up.

@Eeems
Copy link
Member Author

Eeems commented Dec 14, 2023

I did some testing on rm2 this evening: rmfm, display/rm2fb, remux, neofetch all behave well.

I expect to test most of the other rm2 packages sometime before the end of the weekend... except for linux-stracciatella probably, in case someone else with an rm2 wants to pick it up.

Is there a chance that you could review/test #784 in the next day or two so we can get it merged and tested as well? I was hoping to get another merge window started before this weekend, as this merge window was supposed to merge on Sunday.

@bkirwi
Copy link

bkirwi commented Dec 15, 2023

Did what I could!

* Remove wireguard-tools from wireguard and mark it as depending on wireguard-tools

* Dropping wireguard-tools as entware has it and wg-quick already
@Eeems
Copy link
Member Author

Eeems commented Dec 16, 2023

Did what I could!

Thanks! It's now merged and ready for further testing.

@Eeems Eeems added this to the 2023-W49 Merge Window milestone Dec 20, 2023
@beelux
Copy link

beelux commented Dec 24, 2023

Testing

I did some testing with an rm2 on 2.15.1.1189.

Approach

Extreme, but works.

  1. Uninstall toltec
  2. Reinstall toltec
  3. Install all packages mentioned in PR
  4. Run some applications (to generate configs, e.g oxide, koreader, etc.)
  5. Download PR-specific build artifact from GH PR "Checks" tab
  6. Set up repo locally
  7. Update and upgrade packages through opkg
  8. Test packages

Using a local-repo with build artifacts

Locally (computer)

Firstly, download the PR-specific build artifacts. Then:

scp repo.zip rm:

Remotely (rM)

mkdir -p ~/packages/local/
cd ~/packages/local/
mv ~/repo.zip ./repo.zip
unzip repo.zip
cat > /opt/etc/opkg.conf.d/16-local.conf << EOF
src/gz local-rmall file:///home/root/packages/local/rmall
src/gz local-rm2 file:///home/root/packages/local/rm2
EOF
toltecctl generate-opkg-conf
opkg update
opkg upgrade
Packages to install (mentioned in PR)
opkg install webinterface-onboot webinterface-upload-button signature-rm linux-stracciatella wireguard display rm2fb-client rmfm neofetch webinterface-wifi micro koreader ddvk-hacks draft erode fret oxide rot tarnish decay corrupt anxiety oxide-utils liboxide inject_evdev reboot-guard rmfakecloud-proxy genie remux tailscale-systemd toltec-base xochitl

Results

New Packages

  • webinterface-onboot
    • uninstall ddvk-hacks after testing it
    • enable service
    • reboot
  • webinterface-upload-button
    • uploaded pdf via web interface
  • signature-rm
    • uninstalled ddvk-hacks and webinterface-onboot
    • missing "restart xochitl or the device" note
    • restarted xochitl
    • sent page by email

Updated Packages

  • linux-stracciatella
    • switch kernel via kernelctl, rebooted
  • wireguard
  • display and rm2fb-client
    • used it for everything
  • rmfm
    • open, browse, open text file
  • neofetch
  • webinterface-wifi
  • micro
    • open, edit, save file
  • koreader
    • opens a ePUB book and PDF paper
  • ddvk-hacks
    • present, works
  • draft
    • opened/exited KOReader, opened/exited rmfm
  • erode, fret, oxide, rot, tarnish, decay, corrupt, anxiety, oxide-utils, liboxide and inject_evdev
    • anxiety, fret: took a screenshot, viewed it
    • corrupt, oxide, tarnish: opened/exited rmfm, opened/exited xochitl
    • erode: open process manager
    • rot: rot apps get applications
    • inject_evdev: open a oxide menu, run example usage
    • oxide-utils: notify-send test
  • reboot-guard
    • blocks everything correctly after running rguard -1, works again after rguard -0
  • rmfakecloud-proxy
    • ran rmfakecloudctl, rmfakecloudctl status
  • genie
    • used iago and lamp, with example config in /opt/etc/genie.conf, systemctl restart genie, default bezier curve
  • remux
    • switch to rmfm, switch back to xochitl
  • tailscale-systemd
    • connect to network
    • reboot rm
    • connect to rm via tailscale
  • toltec-base, xochitl
    • not sure how to test those, but nothing bad really happened

Summary

  • signature-rm is missing "restart xochitl or the device" postinstall note

@Eeems
Copy link
Member Author

Eeems commented Dec 24, 2023

Summary

* `signature-rm` is missing "restart xochitl or the device" postinstall note

The code for uninstall that runs is as follows:

_restore() {
    echo "Reverting /usr/bin/xochitl"
    if signature-rm has-backup > /dev/null; then
        signature-rm revert --backup -y > /dev/null
    else
        signature-rm revert --reverse -y > /dev/null
    fi
    echo "Success"
    echo
}

Did you at least see the Reverting /usr/bin/xochitl and Success lines? They appear to be masking stdout from signature-rm revert, but that's also what the webinterface-onboot and webinterface-upload-button do.

@beelux
Copy link

beelux commented Dec 24, 2023

Summary

* `signature-rm` is missing "restart xochitl or the device" postinstall note

Did you at least see the Reverting /usr/bin/xochitl and Success lines?

Yes, here's the full output of an installation and removal on my device:

root@reMarkable:~# opkg install signature-rm
Package ddvk-hacks version 39.01-2 has no valid architecture, ignoring.
Package ddvk-hacks version 39.01-2 has no valid architecture, ignoring.
Package ddvk-hacks version 39.01-2 has no valid architecture, ignoring.
Package ddvk-hacks version 39.01-2 has no valid architecture, ignoring.
Installing signature-rm (1.0.2-1) to root...
Downloading file:///home/root/packages/local/rmall/signature-rm_1.0.2-1_rmall.ipk
Configuring signature-rm.

Applying signature-rM
Success

root@reMarkable:~# opkg remove signature-rm
Removing package signature-rm from root...
Reverting /usr/bin/xochitl
Success

root@reMarkable:~# 

I think the ddvk-hacks printing might be related to some quirk of my device, but I'm not sure and it's not exactly blocking installation, just printing more text than necessary.

@Eeems
Copy link
Member Author

Eeems commented Dec 24, 2023

I think the ddvk-hacks printing might be related to some quirk of my device, but I'm not sure and it's not exactly blocking installation, just printing more text than necessary.

Hmm, that is kind of odd, what does grep -A 10 ': ddvk-hacks' /opt/lib/opkg/status return?

@beelux
Copy link

beelux commented Dec 24, 2023

I think the ddvk-hacks printing might be related to some quirk of my device, but I'm not sure and it's not exactly blocking installation, just printing more text than necessary.

Hmm, that is kind of odd, what does grep -A 10 ': ddvk-hacks' /opt/lib/opkg/status return?

Nothing at all.

@Eeems
Copy link
Member Author

Eeems commented Dec 24, 2023

What is the output of cat /opt/etc/opkg.conf?

EDIT: Oh, I just noticed you added rm1 to your conf file, you should remove that line and regenerate your opkg.conf, as rm1 packages are not meant to be installed on a rM2. That is probably why this is happening.

@beelux
Copy link

beelux commented Dec 24, 2023

What is the output of cat /opt/etc/opkg.conf?

root@reMarkable:~# cat /opt/etc/opkg.conf
# Opkg configuration
# Generated by toltecctl (do not modify!)

# Define custom configuration in files under the '/opt/etc/opkg.conf.d' directory
# then run `toltecctl generate-opkg-conf` to regenerate this file

dest root /
dest ram /opt/tmp
lists_dir ext /opt/var/opkg-lists
option tmp_dir /opt/tmp

# /opt/etc/opkg.conf.d/10-entware.conf
arch all 100
arch armv7-3.2 160
src/gz entware https://bin.entware.net/armv7sf-k3.2

# /opt/etc/opkg.conf.d/15-toltec.conf
arch rmall 200
src/gz toltec-rmall https://toltec-dev.org/stable/rmall
arch rm2 250
src/gz toltec-rm2 https://toltec-dev.org/stable/rm2

# /opt/etc/opkg.conf.d/16-local.conf
src/gz local-rmall file:///home/root/packages/local/rmall
src/gz local-rm1 file:///home/root/packages/local/rm1
src/gz local-rm2 file:///home/root/packages/local/rm2

Noting that the setup of the last 3 local ones is described in my initial message.

@Eeems
Copy link
Member Author

Eeems commented Dec 24, 2023

src/gz local-rm1 file:///home/root/packages/local/rm1

This line would be causing issues, as any packages included here have the rm1 architecture, which is not defined in the rest of your config, as you are configured for rm2/rmall only. So if you remove this line from /opt/etc/opkg.conf.d/16-local.conf and then run toltecctl generate-opkg-conf and opkg update, the errors should no longer be happening.

@beelux
Copy link

beelux commented Dec 24, 2023

Oh, I just noticed you added rm1 to your conf file, you should remove that line and regenerate your opkg.conf, as rm1 packages are not meant to be installed on a rM2. That is probably why this is happening.

Indeed, it's now a clean output:

root@reMarkable:~# opkg install signature-rm 
Installing signature-rm (1.0.2-1) to root...
Downloading file:///home/root/packages/local/rmall/signature-rm_1.0.2-1_rmall.ipk
Configuring signature-rm.

Applying signature-rM
Success

root@reMarkable:~# opkg remove signature-rm 
Removing package signature-rm from root...
Reverting /usr/bin/xochitl
Success

I thought I could just add both without thinking much about it 😅. I also fixed my initial message with the code block for future reference.

@Eeems
Copy link
Member Author

Eeems commented Dec 25, 2023

Alright, I'm happy with the testing as-is now. @beelux you may want to open an issue about rm-signature/webinterface-onboot/webinterface-upload-button not instructing the user to restart xochitl, that way @rM-self-serve can weigh in on it. In my opinion, it does not block this stable merge.

@rM-self-serve
Copy link
Contributor

rM-self-serve commented Dec 25, 2023

I would be happy to add the 'restart xochitl' line to the onboot/signature-rm packages. I believe my thinking with onboot was that the name implied rebooting and then I likely copied that to signature-rM. @Eeems would you like me to push that out really quick or are you looking to merge asap? Upload-button does not need to restart xochitl.

@Eeems
Copy link
Member Author

Eeems commented Dec 25, 2023

I would be happy to add the 'restart xochitl' line to onboot/signature-rm. I believe my thinking with onboot was that the name implied rebooting and then I likely copied that to signature-rM. @Eeems would you like me to push that out really quick or are you looking to merge asap? Upload-button does not need to restart xochitl.

It's not needed for this stable merge. I'd actually like to have it be done using the new launcherctl command in #795 to see if xochitl is running and give instructions to the user on how to restart xochitl with it.

@Eeems Eeems merged commit f97179c into stable Dec 26, 2023
5 checks passed
@Eeems Eeems deleted the merge/2023-W49 branch December 26, 2023 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge Weekly merge of the testing branch into the stable branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants