nixpkgs icon indicating copy to clipboard operation
nixpkgs copied to clipboard

mastodon: 4.2.12 -> 4.3.0

Open Izorkin opened this issue 1 year ago • 4 comments

Description of changes

Updata package to version 4.3.0. Changelog: https://github.com/mastodon/mastodon/releases/tag/v4.3.0-beta.1

Things done

  • Built on platform(s)
    • [x] x86_64-linux
    • [ ] aarch64-linux
    • [ ] x86_64-darwin
    • [ ] aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • [ ] sandbox = relaxed
    • [x] sandbox = true
  • [x] Tested, as applicable:
  • [ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • [x] Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • [ ] (Package updates) Added a release notes entry if the change is major or breaking
    • [ ] (Module updates) Added a release notes entry if the change is significant
    • [ ] (Module addition) Added a release notes entry if adding a new NixOS module
  • [ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Izorkin avatar Aug 26 '24 20:08 Izorkin

Will close https://github.com/NixOS/nixpkgs/issues/277697

erictapen avatar Aug 26 '24 21:08 erictapen

The precompiled bootsnap code requires write access, me need to do it differently:

strace[2341]: openat(AT_FDCWD, "/nix/store/36hx44ri59l0cz2p9mwz76fnjm24cnxg-mastodon-4.3.0-beta.1/.precompile/bootsnap/compile-cache-iseq/2c/e8c63056794755.tmp.4RYrhX", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EROFS (Read-only file system)
strace[2341]: mkdir("/nix", 0775)                     = -1 EEXIST (File exists)
strace[2341]: mkdir("/nix/store", 0775)               = -1 EEXIST (File exists)
strace[2341]: mkdir("/nix/store/36hx44ri59l0cz2p9mwz76fnjm24cnxg-mastodon-4.3.0-beta.1", 0775) = -1 EEXIST (File exists)
strace[2341]: mkdir("/nix/store/36hx44ri59l0cz2p9mwz76fnjm24cnxg-mastodon-4.3.0-beta.1/.precompile", 0775) = -1 EEXIST (File exists)
strace[2341]: mkdir("/nix/store/36hx44ri59l0cz2p9mwz76fnjm24cnxg-mastodon-4.3.0-beta.1/.precompile/bootsnap", 0775) = -1 EEXIST (File exists)
strace[2341]: mkdir("/nix/store/36hx44ri59l0cz2p9mwz76fnjm24cnxg-mastodon-4.3.0-beta.1/.precompile/bootsnap/compile-cache-iseq", 0775) = -1 EEXIST (File exists)
strace[2341]: mkdir("/nix/store/36hx44ri59l0cz2p9mwz76fnjm24cnxg-mastodon-4.3.0-beta.1/.precompile/bootsnap/compile-cache-iseq/2c", 0775) = -1 EEXIST (File exists)
strace[2341]: clock_gettime(CLOCK_MONOTONIC, {tv_sec=478, tv_nsec=979962067}) = 0
strace[2341]: openat(AT_FDCWD, "/nix/store/36hx44ri59l0cz2p9mwz76fnjm24cnxg-mastodon-4.3.0-beta.1/.precompile/bootsnap/compile-cache-iseq/2c/e8c63056794755.tmp.0rUwZL", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EROFS (Read-only file system)
strace[2341]: clock_gettime(CLOCK_MONOTONIC, {tv_sec=478, tv_nsec=980354575}) = 0
strace[2341]: openat(AT_FDCWD, "/nix/store/36hx44ri59l0cz2p9mwz76fnjm24cnxg-mastodon-4.3.0-beta.1/.precompile/bootsnap/compile-cache-iseq/2c/e8c63056794755.tmp.ouEjmu", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EROFS (Read-only file system)
strace[2341]: close(5)                                = 0
strace[2341]: openat(AT_FDCWD, "/nix/store/frq2xac60pwdcyy7av1qlvllpcn271j6-ruby3.2-propshaft-0.9.1/lib/ruby/gems/3.2.0/gems/propshaft-0.9.1/lib/propshaft/compilers.rb", O_RDONLY|O_NONBLOCK|O_CLOEXEC) = 5
strace[2341]: fstat(5, {st_mode=S_IFREG|0444, st_size=1010, ...}) = 0
strace[2341]: close(5)      

Izorkin avatar Aug 27 '24 08:08 Izorkin

How about we set BOOTSNAP_READONLY then? Or just disable bootsnap alltogether using BOOTSNAP_DISABLE.

erictapen avatar Aug 27 '24 09:08 erictapen

How about we set BOOTSNAP_READONLY then? Or just disable bootsnap alltogether using BOOTSNAP_DISABLE.

Moved to /var/cache/mastodon/precompile

Izorkin avatar Aug 27 '24 10:08 Izorkin

Everything seems to be working :)

Izorkin avatar Aug 30 '24 18:08 Izorkin

Update to 4.3.0-rc.1.

Izorkin avatar Sep 30 '24 16:09 Izorkin

Probably a bigger topic for another PR but can't we put all the secrets into one file read by EnviromentFile?

I think the current option is easier to handle with scripts.

Izorkin avatar Oct 08 '24 20:10 Izorkin

Please ignore the codeowner check failure, see https://github.com/NixOS/nixpkgs/pull/336261#issuecomment-2400822729 for context

infinisil avatar Oct 08 '24 21:10 infinisil

When building I always receive this error and I couldn't figure out why

 ➜ nix build .#mastodon --builders ""
these 3 derivations will be built:
  /nix/store/2wl96f84nac778b1ky53g9qg8035zjcw-yarn-deps.drv
  /nix/store/x70arblcmxr05vp6sx3bm9nldx3nyz6m-mastodon-modules-4.3.0.drv
  /nix/store/ajxm6x5n4j9r7jmqsvzasiw3inyl1f1b-mastodon-4.3.0.drv
resolved derivation: '/nix/store/2wl96f84nac778b1ky53g9qg8035zjcw-yarn-deps.drv' -> '/nix/store/79mr0qkqnkn0hkwkp12xj8rzd4hjyxqa-yarn-deps.drv'
yarn-deps> building '/nix/store/79mr0qkqnkn0hkwkp12xj8rzd4hjyxqa-yarn-deps.drv'
yarn-deps> Running phase: unpackPhase
yarn-deps> unpacking source archive /nix/store/b60mknaf0qfm9b7ggwbyp5kq5znd360b-source
yarn-deps> source root is source
yarn-deps> Running phase: patchPhase
yarn-deps> Running phase: updateAutotoolsGnuConfigScriptsPhase
yarn-deps> Running phase: configurePhase
yarn-deps> no configure script, doing nothing
yarn-deps> Running phase: buildPhase
yarn-deps> ➤ YN0000: Successfully set enableGlobalCache to false
yarn-deps> ➤ YN0000: Successfully set cacheFolder to '/nix/store/5rvf1ihx6yq909p1hsra5wzk6f0j1fjq-yarn-deps'
yarn-deps> ➤ YN0000: · Yarn 4.2.2
yarn-deps> ➤ YN0000: ┌ Resolution step
yarn-deps> ➤ YN0085: │ + typescript@patch:typescript@npm%3A5.5.4#optional!builtin<compat/typescript>::version=5.5.4&hash=b45daf
yarn-deps> ➤ YN0085: │ - typescript@patch:typescript@npm%3A5.5.4#optional!builtin<compat/typescript>::version=5.5.4&hash=379a07
yarn-deps> ➤ YN0000: └ Completed in 0s 461ms
yarn-deps> ➤ YN0000: ┌ Post-resolution validation
yarn-deps> ➤ YN0002: │ @mastodon/mastodon@workspace:. doesn't provide redux (p7a946), requested by react-redux-loading-bar.
yarn-deps> ➤ YN0086: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code.
yarn-deps> ➤ YN0000: │
yarn-deps> ➤ YN0000: │ @@ -17400,13 +17400,12 @@
yarn-deps> ➤ YN0000: │    linkType: hard
yarn-deps> ➤ YN0000: │
yarn-deps> ➤ YN0000: │  "typescript@patch:typescript@npm%3A5#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.0.4#optional!builtin<compat/typescript>":
yarn-deps> ➤ YN0000: │    version: 5.5.4
yarn-deps> ➤ YN0028: │ -  resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin<compat/typescript>::version=5.5.4&hash=379a07"
yarn-deps> ➤ YN0028: │ +  resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin<compat/typescript>::version=5.5.4&hash=b45daf"
yarn-deps> ➤ YN0000: │    bin:
yarn-deps> ➤ YN0000: │      tsc: bin/tsc
yarn-deps> ➤ YN0000: │      tsserver: bin/tsserver
yarn-deps> ➤ YN0028: │ -  checksum: 10c0/73409d7b9196a5a1217b3aaad929bf76294d3ce7d6e9766dd880ece296ee91cf7d7db6b16c6c6c630ee5096eccde726c0ef17c7dfa52b01a243e57ae1f09ef07
yarn-deps> ➤ YN0000: │    languageName: node
yarn-deps> ➤ YN0000: │    linkType: hard
yarn-deps> ➤ YN0000: │
yarn-deps> ➤ YN0000: │  "unbox-primitive@npm:^1.0.2":
yarn-deps> ➤ YN0000: │
yarn-deps> ➤ YN0028: │ The lockfile would have been modified by this install, which is explicitly forbidden.
yarn-deps> ➤ YN0000: └ Completed
yarn-deps> ➤ YN0000: · Failed with errors in 0s 594ms
error: builder for '/nix/store/79mr0qkqnkn0hkwkp12xj8rzd4hjyxqa-yarn-deps.drv' failed with exit code 1
error: 1 dependencies of derivation '/nix/store/x70arblcmxr05vp6sx3bm9nldx3nyz6m-mastodon-modules-4.3.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ajxm6x5n4j9r7jmqsvzasiw3inyl1f1b-mastodon-4.3.0.drv' failed to build

Edit: turn out I needed a newer yarn version on my branch....

SuperSandro2000 avatar Oct 08 '24 23:10 SuperSandro2000

Tested by 2 maintainers and CI. Any reason not to merge?

roberth avatar Oct 12 '24 14:10 roberth

Somehow this update broke my Mastodon instance https://social.project-insanity.org/

I'm using Caddy web server configuration https://wiki.nixos.org/wiki/Mastodon#Using_Caddy_as_a_server

Is there something I need to update or run some upgrade commands?

All background services run successfully

onny avatar Dec 05 '24 12:12 onny

@onny You shouldn't be required to run manual upgrade commands beyond what upstream requires you to do (and we even take care of some of the stuff like assets compilation). Using Caddy isn't supported by the module yet, so it could be the culprit here. Would you mind opening an issue and providing more details there?

erictapen avatar Dec 05 '24 15:12 erictapen