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

Add support for rm-sync in xochitl package #718

Merged
merged 18 commits into from
May 22, 2024

Conversation

timower
Copy link

@timower timower commented Aug 3, 2023

Recent xochitl versions renamed the sync service and binary to rm-sync. This updates the xochitl package to support both.

@Eeems Eeems added the packages Add or improve packages of the repository label Aug 3, 2023
@Eeems Eeems added this to the 2023-W31 merge window milestone Aug 3, 2023
Copy link
Member

@Eeems Eeems left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
image

A preupgrade script will need to stop and disable the old manual-sync.service

package/xochitl/package Outdated Show resolved Hide resolved
@Eeems Eeems linked an issue Aug 8, 2023 that may be closed by this pull request
@Eeems Eeems removed this from the 2023-W31 merge window milestone Aug 8, 2023
@Eeems
Copy link
Member

Eeems commented Aug 13, 2023

@timower poke

Recent xochitl versions renamed the sync service and binary to rm-sync.
This updates the xochitl package to support both.
@Eeems
Copy link
Member

Eeems commented Aug 30, 2023

@timower poke

@Eeems Eeems added this to the 3.x support milestone Nov 24, 2023
@timower
Copy link
Author

timower commented Nov 27, 2023

Verified on 2.15 (upgrade, fresh install & remove) and 3.5 (fresh install & remove). Seems to work

@Eeems Eeems self-requested a review November 28, 2023 00:40
Copy link
Member

@Eeems Eeems left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upgrading an existing install doesn't error, but I'm left with manual-sync.service still running and manual-sync@sync in a failed state with the following error:

Failed to start reMarkable Document Sync without the xochitl.service dependency.

Stopping manual-sync.service and then starting manual-sync@sync allows them to start as expected.

package/xochitl/package Outdated Show resolved Hide resolved
@timower
Copy link
Author

timower commented Dec 3, 2023

I cannot build any packages locally anymore, as I'm always running into:

