Compare commits

...

131 Commits

Author SHA1 Message Date
Owen-sz 39010e4e76 add: java-21-openjdk-portable
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-05 22:03:34 -05:00
Gilver 427177b166 chore(kde-material-you-colors): Refactor build around new macros (#11985) 2026-05-05 20:29:17 -05:00
Raboneko a5b67d902e bump: rpcs3 framework-system 2026-05-06 00:06:56 +00:00
Owen Zimmerman 972ba5c24f add: bitsandbytes (#11980)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-05 18:17:49 -05:00
Raboneko 4fe71bd470 bump: discord-canary-openasar discord-canary discord-openasar discord yt-dlp-git 2026-05-05 23:10:57 +00:00
Raboneko 7b7d57bc30 bump(branch): dkms-nvidia-580 nvidia-580xx-kmod 2026-05-05 22:53:12 +00:00
Raboneko 89355b7fc4 bump: discord-canary-openasar discord-canary 2026-05-05 22:10:15 +00:00
Raboneko fbf8153100 bump(branch): nvidia-580-kmod-common 2026-05-05 21:56:50 +00:00
Raboneko 3aa731a03d bump: discord-canary-openasar discord-canary wails3 2026-05-05 21:02:24 +00:00
Raboneko 7df6dc14f5 bump: discord-canary-openasar discord-canary zed-preview yazi 2026-05-05 19:53:37 +00:00
Gilver 45595ff392 fix(stable-ts): Package name (#11974) 2026-05-05 13:57:24 -05:00
Raboneko 02ad3082b5 bump: rustnet 2026-05-05 18:12:56 +00:00
Raboneko 3df477cec3 bump: discord-canary-openasar discord-canary magic-wormhole transformers wails3 2026-05-05 16:56:41 +00:00
Raboneko de43bd445f bump: android-studio 2026-05-05 15:15:25 +00:00
Raboneko e1d356ff98 bump: rust-mise cloudflare-speed-cli 2026-05-05 11:47:22 +00:00
Raboneko 9665fbf49a bump: discord-canary-openasar discord-canary rpcs3 arduino-remoteocd 2026-05-05 10:23:36 +00:00
Raboneko af15764c30 bump(branch): zig-master 2026-05-05 09:28:03 +00:00
Raboneko f04badfbcf bump: rust-zellij zig-master-bootstrap 2026-05-05 08:37:25 +00:00
Owen Zimmerman decccd8620 add: peft (#11944)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-05 15:11:43 +08:00
Owen Zimmerman 6f118cd84c fix: stable-ts source (#11963) 2026-05-04 23:56:55 -05:00
Raboneko 49fecfcb7c bump: stable-ts 2026-05-05 04:33:45 +00:00
Raboneko 6c48efe545 bump(nightly): ghostty-nightly micro-nightly zed-nightly prismlauncher-nightly v2raya-nightly types-colorama v2ray-domain-list-community cloud-hypervisor-nightly scx-scheds-nightly 2026-05-05 03:23:16 +00:00
Owen Zimmerman 5fc2acb2bd add: stable-ts (#11949)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-04 21:52:43 -05:00
Owen Zimmerman 0a340cdf79 add: python-vulkan (#11954)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-04 21:52:21 -05:00
Owen Zimmerman f89d5bb577 chore (dataclasses-json): clean up build (#11933)
Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
2026-05-04 21:27:47 -05:00
Owen Zimmerman 6175748e17 chore (hydra-colorlog): use java-latest (#11934)
Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
2026-05-04 21:26:57 -05:00
Owen Zimmerman 44481d7ce2 add: open-unmix-pytorch (#11939)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-04 21:06:55 -05:00
Owen Zimmerman 79849936fe add: transformers (#9044)
* add: transformers

Signed-off-by: Owen-sz <owen@fyralabs.com>

* add patch, update spec

Signed-off-by: Owen-sz <owen@fyralabs.com>

---------

Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-04 20:57:37 -05:00
Raboneko 69f40da3fc bump: discord-canary-openasar discord-canary ruffle-nightly rpcs3 2026-05-05 01:18:05 +00:00
Owen Zimmerman a7f8c4eefa chore (ops2deb): use modern python packaging (#11635)
* chore (ops2deb): use modern python packagin

Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>

* chore: add version patch

Signed-off-by: Owen-sz <owen@fyralabs.com>

---------

Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-04 19:30:49 -05:00
Owen Zimmerman 6e629440f3 add: dirsync (#11924)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-04 19:03:45 -05:00
Gilver 2106394f56 fix(protonplus): Build requires Vala (#11914)
Signed-off-by: Gilver <roachy@fyralabs.com>
2026-05-04 18:52:03 -05:00
Owen Zimmerman 2437903013 fix (satty): put update.rhai in correct folder (#11915)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-04 18:51:09 -05:00
Owen Zimmerman f4f70ebb20 add: ProtonPlus (#11909) 2026-05-04 18:31:37 -05:00
Gilver da7029ccaf chore(discord): Include TOS as license file, fix script locations (#11900)
* chore(discord): Include TOS as license file

Signed-off-by: Gilver <roachy@fyralabs.com>

* Update discord.spec

Signed-off-by: Gilver <roachy@fyralabs.com>

* fix: I hate you Discord

Signed-off-by: Gilver <roachy@fyralabs.com>

* fix: A

Signed-off-by: Gilver <roachy@fyralabs.com>

* fix: Typo

Signed-off-by: Gilver <roachy@fyralabs.com>

* Update discord.spec

Signed-off-by: Gilver <roachy@fyralabs.com>

* Update discord.spec

Signed-off-by: Gilver <roachy@fyralabs.com>

---------

Signed-off-by: Gilver <roachy@fyralabs.com>
2026-05-04 17:18:50 -05:00
Raboneko 8bc1d8aee3 bump: bazzite-portal 2026-05-04 21:55:20 +00:00
Tulip Blossom 0d693b3ecc iio-niri: add automatic update definition and update to 2.0 (#11873)
* iio-niri: add automatic update definition and update to 2.0

Signed-off-by: Tulip Blossom <tulilirockz@outlook.com>

* fix(iio-niri): reviews from roach and owen

Signed-off-by: Tulip Blossom <tulilirockz@outlook.com>

---------

Signed-off-by: Tulip Blossom <tulilirockz@outlook.com>
2026-05-04 16:25:33 -05:00
Gilver 0c057f2b88 chore(discord): Update build (#11895)
* chore(discord): Update build

Signed-off-by: Gilver <roachy@fyralabs.com>

* chore: Update more stuff

Signed-off-by: Gilver <roachy@fyralabs.com>

* fix: Oops

Signed-off-by: Gilver <roachy@fyralabs.com>

* fix: Dummy forgot buildroot

Signed-off-by: Gilver <roachy@fyralabs.com>

---------

Signed-off-by: Gilver <roachy@fyralabs.com>
2026-05-04 15:51:34 -05:00
Raboneko acb82a9097 bump: discord-canary-openasar discord-canary discord-openasar discord 2026-05-04 19:43:13 +00:00
Raboneko 2a3c806fe0 bump: discord-canary-openasar discord-canary rpcs3 rust-dysk 2026-05-04 18:08:29 +00:00
Gilver b24e5f2972 fix(srpm-macros): License tag (#11890)
Signed-off-by: Gilver <roachy@fyralabs.com>
2026-05-04 15:43:01 +00:00
Raboneko 9779d3df44 bump(branch): zig-master 2026-05-04 14:36:43 +00:00
Raboneko 5fe484d08c bump: v2raya 2026-05-04 14:31:43 +00:00
Raboneko 91f17f22e2 bump: lomiri-system-settings zig-master-bootstrap 2026-05-04 12:03:50 +00:00
Raboneko 85932b82f7 bump: zed-preview zed 2026-05-04 10:02:02 +00:00
Raboneko e58d53375d bump: rpcs3 golang-google-grpc.terra 2026-05-04 07:46:37 +00:00
Raboneko 621ff778eb bump(branch): libtrueforce logitech-rs50-linux-driver-kmod dkms-logitech-rs50-linux-driver 2026-05-04 05:47:54 +00:00
Raboneko 14c1647a7e bump: rust-chess-tui jellyfin-apiclient-python 2026-05-04 04:50:41 +00:00
Raboneko bfa2d11de0 bump(nightly): flameshot-nightly mpv-nightly zed-nightly v2raya-nightly xray-nightly types-colorama libbacktrace-nightly v2ray-domain-list-community cloud-hypervisor-nightly logitech-rs50-linux-driver opentabletdriver-nightly gf 2026-05-04 03:36:42 +00:00
Tulip Blossom ac7ca54b7f fix(satty): add autoupdate definition (#11883) 2026-05-03 21:18:26 -05:00
Raboneko bb75d2a338 bump: ruffle-nightly 2026-05-04 01:21:03 +00:00
Raboneko a8d11369ee bump: yt-dlp-git 2026-05-03 22:46:21 +00:00
Gilver 7d34e011c8 fix(rio): Build requires glslc (#11861)
* fix(rio): Build requires glslc

Signed-off-by: Gilver <roachy@fyralabs.com>

* chore: Update icon path

Signed-off-by: Gilver <roachy@fyralabs.com>

* chore: Update build

Signed-off-by: Gilver <roachy@fyralabs.com>

* fix: Actually package the metainfo

Signed-off-by: Gilver <roachy@fyralabs.com>

---------

Signed-off-by: Gilver <roachy@fyralabs.com>
2026-05-03 17:36:59 -05:00
Luan Vitor Simião Oliveira 3754f60187 ship our own dkms.conf (#11874)
upstream builds the module inside the source directory,
which prevents it being removed on upgrade/remove.
also prevents build failures due to the patch failing to apply
2026-05-03 16:26:16 -05:00
Raboneko f35308e7e1 bump: yt-dlp-git 2026-05-03 21:00:28 +00:00
Gilver 9410e02506 fix(anda): Add workaround for rustc 1.95.0, enable debuginfo, split shell completions into subpackages (#11860) 2026-05-03 15:31:08 -05:00
Raboneko 5ebaa4bf94 bump: python-mpv-jsonipc 2026-05-03 20:02:16 +00:00
Raboneko 4b97e5ca12 bump: rust-mise rust-usage-cli 2026-05-03 19:16:30 +00:00
Raboneko 69b74ec97c bump(branch): zig-master 2026-05-03 18:50:41 +00:00
Raboneko 493893aa55 bump: rust-anda rio 2026-05-03 18:05:34 +00:00
Gilver a0f1a12347 fix(zig-master): Use rpm.define() for llvm_compat (#11851) 2026-05-03 12:47:54 -05:00
Gilver ec330e82cf fix(breakpad): Use correct format for gh() (#11850)
Signed-off-by: Gilver <roachy@fyralabs.com>
2026-05-03 12:22:48 -05:00
Raboneko 16f1f566f8 bump: anda-srpm-macros 2026-05-03 17:15:43 +00:00
Raboneko 22b3956fd8 bump: zig-master-bootstrap wails3 wluma 2026-05-03 16:30:43 +00:00
Gilver 7d9befc768 chore(zed-nightly): Add clang workaround, remove Rust nightly (#11841)
* chore(zed-nightly): Add clang workaround

Signed-off-by: Gilver <roachy@fyralabs.com>

* chore: Test without nightly

Signed-off-by: Gilver <roachy@fyralabs.com>

---------

Signed-off-by: Gilver <roachy@fyralabs.com>
2026-05-03 10:46:41 -05:00
Gilver 0268ffe63e chore(backport): Add explicit Git dep, clean up some things (#11840)
* chore(backport): Add explicit Git dep

Signed-off-by: Gilver <roachy@fyralabs.com>

* chore: Changelog

Signed-off-by: Gilver <roachy@fyralabs.com>

* chore: Only build once and remove unused script

---------

Signed-off-by: Gilver <roachy@fyralabs.com>
2026-05-03 10:45:38 -05:00
Raboneko 3d133011d1 bump: zed-preview MareTF 2026-05-03 14:03:28 +00:00
Ivan Mironov ad514c9bc1 fix (zed): Workaround for panic on Fedora 44 (#11793)
See https://bugzilla.redhat.com/show_bug.cgi?id=2464281

Fixes https://github.com/terrapkg/packages/issues/11613

Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: madomado <madonuko@outlook.com>
2026-05-03 08:35:58 -05:00
Raboneko d98f63047d bump: rpcs3 xray 2026-05-03 12:23:33 +00:00
Raboneko cf103096eb bump: rpcs3 2026-05-03 11:30:56 +00:00
Raboneko 7e9e1df679 bump: walker nodejs-backport rpcs3 2026-05-03 08:22:51 +00:00
Raboneko 740abf69bc bump: rpcs3 2026-05-03 06:36:39 +00:00
Raboneko 3dbfb66b0c bump: ruffle-nightly python-soxr 2026-05-03 04:03:49 +00:00
Raboneko c47f7b0d9e bump(nightly): ghostty-nightly zed-nightly v2raya-nightly xray-nightly types-colorama v2ray-domain-list-community opentabletdriver-nightly natscli 2026-05-03 03:38:15 +00:00
Owen Zimmerman a87999c705 fix: wails3 (#11830)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-02 20:12:42 -05:00
Raboneko 5eb44b68a3 bump: vicinae 2026-05-02 22:06:38 +00:00
Raboneko 8c69a808ee bump: zig-master-bootstrap 2026-05-02 19:33:58 +00:00
Gilver 0ffc6ffc0f fix(scx-scheds): Pass missing flag to %cargo_license_online (#11809) 2026-05-02 12:19:06 -05:00
Raboneko a815fbe015 bump: wails3 2026-05-02 15:28:51 +00:00
Raboneko 35d0a0183a bump: voicevox 2026-05-02 14:32:46 +00:00
Tim Peters 5ab82231f4 feat: switch cuda-cudnn to cuda 13 (#11816)
* switch cuda-cudnn to cuda 13

* bump cuda-cudnn release to 2
2026-05-02 22:25:17 +08:00
Owen Zimmerman f17dab9c7d fix (numba): patch llvmlite version (#11817)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-05-02 09:03:07 -05:00
Tulip Blossom af9e357133 add dmemcg-booster (#11277) 2026-05-02 07:32:48 -05:00
Raboneko a6097c8a9f bump: rpcs3 2026-05-02 08:12:31 +00:00
madomado c180dafec5 fix(hollywood): install to /usr/lib (#11810)
close #11808
2026-05-02 01:06:48 -05:00
Raboneko 025f17d10d bump: discord-canary-openasar discord-canary wine-staging electron 2026-05-02 04:33:39 +00:00
Raboneko ea69569880 bump(branch): libtrueforce logitech-rs50-linux-driver-kmod dkms-logitech-rs50-linux-driver 2026-05-02 03:57:39 +00:00
Raboneko a8082c734a bump(nightly): mpv-nightly gnome-shell-extension-multi-monitors-bar zed-nightly xray-nightly types-colorama cloud-hypervisor-nightly logitech-rs50-linux-driver scx-scheds-nightly natscli 2026-05-02 03:20:47 +00:00
Raboneko 8f8353c6da bump: ruffle-nightly gpu-screen-recorder 2026-05-02 01:20:09 +00:00
Raboneko 6bc000c585 bump: discord-canary-openasar discord-canary zig-master-bootstrap vgmstream 2026-05-01 23:37:28 +00:00
Luan Vitor Simião Oliveira fdfe521470 Update rs50 driver (#11794)
* fix build

* add sdk readme

* reload udev rules

* add libtrueforce userspace library

* correct subsystem is hidraw

* add TRUEFORCE_PROTOCOL to docs

* Update anda/lib/libtrueforce/libtrueforce.spec

Co-authored-by: hamachitan[bot] <252235638+hamachitan[bot]@users.noreply.github.com>
Signed-off-by: Luan Vitor Simião Oliveira <luanv.oliveira@outlook.com>

* fix changelog messages

* add missing packager lines

* add missing requires for systemd-rpm-macros

* move udev rule to kmod as proton can access it too

* include script to setup trueforce on a proton prefix

* fix build

* fix build

* fix changelog entries

---------

Signed-off-by: Luan Vitor Simião Oliveira <luanv.oliveira@outlook.com>
Co-authored-by: hamachitan[bot] <252235638+hamachitan[bot]@users.noreply.github.com>
2026-05-01 17:31:24 -05:00
Raboneko 39333d5705 bump: driftwm posthog wine-dev 2026-05-01 21:38:38 +00:00
Raboneko d99c5264a5 bump: discord-canary-openasar discord-canary surge 2026-05-01 19:46:56 +00:00
madomado 7f312863a6 fix(discord-ptb): update symlink (#11799)
resolve #11791

Signed-off-by: madomado <madonuko@outlook.com>
2026-05-01 14:38:22 -05:00
J. 9652590b4b add: kittyCAD-cli (#11792) 2026-05-01 13:14:56 -05:00
Raboneko 5aabd6ce00 bump: discord-canary-openasar discord-canary 2026-05-01 17:21:39 +00:00
Raboneko b2c5a129aa bump: wails3 2026-05-01 16:17:46 +00:00
Raboneko 2b08c44f53 bump: rnote 2026-05-01 11:38:37 +00:00
Raboneko 0ac4cacf7b bump(branch): astal-gtk 2026-05-01 06:10:25 +00:00
Raboneko 631278ff56 bump: ruffle-nightly rpcs3 gh-act zig-master-bootstrap 2026-05-01 04:24:31 +00:00
Raboneko 84f1e0689a bump(nightly): mpv-nightly rpinters ghostty-nightly zed-nightly astal cloud-hypervisor-nightly nvidia-patch readymade-git natscli 2026-05-01 03:46:21 +00:00
Raboneko 215d164e0d bump: discord-canary-openasar discord-canary limine electron 2026-05-01 00:09:49 +00:00
Raboneko 2abc129c2f bump: discord-canary-openasar discord-canary komikku yt-dlp-git 2026-04-30 23:14:14 +00:00
Raboneko 2b2d082fc0 bump: discord-canary-openasar discord-canary 2026-04-30 22:17:14 +00:00
Raboneko a85caeebb8 bump: discord-canary-openasar discord-canary discord-ptb-openasar discord-ptb rust-starship 2026-04-30 20:24:48 +00:00
Owen Zimmerman d1529d4a09 fix (gnome-shell-extension packages): drop requiring below gnome-shell version 50 (#11785)
* fix (gnome-shell-extension packages): drop requiring below gnome-shell version 50

Signed-off-by: Owen-sz <owen@fyralabs.com>

* add packager

Signed-off-by: Owen-sz <owen@fyralabs.com>

---------

Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-04-30 14:23:18 -05:00
Owen Zimmerman 9b091e8d7b chore: move subatomic to terra/ folder (#11752)
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-04-30 14:13:51 -05:00
Raboneko a542f90133 bump: discord-canary-openasar discord-canary rpcs3 surge 2026-04-30 18:59:42 +00:00
Raboneko 83d00b374b bump: discord-canary-openasar discord-canary android-studio-canary flutter rpcs3 terra-sccache typos 2026-04-30 17:43:04 +00:00
Raboneko 735dd95e99 bump: wails3 tauri 2026-04-30 16:07:17 +00:00
Raboneko 6a6420b9ec bump: rpcs3 2026-04-30 14:32:45 +00:00
Raboneko d1bbae5702 fix(scrcpy): try to use existing java ver (#11776) (#11777)
if not we need to pull in adoptium


(cherry picked from commit 6ef17e4e15)

Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: madomado <madonuko@outlook.com>
2026-04-30 21:53:57 +08:00
Raboneko e6755af577 bump: rio 2026-04-30 12:21:49 +00:00
Raboneko 429bf69c73 bump: rust-mise 2026-04-30 11:03:17 +00:00
Owen Zimmerman 8e351434cb add: ghc-libriscv (#11750)
* fix (cagebreak): update dep

Signed-off-by: Owen-sz <owen@fyralabs.com>

* add: ghc-language-bluespec

Signed-off-by: Owen-sz <owen@fyralabs.com>

* add: ghc-libriscv

Signed-off-by: Owen-sz <owen@fyralabs.com>

---------

Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-04-30 18:16:12 +08:00
Raboneko 486279cdf9 bump: rpcs3 posthog 2026-04-30 09:01:58 +00:00
Raboneko 50bfd1e312 bump: helium-browser-bin ruffle-nightly 2026-04-30 06:38:42 +00:00
Raboneko c6b604b733 bump(branch): logitech-rs50-linux-driver-kmod dkms-logitech-rs50-linux-driver 2026-04-30 05:43:28 +00:00
Raboneko c4f384ecbe bump: discord-canary-openasar discord-canary steamos-manager 2026-04-30 04:01:54 +00:00
Raboneko f60e96810a bump(nightly): mpv-nightly hyprutils.nightly zed-nightly v2ray-domain-list-community cloud-hypervisor-nightly logitech-rs50-linux-driver nvidia-patch opentabletdriver-nightly scx-scheds-nightly 2026-04-30 03:34:44 +00:00
Raboneko 07b62e72b3 bump: discord-canary-openasar discord-canary 2026-04-30 00:07:19 +00:00
Raboneko e43a65c749 bump: discord-canary-openasar discord-canary 2026-04-29 23:09:47 +00:00
Raboneko 2c4d35c344 bump: discord-canary-openasar discord-canary wails3 chafa 2026-04-29 22:09:32 +00:00
Raboneko 56ecf3c224 bump: crystal 2026-04-29 21:05:00 +00:00
Raboneko 9c3402066a bump: discord-canary-openasar discord-canary 2026-04-29 19:55:30 +00:00
Hikari Hayashi 8213edf4bb Add f44 option to the bug issue template (#11765) 2026-04-29 14:22:47 -05:00
Raboneko d387408d5f bump: discord-canary-openasar discord-canary rpcs3 fresh vgmstream 2026-04-29 18:12:42 +00:00
Raboneko 21fbd7cfb0 bump(branch): libcusparselt 2026-04-29 17:21:58 +00:00
Raboneko 30fa4501e9 bump: rust-mise 2026-04-29 16:56:18 +00:00
Raboneko 7d8446c852 bump: discord-canary-openasar discord-canary zed-preview zed wails3 arduino-app-cli carapace 2026-04-29 15:20:00 +00:00
Pornpipat Popum b2a7a8ff98 fix: starship (#11758)
remove old ancient cargo2rpm-generated Windows patch because its no
longer relevant
2026-04-29 09:18:27 -05:00
191 changed files with 13710 additions and 468 deletions
+1
View File
@@ -29,6 +29,7 @@ body:
description: Which version of Terra are you using?
options:
- frawhide
- f44
- f43
- f42
- el10
+2 -2
View File
@@ -1,6 +1,6 @@
Name: bazzite-portal
Version: 0.2.1
Release: 2%{?dist}
Version: 0.2.2
Release: 1%{?dist}
Summary: Bazzite Portal is a tabbed frontend for curated script execution, with a focus on distro specific QOL shortcuts
URL: https://github.com/ublue-os/yafti-gtk
Source0: https://github.com/ublue-os/yafti-gtk/archive/refs/tags/v%{version}.tar.gz
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary-openasar
Version: 1.0.991
Version: 1.0.1027
Release: 1%{?dist}
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 1.0.991
Version: 1.0.1027
Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.135
Version: 1.0.137
Release: 1%{?dist}
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar
Version: 1.0.188
Version: 1.0.189
Release: 1%{?dist}
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+3 -3
View File
@@ -6,8 +6,8 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 1.0.188
Release: 1%{?dist}
Version: 1.0.189
Release: 2%{?dist}
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/discord-ptb-%{version}.tar.gz
@@ -37,7 +37,7 @@ mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-ptb/discord-ptb.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-ptb/discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb.png
ln -s %_datadir/discord-ptb/Discord %buildroot%_bindir/discord-ptb
ln -s %_datadir/discord-ptb/discord-ptb %buildroot%_bindir/discord-ptb
%files
%_bindir/discord-ptb
+17 -23
View File
@@ -1,24 +1,16 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.135
Version: 1.0.137
Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
Source0: https://dl.discordapp.net/apps/linux/%{version}/discord-%{version}.tar.gz
License: https://discord.com/terms
Requires: glibc GConf2
Requires: nspr >= 4.13
Requires: nss >= 3.27
Requires: libX11 >= 1.6
Requires: libXtst >= 1.2
Source1: https://discord.com/terms#/terms.html
License: Proprietary
Group: Applications/Internet
ExclusiveArch: x86_64
%electronmeta -D
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
@@ -29,22 +21,24 @@ both your desktop and phone.
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord
cp -rv * %{buildroot}%{_datadir}/discord
mkdir -p %{buildroot}%{_datadir}/applications/
install -Dpm755 ./* -t %{buildroot}%{_datadir}/discord
mkdir -p %{buildroot}%{_appsdir}
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord/discord.desktop %{buildroot}%{_datadir}/applications/discord.desktop
ln -s %_datadir/discord/discord.png %{buildroot}%{_datadir}/pixmaps/discord.png
ln -s %_datadir/discord/Discord %buildroot%_bindir/discord
mv %{buildroot}%{_datadir}/discord/discord.desktop -t %{buildroot}%{_appsdir}
mv %{buildroot}%{_datadir}/discord/discord.png -t %{buildroot}%{_datadir}/pixmaps
mv %{buildroot}%{_datadir}/discord/discord -t %{buildroot}%{_bindir}
cp %{SOURCE1} -t .
%files
%_bindir/discord
%license terms.html
%{_bindir}/discord
%{_datadir}/discord/
%{_datadir}/applications/discord.desktop
%{_appsdir}/discord.desktop
%{_datadir}/pixmaps/discord.png
%changelog
* Mon May 4 2026 Gilver E. <roachy@fyralabs.com> - 1.0.136-2
- Updated /usr/bin symlink
* Thu Jan 19 2023 madonuko <mado@fyralabs.com> - 0.0.143-1
- Initial package
+2 -2
View File
@@ -1,9 +1,9 @@
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
%global ver 13.3.0
%global commit a6694bf45ace6a8552351d5f9ca6f006786ce6f9
%global commit 1534a895e757b51d34ab5b1184344f04d67b8ebc
%global shortcommit %{sub %{commit} 1 7}
%global commit_date 20260426
%global commit_date 20260504
%global devel_name QtColorWidgets
%global _distro_extra_cflags -fuse-ld=mold
%global _distro_extra_cxxflags -fuse-ld=mold
@@ -11,7 +11,7 @@
%endif
Name: helium-browser-bin
Version: 0.11.6.1
Version: 0.11.7.1
Release: 1%{?dist}
Summary: Private, fast, and honest web browser based on Chromium
+1 -1
View File
@@ -5,7 +5,7 @@
%global pure_protobuf_version 2.0.0
Name: komikku
Version: 50.2.0
Version: 50.3.0
%forgemeta
Release: 1%{?dist}
Summary: A manga reader for GNOME
+2 -2
View File
@@ -1,9 +1,9 @@
# Disable X11 for RHEL 10+
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
%global commit 3e3936eee4bd0c9cc6542c3cca313ac4d54846e0
%global commit 333857403f01d760d6cf6b80654cf7a734f0ece5
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260429
%global commit_date 20260504
%global ver 0.41.0
Name: mpv-nightly
+3 -3
View File
@@ -1,10 +1,10 @@
%global commit 0fee3911afdaabbdcf4e8214e3472198a1c0c9db
%global commit_date 20260304
%global commit 8ce6f3eadf8e41d364d76d0853ae7f0cbb4fc23d
%global commit_date 20260501
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rpinters
Version: 0~%commit_date.git~%shortcommit
Release: 1%?dist
Release: 1%{?dist}
Summary: Raspberry Pi printing utility module
License: GPL-2+ AND BSD-3-Clause
URL: https://github.com/raspberrypi-ui/rpinters
+1 -1
View File
@@ -1,4 +1,4 @@
%global ver 2026-04-29
%global ver 2026-05-05
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
+1 -1
View File
@@ -1,5 +1,5 @@
Name: rustnet
Version: 1.2.0
Version: 1.3.0
Release: 1%{?dist}
Summary: A cross-platform network monitoring terminal UI tool built with Rust
License: Apache-2.0 AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-3-Clause OR Apache-2.0) AND BSL-1.0 AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib
+1 -1
View File
@@ -46,7 +46,7 @@ BuildRequires: python3-sdkmanager
Requires: %{name}-server
# Gradle here really wants Java 21-23 to work properly
# Java 25 breaks the build
BuildRequires: java-21-openjdk-devel
BuildRequires: java-latest-openjdk-devel
BuildConflicts: dkms-nvidia akmod-nvidia
Requires: android-tools
+2 -2
View File
@@ -13,8 +13,8 @@
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
Name: voicevox
Version: 0.25.1
Release: 1%?dist
Version: 0.25.2
Release: 1%{?dist}
Summary: Free Japanese text-to-speech editor
License: LGPL-3.0
URL: https://voicevox.hiroshiba.jp
+1 -1
View File
@@ -1,5 +1,5 @@
project pkg {
rpm {
spec = "rust-anda.spec"
spec = "anda.spec"
}
}
+77
View File
@@ -0,0 +1,77 @@
# Work around a bug in rustc 1.95.0 with GCC
%global toolchain clang
%global crate anda
Name: anda
Version: 0.5.4
Release: 2%{?dist}
Summary: Andaman Build toolchain
SourceLicense: MIT
License: ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND BSL-1.0 AND CDLA-Permissive-2.0 AND ISC AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0-or-later AND MPL-2.0-only AND Unicode-3.0 AND (Unlicense OR MIT)
URL: https://crates.io/crates/anda
Source0: https://github.com/FyraLabs/anda/archive/refs/tags/%{version}.tar.gz
%if %["%{toolchain}" == "clang"]
BuildRequires: clang
%else
BuildRequires: gcc
%endif
BuildRequires: rust-packaging >= 21
BuildRequires: anda-srpm-macros
BuildRequires: openssl-devel
%if %{defined fedora}
BuildRequires: openssl-devel-engine
%endif
BuildRequires: git-core
BuildRequires: libgit2-devel
BuildRequires: libssh2-devel
BuildRequires: mold
Requires: mock
Requires: rpm-build
Requires: createrepo_c
Requires: git-core
Requires: libgit2
%if 0%{?fedora} >= 42
Requires: mock-filesystem
Requires: util-linux-script
%endif
Packager: Terra Packaging Team <terra@fyralabs.com>
%description
Andaman Build toolchain.
%pkg_completion -bfz
%prep
%autosetup -n %{crate}-%{version}
%cargo_prep_online
%{__cargo} fetch --locked
%build
%{cargo_build} --frozen
%{cargo_license_online} > LICENSE.dependencies
%{__cargo} run --release -p xtask -- manpage
%{__cargo} run --release -p xtask -- completion
%install
%crate_install_bin
# Install shell completions
COMPDIR="target/assets/completion"
install -Dm644 $COMPDIR/bash/anda.bash -t %{buildroot}%{bash_completions_dir}
install -Dm644 $COMPDIR/zsh/_anda -t %{buildroot}%{zsh_completions_dir}
install -Dm644 $COMPDIR/fish/anda.fish -t %{buildroot}%{fish_completions_dir}
# Install man pages
install -Dm644 target/assets/man_pages/* -t %{buildroot}%{_mandir}/man1
%files
%doc README.md
%license LICENSE.dependencies LICENSE.md
%{_bindir}/anda
%{_mandir}/man1/anda*.1.*
%changelog
* Sun May 3 2026 Gilver E. <roachy@fyralabs.com> - 0.5.4-2
- Fix build on Fedora 43
- Add shell completions subpackages
-89
View File
@@ -1,89 +0,0 @@
# Generated by rust2rpm 22
%bcond_without check
%define debug_package %{nil}
%global crate anda
Name: rust-anda
Version: 0.5.3
Release: 1%{?dist}
Summary: Andaman Build toolchain
License: MIT
URL: https://crates.io/crates/anda
Source: https://github.com/FyraLabs/anda/archive/refs/tags/%{version}.tar.gz
ExclusiveArch: %{rust_arches}
BuildRequires: rust-packaging >= 21
BuildRequires: anda-srpm-macros
BuildRequires: openssl-devel
%if %{defined fedora}
BuildRequires: openssl-devel-engine
%endif
BuildRequires: git-core
BuildRequires: libgit2-devel
BuildRequires: libssh2-devel
BuildRequires: mold
%global _description %{expand:
Andaman Build toolchain.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
Requires: mock
Requires: rpm-build
Requires: createrepo_c
Requires: git-core
Requires: libgit2
%if 0%{?fedora} >= 42
Requires: mock-filesystem
Requires: util-linux-script
%endif
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE.dependencies LICENSE.md
%{_bindir}/anda
%{_mandir}/man1/anda*.1*
%config %{_sysconfdir}/bash_completion.d/anda.bash
%{_datadir}/zsh/site-functions/_anda
%{_datadir}/fish/completions/anda.fish
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%cargo_prep_online
%build
%cargo_build
%{cargo_license_online} > LICENSE.dependencies
cargo run --release -p xtask -- manpage
cargo run --release -p xtask -- completion
%install
install -Dpm755 target/rpm/anda -t %buildroot%_bindir/
mkdir -p %{buildroot}%{_mandir}/man1/
# Install shell completions
COMPDIR="target/assets/completion"
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d/
cp -v $COMPDIR/bash/anda.bash %{buildroot}%{_sysconfdir}/bash_completion.d/anda.bash
mkdir -p %{buildroot}%{_datadir}/zsh/site-functions/
cp -v $COMPDIR/zsh/_anda %{buildroot}%{_datadir}/zsh/site-functions/_anda
mkdir -p %{buildroot}%{_datadir}/fish/completions/
cp -v $COMPDIR/fish/anda.fish %{buildroot}%{_datadir}/fish/completions/anda.fish
# install man pages
cp -v target/assets/man_pages/* %{buildroot}%{_mandir}/man1/
rm -rf %{buildroot}%{cargo_registry}
%changelog
%autochangelog
+1 -1
View File
@@ -5,7 +5,7 @@
%global crate mise
Name: rust-mise
Version: 2026.4.26
Version: 2026.5.1
Release: 1%{?dist}
Summary: Front-end to your dev env
+30 -23
View File
@@ -1,43 +1,50 @@
%global debug_package %nil
%define _python_dist_allow_version_zero # upstream issue?
%global pypi_name ops2deb
%global _desc Generate Debian packages for common devops tools such as kubectl, kustomize, helm.
Name: python3-ops2deb
Name: python-%{pypi_name}
Version: 2.7.0
Release: 1%?dist
Summary: Generate Debian packages for common devops tools
Summary: Generate Debian packages for common devops tools such as kubectl, kustomize, helm
License: MIT
URL: https://github.com/upciti/ops2deb
Source0: %url/archive/refs/tags/%version.tar.gz
BuildRequires: python3-devel poetry python3.10
BuildRequires: python3dist(setuptools)
BuildArch: noarch
Source0: %{pypi_source}
Patch0: versions.patch
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: python3-pip
BuildRequires: python3-poetry
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
ops2deb is designed to generate Debian packages for common devops tools, but
can be used to package any portable application. It consumes a configuration
file and outputs .deb packages. ops2deb can also track new releases of upstream
applications and automatically bump application versions in its configuration
file.
%_desc
%package -n python3-%{pypi_name}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
%description -n python3-%{pypi_name}
%_desc
%prep
%autosetup -n ops2deb-%version
%autosetup -n %{pypi_name}-%{version} -p1
%build
poetry build
%pyproject_wheel
%install
python3.10 -m ensurepip
python3.10 -m pip install installer
python3.10 -m installer --destdir=%buildroot dist/*.whl
rm -rf %buildroot/%python3_sitelib/*/__pycache__
%pyproject_install
%pyproject_save_files %{pypi_name}
%files
%license LICENSE
%files -n python3-%{pypi_name} -f %{pyproject_files}
%doc README.md
/usr/bin/ops2deb
/usr/lib/python3*/site-packages/ops2deb*
%license LICENSE
%{_bindir}/ops2deb
%changelog
* Thu Apr 23 2026 Owen Zimmerman <owen@fyralabs.com>
- Switch to modern python packaging methods
* Fri Apr 28 2023 madonuko <mado@fyralabs.com> - 2.4.1-1
- Initial package.
+18
View File
@@ -0,0 +1,18 @@
diff --git a/pyproject.toml b/pyproject.toml
index 29b753f..926abf8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -18,10 +18,10 @@ packages = [
]
[tool.poetry.dependencies]
-python = ">=3.10,<3.12"
+python = ">=3.10"
httpx = ">=0.20.0"
-semver = "3.0.2"
-"ruamel.yaml" = "0.18.14"
+semver = ">3.0.2"
+"ruamel.yaml" = ">0.18.14"
python-debian = ">=0.1.42"
PyYAML = "^6"
typer = ">=0.6.1"
+1 -1
View File
@@ -1,5 +1,5 @@
Name: driftwm
Version: 0.4.0
Version: 0.5.0
Release: 1%{?dist}
Summary: A trackpad-first infinite canvas Wayland compositor
License: GPL-3.0-or-later
@@ -3,7 +3,7 @@
Name: gnome-shell-extension-%{extension}
Version: 12
Release: 3%?dist
Release: 4%{?dist}
Summary: GNOME Shell extension to bring back the app menu
License: GPL-3.0-only
URL: https://github.com/fthx/appmenu-is-back
@@ -12,7 +12,7 @@ BuildArch: noarch
Source0: https://github.com/fthx/appmenu-is-back/archive/refs/tags/v%{version}.tar.gz
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
Requires: gnome-shell >= 48~
Recommends: gnome-extensions-app
%description
@@ -7,7 +7,7 @@
Name: gnome-shell-extension-%{extension}
Version: 0~%{commit_date}git.%{shortcommit}
Release: 2%?dist
Release: 3%{?dist}
Summary: Battery remaining time extension for GNOME Shell
License: GPL-2.0-only
URL: https://github.com/pomoke/battery_time
@@ -18,7 +18,7 @@ Source0: %url/archive/%commit/battery_time-%commit.tar.gz
# License declared in README
Source1: https://scancode-licensedb.aboutcode.org/gpl-2.0.LICENSE
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
Requires: gnome-shell >= 48~
Recommends: gnome-extensions-app
Packager: Owen Zimmerman <owen@fyralabs.com>
@@ -7,18 +7,22 @@
Name: gnome-shell-extension-%{extension}
Version: %ver^%commit_date.%shortcommit
Release: 2%?dist
Release: 3%{?dist}
Summary: GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl
License: GPL-3.0-only
URL: https://github.com/chikobara/GPU-Switcher-Supergfxctl
Source0: %url/archive/%commit.tar.gz
Requires: (gnome-shell >= 48~ with gnome-shell < 50~) asusctl supergfxctl
Requires: gnome-shell >= 48~
Requires: asusctl
Requires: supergfxctl
Recommends: gnome-extensions-app
BuildArch: noarch
Packager: june-fish <june@fyralabs.com>
%description
GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl
@@ -3,7 +3,7 @@
Name: gnome-shell-extension-%{extension}
Version: 10
Release: 1%{?dist}
Release: 2%{?dist}
Summary: GNOME extension that removes the 'Window is ready' notification and brings the window into focus instead
License: AGPL-3.0-only
URL: https://github.com/zalckos/GrandTheftFocus
@@ -12,7 +12,7 @@ BuildArch: noarch
Source0: https://github.com/zalckos/GrandTheftFocus/archive/refs/tags/v%version.tar.gz
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
Requires: gnome-shell >= 48~
Recommends: gnome-extensions-app
Packager: Owen Zimmerman <owen@fyralabs.com>
@@ -1,5 +1,5 @@
%global commit 50da30c124e941f4ab5e76f34dc90f294a3aae98
%global commit_date 20260424
%global commit 1d36e934d5c5a00b99164309e09f0cc4a930b7a2
%global commit_date 20260502
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global extension multi-monitors-bar
@@ -17,7 +17,7 @@ BuildArch: noarch
Source0: %url/archive/%commit/multi-monitors-bar_fapv2-%commit.tar.gz
# README declared the license, but they do not provide a license file
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
Requires: gnome-shell >= 48~
Recommends: gnome-extensions-app
Packager: Owen Zimmerman <owen@fyralabs.com>
@@ -2,7 +2,7 @@
Name: gnome-shell-extension-vicinae
Version: 1.6.1
Release: 1%{?dist}
Release: 2%{?dist}
License: MIT
URL: https://github.com/dagimg-dot/vicinae-gnome-extension
Source: %{url}/archive/refs/tags/v%{version}.tar.gz
@@ -12,7 +12,7 @@ Packager: metcya <metcya@gmail.com>
BuildArch: noarch
BuildRequires: bun-bin glib2-devel
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
Requires: gnome-shell >= 48~
Requires: vicinae
Recommends: gnome-extensions-app
Provides: gnome-shell-extension-vicinae-gnome-extension
@@ -1,10 +1,10 @@
#? https://src.fedoraproject.org/rpms/hyprutils/blob/rawhide/f/hyprutils.spec
%global realname hyprutils
%global ver 0.12.0
%global ver 0.13.0
%global commit ee9ef3d43ed194cae1b55edb716a696a45c37b48
%global commit_date 20260427
%global commit ec5c0c709706bad5b82f667fd8758eae442577ce
%global commit_date 20260430
%global shortcommit %{sub %commit 1 7}
Name: %realname.nightly
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit 6005adf3220279a76b450abb39497e275ec7f325
%global commit cdf9dc925feb09c4e4e540849d3e9f6efa67599d
%forgemeta
Name: lomiri-system-settings
+4 -1
View File
@@ -1,5 +1,5 @@
Name: iio-niri
Version: 1.3.0
Version: 2.0.0
Release: 1%{?dist}
Summary: Autorotation daemon for niri
URL: https://github.com/Zhaith-Izaliel/iio-niri
@@ -30,5 +30,8 @@ Packager: Tulip Blossom <tulilirockz@outlook.com>
%{_bindir}/%{name}
%changelog
* Fri May 05 2026 Tulip Blossom <tulilirockz@outlook.com> - 2.0.0-1
- Update package and add autoupdate definitions
* Fri Mar 13 2026 Tulip Blossom <tulilirockz@outlook.com>
- Initial commit
+1
View File
@@ -0,0 +1 @@
rpm.version(find(`version = "([\d.]+)"`, gh_rawfile("Zhaith-Izaliel/iio-niri", "master", "Cargo.toml"), 1));
+1
View File
@@ -0,0 +1 @@
rpm.version(gh("Satty-org/Satty"));
+1 -1
View File
@@ -4,7 +4,7 @@
# prevent library files from being installed
%global cargo_install_lib 0
%global upstream_version v2.16.1
%global upstream_version v2.16.2
%global ver %{sub %upstream_version 2}
Name: walker
@@ -16,7 +16,7 @@
%global __requires_exclude ^libaaudio\\.so.*|^libandroid\\.so.*|^libmediandk\\.so.*|^liblog\\.so.*|^libc\\.so.*|^libm\\.so.*|^libdl\\.so.*|^libcrypt\\.so.*|^libstdc\\+\\+\\.so.*|^libncursesw\\.so.*|^libtinfo\\.so.*|^libnsl\\.so.*|^libpanelw\\.so.*$
Name: android-studio-canary
Version: 2026.1.1.2
Version: 2026.1.1.3
Release: 1%{?dist}
Summary: Official IDE for Android development (Canary build)
License: Apache-2.0
@@ -24,7 +24,7 @@ Packager: veuxit <erroor234@gmail.com>
ExclusiveArch: x86_64
URL: https://developer.android.com/studio/preview
%define suffixS quail1-canary2
%define suffixS quail1-canary3
Source0: https://dl.google.com/dl/android/studio/ide-zips/%{version}/android-studio-%{suffixS}-linux.tar.gz
@@ -16,7 +16,7 @@
%global __requires_exclude ^libaaudio\\.so.*|^libandroid\\.so.*|^libmediandk\\.so.*|^liblog\\.so.*|^libc\\.so.*|^libm\\.so.*|^libdl\\.so.*|^libcrypt\\.so.*|^libstdc\\+\\+\\.so.*|^libncursesw\\.so.*|^libtinfo\\.so.*|^libnsl\\.so.*|^libpanelw\\.so.*$
Name: android-studio
Version: 2025.3.4.6
Version: 2025.3.4.7
Release: 1%{?dist}
Summary: Official IDE for Android development
License: Apache-2.0
@@ -24,7 +24,7 @@ Packager: veuxit <erroor234@gmail.com>, like-engels <higashikataengels@icl
ExclusiveArch: x86_64
URL: https://developer.android.com/studio
%define suffixS panda4
%define suffixS panda4-patch1
Source0: https://dl.google.com/dl/android/studio/ide-zips/%{version}/android-studio-%{suffixS}-linux.tar.gz
+1
View File
@@ -1,4 +1,5 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "nodejs-backport.spec"
}
+8 -3
View File
@@ -3,11 +3,11 @@
%bcond test 0
Name: nodejs-%{npm_name}
Version: 11.0.2
Release: 1%{?dist}
Version: 12.0.0
Release: 2%{?dist}
Summary: Backport GitHub commits
SourceLicense: Apache-2.0
License: 0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND ISC AND MIT AND (MIT OR CC0-1.0) AND (WTFPL OR ISC)
License: MIT AND ISC AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause
URL: https://github.com/sorenlouv/%{npm_name}
Source0: http://registry.npmjs.org/%{npm_name}/-/%{npm_name}-%{version}.tgz
BuildRequires: anda-srpm-macros >= 0.3.0
@@ -17,6 +17,7 @@ BuildRequires: nodejs-license-checker
%if %{with test}
BuildRequires: yarnpkg
%endif
Requires: git-core
Obsoletes: node-backport <= 10.2.0
BuildArch: noarch
Packager: Gilver E. <roachy@fyralabs.com>
@@ -26,7 +27,9 @@ A simple CLI tool that automates the process of backporting commits on a GitHub
%prep
%npm_prep
%if %{with test}
%fetch_node_tests /src/test/ /tests/
%endif
%build
# Empty build section, because RPM reasons
@@ -50,6 +53,8 @@ A simple CLI tool that automates the process of backporting commits on a GitHub
%{_bindir}/%{npm_name}
%changelog
* Sun May 3 2026 Gilver E. <roachy@fyralabs.com> - 12.0.0-2
- Added explicit dependency on git-core
* Wed Jan 21 2026 Gilver E. <roachy@fyralabs.com> - 10.2.0-3
- Fixed package name and licenses
* Wed Jul 2 2025 Gilver E. <rockgrub@disroot.org> - 9.6.6-1
-28
View File
@@ -1,28 +0,0 @@
#!/usr/bin/bash
## Some sources need to be fetched BEFORE the build process
# Also I'm just better at scripting in Bash and calling the Rhai sh function hundreds of times times sounded like hell
# Have I mentioned I hate runtime languages?
node=backport
# Enable logs for debugging
set -x
# I guess just $PWD doesn't work for this
builddir=$(pwd)/anda/devs/$node
# We only need the tests folder so sourcing the whole repo is overkill, Git can make a tarball of specific directories
pushd $builddir
ver=$(cat ./*.spec | grep -P -m1 'Version:' | sed -e 's/Version://g' -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
url=$(sed -n 's/^URL:\s\(.*\)$/\1/p' ./*.spec | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e "s/%{module}/$node/")
dir=$node
git clone --recurse-submodules -j$(nproc) $url.git
pushd $dir
# I'm not sure why .tar.bz2 is the tar format of choice for this but it's also what Fedora does so it's what I'm doing
git archive --format=tar --prefix=tests/ v${ver}:src/test/ | bzip2 > ../tests-${ver}.tar.bz2
popd
rm -rf $dir
exit 0
+1 -1
View File
@@ -1,5 +1,5 @@
Name: flutter
Version: 3.41.8
Version: 3.41.9
Release: 1%{?dist}
Summary: SDK for crafting beautiful, fast user experiences from a single codebase
License: BSD-3-Clause
@@ -1,6 +1,6 @@
%global commit 6590196661f769dd8f2b3e85d6c98262c4ec5b3b
%global commit 563b085a4d623995663b320818b6088ba0f2588f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global fulldate 2026-04-27
%global fulldate 2026-05-04
%global commit_date %(echo %{fulldate} | sed 's/-//g')
%global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV
%global ver 1.3.2
+2 -2
View File
@@ -12,8 +12,8 @@
# Naming variable as something other than "commit" is necessary
# to stop %%gometa from putting commit hash in release
%global commit_hash bd0003b9c0a68291cc65c16aaf48320bda8b4eaf
%global commit_date 20260427
%global commit_hash 253065a4af5a417e3b13d62ec5f5f722457f4a53
%global commit_date 20260505
%global shortcommit %{sub %{commit_hash} 1 7}
%global ver 2.0.15
+8 -19
View File
@@ -1,10 +1,10 @@
%global crate rioterm
%global appid com.rioterm.Rio
%global _description %{expand:
A hardware-accelerated terminal emulator focusing to run in desktops and browsers.}
%bcond docs 1
Name: rio
Version: 0.3.11
Version: 0.4.2
Release: 1%{?dist}
Summary: A hardware-accelerated terminal written in Rust.
SourceLicense: MIT
@@ -17,6 +17,7 @@ BuildRequires: desktop-file-utils
BuildRequires: freetype-devel
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: glslc
BuildRequires: libxcb-devel
BuildRequires: libxkbcommon-devel
BuildRequires: mold
@@ -25,10 +26,9 @@ BuildRequires: pkgconfig(alsa)
Requires: freetype
Requires: fontconfig
Requires: hicolor-icon-theme
Requires: ncurses-term
Obsoletes: %{crate} < %{version}-%{release}
%if %{with docs}
Suggests: %{name}-doc = %{version}-%{release}
%endif
Obsoletes: %{name}-doc < %{evr}
Packager: Gilver E. <roachy@fyralabs.com>
%description %_description
@@ -40,14 +40,6 @@ Requires: %{name} = %{version}-%{release}
%description devel
This package contains the development libraries for Rio.
%if %{with docs}
%package doc
Summary: Documentation for Rio
%description doc
This package contains all official documentation files for the Rio terminal.
%endif
%prep
%autosetup -n %{name}-%{version}
%cargo_prep_online
@@ -59,7 +51,8 @@ sed -i 's/Exec=.*/Exec=%{crate}/g' misc/%{name}.desktop
%install
install -Dm755 target/rpm/%{name} %{buildroot}%{_bindir}/%{crate}
install -Dm755 target/rpm/*.so -t %{buildroot}%{_libdir}
install -Dm644 docs/static/assets/%{name}-logo.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{name}.svg
install -Dm644 misc/logo.svg %{buildroot}%{_scalableiconsdir}/%{name}.svg
install -Dm644 misc/%{appid}.metainfo.xml -t %{buildroot}%{_metainfodir}
desktop-file-install misc/%{name}.desktop
%{cargo_license_online -a} > LICENSE.dependencies
@@ -73,17 +66,13 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%{_bindir}/%{crate}
%{_datadir}/applications/%{name}.desktop
%{_iconsdir}/hicolor/scalable/apps/%{name}.svg
%{_metainfodir}/%{appid}.metainfo.xml
%files devel
%{_libdir}/librio_backend.so
%{_libdir}/librio_proc_macros.so
%{_libdir}/libsugarloaf.so
%if %{with docs}
%files doc
%doc docs/docs/*
%endif
%changelog
* Mon May 5 2025 Gilver E. <rockgrub@disroot.org> - 0.2.13-1
- Added doc package
+4 -3
View File
@@ -1,11 +1,11 @@
%global commit 3014170d7e4dfbe8379beda4dec92d6256b41209
%global commit 8d153d7feb6d49b0f42550d6aa111378d5e0013f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260429
%global commit_date 20260505
%global ver 1.2.0
%bcond_with check
%bcond_with debug_no_build
%bcond nightly 1
%bcond nightly 0
%if 0%{?with_debug_no_build}
%global debug_package %{nil}
@@ -19,6 +19,7 @@
%global appstream_component desktop-application
%global rustflags_debuginfo 0
%global toolchain clang
Name: zed-nightly
Version: %ver^%commit_date.%shortcommit
+3 -1
View File
@@ -1,3 +1,5 @@
%global toolchain clang
%bcond_with check
%bcond_with debug_no_build
@@ -5,7 +7,7 @@
%global debug_package %{nil}
%endif
%global ver 0.234.6-pre
%global ver 1.1.5-pre
# Exclude input files from mangling
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
+3 -1
View File
@@ -1,3 +1,5 @@
%global toolchain clang
%bcond_with check
%bcond_with debug_no_build
@@ -15,7 +17,7 @@
%global rustflags_debuginfo 0
Name: zed
Version: 0.233.10
Version: 1.0.1
Release: 1%{?dist}
Summary: Zed is a high-performance, multiplayer code editor
SourceLicense: AGPL-3.0-only AND Apache-2.0 AND GPL-3.0-or-later
+2 -2
View File
@@ -4,8 +4,8 @@
%global crate chess-tui
Name: rust-chess-tui
Version: 2.5.1
Release: 1%?dist
Version: 2.6.2
Release: 1%{?dist}
Summary: Rusty chess game in your terminal 🦀
License: MIT
@@ -3,10 +3,10 @@
%global name_pretty %{quote:Prism Launcher (Nightly)}
%global appid org.prismlauncher.PrismLauncher-nightly
%global commit 031015b3327b41d64b7e5ee54734cc93eb69c4ec
%global commit ac7c8adea26c40b9e24d432d3bf37dbbc545edce
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260423
%global commit_date 20260505
%global snapshot_info %{commit_date}.%{shortcommit}
# Change this variables if you want to use custom keys
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "protonplus.spec"
}
}
+56
View File
@@ -0,0 +1,56 @@
%define appid com.vysp3r.ProtonPlus
Name: protonplus
Version: 0.5.20
Release: 1%{?dist}
Summary: A modern compatibility tools manager
License: GPL-3.0-or-later
URL: https://github.com/Vysp3r/ProtonPlus
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: gcc
BuildRequires: vala
BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(libadwaita-1)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libsoup-3.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(libarchive)
BuildRequires: desktop-file-utils
Provides: ProtonPlus
%description
ProtonPlus is a modern compatibility tools manager for Linux.
It allows you to easily manage and update various compatibility
tools like Proton, Wine, DXVK, and VKD3D across different launchers.
%prep
%autosetup -n ProtonPlus-%{version}
%conf
%meson
%build
%meson_build
%install
%meson_install
%find_lang %{appid}
%files -f %{appid}.lang
%doc README.md CODE_OF_CONDUCT.md CONTRIBUTING.md SECURITY.md
%license LICENSE.md
%{_bindir}/protonplus
%{_metainfodir}/%{appid}.metainfo.xml
%{_appsdir}/%{appid}.desktop
%{_datadir}/glib-2.0/schemas/%{appid}.gschema.xml
%{_hicolordir}/*/apps/%{appid}.png
%changelog
* Mon May 04 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
+1
View File
@@ -0,0 +1 @@
rpm.version(gh("Vysp3r/ProtonPlus"));
+2 -2
View File
@@ -9,8 +9,8 @@
# GLIBCXX_ASSERTIONS is known to break RPCS3
%global build_cflags %(echo "%{__build_flags_lang_c}" | sed 's|-Wp,-D_GLIBCXX_ASSERTIONS ||g') %{?_distro_extra_cflags}
%global build_cxxflags %(echo "%{__build_flags_lang_cxx}" | sed 's|-Wp,-D_GLIBCXX_ASSERTIONS ||g') %{?_distro_extra_cflags}
%global commit b212935c702d228b29bbacf11f6fe02e86b655d8
%global ver 0.0.40-19262
%global commit 4f47fee36039f38449830eccf10e72282d680f1a
%global ver 0.0.40-19334
Name: rpcs3
Version: %(echo %{ver} | sed 's/-/^/g')
@@ -1,6 +1,6 @@
Name: steamos-manager
Version: 26.0.1
Release: 1%?dist
Version: 26.1.0
Release: 1%{?dist}
Summary: SteamOS Manager is a system daemon that aims to abstract Steam's interactions with the operating system.
License: MIT AND (MIT OR Apache-2.0) AND Unicode-3.0 AND Apache-2.0 OR BSL-1.0 AND Apache-2.0 OR MIT AND Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT AND BSD-3-Clause OR MIT OR Apache-2.0 AND ISC AND LGPL-2.1 OR MIT OR Apache-2.0 AND MIT AND MIT OR Apache-2.0 AND MIT OR Apache-2.0 OR LGPL-2.1-or-later AND Unlicense OR MIT AND Zlib OR Apache-2.0 OR MIT
URL: https://gitlab.steamos.cloud/holo/steamos-manager
+1 -1
View File
@@ -2,7 +2,7 @@
%global bootstrap_version 1.17.1
Name: crystal
Version: 1.20.0
Version: 1.20.1
Release: 1%{?dist}
Summary: A general-purpose, object-oriented programming language
License: Apache-2.0
+1 -1
View File
@@ -12,7 +12,7 @@
# https://github.com/nektos/act
%global goipath github.com/nektos/act
Version: 0.2.87
Version: 0.2.88
%gometa -f
@@ -11,7 +11,7 @@
# https://github.com/grpc/grpc-go
%global goipath google.golang.org/grpc
%global forgeurl https://github.com/grpc/grpc-go
Version: 1.80.0
Version: 1.81.0
%gometa -L
@@ -1,7 +1,7 @@
%global commit 8cd9934593307c19bd55ebc11e07ea1dc183b103
%global commit 074305b21bb3797eac2415aa5c385a579cd5943c
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global ver v2.2.7.5
%global commit_date 20260420
%global commit_date 20260505
%global goipath github.com/v2rayA/v2rayA
Version: %{ver}^%{commit_date}git.%{shortcommit}
+1 -1
View File
@@ -1,5 +1,5 @@
%global goipath github.com/v2rayA/v2rayA
Version: 2.3.4
Version: 2.4.0
%global golicenses LICENSE
%global godocs README.md
+2 -2
View File
@@ -1,7 +1,7 @@
%global commit 1836b1c6e4f672e266f629532e3252ce2a07ff54
%global commit 228f1e13aa22739b0d6b9adbdb2b600f1e2018e1
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global ver v26.3.27
%global commit_date 20260429
%global commit_date 20260504
%global goipath github.com/XTLS/Xray-core
Version: %{ver}^%{commit_date}git.%{shortcommit}
+1 -1
View File
@@ -1,7 +1,7 @@
# Disabled because compiled without debug
%global goipath github.com/XTLS/Xray-core
Version: 26.4.25
Version: 26.5.3
%global golicenses LICENSE
%global godocs README.md SECURITY.md CODE_OF_CONDUCT.md
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "ghc-libriscv.spec"
}
}
@@ -0,0 +1,13 @@
diff --git a/libriscv.cabal b/libriscv.cabal
index 25e48fa..22e204a 100644
--- a/libriscv.cabal
+++ b/libriscv.cabal
@@ -91,7 +91,7 @@ library
, base >= 4.15.0.0 && <4.20.0.0
, array ^>= 0.5.4.0
, filepath ^>= 1.4.2.1
- , bytestring >= 0.10.10 && <0.12
+ , bytestring >= 0.10.10
, exceptions ^>= 0.10.4
, melf ^>= 1.3.0
, freer-simple ^>= 1.2.1.2
@@ -0,0 +1,166 @@
# generated by cabal-rpm-2.3.2
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
%global pkg_name libriscv
%global pkgver %{pkg_name}-%{version}
%{?haskell_setup}
# testsuite missing deps: bv tasty tasty-hunit
Name: ghc-%{pkg_name}
Version: 0.1.0.0
Release: 1%{?dist}
Summary: A versatile, flexible and executable formal model for the RISC-V architecture
License: MIT
URL: https://hackage.haskell.org/package/libriscv
# Begin cabal-rpm sources:
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
# End cabal-rpm sources
Patch0: bytestring-ver-fix.patch
# Begin cabal-rpm deps:
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-bv-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-containers-devel
BuildRequires: ghc-exceptions-devel
BuildRequires: ghc-extra-devel
BuildRequires: ghc-file-embed-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-freer-simple-devel
BuildRequires: ghc-melf-devel
BuildRequires: ghc-optparse-applicative-devel
BuildRequires: ghc-parameterized-utils-devel
BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-yaml-devel
%if %{with ghc_prof}
BuildRequires: ghc-array-prof
BuildRequires: ghc-base-prof
BuildRequires: ghc-bv-prof
BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-containers-prof
BuildRequires: ghc-exceptions-prof
BuildRequires: ghc-extra-prof
BuildRequires: ghc-file-embed-prof
BuildRequires: ghc-filepath-prof
BuildRequires: ghc-freer-simple-prof
BuildRequires: ghc-melf-prof
BuildRequires: ghc-optparse-applicative-prof
BuildRequires: ghc-parameterized-utils-prof
BuildRequires: ghc-template-haskell-prof
BuildRequires: ghc-transformers-prof
BuildRequires: ghc-yaml-prof
%endif
# End cabal-rpm deps
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
A formal model for the <https://riscv.org/ RISC-V> /Instruction Set
Architecture/ (ISA). Contrary to other Haskell RISC-V ISA models, like
<https://github.com/GaloisInc/grift GRIFT> or
<https://github.com/mit-plv/riscv-semantics riscv-semantics>, LibRISCV is
specifically tailored to the creation of custom ISA interpreters. To this end,
it is designed for flexibility, allowing a versatile representation of
instruction operands. For example, instruction operands can be
<https://en.wikipedia.org/wiki/Satisfiability_modulo_theories SMT> expressions
for <https://doi.org/10.48550/arXiv.2404.04132 symbolic execution> of binary
code.
LibRISCV abstractly describes instruction semantics using an /Embedded Domain
Specific Language/ (EDSL) with <https://doi.org/10.1145/2887747.2804319 free(r)
monads>. This Haskell library is intended to build custom interpreters for this
free monad. The entry point for this purpose is the
'LibRISCV.Semantics.buildAST' function which obtains the free monad AST based
on an entry address. The entry address can be obtained from a provided ELF
loader implementation, this "Loader" module is also responsible for loading
binary instructions into a provided memory implementation. Refer to provided
example interpreters in the <https://github.com/agra-uni-bremen/libriscv GitHub
repository> for practical usage instruction. More detailed information on
LibRISCV and its concepts is also available in a
<https://doi.org/10.1007/978-3-031-38938-2_2 TFP'23 publication>.
%package devel
Summary: Haskell %{pkg_name} library development files
Provides: %{name}-static = %{version}-%{release}
Provides: %{name}-static%{?_isa} = %{version}-%{release}
%if %{defined ghc_version}
Requires: ghc-compiler = %{ghc_version}
%endif
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package provides the Haskell %{pkg_name} library development files.
%if %{with haddock}
%package doc
Summary: Haskell %{pkg_name} library documentation
BuildArch: noarch
Requires: ghc-filesystem
%description doc
This package provides the Haskell %{pkg_name} library documentation.
%endif
%if %{with ghc_prof}
%package prof
Summary: Haskell %{pkg_name} profiling library
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Supplements: (%{name}-devel and ghc-prof)
%description prof
This package provides the Haskell %{pkg_name} profiling library.
%endif
%prep
# Begin cabal-rpm setup:
%setup -q -n %{pkgver}
%patch -P0 -p1
# End cabal-rpm setup
%build
# Begin cabal-rpm build:
%ghc_lib_build
# End cabal-rpm build
%install
# Begin cabal-rpm install
%ghc_lib_install
# End cabal-rpm install
%files -f %{name}.files
# Begin cabal-rpm files:
%license LICENSE.txt
%{_datadir}/%{pkgver}
# End cabal-rpm files
%files devel -f %{name}-devel.files
%{_bindir}/riscv-tiny
%if %{with haddock}
%files doc -f %{name}-doc.files
%license LICENSE.txt
%endif
%if %{with ghc_prof}
%files prof -f %{name}-prof.files
%endif
%changelog
* Tue Apr 28 2026 Owen Zimmerman <owen@fyralabs.com> - 0.1.0.0-1
- Initial commit
@@ -0,0 +1 @@
rpm.version(hackage("libriscv"));
@@ -0,0 +1,53 @@
/jdk-jdk12-jdk-12+33.tar.xz
/systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
/jdk-updates-jdk12u-jdk-12.0.1+12.tar.xz
/jdk-jdk13-jdk-13+27.tar.xz
/jdk-jdk13-jdk-13+28.tar.xz
/jdk-jdk13-jdk-13+33.tar.xz
/jdk-updates-jdk13u-jdk-13.0.1+9.tar.xz
/jdk-updates-jdk13u-jdk-13.0.2+8.tar.xz
/jdk-jdk14-jdk-14+36.tar.xz
/jdk-updates-jdk14u-jdk-14.0.1+7.tar.xz
/jdk-updates-jdk14u-jdk-14.0.2+12.tar.xz
/jdk-jdk15-jdk-15+36.tar.xz
/jdk-updates-jdk15u-jdk-15.0.1+9.tar.xz
/tapsets-icedtea-3.15.0.tar.xz
/jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz
/openjdk-jdk16-jdk-16+36.tar.xz
/openjdk-jdk16u-jdk-16.0.1+9.tar.xz
/openjdk-jdk17-jdk-17+26.tar.xz
/openjdk-jdk17-jdk-17+33.tar.xz
/openjdk-jdk17-jdk-17+35.tar.xz
/openjdk-jdk17u-jdk-17.0.1+12.tar.xz
/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
/openjdk-jdk17u-jdk-17.0.2+8.tar.xz
/openjdk-jdk-jdk-18+27.tar.xz
/openjdk-jdk18-jdk-18+27.tar.xz
/openjdk-jdk18-jdk-18+37.tar.xz
/openjdk-jdk18u-jdk-18.0.1+0.tar.xz
/openjdk-jdk18u-jdk-18.0.1+10.tar.xz
/openjdk-jdk18u-jdk-18.0.1.1+2.tar.xz
/openjdk-jdk18u-jdk-18.0.2+9.tar.xz
/openjdk-jdk19u-jdk-19+36.tar.xz
/openjdk-jdk19u-jdk-19.0.1+10.tar.xz
/openjdk-jdk19u-jdk-19.0.2+7.tar.xz
/openjdk-jdk20u-jdk-20+36.tar.xz
/openjdk-jdk20u-jdk-20.0.1+9.tar.xz
/openjdk-jdk20u-jdk-20.0.2+9.tar.xz
/openjdk-jdk21u-jdk-21+34.tar.xz
/openjdk-jdk21u-jdk-21+35.tar.xz
/openjdk-21+35.tar.xz
/openjdk-21.0.1+12.tar.xz
/openjdk-21.0.2+11.tar.xz
/openjdk-21.0.2+12.tar.xz
/openjdk-21.0.2+13.tar.xz
/openjdk-jdk-21.0.3+9.tar.xz
/openjdk-21.0.3+9.tar.xz
/openjdk-21.0.4+7.tar.xz
/openjdk-21.0.5+11.tar.xz
/openjdk-21.0.6+7.tar.xz
/openjdk-21.0.7+6.tar.xz
/openjdk-21.0.8+9.tar.xz
/openjdk-21.0.9+10.tar.xz
/openjdk-21.0.10+7.tar.xz
/openjdk-21.0.11+10.tar.xz
@@ -0,0 +1,65 @@
/* CheckVendor -- Check the vendor properties match specified values.
Copyright (C) 2020 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @test
*/
public class CheckVendor {
public static void main(String[] args) {
if (args.length < 4) {
System.err.println("CheckVendor <VENDOR> <VENDOR-URL> <VENDOR-BUG-URL> <VENDOR-VERSION-STRING>");
System.exit(1);
}
String vendor = System.getProperty("java.vendor");
String expectedVendor = args[0];
String vendorURL = System.getProperty("java.vendor.url");
String expectedVendorURL = args[1];
String vendorBugURL = System.getProperty("java.vendor.url.bug");
String expectedVendorBugURL = args[2];
String vendorVersionString = System.getProperty("java.vendor.version");
String expectedVendorVersionString = args[3];
if (!expectedVendor.equals(vendor)) {
System.err.printf("Invalid vendor %s, expected %s\n",
vendor, expectedVendor);
System.exit(2);
}
if (!expectedVendorURL.equals(vendorURL)) {
System.err.printf("Invalid vendor URL %s, expected %s\n",
vendorURL, expectedVendorURL);
System.exit(3);
}
if (!expectedVendorBugURL.equals(vendorBugURL)) {
System.err.printf("Invalid vendor bug URL %s, expected %s\n",
vendorBugURL, expectedVendorBugURL);
System.exit(4);
}
if (!expectedVendorVersionString.equals(vendorVersionString)) {
System.err.printf("Invalid vendor version string %s, expected %s\n",
vendorVersionString, expectedVendorVersionString);
System.exit(5);
}
System.err.printf("Vendor information verified as %s, %s, %s, %s\n",
vendor, vendorURL, vendorBugURL, vendorVersionString);
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,72 @@
/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
Copyright (C) 2012 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
import java.security.Permission;
import java.security.PermissionCollection;
public class TestCryptoLevel
{
public static void main(String[] args)
throws NoSuchFieldException, ClassNotFoundException,
IllegalAccessException, InvocationTargetException
{
Class<?> cls = null;
Method def = null, exempt = null;
try
{
cls = Class.forName("javax.crypto.JceSecurity");
}
catch (ClassNotFoundException ex)
{
System.err.println("Running a non-Sun JDK.");
System.exit(0);
}
try
{
def = cls.getDeclaredMethod("getDefaultPolicy");
exempt = cls.getDeclaredMethod("getExemptPolicy");
}
catch (NoSuchMethodException ex)
{
System.err.println("Running IcedTea with the original crypto patch.");
System.exit(0);
}
def.setAccessible(true);
exempt.setAccessible(true);
PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null);
Class<?> apCls = Class.forName("javax.crypto.CryptoAllPermission");
Field apField = apCls.getDeclaredField("INSTANCE");
apField.setAccessible(true);
Permission allPerms = (Permission) apField.get(null);
if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms)))
{
System.err.println("Running with the unlimited policy.");
System.exit(0);
}
else
{
System.err.println("WARNING: Running with a restricted crypto policy.");
System.exit(-1);
}
}
}
@@ -0,0 +1,49 @@
/* TestECDSA -- Ensure ECDSA signatures are working.
Copyright (C) 2016 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.math.BigInteger;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.Signature;
/**
* @test
*/
public class TestECDSA {
public static void main(String[] args) throws Exception {
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC");
KeyPair key = keyGen.generateKeyPair();
byte[] data = "This is a string to sign".getBytes("UTF-8");
Signature dsa = Signature.getInstance("NONEwithECDSA");
dsa.initSign(key.getPrivate());
dsa.update(data);
byte[] sig = dsa.sign();
System.out.println("Signature: " + new BigInteger(1, sig).toString(16));
Signature dsaCheck = Signature.getInstance("NONEwithECDSA");
dsaCheck.initVerify(key.getPublic());
dsaCheck.update(data);
boolean success = dsaCheck.verify(sig);
if (!success) {
throw new RuntimeException("Test failed. Signature verification error");
}
System.out.println("Test passed.");
}
}
@@ -0,0 +1,84 @@
/* TestSecurityProperties -- Ensure system security properties can be used to
enable the crypto policies.
Copyright (C) 2022 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.io.File;
import java.io.FileInputStream;
import java.security.Security;
import java.util.Properties;
public class TestSecurityProperties {
// JDK 11
private static final String JDK_PROPS_FILE_JDK_11 = System.getProperty("java.home") + "/conf/security/java.security";
// JDK 8
private static final String JDK_PROPS_FILE_JDK_8 = System.getProperty("java.home") + "/lib/security/java.security";
private static final String POLICY_FILE = "/etc/crypto-policies/back-ends/java.config";
private static final String MSG_PREFIX = "DEBUG: ";
public static void main(String[] args) {
if (args.length == 0) {
System.err.println("TestSecurityProperties <true|false>");
System.err.println("Invoke with 'true' if system security properties should be enabled.");
System.err.println("Invoke with 'false' if system security properties should be disabled.");
System.exit(1);
}
boolean enabled = Boolean.valueOf(args[0]);
System.out.println(MSG_PREFIX + "System security properties enabled: " + enabled);
Properties jdkProps = new Properties();
loadProperties(jdkProps);
if (enabled) {
loadPolicy(jdkProps);
}
for (Object key: jdkProps.keySet()) {
String sKey = (String)key;
String securityVal = Security.getProperty(sKey);
String jdkSecVal = jdkProps.getProperty(sKey);
if (!securityVal.equals(jdkSecVal)) {
String msg = "Expected value '" + jdkSecVal + "' for key '" +
sKey + "'" + " but got value '" + securityVal + "'";
throw new RuntimeException("Test failed! " + msg);
} else {
System.out.println(MSG_PREFIX + sKey + " = " + jdkSecVal + " as expected.");
}
}
System.out.println("TestSecurityProperties PASSED!");
}
private static void loadProperties(Properties props) {
String javaVersion = System.getProperty("java.version");
System.out.println(MSG_PREFIX + "Java version is " + javaVersion);
String propsFile = JDK_PROPS_FILE_JDK_11;
if (javaVersion.startsWith("1.8.0")) {
propsFile = JDK_PROPS_FILE_JDK_8;
}
try (FileInputStream fin = new FileInputStream(propsFile)) {
props.load(fin);
} catch (Exception e) {
throw new RuntimeException("Test failed!", e);
}
}
private static void loadPolicy(Properties props) {
try (FileInputStream fin = new FileInputStream(POLICY_FILE)) {
props.load(fin);
} catch (Exception e) {
throw new RuntimeException("Test failed!", e);
}
}
}
@@ -0,0 +1,160 @@
/* TestTranslations -- Ensure translations are available for new timezones
Copyright (C) 2022 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.text.DateFormatSymbols;
import java.time.ZoneId;
import java.time.format.TextStyle;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Locale;
import java.util.Objects;
import java.util.TimeZone;
public class TestTranslations {
private static Map<Locale,String[]> KYIV, CIUDAD_JUAREZ;
static {
Map<Locale,String[]> map = new HashMap<Locale,String[]>();
map.put(Locale.US, new String[] { "Eastern European Standard Time", "GMT+02:00", "EET",
"Eastern European Summer Time", "GMT+03:00", "EEST",
"Eastern European Time", "GMT+02:00", "EET"});
map.put(Locale.FRANCE, new String[] { "heure normale d\u2019Europe de l\u2019Est", "UTC+02:00", "EET",
"heure d\u2019\u00e9t\u00e9 d\u2019Europe de l\u2019Est", "UTC+03:00", "EEST",
"heure d\u2019Europe de l\u2019Est", "UTC+02:00", "EET"});
map.put(Locale.GERMANY, new String[] { "Osteurop\u00e4ische Normalzeit", "OEZ", "OEZ",
"Osteurop\u00e4ische Sommerzeit", "OESZ", "OESZ",
"Osteurop\u00e4ische Zeit", "OEZ", "OEZ"});
KYIV = Collections.unmodifiableMap(map);
map = new HashMap<Locale,String[]>();
map.put(Locale.US, new String[] { "Mountain Standard Time", "MST", "MST",
"Mountain Daylight Time", "MDT", "MDT",
"Mountain Time", "MT", "MT"});
map.put(Locale.FRANCE, new String[] { "heure normale des Rocheuses", "UTC\u221207:00", "MST",
"heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MDT",
"heure des Rocheuses", "UTC\u221207:00", "MT"});
map.put(Locale.GERMANY, new String[] { "Rocky-Mountain-Normalzeit", "GMT-07:00", "MST",
"Rocky-Mountain-Sommerzeit", "GMT-06:00", "MDT",
"Rocky-Mountain-Zeit", "GMT-07:00", "MT"});
CIUDAD_JUAREZ = Collections.unmodifiableMap(map);
}
public static void main(String[] args) {
if (args.length < 1) {
System.err.println("Test must be started with the name of the locale provider.");
System.exit(1);
}
System.out.println("Checking sanity of full zone string set...");
boolean invalid = Arrays.stream(Locale.getAvailableLocales())
.peek(l -> System.out.println("Locale: " + l))
.map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
.flatMap(zs -> Arrays.stream(zs))
.flatMap(names -> Arrays.stream(names))
.filter(name -> Objects.isNull(name) || name.isEmpty())
.findAny()
.isPresent();
if (invalid) {
System.err.println("Zone string for a locale returned null or empty string");
System.exit(2);
}
String localeProvider = args[0];
testZone(localeProvider, KYIV,
new String[] { "Europe/Kiev", "Europe/Kyiv", "Europe/Uzhgorod", "Europe/Zaporozhye" });
testZone(localeProvider, CIUDAD_JUAREZ,
new String[] { "America/Cambridge_Bay", "America/Ciudad_Juarez" });
}
private static void testZone(String localeProvider, Map<Locale,String[]> exp, String[] ids) {
for (Locale l : exp.keySet()) {
String[] expected = exp.get(l);
System.out.printf("Expected values for %s are %s\n", l, Arrays.toString(expected));
for (String id : ids) {
String expectedShortStd = null;
String expectedShortDST = null;
String expectedShortGen = null;
System.out.printf("Checking locale %s for %s...\n", l, id);
if ("JRE".equals(localeProvider)) {
expectedShortStd = expected[2];
expectedShortDST = expected[5];
expectedShortGen = expected[8];
} else if ("CLDR".equals(localeProvider)) {
expectedShortStd = expected[1];
expectedShortDST = expected[4];
expectedShortGen = expected[7];
} else {
System.err.printf("Invalid locale provider %s\n", localeProvider);
System.exit(3);
}
System.out.printf("Locale Provider is %s, using short values %s, %s and %s\n",
localeProvider, expectedShortStd, expectedShortDST, expectedShortGen);
String longStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.LONG, l);
String shortStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.SHORT, l);
String longDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.LONG, l);
String shortDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.SHORT, l);
String longGen = ZoneId.of(id).getDisplayName(TextStyle.FULL, l);
String shortGen = ZoneId.of(id).getDisplayName(TextStyle.SHORT, l);
if (!expected[0].equals(longStd)) {
System.err.printf("Long standard display name for %s in %s was %s, expected %s\n",
id, l, longStd, expected[0]);
System.exit(4);
}
if (!expectedShortStd.equals(shortStd)) {
System.err.printf("Short standard display name for %s in %s was %s, expected %s\n",
id, l, shortStd, expectedShortStd);
System.exit(5);
}
if (!expected[3].equals(longDST)) {
System.err.printf("Long DST display name for %s in %s was %s, expected %s\n",
id, l, longDST, expected[3]);
System.exit(6);
}
if (!expectedShortDST.equals(shortDST)) {
System.err.printf("Short DST display name for %s in %s was %s, expected %s\n",
id, l, shortDST, expectedShortDST);
System.exit(7);
}
if (!expected[6].equals(longGen)) {
System.err.printf("Long generic display name for %s in %s was %s, expected %s\n",
id, l, longGen, expected[6]);
System.exit(8);
}
if (!expectedShortGen.equals(shortGen)) {
System.err.printf("Short generic display name for %s in %s was %s, expected %s\n",
id, l, shortGen, expectedShortGen);
System.exit(9);
}
}
}
}
}
@@ -0,0 +1,100 @@
/*
* Copyright (C) 2023 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Red Hat designates this
* particular file as subject to the "Classpath" exception as provided
* by Red Hat in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
*/
#include <errno.h>
#include <libgen.h>
#include <linux/limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/prctl.h>
#include <unistd.h>
/* Per task speculation control */
#ifndef PR_GET_SPECULATION_CTRL
# define PR_GET_SPECULATION_CTRL 52
#endif
#ifndef PR_SET_SPECULATION_CTRL
# define PR_SET_SPECULATION_CTRL 53
#endif
/* Speculation control variants */
#ifndef PR_SPEC_STORE_BYPASS
# define PR_SPEC_STORE_BYPASS 0
#endif
/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
#ifndef PR_SPEC_NOT_AFFECTED
# define PR_SPEC_NOT_AFFECTED 0
#endif
#ifndef PR_SPEC_PRCTL
# define PR_SPEC_PRCTL (1UL << 0)
#endif
#ifndef PR_SPEC_ENABLE
# define PR_SPEC_ENABLE (1UL << 1)
#endif
#ifndef PR_SPEC_DISABLE
# define PR_SPEC_DISABLE (1UL << 2)
#endif
#ifndef PR_SPEC_FORCE_DISABLE
# define PR_SPEC_FORCE_DISABLE (1UL << 3)
#endif
#ifndef PR_SPEC_DISABLE_NOEXEC
# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
#endif
static void set_speculation() {
#if defined(__linux__) && defined(__x86_64__)
// PR_SPEC_DISABLE_NOEXEC doesn't survive execve, so we can't use it
// if ( prctl(PR_SET_SPECULATION_CTRL,
// PR_SPEC_STORE_BYPASS,
// PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
// return;
// }
prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
#else
#warning alt-java requested but SSB mitigation not available on this platform.
#endif
}
int main(int argc, char **argv) {
set_speculation();
char our_name[PATH_MAX], java_name[PATH_MAX];
ssize_t len = readlink("/proc/self/exe", our_name, PATH_MAX - 1);
if (len < 0) {
perror("I can't find myself");
exit(2);
}
our_name[len] = '\0'; // readlink(2) doesn't append a null byte
char *path = dirname(our_name);
strncpy(java_name, path, PATH_MAX - 1);
size_t remaining_bytes = PATH_MAX - strlen(path) - 1;
strncat(java_name, "/java", remaining_bytes);
execv(java_name, argv);
fprintf(stderr, "%s failed to launch: %s\n", java_name, strerror(errno));
exit(1);
}
@@ -0,0 +1,8 @@
project pkg {
rpm {
spec = "java-21-openjdk-portable.spec"
}
labels {
updbranch = 1
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,47 @@
diff --git a/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c b/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c
index 207e61431dc..7c3761a613c 100644
--- a/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c
+++ b/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -63,7 +63,7 @@ Java_sun_nio_ch_FileDispatcherImpl_transferFrom0(JNIEnv *env, jobject this,
if (n < 0) {
if (errno == EAGAIN)
return IOS_UNAVAILABLE;
- if (errno == ENOSYS)
+ if (errno == ENOSYS || errno == EOPNOTSUPP)
return IOS_UNSUPPORTED_CASE;
if ((errno == EBADF || errno == EINVAL || errno == EXDEV) &&
((ssize_t)count >= 0))
@@ -103,6 +103,7 @@ Java_sun_nio_ch_FileDispatcherImpl_transferTo0(JNIEnv *env, jobject this,
case EINVAL:
case ENOSYS:
case EXDEV:
+ case EOPNOTSUPP:
// ignore and try sendfile()
break;
default:
diff --git a/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c b/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c
index cf8592e1ced..5f14896ad24 100644
--- a/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c
+++ b/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2022, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -199,6 +199,7 @@ Java_sun_nio_fs_LinuxNativeDispatcher_directCopy0
case EINVAL:
case ENOSYS:
case EXDEV:
+ case EOPNOTSUPP:
// ignore and try sendfile()
break;
default:
@@ -0,0 +1,164 @@
#!/bin/sh
# Arguments: <JDK TREE> <MINIMAL|FULL>
TREE=${1}
TYPE=${2}
ZIP_SRC=src/java.base/share/native/libzip/zlib/
FREETYPE_SRC=src/java.desktop/share/native/libfreetype/
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
LCMS_SRC=src/java.desktop/share/native/liblcms/
if test "x${TREE}" = "x"; then
echo "$0 <JDK_TREE> (MINIMAL|FULL)";
exit 1;
fi
if test "x${TYPE}" = "x"; then
TYPE=minimal;
fi
if test "x${TYPE}" != "xminimal" -a "x${TYPE}" != "xfull"; then
echo "Type must be minimal or full";
exit 2;
fi
echo "Removing in-tree libraries from ${TREE}"
echo "Cleansing operation: ${TYPE}";
cd ${TREE}
echo "Removing built-in libs (they will be linked)"
# On full runs, allow for zlib & freetype having already been deleted by minimal
echo "Removing zlib"
if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then
echo "${ZIP_SRC} does not exist. Refusing to proceed."
exit 1
fi
rm -rvf ${ZIP_SRC}
echo "Removing freetype"
if [ "x${TYPE}" = "xminimal" -a ! -d ${FREETYPE_SRC} ]; then
echo "${FREETYPE_SRC} does not exist. Refusing to proceed."
exit 1
fi
rm -rvf ${FREETYPE_SRC}
# Minimal is limited to just zlib and freetype so finish here
if test "x${TYPE}" = "xminimal"; then
echo "Finished.";
exit 0;
fi
echo "Removing libjpeg"
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that should definitely exist
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
exit 1
fi
rm -vf ${JPEG_SRC}/jcomapi.c
rm -vf ${JPEG_SRC}/jdapimin.c
rm -vf ${JPEG_SRC}/jdapistd.c
rm -vf ${JPEG_SRC}/jdcoefct.c
rm -vf ${JPEG_SRC}/jdcolor.c
rm -vf ${JPEG_SRC}/jdct.h
rm -vf ${JPEG_SRC}/jddctmgr.c
rm -vf ${JPEG_SRC}/jdhuff.c
rm -vf ${JPEG_SRC}/jdhuff.h
rm -vf ${JPEG_SRC}/jdinput.c
rm -vf ${JPEG_SRC}/jdmainct.c
rm -vf ${JPEG_SRC}/jdmarker.c
rm -vf ${JPEG_SRC}/jdmaster.c
rm -vf ${JPEG_SRC}/jdmerge.c
rm -vf ${JPEG_SRC}/jdphuff.c
rm -vf ${JPEG_SRC}/jdpostct.c
rm -vf ${JPEG_SRC}/jdsample.c
rm -vf ${JPEG_SRC}/jerror.c
rm -vf ${JPEG_SRC}/jerror.h
rm -vf ${JPEG_SRC}/jidctflt.c
rm -vf ${JPEG_SRC}/jidctfst.c
rm -vf ${JPEG_SRC}/jidctint.c
rm -vf ${JPEG_SRC}/jidctred.c
rm -vf ${JPEG_SRC}/jinclude.h
rm -vf ${JPEG_SRC}/jmemmgr.c
rm -vf ${JPEG_SRC}/jmemsys.h
rm -vf ${JPEG_SRC}/jmemnobs.c
rm -vf ${JPEG_SRC}/jmorecfg.h
rm -vf ${JPEG_SRC}/jpegint.h
rm -vf ${JPEG_SRC}/jpeglib.h
rm -vf ${JPEG_SRC}/jquant1.c
rm -vf ${JPEG_SRC}/jquant2.c
rm -vf ${JPEG_SRC}/jutils.c
rm -vf ${JPEG_SRC}/jcapimin.c
rm -vf ${JPEG_SRC}/jcapistd.c
rm -vf ${JPEG_SRC}/jccoefct.c
rm -vf ${JPEG_SRC}/jccolor.c
rm -vf ${JPEG_SRC}/jcdctmgr.c
rm -vf ${JPEG_SRC}/jchuff.c
rm -vf ${JPEG_SRC}/jchuff.h
rm -vf ${JPEG_SRC}/jcinit.c
rm -vf ${JPEG_SRC}/jconfig.h
rm -vf ${JPEG_SRC}/jcmainct.c
rm -vf ${JPEG_SRC}/jcmarker.c
rm -vf ${JPEG_SRC}/jcmaster.c
rm -vf ${JPEG_SRC}/jcparam.c
rm -vf ${JPEG_SRC}/jcphuff.c
rm -vf ${JPEG_SRC}/jcprepct.c
rm -vf ${JPEG_SRC}/jcsample.c
rm -vf ${JPEG_SRC}/jctrans.c
rm -vf ${JPEG_SRC}/jdtrans.c
rm -vf ${JPEG_SRC}/jfdctflt.c
rm -vf ${JPEG_SRC}/jfdctfst.c
rm -vf ${JPEG_SRC}/jfdctint.c
rm -vf ${JPEG_SRC}/jversion.h
rm -vf ${JPEG_SRC}/README
echo "Removing giflib"
if [ ! -d ${GIF_SRC} ]; then
echo "${GIF_SRC} does not exist. Refusing to proceed."
exit 1
fi
rm -rvf ${GIF_SRC}
echo "Removing libpng"
if [ ! -d ${PNG_SRC} ]; then
echo "${PNG_SRC} does not exist. Refusing to proceed."
exit 1
fi
rm -rvf ${PNG_SRC}
echo "Removing lcms"
if [ ! -d ${LCMS_SRC} ]; then
echo "${LCMS_SRC} does not exist. Refusing to proceed."
exit 1
fi
rm -vf ${LCMS_SRC}/cmscam02.c
rm -vf ${LCMS_SRC}/cmscgats.c
rm -vf ${LCMS_SRC}/cmscnvrt.c
rm -vf ${LCMS_SRC}/cmserr.c
rm -vf ${LCMS_SRC}/cmsgamma.c
rm -vf ${LCMS_SRC}/cmsgmt.c
rm -vf ${LCMS_SRC}/cmshalf.c
rm -vf ${LCMS_SRC}/cmsintrp.c
rm -vf ${LCMS_SRC}/cmsio0.c
rm -vf ${LCMS_SRC}/cmsio1.c
rm -vf ${LCMS_SRC}/cmslut.c
rm -vf ${LCMS_SRC}/cmsmd5.c
rm -vf ${LCMS_SRC}/cmsmtrx.c
rm -vf ${LCMS_SRC}/cmsnamed.c
rm -vf ${LCMS_SRC}/cmsopt.c
rm -vf ${LCMS_SRC}/cmspack.c
rm -vf ${LCMS_SRC}/cmspcs.c
rm -vf ${LCMS_SRC}/cmsplugin.c
rm -vf ${LCMS_SRC}/cmsps2.c
rm -vf ${LCMS_SRC}/cmssamp.c
rm -vf ${LCMS_SRC}/cmssm.c
rm -vf ${LCMS_SRC}/cmstypes.c
rm -vf ${LCMS_SRC}/cmsvirt.c
rm -vf ${LCMS_SRC}/cmswtpnt.c
rm -vf ${LCMS_SRC}/cmsxform.c
rm -vf ${LCMS_SRC}/lcms2.h
rm -vf ${LCMS_SRC}/lcms2_internal.h
rm -vf ${LCMS_SRC}/lcms2_plugin.h
@@ -0,0 +1,61 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
TREE=${1}
if test "${TREE}" = ""; then
TREE=${PWD}
fi
if [ -e "${TREE}"/nashorn/.hg ] || [ -e "${TREE}"/nashorn/merge.changeset ] ; then
NASHORN="nashorn" ;
fi
if [ -e "${TREE}"/corba/.hg ] || [ -e "${TREE}"/corba/merge.changeset ] ; then
CORBA="corba";
fi
if [ -e "${TREE}"/jaxp/.hg ] || [ -e "${TREE}"/jaxp/merge.changeset ] ; then
JAXP="jaxp";
fi
if [ -e "${TREE}"/jaxws/.hg ] || [ -e "${TREE}"/jaxws/merge.changeset ] ; then
JAXWS="jaxws";
fi
if [ -e "${TREE}"/langtools/.hg ] || [ -e "${TREE}"/langtools/merge.changeset ] ; then
LANGTOOLS="langtools";
fi
if [ -e "${TREE}"/jdk/.hg ] || [ -e "${TREE}"/jdk/merge.changeset ] ; then
JDK="jdk";
fi
if [ -e "${TREE}"/hotspot/.hg ] || [ -e "${TREE}"/hotspot/merge.changeset ] ; then
HOTSPOT="hotspot";
fi
SUBTREES="${CORBA} ${JAXP} ${JAXWS} ${LANGTOOLS} ${NASHORN} ${JDK} ${HOTSPOT}";
echo "${SUBTREES}"
# Local Variables:
# compile-command: "shellcheck discover_trees.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:
@@ -0,0 +1,294 @@
#!/bin/bash
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
# Thomas Fitzsimmons <fitzsim@redhat.com>
# Jiri Vanek <jvanek@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Generates the source tarball for OpenJDK projects.
#
# There are multiple ways to specify the source code location and version:
#
# 1. Specify the version (VERSION), the location of the Git repository
# (REPO_ROOT) and the root of the output tarball name (FILE_NAME_ROOT)
# 2. Specify the version (VERSION) along with an upstream project name
# (PROJECT_NAME) and repository name (REPO_NAME) that can be used
# to construct the URL of the upstream OpenJDK repository.
# 3. Specify OPENJDK_LATEST=1 and allow the script to obtain the JDK
# feature version from the spec file, which is then used to
# obtain the latest build promotion from the upstream repository.
#
# An appropriate bootstrap JDK is also required for when ./configure
# is run within the checked out repository to generate the .src-rev.
# file. This can be specified by setting BOOT_JDK.
#
# Example 1:
# This will check out the specified version from the specified
# repository and construct a tarball called openjdk-17.0.3+5.tar.xz:
#
# $ VERSION=jdk-17.0.3+5 FILE_NAME_ROOT=open${VERSION} \
# REPO_ROOT=$HOME/projects/openjdk/upstream/17u \
# BOOT_JDK=/usr/lib/jvm/java-17-openjdk ./generate_source_tarball.sh
#
# Example 2:
# This will check out the same version as example 1, but from the
# upstream repository:
#
# $ VERSION=jdk-21.0.11+10 PROJECT_NAME=openjdk REPO_NAME=jdk21u \
# BOOT_JDK=/usr/lib/jvm/java-21-openjdk ./generate_source_tarball.sh
#
# Example 3:
# This will read the OpenJDK feature version from the spec file, then create a
# tarball from the most recent tag for that version in the upstream Git
# repository.
#
# $ OPENJDK_LATEST=1 \
# BOOT_JDK=/usr/lib/jvm/java-17-openjdk ./generate_source_tarball.sh
#
set -e
OPENJDK_URL_DEFAULT=https://github.com
COMPRESSION_DEFAULT=xz
if [ "$1" = "help" ] ; then
echo "Behaviour may be specified by setting the following variables:"
echo
echo "VERSION - the version of the specified OpenJDK project"
echo " (required unless OPENJDK_LATEST is set)"
echo "PROJECT_NAME - the name of the OpenJDK project being archived"
echo " (needed to compute REPO_ROOT and/or"
echo " FILE_NAME_ROOT automatically;"
echo " optional if they are set explicitly)"
echo "REPO_NAME - the name of the OpenJDK repository"
echo " (needed to compute REPO_ROOT automatically;"
echo " optional if REPO_ROOT is set explicitly)"
echo "OPENJDK_URL - the URL to retrieve code from"
echo " (defaults to ${OPENJDK_URL_DEFAULT})"
echo "COMPRESSION - the compression type to use"
echo " (defaults to ${COMPRESSION_DEFAULT})"
echo "FILE_NAME_ROOT - name of the archive, minus extensions"
echo " (defaults to PROJECT_NAME-VERSION)"
echo "REPO_ROOT - the location of the Git repository to archive"
echo " (defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
echo "TO_COMPRESS - what part of clone to pack"
echo " (defaults to ${VERSION})"
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
echo " (defaults to packaged JDK version)"
echo "WITH_TEMP - run in a temporary directory"
echo " (defaults to disabled)"
echo "OPENJDK_LATEST - deduce VERSION from most recent upstream tag"
echo " (implies WITH_TEMP, computes everything else"
echo " automatically; Note: accesses network to read"
echo " tag list from remote Git repository)"
exit 1;
fi
if [ "$OPENJDK_LATEST" != "" ] ; then
FEATURE_VERSION=$(echo '%featurever' \
| rpmspec --shell ./*.spec 2>/dev/null \
| grep --after-context 1 featurever \
| tail --lines 1)
PROJECT_NAME=openjdk
REPO_NAME=jdk"${FEATURE_VERSION}"u
# Skip -ga tags since those are the same as the most recent non-ga tag, and
# the non-ga tag is the one that is used to generated the official source
# tarball. For example:
# ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10-ga^{}
# 25a2e6c20c9a96853714284cabc6b456eb095070 refs/tags/jdk-17.0.10-ga
# ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10+7^{}
# e49c5749b10f3e90274b72e9279f794fdd191d27 refs/tags/jdk-17.0.10+7
VERSION=$(git ls-remote --tags --refs --sort=-version:refname \
"${OPENJDK_URL_DEFAULT}/${PROJECT_NAME}/${REPO_NAME}.git" \
"jdk-${FEATURE_VERSION}*" \
| grep --invert-match '\-ga$' \
| head --lines 1 | cut --characters 52-)
FILE_NAME_ROOT=open${VERSION}
WITH_TEMP=1
fi
if [ "$WITH_TEMP" != "" ] ; then
pushd "$(mktemp --directory --tmpdir temp-generated-source-tarball-XXX)"
fi
if [ "$VERSION" = "" ] ; then
echo "No VERSION specified"
exit 2
fi
echo "Version: ${VERSION}"
NUM_VER=${VERSION##jdk-}
RELEASE_VER=${NUM_VER%%+*}
BUILD_VER=${NUM_VER##*+}
MAJOR_VER=${RELEASE_VER%%.*}
echo "Major version is ${MAJOR_VER}, release ${RELEASE_VER}, build ${BUILD_VER}"
if [ "$BOOT_JDK" = "" ] ; then
echo "No boot JDK specified".
BOOT_JDK=/usr/lib/jvm/java-${MAJOR_VER}-openjdk;
echo -n "Checking for ${BOOT_JDK}...";
if [ -d "${BOOT_JDK}" ] && [ -x "${BOOT_JDK}"/bin/java ] ; then
echo "Boot JDK found at ${BOOT_JDK}";
else
echo "Not found";
PREV_VER=$((MAJOR_VER - 1));
BOOT_JDK=/usr/lib/jvm/java-${PREV_VER}-openjdk;
echo -n "Checking for ${BOOT_JDK}...";
if [ -d ${BOOT_JDK} ] && [ -x ${BOOT_JDK}/bin/java ] ; then
echo "Boot JDK found at ${BOOT_JDK}";
else
echo "Not found";
exit 4;
fi
fi
else
echo "Boot JDK: ${BOOT_JDK}";
fi
if [ "$OPENJDK_URL" = "" ] ; then
OPENJDK_URL=${OPENJDK_URL_DEFAULT}
echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
else
echo "OpenJDK URL: ${OPENJDK_URL}"
fi
if [ "$COMPRESSION" = "" ] ; then
# rhel 5 needs tar.gz
COMPRESSION=${COMPRESSION_DEFAULT}
fi
echo "Creating a tar.${COMPRESSION} archive"
if [ "$FILE_NAME_ROOT" = "" ] ; then
if [ "$PROJECT_NAME" = "" ] ; then
echo "No PROJECT_NAME specified, needed by FILE_NAME_ROOT"
exit 1
fi
FILE_NAME_ROOT=${PROJECT_NAME}-${VERSION}
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
fi
if [ "$REPO_ROOT" = "" ] ; then
if [ "$PROJECT_NAME" = "" ] ; then
echo "No PROJECT_NAME specified, needed by REPO_ROOT"
exit 1
fi
if [ "$REPO_NAME" = "" ] ; then
echo "No REPO_NAME specified, needed by REPO_ROOT"
exit 3
fi
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}.git"
echo "No repository root specified; default to ${REPO_ROOT}"
fi;
if [ "$TO_COMPRESS" = "" ] ; then
TO_COMPRESS="${VERSION}"
echo "No targets to be compressed specified ; default to ${TO_COMPRESS}"
fi;
echo -e "Settings:"
echo -e "\tVERSION: ${VERSION}"
echo -e "\tPROJECT_NAME: ${PROJECT_NAME}"
echo -e "\tREPO_NAME: ${REPO_NAME}"
echo -e "\tOPENJDK_URL: ${OPENJDK_URL}"
echo -e "\tCOMPRESSION: ${COMPRESSION}"
echo -e "\tFILE_NAME_ROOT: ${FILE_NAME_ROOT}"
echo -e "\tREPO_ROOT: ${REPO_ROOT}"
echo -e "\tTO_COMPRESS: ${TO_COMPRESS}"
echo -e "\tBOOT_JDK: ${BOOT_JDK}"
echo -e "\tWITH_TEMP: ${WITH_TEMP}"
echo -e "\tOPENJDK_LATEST: ${OPENJDK_LATEST}"
if [ -d "${FILE_NAME_ROOT}" ] ; then
echo "Reusing existing ${FILE_NAME_ROOT}"
STAT_TIME="$(stat --format=%Y "${FILE_NAME_ROOT}")"
TAR_TIME="$(date --date=@"${STAT_TIME}" --iso-8601=seconds)"
else
mkdir "${FILE_NAME_ROOT}"
pushd "${FILE_NAME_ROOT}"
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
if realpath -q "${REPO_ROOT}"; then
echo "Local path detected; not adding depth argument";
DEPTH="--";
else
DEPTH="--depth=1";
echo "Remote repository detected; adding ${DEPTH}";
fi
git clone -b "${VERSION}" "${DEPTH}" "${REPO_ROOT}" "${VERSION}"
pushd "${VERSION}"
TAR_TIME="$(git log --max-count 1 --format=%cI)"
popd
popd
fi
pushd "${FILE_NAME_ROOT}"
# Generate .src-rev so build has knowledge of the revision the tarball was
# created from
mkdir build
pushd build
sh "${PWD}"/../"${VERSION}"/configure --with-boot-jdk="${BOOT_JDK}"
make store-source-revision
popd
rm -rf build
# Remove commit checks
echo "Removing $(find "${VERSION}" -name '.jcheck' -print)"
find "${VERSION}" -name '.jcheck' -print0 | xargs -0 rm -r
# Remove history and GHA
echo "find ${VERSION} -name '.hgtags'"
find "${VERSION}" -name '.hgtags' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.hgignore'"
find "${VERSION}" -name '.hgignore' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.gitattributes'"
find "${VERSION}" -name '.gitattributes' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.gitignore'"
find "${VERSION}" -name '.gitignore' -exec rm -v '{}' '+'
# Work around some Git objects not having write permissions.
echo "chmod --recursive u+w ${VERSION}/.git"
chmod --recursive u+w "${VERSION}"/.git
echo "find ${VERSION} -name '.git'"
find "${VERSION}" -name '.git' -exec rm -rv '{}' '+'
echo "find ${VERSION} -name '.github'"
find "${VERSION}" -name '.github' -exec rm -rv '{}' '+'
echo "Compressing remaining forest"
if [ "$COMPRESSION" = "xz" ] ; then
SWITCH=cJf
else
SWITCH=czf
fi
EA_PART="$(awk -F= \
'/^DEFAULT_PROMOTED_VERSION_PRE/ { if ($2) print "-"$2 }' \
"${VERSION}"/make/conf/version-numbers.conf)"
TARBALL_NAME=$(echo ${FILE_NAME_ROOT}${EA_PART}.tar.${COMPRESSION} | sed "s/openjdk-jdk-/openjdk-/") #old bug.. not sure why it works in rhel correctly
XZ_OPT=${XZ_OPT-"-T0"} \
tar --mtime="${TAR_TIME}" --owner=root --group=root --sort=name \
--exclude-vcs -$SWITCH "${TARBALL_NAME}" "${TO_COMPRESS}"
mv "${TARBALL_NAME}" ..
popd
if [ "$WITH_TEMP" != "" ] ; then
echo "Tarball is: $(realpath .)/${TARBALL_NAME}"
popd
else
echo -n "Done. You may want to remove the uncompressed version"
echo " - $FILE_NAME_ROOT"
fi
# Local Variables:
# compile-command: "shellcheck generate_source_tarball.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:
@@ -0,0 +1,172 @@
#!/usr/bin/env sh
# Copyright (C) 2025 Red Hat, Inc.
# Original written by Antonio Vieiro <avieirov@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if [ $# -ne 1 ]; then
echo "Usage: $0 openjdk-root-directory"
exit 1
fi
JDKROOT=$1
if [ ! -d "${JDKROOT}" ] ; then
echo "${JDKROOT} is not a directory.";
exit 2
fi
# Work out the OpenJDK version
# OpenJDK >= 10 has its version in the build machinery
# OpenJDK >= 17 stores it in a new location (JDK-8258246)
VERSION_FILE="${JDKROOT}"/make/conf/version-numbers.conf
printf "Checking for %s..." "${VERSION_FILE}";
if [ ! -f "${VERSION_FILE}" ] ; then
VERSION_FILE="${JDKROOT}"/make/autoconf/version-numbers
echo "Not found; using old version file ${VERSION_FILE}";
else
echo "found.";
fi
if [ -e "${VERSION_FILE}" ] ; then
openjdk_version=$(grep '^DEFAULT_VERSION_FEATURE' "${VERSION_FILE}" | cut -d '=' -f 2)
elif [ -e "${JDKROOT}"/jdk/src/java.base/share/classes/java/lang/Object.java ] ; then
openjdk_version=9;
elif [ -e "${JDKROOT}"/common/autoconf ] ; then
openjdk_version=8;
else
openjdk_version=7;
fi
echo "OpenJDK version: ${openjdk_version}";
#
# Freetype
#
if [ "${openjdk_version}" -gt 8 ] ; then
FREETYPE=src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
ABS_FREETYPE="${JDKROOT}"/"${FREETYPE}"
if [ ! -f "${ABS_FREETYPE}" ]; then
echo "Freetype header not found!"
exit 2
fi
FREETYPE_VERSION=$(awk '/#define FREETYPE_MAJOR/ {MAJOR=$3} /#define FREETYPE_MINOR/ {MINOR=$3} /#define FREETYPE_PATCH/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_FREETYPE}")
else
echo "No bundled FreeType on ${openjdk_version}";
fi
# giflib
if [ "${openjdk_version}" -gt 8 ] ; then
GIFLIB=src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
else
GIFLIB=jdk/src/share/native/sun/awt/giflib/gif_lib.h
fi
ABS_GIFLIB="${JDKROOT}"/"${GIFLIB}"
if [ ! -f "${ABS_GIFLIB}" ]; then
echo "giflib header not found!"
exit 3
fi
GIFLIB_VERSION=$(awk '/#define GIFLIB_MAJOR/ {MAJOR=$3} /#define GIFLIB_MINOR/ {MINOR=$3} /#define GIFLIB_RELEASE/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_GIFLIB}")
# harfbuzz
if [ "${openjdk_version}" -gt 8 ] ; then
HARFBUZZ=src/java.desktop/share/native/libharfbuzz/hb-version.h
ABS_HARFBUZZ="${JDKROOT}/${HARFBUZZ}"
if [ ! -f "${ABS_HARFBUZZ}" ]; then
echo "HarfBuzz header not found!"
exit 4
fi
HARFBUZZ_VERSION=$(awk '/#define HB_VERSION_MAJOR/ {MAJOR=$3} /#define HB_VERSION_MINOR/ {MINOR=$3} /#define HB_VERSION_MICRO/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_HARFBUZZ}")
else
echo "No HarfBuzz on ${openjdk_version}";
fi
# lcms
if [ "${openjdk_version}" -gt 8 ] ; then
LCMS=src/java.desktop/share/native/liblcms/lcms2.h
else
LCMS=jdk/src/share/native/sun/java2d/cmm/lcms/lcms2.h
fi
ABS_LCMS="${JDKROOT}"/"${LCMS}"
if [ ! -f "${ABS_LCMS}" ]; then
echo "lcms header not found!"
exit 5
fi
LCMS_VERSION=$(awk '/#define LCMS_VERSION/ { MAJOR=int($3 / 1000); REST=$3 % 1000; MINOR=int(REST / 10); PATCH=REST % 10; } END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_LCMS}")
# jpeg
if [ "${openjdk_version}" -gt 8 ] ; then
JPEG=src/java.desktop/share/native/libjavajpeg/jpeglib.h
else
JPEG=jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h
fi
ABS_JPEG="${JDKROOT}"/"${JPEG}"
if [ ! -f "${ABS_JPEG}" ]; then
echo "jpeg header not found!"
exit 6
fi
JPEG_VERSION=$(awk '/#define JPEG_LIB_VERSION/ { VERSION=$3; MAJOR=int(VERSION / 10); MINOR=VERSION%10; } END {printf "%s%c", MAJOR, (MINOR+96)}' "${ABS_JPEG}")
# png
if [ "${openjdk_version}" -gt 8 ] ; then
PNG=src/java.desktop/share/native/libsplashscreen/libpng/png.h
else
PNG=jdk/src/share/native/sun/awt/libpng/png.h
fi
ABS_PNG="${JDKROOT}"/"${PNG}"
if [ ! -f "${ABS_PNG}" ]; then
echo "png header not found!"
exit 7
fi
PNG_VERSION=$(awk '/#define PNG_LIBPNG_VER_STRING/ { VERSION=$3; gsub("\"", "", VERSION) } END {print VERSION}' "${ABS_PNG}")
# zlib
if [ "${openjdk_version}" -gt 8 ] ; then
ZLIB=src/java.base/share/native/libzip/zlib/zlib.h
else
ZLIB=jdk/src/share/native/java/util/zip/zlib/zlib.h
fi
ABS_ZLIB="${JDKROOT}"/"${ZLIB}"
if [ ! -f "${ABS_ZLIB}" ]; then
echo "zlib header not found!"
exit 8
fi
ZLIB_VERSION=$(awk '/#define ZLIB_VERSION/ { VERSION=$3; gsub("\"", "", VERSION) } END {print VERSION}' "${ABS_ZLIB}")
# Print output
printf "\nRPM definitions:\n"
if [ "${openjdk_version}" -gt 8 ] ; then
echo "# Version in ${FREETYPE}"
echo "Provides: bundled(freetype) = ${FREETYPE_VERSION}"
fi
echo "# Version in ${GIFLIB}"
echo "Provides: bundled(giflib) = ${GIFLIB_VERSION}"
if [ "${openjdk_version}" -gt 8 ] ; then
echo "# Version in ${HARFBUZZ}"
echo "Provides: bundled(harfbuzz) = ${HARFBUZZ_VERSION}"
fi
echo "# Version in ${LCMS}"
echo "Provides: bundled(lcms2) = ${LCMS_VERSION}"
echo "# Version in ${JPEG}"
echo "Provides: bundled(libjpeg) = ${JPEG_VERSION}"
echo "# Version in ${PNG}"
echo "Provides: bundled(libpng) = ${PNG_VERSION}"
echo "# Version in ${ZLIB}"
echo "Provides: bundled(zlib) = ${ZLIB_VERSION}"
# Local Variables:
# compile-command: "shellcheck get_bundle_versions.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:
@@ -0,0 +1 @@
# this file is intentionally not here, as portable builds do not have desktop integration
@@ -0,0 +1,114 @@
#!/bin/bash
# Copyright (C) 2024 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>, 2012-2022
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
OLD_RELEASE=$1
NEW_RELEASE=$2
REPO=$3
SUBDIR=$4
SCRIPT_DIR=$(dirname "${0}")
if test "${SUBDIR}" = ""; then
echo "No subdirectory specified; using .";
SUBDIR=".";
fi
if test "$REPO" = ""; then
echo "No repository specified; using ${PWD}"
REPO=${PWD}
fi
if test "${TMPDIR}" = ""; then
TMPDIR=/tmp;
fi
echo "Repository: ${REPO}"
if [ -e "${REPO}/.git" ] ; then
TYPE=git;
elif [ -e "${REPO}/.hg" ] ; then
TYPE=hg;
else
echo "No Mercurial or Git repository detected.";
exit 1;
fi
if test "$OLD_RELEASE" = "" || test "$NEW_RELEASE" = ""; then
echo "ERROR: Need to specify old and new release";
exit 2;
fi
echo "Listing fixes between $OLD_RELEASE and $NEW_RELEASE in $REPO"
rm -f "${TMPDIR}/fixes2" "${TMPDIR}/fixes3" "${TMPDIR}/fixes"
for repos in . $("${SCRIPT_DIR}/discover_trees.sh" "${REPO}");
do
if test "$TYPE" = "hg"; then
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R "$REPO/$repos" -G -M "${REPO}/${SUBDIR}" | \
grep -E '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
sed 's#^[o:| ]*summary:\W*# - #' >> "${TMPDIR}/fixes2";
hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R "$REPO/$repos" -G -M "${REPO}/${SUBDIR}" | \
grep -E '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> "${TMPDIR}/fixes3";
else
git -C "${REPO}" log --no-merges --pretty=format:%B "${NEW_RELEASE}...${OLD_RELEASE}" -- "${SUBDIR}" |grep -E '^[0-9]{7}' | \
sed -r 's#^([0-9])# - JDK-\1#' >> "${TMPDIR}/fixes2";
touch "${TMPDIR}/fixes3" ; # unused
fi
done
sort "${TMPDIR}/fixes2" "${TMPDIR}/fixes3" > "${TMPDIR}/fixes4"
uniq "${TMPDIR}/fixes4" > "${TMPDIR}/fixes"
rm -f "${TMPDIR}/fixes2" "${TMPDIR}/fixes3"
if ! [ -s "${TMPDIR}/fixes" ] ; then
echo "Failed to obtain fixes.";
exit 3;
fi
echo "In ${TMPDIR}/fixes:"
cat "${TMPDIR}/fixes"
printf "\nChecking for duplicates...";
if uniq -d "${TMPDIR}/fixes4" | grep 'JDK' > "${TMPDIR}/dupes"; then
printf "found.\nWARNING: Review the following duplicates:\n";
cat "${TMPDIR}/dupes";
else
echo "No apparent duplicates.";
fi
rm -f "${TMPDIR}/fixes4";
printf "\nChecking for backouts...";
if grep -i 'backout' "${TMPDIR}/fixes" > "${TMPDIR}/backouts"; then
printf "found.\nWARNING: Review the following backouts:\n"
cat "${TMPDIR}/backouts";
else
echo "No apparent backouts.";
fi
printf "\nChecking for bundled library updates...";
if grep -iE ':( \(tz\))? (update|upgrade).*(freetype|gif|harfbuzz|lcms|jpeg|png|timezone|zlib)' "${TMPDIR}/fixes" > "${TMPDIR}/bundles"; then
printf "found.\nWARNING: Review the following with respect to bundled provides:\n";
cat "${TMPDIR}/bundles";
echo "Compare the output of $(dirname "${0}")/get_bundle_versions.sh with the RPM using the JDK source tree"
else
echo "No apparent library updates.";
fi
# Local Variables:
# compile-command: "shellcheck openjdk_news.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "bitsandbytes.spec"
}
}
@@ -0,0 +1,49 @@
%global pypi_name bitsandbytes
%global _desc Accessible large language models via k-bit quantization for PyTorch.
Name: python-%{pypi_name}
Version: 0.49.2
Release: 1%{?dist}
Summary: Accessible large language models via k-bit quantization for PyTorch
License: MIT
URL: https://huggingface.co/docs/bitsandbytes/main/en/index
Source0: https://github.com/bitsandbytes-foundation/bitsandbytes/archive/refs/tags/%{version}.tar.gz
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-scikit-build-core
BuildRequires: python3-pip
BuildRequires: python3-hatchling
BuildRequires: python3-wheel
BuildRequires: python3-cmake
BuildRequires: gcc-c++
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
%_desc
%package -n python3-%{pypi_name}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
%description -n python3-%{pypi_name}
%_desc
%prep
%autosetup -n %{pypi_name}-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files %{pypi_name}
%files -n python3-%{pypi_name} -f %{pyproject_files}
%doc README.md CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md
%license LICENSE
%changelog
* Tue May 05 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
@@ -0,0 +1 @@
rpm.version(pypi("bitsandbytes"));
@@ -1,23 +1,21 @@
%global pypi_name dataclasses-json
%global _desc Easily serialize Data Classes to and from JSON.
%define _python_dist_allow_version_zero %{nil}
Name: python-%{pypi_name}
Version: 0.6.7
Release: 1%?dist
Release: 1%{?dist}
Summary: Easily serialize Data Classes to and from JSON
License: MIT
URL: https://github.com/lidatong/dataclasses-json
Source0: %url/archive/refs/tags/v%version.tar.gz
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: python3-build
BuildRequires: python3-pip
BuildRequires: python3-poetry-core
BuildRequires: python3-poetry-dynamic-versioning
Requires: python3-marshmallow
Requires: python3-typing-inspect
BuildRequires: python3-pyproject-metadata
Packager: Owen Zimmerman <owen@fyralabs.com>
@@ -31,15 +29,8 @@ Summary: %{summary}
%description -n python3-%{pypi_name}
%_desc
%package -n python3-%{pypi_name}-doc
Summary: documentation for python3-%{pypi_name}
%description -n python3-%{pypi_name}-doc
documentation for python3-%{pypi_name}.
%prep
%autosetup -n dataclasses-json-%{version}
sed -i '/\[tool.poetry-dynamic-versioning\]/,+1d' pyproject.toml
%git_clone %{url}.git v%{version}
%build
%pyproject_wheel
@@ -53,5 +44,8 @@ sed -i '/\[tool.poetry-dynamic-versioning\]/,+1d' pyproject.toml
%license LICENSE
%changelog
* Mon May 04 2026 Owen Zimmerman <owen@fyralabs.com>
- Switch to git source, clean up spec
* Wed Jan 07 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
+6
View File
@@ -0,0 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "dirsync.spec"
}
}
+46
View File
@@ -0,0 +1,46 @@
%global pypi_name dirsync
%global _desc Advanced directory tree synchronisation tool.
Name: python-%{pypi_name}
Version: 2.2.6
Release: 1%{?dist}
Summary: Advanced directory tree synchronisation tool
License: MIT
URL: https://github.com/domdfcoding/deprecation-alias
Source0: %{pypi_source}
BuildRequires: python3-devel
BuildRequires: python3-pip
BuildRequires: python3-setuptools
BuildArch: noarch
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
%_desc
%package -n python3-%{pypi_name}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
%description -n python3-%{pypi_name}
%_desc
%prep
%autosetup -n %{pypi_name}-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files %{pypi_name}
%files -n python3-%{pypi_name} -f %{pyproject_files}
%doc README.rst
%license LICENSE.txt
%{_bindir}/%{pypi_name}
%changelog
* Mon May 04 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
+1
View File
@@ -0,0 +1 @@
rpm.version(pypi("dirsync"));
@@ -14,7 +14,7 @@ Source0: %url/archive/refs/tags/v%version.tar.gz
BuildRequires: python3-devel
BuildRequires: python3-pip
BuildRequires: python3-setuptools
BuildRequires: java-21-openjdk-devel
BuildRequires: java-latest-openjdk-devel
Packager: Owen Zimmerman <owen@fyralabs.com>
@@ -2,8 +2,8 @@
%global _desc Python API Client for Jellyfin.
Name: python-%{pypi_name}
Version: 1.11.0
Release: 1%?dist
Version: 1.12.0
Release: 1%{?dist}
Summary: Python API Client for Jellyfin
License: GPL-3.0
URL: https://github.com/jellyfin/jellyfin-apiclient-python
@@ -2,7 +2,7 @@
%global _desc get things from one computer to another, safely.
Name: python-%{pypi_name}
Version: 0.23.0
Version: 0.24.0
Release: 1%{?dist}
Summary: get things from one computer to another, safely
License: MIT
+3 -2
View File
@@ -2,12 +2,13 @@
Name: python-%{pypi_name}
Version: 0.65.1
Release: 1%{?dist}
Release: 2%{?dist}
Summary: NumPy aware dynamic Python compiler using LLVM
License: BSD-2-Clause AND MIT AND BSD-3-Clause
URL: https://numba.pydata.org
# PyPi source does not include all files
Source0: https://github.com/numba/numba/archive/refs/tags/%version.tar.gz
Patch0: remove-llvmlite-version-req.patch
# This package is intentionally not noarch
BuildRequires: python3-devel
@@ -36,7 +37,7 @@ Numba is an open source, NumPy-aware optimizing compiler for Python sponsored by
Numba can compile a large subset of numerically-focused Python, including many NumPy functions. Additionally, Numba has support for automatic parallelization of loops, generation of GPU-accelerated code, and creation of ufuncs and C callbacks.
%prep
%autosetup -n numba-%{version}
%autosetup -n numba-%{version} -p1
%build
%pyproject_wheel
@@ -0,0 +1,13 @@
diff --git a/setup.py b/setup.py
index 282b8f42e..24c865f0a 100644
--- a/setup.py
+++ b/setup.py
@@ -24,7 +24,7 @@ max_python_version = "3.15" # exclusive
min_numpy_build_version = "2.0.0rc1"
min_numpy_run_version = "1.22"
max_numpy_run_version = "2.5"
-min_llvmlite_version = "0.47.0dev0"
+min_llvmlite_version = "0.44"
max_llvmlite_version = "0.48"
if sys.platform.startswith('linux'):
@@ -0,0 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "open-unmix-pytorch.spec"
}
}
@@ -0,0 +1,47 @@
%global pypi_name openunmix
%global _desc Open-Unmix - Music Source Separation for PyTorch.
Name: python-%{pypi_name}
Version: 1.3.0
Release: 1%{?dist}
Summary: Open-Unmix - Music Source Separation for PyTorch
License: MIT
URL: https://github.com/sigsep/open-unmix-pytorch
Source0: %{pypi_source}
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: python3-pip
BuildRequires: python3-setuptools
BuildRequires: python3-wheel
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
%_desc
%package -n python3-%{pypi_name}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
%description -n python3-%{pypi_name}
%_desc
%prep
%autosetup -n %{pypi_name}-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files %{pypi_name}
%files -n python3-%{pypi_name} -f %{pyproject_files}
%doc README.md
%license LICENSE
%{_bindir}/umx
%changelog
* Mon May 04 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
@@ -0,0 +1 @@
rpm.version(pypi("openunmix"));
+6
View File
@@ -0,0 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "peft.spec"
}
}

Some files were not shown because too many files have changed in this diff Show More