# make xochitl
./scripts/package_build.py  "xochitl"
Traceback (most recent call last):
  File "/src/./scripts/package_build.py", line 44, in <module>
    repo = Repo(paths.RECIPE_DIR, paths.REPO_DIR)
  File "/src/scripts/toltec/repo.py", line 60, in __init__
    self.generic_recipes[name] = GenericRecipe.from_file(
  File "/src/scripts/toltec/recipe.py", line 46, in from_file
    return GenericRecipe(name, path, recipe.read())
  File "/src/scripts/toltec/recipe.py", line 59, in __init__
    variables, functions = bash.get_declarations(definition)
  File "/src/scripts/toltec/bash.py", line 147, in get_declarations
    assert next_token == "("
AssertionError

I tried different python versions and some docker image, without success.

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
@Eeems
Copy link
Member

Eeems commented Dec 3, 2023

Python 3.10 is currently required for the toltec build system. Toltecmk supports 3.11, but hasn't been fully updated to do everything the toltec build system does.

@timower timower requested a review from Eeems December 9, 2023 12:45
@Eeems
Copy link
Member

Eeems commented Dec 10, 2023

@timower unfortunately preupgrade won't run when upgrading from a previous package to this package, only configure from this package runs: https://github.com/toltec-dev/toltec/blob/stable/docs/package.md#install-section

@matteodelabre I'm not sure how the current pre/post upgrade scripts work makes sense as this keeps coming up. It's basically impossible to know what pre/post upgrade steps should be run until you are writing the new package. I think it might be worth us changing this longer term so that pre/post upgrade are run from package B along with configure. That or we start building some standards on what should actually be in those scripts by default in a package.

@Eeems Eeems mentioned this pull request Jan 7, 2024
Copy link
Member

@Eeems Eeems left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've only tested this on versions before the new rm-sync service, as that's all toltec supports at the moment. When we move to add support for 3.5+ we'll be retesting this along with other things.

@Eeems Eeems merged commit 317e047 into toltec-dev:testing May 22, 2024
3 checks passed
Eeems added a commit that referenced this pull request May 24, 2024
* Add support for rm-sync in xochitl package

Recent xochitl versions renamed the sync service and binary to rm-sync.
This updates the xochitl package to support both.

* Use file checks to determine rm-sync vs sync

* Update package/xochitl/package

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>

* Update to use new disable-unit method

* Update package

* Update package version

* Fix unit-exists

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
Eeems added a commit that referenced this pull request May 28, 2024
**Note:** _This adds OS support up to 3.3.2.1666. Due to the new toltec repositories specific to the 2.x and 3.x OS versions being added, you will need to run `opkg update && opkg upgrade` a second time to complete the full upgrade._

---

### New Packages
- `launcherctl` - 0.0.1-2 (#795)
  - Adds a new utility for managing launchers and applications.
  - Run `launcherctl --help` on the device for more information on how to use it.
- `entware-rc` - 0.1-1 (#792)
  - Adds a new utility for managing services installed from the entware repository.
  - Run `rcctl --help` on the device for more information on how to use it.
- `zerotier`, `zerotier-one`, `zerotier-one-doc`, and `zerotier-selftest` - 1.12.2-1 (#713)
- `toltec-deletions` - 0.1-4 (#713  #759)
  - Used to remove packages from a system when upgrading/downgrading between supported OS versions
- `webinterface-localhost` - 0.0.0-1 (#842)
  - Allows accessing the usb web interface via `http://localhost`.
  - Useful for exposing the usb web interface over tailscale.

### Updated Packages
- `sudoku` - 0.1.2-1 (#832)
- `toltec-bootstrap` - 0.4.0-1 (#849 #759)
  - bootstrap and toltecctl will now validate that the OS version you are running on is supported based on a compatibility table you can manually inspect at https://toltec-dev/stable/Compatibility.
- `remarkable-stylus` - 0.0.3-3 (#855)
- `draft` - 0.2.0-25 (#795 #857 #862)
- `koreader` - 2024-04-4 (#795 #857 #838 #862)
- `oxide`, `oxide-utils`, `oxide-extra`, `inject_evdev`, `liboxide`, and `liboxide-dev` - 2.7-7 (#795 #857 #862 #864)
- `remux` - 0.3.0-4 (#795 #857 #862)
- `xochitl` - 0.0.0-20 (#795 #857 #718 #862)
- `toltec-base` - 1.3-3 (#853 #792 #795 #759)
- `toltec-completion` - 0.4.0-1 (#792 #795 #759)
- `gocryptfs` - 2.0-beta2-3 (#852)
- `innernet-client` - 1.5.3-3 (#852)
- `linux-mainline` - 6.2.0-3 (#852)
- `netevent` - 2.2.2-1 (#800)
- `display`, and `rm2fb-client` - 0.0.33-1 (#829)
- `neofetch` - 1.1.1-1 (#843)
- `ddvk-hacks` - 39.01-4 (#759)
- `fuse` - 1.0.0-5 (#759)
- `kernelctl` - 0.1-7 (#759)
- `signature-rm` - 1.0.2-2 (#759)
- `templatectl` - 0.1.3-5  (#759)
- `webinterface-onboot` - 1.2.3-2 (#759)
- `webinterface-upload-button` - 1.1.1-2 (#759)
- `wireguard` - 1.0.20210219-5 (#759)
- `open-remarkable-shutdown` - 1.0-2 (#861)

### Tooling
- Build process updated to use python 3.11 (#759).
- Ported c-string build fixes from toltecmk to the build process (#759).
- Added support for the following new architectures to allow splitting out OS support  (#759):
  - rmallos2
  - rmallos3
  - rm1os2
  - rm1os3
  - rm2os2
  - rm2os3
- New OS compatibility table added to build process  (#759).

### Documentation
- Updated information on architectures to include new OS support information  (#759).

### Packages removed
- The following packages have been removed for any device running OS 3.x, but are still available for devices running OS 2.x:
  - `remarkable-stylus`
  - `gocryptfs`
  - `innernet-client`
  - `linux-mainline`
  - `ddvk-hacks`
  - `fuse`
  - `wireguard`
  - `open-remarkable-shutdown`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages Add or improve packages of the repository
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3.5.1.1798 onwards renames sync to rm-sync
2 participants