482 Commits

Author SHA1 Message Date
be9f594b25 Update docs for new repo location 2025-11-22 13:16:37 -05:00
5bcbc9a935 1.35.4 release 2025-11-22 04:06:23 -05:00
1f61ec4888 Change SCRIPT_URL for gitea path 2025-11-22 04:06:05 -05:00
3c8ed002bb 1.35.3 release 2025-11-22 03:29:19 -05:00
7ef9669dec Update spec file for RPM 6.0 2025-11-21 21:25:15 -05:00
eb62392da7 Add RPM 6.0 support to rpmbuild 2025-11-21 16:07:49 -05:00
60961f8415 Add RPM 6.0 support to rpmbuild 2025-11-21 16:02:22 -05:00
e087248165 Add RPM 6.0 support to rpmbuild 2025-11-21 15:57:18 -05:00
90ea1e0fa4 Add RPM 6.0 support to rpmbuild 2025-11-21 15:49:36 -05:00
bafd812074 Add RPM 6.0 support to rpmbuild 2025-11-21 15:44:55 -05:00
75881d5ac1 Add RPM 6.0 support to rpmbuild 2025-11-21 15:38:07 -05:00
fd6d4d872f Add RPM 6.0 support to rpmbuild 2025-11-21 15:22:08 -05:00
c96ff1ed4b Use SHA256 checksums in rpmbuild 2025-11-21 15:00:11 -05:00
a37ae0b5f5 Run postbuild RPM routines 2025-11-21 14:49:47 -05:00
b8f64b3f0c Add rpm checksums 2025-11-21 14:41:28 -05:00
bcde2c252b 1.35.2 release 2025-11-21 13:20:46 -05:00
1f8f276258 Fix last MC34 version 2025-11-21 13:19:29 -05:00
ce46f50cd1 1.35.1 release 2025-11-21 13:10:54 -05:00
07878d97ce Update for MC35 2025-11-21 13:10:11 -05:00
d015f70ec2 Always install, don't reinstall MC RPMs 2025-11-13 09:23:22 -05:00
b4a80f5ba1 1.34.11 release 2025-11-07 23:24:58 -05:00
6dcf224b8e Remove unused var 2025-11-07 22:55:49 -05:00
5fb8e0e75f Workaround weird buildah FD 2025-11-07 22:20:56 -05:00
20e09ea15c Still print buildah rm debug 2025-11-07 22:13:16 -05:00
2ac055e827 Make buildah rm quiet 2025-11-07 22:11:30 -05:00
0ee91075fb Download deb to /tmp in container 2025-11-07 21:59:31 -05:00
3c7ef14aac Mounting container in buildah unshare 2025-11-07 21:52:16 -05:00
71ce48626f Make package manager operations noisier by default 2025-11-07 21:22:32 -05:00
f564980ec6 Temp debug 2025-11-07 20:36:34 -05:00
e040a94504 Temp debug 2025-11-07 20:34:42 -05:00
e913d57e17 Remove rootful buildah for cmd execution 2025-11-07 20:28:11 -05:00
61d9e2f98c Remove rootful buildah for deb download 2025-11-07 20:24:22 -05:00
148e821fa9 Remove rootful buildah for buildah checking 2025-11-07 20:20:01 -05:00
622e5d9295 Remove rootful buildah 2025-11-07 20:18:40 -05:00
71defe9672 Pass vars to working container instead of heredoc 2025-11-07 20:11:46 -05:00
60cfe6a19c Fix quoted repo names in containerized pm 2025-11-07 20:09:03 -05:00
c6eed2a89a Allow future full versions for --mcversion 2025-11-07 18:22:48 -05:00
f2c8865216 Print helper for future beta versions instead of scraping 2025-11-07 18:17:38 -05:00
fc1956dc04 Skip containerized version lookup for beta versions 2025-11-07 18:01:22 -05:00
533106cbd7 Allow future major beta versions 2025-11-07 17:54:51 -05:00
89499ddac8 Allow empty --install flag, default to repo method 2025-10-22 20:45:26 -04:00
e19422257d 1.34.10 release 2025-10-21 18:58:32 -04:00
4683ed4c0e Optionally rerun installJRMC on repo failure 2025-10-21 18:56:56 -04:00
8a38cbef41 Optionally rerun installJRMC on repo failure 2025-10-21 18:55:15 -04:00
d86b454be4 Optionally rerun installJRMC on repo failure 2025-10-21 18:53:15 -04:00
98a10f2539 1.34.9 release 2025-10-21 17:56:29 -04:00
373ec80694 Don't unset recommends namerefs 2025-10-21 17:55:01 -04:00
f7ddf6830e Remove buildah force flag 2025-10-21 17:49:08 -04:00
29ade7e11c Set MC_VERSION in all cases 2025-10-21 17:23:43 -04:00
c9ac0c94b0 Streamline user version handling 2025-10-21 17:04:12 -04:00
eda302ac11 Update default version 2025-10-21 15:06:03 -04:00
a975749b26 Remove explicit version check 2025-10-21 15:04:55 -04:00
da199b1278 Silence erroneous shellcheck warnings and update docs 2025-08-06 21:29:18 -04:00
c6429d563c Fix linting 2025-08-02 20:05:17 -04:00
a2de08da42 1.34.8 release 2025-08-02 10:58:05 -04:00
633938eb4d Fix python dependency on SUSE 2025-08-02 10:52:37 -04:00
3bbd846a3f 1.34.7 release 2025-08-01 21:02:06 -04:00
e6b51568f9 Re-add .bbcode 2025-08-01 20:49:43 -04:00
9b9b82d1af Tighten up output 2025-08-01 20:43:15 -04:00
f2016b6b50 install fakeroot on Arch 2025-08-01 20:22:54 -04:00
94e2bfa848 FIx one variable reassignment 2025-08-01 20:16:16 -04:00
cfc21cda14 Debug array 2025-08-01 19:57:49 -04:00
8ae3ae5915 Debug array 2025-08-01 19:55:58 -04:00
7bbe16b6a2 Try rough re-split 2025-08-01 19:54:18 -04:00
2ee1fd5b9c Improve array filtering for PKGBUILD 2025-08-01 19:50:49 -04:00
45be120254 Strip rpm array modifications 2025-08-01 19:40:59 -04:00
62f0b862c3 Install dpkg for Arch for consistency 2025-08-01 19:29:34 -04:00
c42f0a6dd3 Fix circular namerefs 2025-08-01 19:26:15 -04:00
e3777f0dec Remove colons from Arch recommends 2025-08-01 19:19:49 -04:00
9bae3a42c7 Fix derp 2025-08-01 19:16:54 -04:00
3587ac8db2 Refactor package translations on behalf of Arch 2025-08-01 18:14:39 -04:00
e390f36d84 Normailize CachyOS as Arch 2025-07-30 09:21:57 -04:00
de38073978 1.34.5 release 2025-07-28 17:19:58 -04:00
a0d6707d1c Ignore bbcode since gogs clobbers 2025-07-28 17:16:57 -04:00
61f5b2c19d Update .gitignore and add new README 2025-07-28 17:14:29 -04:00
54923fd212 Rename README for gogs precedence 2025-07-28 17:12:47 -04:00
df9c1ccbea Keep /home/bryan consistent 2025-07-11 20:56:24 -04:00
d62f844371 Fix bad .jriver permissions more gracefully 2025-07-11 20:55:24 -04:00
f2d08bc3e6 Add debug output 2025-07-11 20:43:10 -04:00
ce2b1e70c6 Clobber repo files (more automatic) 2025-07-11 20:38:12 -04:00
1e1e7e3792 Make package update less noisy 2025-07-11 20:35:50 -04:00
c44bfe8aa3 Format and test 2025-07-11 20:12:10 -04:00
10d9e9e213 Remove uncessary warnings 2025-07-11 20:09:02 -04:00
f80f9ccd08 Add testing debug output 2025-07-11 19:52:38 -04:00
175c6deb5a Make package scrape prettier 2025-07-11 19:51:18 -04:00
9d8e338872 Make package scrape prettier 2025-07-11 19:50:01 -04:00
558c7a059c More explicitly fix .jriver dir permissions 2025-07-11 19:44:12 -04:00
f92a89c99c Quiet containerized package manager warning 2025-07-11 19:32:29 -04:00
68c03ab186 Make sure we pop commits after git update 2025-07-11 19:28:17 -04:00
9587308d84 Improve verbiage 2025-07-11 19:12:35 -04:00
3848e880ed Simplify build_rpm() 2025-07-11 19:09:52 -04:00
dc16e06ea8 Use --install=local by default on Mandriva 2025-07-11 18:59:26 -04:00
c5921c33cc Tighten up Mandriva support 2025-07-11 18:54:14 -04:00
0795491d61 Add Mandriva support 2025-07-11 17:55:26 -04:00
eb8664d7e5 1.34.3 release 2025-06-18 13:32:55 -04:00
c0c25cbea3 Remove sdbus requires 2025-06-18 12:05:15 -04:00
1d41d6377f chown ~/.jriver as USER 2025-06-17 18:42:16 -04:00
a82ae73303 Add more SUSE recommends 2025-06-17 17:59:24 -04:00
a2785cec43 1.34.2 release 2025-06-16 22:52:06 -04:00
a6499ee5b8 Fix sdbus package name 2025-06-16 22:41:24 -04:00
8b70653b63 Add new sdbus package support 2025-06-16 22:27:08 -04:00
8aa01958ff 1.34.1 release 2025-06-02 20:12:18 -04:00
dc0eaed0f6 Use internal package name 2025-06-02 20:06:51 -04:00
f227050f6c Fix rpm --query lookup for --reinstall 2025-06-02 20:04:20 -04:00
d3c049818a Make install_mesa_freeworld fedora-specific 2025-06-02 19:56:54 -04:00
17512a2c00 Improve recommends for freeworld packages on fedora 2025-06-02 19:49:00 -04:00
444ebbfa25 Improve recommends for freeworld packages on fedora 2025-06-02 19:46:54 -04:00
8de1608a77 Also remove /usr/lib/jriver 2025-06-02 19:25:24 -04:00
361dcb8ce3 Return successfully 2025-06-02 19:17:39 -04:00
8af309488d Re-enable dnf reinstalls 2025-06-02 19:13:46 -04:00
d5aecc6902 Disable CoW recursively in ~/.jriver 2025-06-02 18:51:40 -04:00
82b31361d4 Only disable CoW for ~/.jriver 2025-06-02 18:50:05 -04:00
96d6044c85 Make temp repos more prolific 2025-06-02 18:18:08 -04:00
71c21bf084 Simplify legacy checks 2025-06-02 17:28:26 -04:00
8388a3ab26 Streamline version check 2025-06-02 17:12:21 -04:00
9b978e43b7 Clobber repo file 2025-06-02 17:09:10 -04:00
4b166fd025 use a single suite 2025-06-02 17:03:12 -04:00
de2032d389 Add temp debug 2025-06-02 16:57:58 -04:00
f21e162177 Selectively remove repo files for --uninstall 2025-06-02 16:41:32 -04:00
768e00dff3 Ask to backup and reset library on --uninstall 2025-06-02 16:36:34 -04:00
5e890900f2 Ask to backup and reset library on --uninstall 2025-06-02 16:33:35 -04:00
18a3ae02fa Narrow --uninstall output 2025-06-02 16:20:56 -04:00
c729f1fb9b Allow --uninstall to be used seamlessly before other operations 2025-06-02 16:16:12 -04:00
cc7c1d4c5f Also uninstall installJRMC output 2025-06-02 15:56:27 -04:00
36548581d3 Return on successful license restore 2025-06-02 15:33:10 -04:00
605dc78cf8 Cleanup documentation 2025-06-02 15:26:30 -04:00
8b464fffc7 Add README.bbcode 2025-06-02 13:45:28 -04:00
eb9c9fbf9d Rollup for new minor version, may be buggy 2025-06-02 13:43:23 -04:00
afb9ff6ed5 Make createrepo noisier 2025-05-06 14:55:06 -04:00
dfac619e9d Append dev to version name 2025-04-28 21:21:29 -04:00
005fe17298 Pass --mcrepo to createrepo service 2025-04-28 21:15:25 -04:00
190a6e7b10 Move UID check after parse 2025-04-28 21:07:11 -04:00
9d0c484aa0 1.6.5 release 2025-04-28 20:14:10 -04:00
ca5e1ef2f6 Update defaults for MC34 2025-04-28 19:19:20 -04:00
9dcb6d690f 1.6.4 release 2025-04-26 11:34:43 -04:00
44c9d3217a Add temp repos to Debian too 2025-04-26 11:21:49 -04:00
7e75672bcc Add temp repos to Debian too 2025-04-26 11:17:41 -04:00
a8ab51bf81 Add temp repos to Debian too 2025-04-26 11:14:34 -04:00
b0b6556825 Only create .jriver 2025-04-26 10:56:17 -04:00
6406ca564a If VERSION_ID is empty, treat as new 2025-04-26 10:48:14 -04:00
ffa3dea4b9 Revert Keep container 2025-04-25 02:31:39 -04:00
d5865d8dba Keep container 2025-04-25 02:30:25 -04:00
8d59e534a9 1.6.3 release 2025-04-25 01:34:39 -04:00
7ffbe64213 Don't specify suite 2025-04-25 01:29:48 -04:00
032be973f3 Revert use relative symlinks in rpmbuild 2025-04-25 01:15:12 -04:00
bcd317580f Print function name 2025-04-25 00:58:58 -04:00
63363c39ee Fix heredec indents 2025-04-25 00:53:31 -04:00
f5a258892e Use relative symlinks in rpmbuild 2025-04-25 00:49:29 -04:00
6ffd558e6b Don't chain inside container 2025-04-25 00:35:22 -04:00
b273fab024 1.6.2 release 2025-04-25 00:32:59 -04:00
9c2c72e553 Revert justify 1.7.0 with colors 2025-04-25 00:31:38 -04:00
ee87cea8da Justify 1.7.0 with colors 2025-04-25 00:30:20 -04:00
b4bdacccdf Rechain container commands 2025-04-25 00:25:41 -04:00
e2bae2693c Fix and simplify containerized MC_VERSION parsing 2025-04-25 00:18:38 -04:00
52b0b67b38 Make container noisier for debug 2025-04-25 00:02:44 -04:00
cf9621b72a Make container noisier for debug 2025-04-25 00:00:41 -04:00
9d6b0da4f0 Make container noisier for debug 2025-04-24 23:59:14 -04:00
753efdba57 Chain apt container commands 2025-04-24 23:55:20 -04:00
8cd6f690ab Chain apt container commands 2025-04-24 23:54:46 -04:00
c88465e0df Container debug 2025-04-24 23:48:46 -04:00
92dd577ec3 1.6.1 release 2025-04-24 23:41:29 -04:00
c5689df0db Cleanup output 2025-04-24 23:32:57 -04:00
58ba1f6b84 Skip reinstall on RPM 2025-04-24 23:16:36 -04:00
241fc98c76 Run package install through execute() 2025-04-24 23:14:10 -04:00
3f5b61e7dc Selective reinstall with dnf 2025-04-24 23:11:03 -04:00
a618078b3b 1.6.0 release 2025-04-24 22:59:27 -04:00
25603ca02c Swap install for reinstall with dnf 2025-04-24 22:53:25 -04:00
acdee11dfe Reinstall RPMs too 2025-04-24 22:47:26 -04:00
d1f69c55f9 Accept one-letter y/n 2025-04-24 22:46:12 -04:00
dbf58d14fe Accept one-letter y/n 2025-04-24 22:42:58 -04:00
40bffcdd5f Accept one-letter y/n 2025-04-24 22:41:37 -04:00
e0d97985cc Reinstall package 2025-04-24 22:31:30 -04:00
a1855c87f5 Try multiple suites 2025-04-24 22:25:31 -04:00
566d3bb69f Force removal of DEB 2025-04-24 22:18:51 -04:00
cb0984ad60 Try to pass mcrepo to apt-get 2025-04-24 22:16:55 -04:00
6c893d0a21 Use --install=local by default on arch 2025-04-24 21:53:27 -04:00
395006f338 Check legacy sources for universe 2025-04-24 21:34:16 -04:00
491fc5388c Install buildah 2025-04-24 21:30:38 -04:00
c86c761be8 Still acquire deb on Arch btw 2025-04-24 21:22:53 -04:00
cb05813e1e Set default MC_SOURCE 2025-04-24 21:19:03 -04:00
5d7680c8dc Report on user input for --mcversion 2025-04-24 21:07:27 -04:00
e6f0c91eca Quiet systemctl output for uninstall() 2025-04-24 20:09:18 -04:00
198076e41f Create temp deb for _apt 2025-04-24 19:52:49 -04:00
e728fc38a5 Create temp deb for _apt 2025-04-24 19:49:55 -04:00
9ede815548 Create temp deb for _apt 2025-04-24 19:31:14 -04:00
8387813dc8 Create temp deb for _apt 2025-04-24 19:28:31 -04:00
b960867a0a Chown deb to _apt 2025-04-24 19:15:10 -04:00
95bf2f7b00 Download deb to tmp dir in container 2025-04-24 19:13:04 -04:00
25d86465a3 Quiet apt download warnings 2025-04-24 19:07:08 -04:00
b4b38e5365 Remove legacy acquire_deb() 2025-04-24 19:01:27 -04:00
66bc40af2b Try to silence apt sandbox in alpine 2025-04-24 18:52:09 -04:00
0379c8d4f0 Use sudo to remove jammy repo file 2025-04-24 18:44:01 -04:00
a98f3cf994 Always remove jammy repo 2025-04-24 18:42:55 -04:00
8c97500dd4 Fix derp 2025-04-24 16:51:54 -04:00
f79a58ca8c Fix derp 2025-04-24 16:47:22 -04:00
df0989887b Set MC_SOURCE for container download 2025-04-24 16:41:50 -04:00
b9eca3b3da Set MC_SOURCE for container download 2025-04-24 16:38:45 -04:00
ac1f961b0e Set MC_SOURCE for container download 2025-04-24 16:33:50 -04:00
4c65c8a964 Run package update after adding jammy 2025-04-24 16:18:23 -04:00
e9c57f14d6 On new ubuntu install libwebkit2gtk manually 2025-04-24 16:06:11 -04:00
02dc5e5ce4 Explicit target for apt-get download 2025-04-24 15:24:14 -04:00
45e8d31bd0 Remove download container 2025-04-24 14:15:29 -04:00
4b486f1094 Enable new sources format on debian 2025-04-24 14:13:43 -04:00
927d2c0c72 Keep container for debugging 2025-04-24 13:47:53 -04:00
007b8c4304 Allow command strings to be passed to container 2025-04-24 13:45:59 -04:00
537cc6e73f Install recommended packages 2025-04-24 13:25:56 -04:00
be579af656 Fix permissions and command chaining 2025-04-24 13:18:06 -04:00
b05ba9364a Make good info noisier 2025-04-24 13:05:25 -04:00
ba6d272f56 Print MC_REPO debug 2025-04-24 13:03:58 -04:00
90cbd0b970 Simplify function debug output 2025-04-24 13:01:19 -04:00
e17948a331 Only match host repo on MC31+ 2025-04-24 12:55:22 -04:00
387c5db385 Only match host repo on MC31+ 2025-04-24 12:53:25 -04:00
b0149dc977 Set MC_REPO before get_latest_mc_version 2025-04-24 12:40:43 -04:00
5b3661989e Hook in acquire_deb_new 2025-04-24 12:24:37 -04:00
77b6b8de30 Replace buildah copy with mount 2025-04-24 12:16:27 -04:00
dad1db73fb Replace buildah copy with mount 2025-04-24 12:13:17 -04:00
4204817042 Replace buildah copy with mount 2025-04-24 12:08:08 -04:00
9e67e5ffa5 Replace buildah copy with mount 2025-04-24 12:05:43 -04:00
c7f53979de Use container for MC deb download 2025-04-24 11:47:27 -04:00
e5638c019d Use container for MC deb download 2025-04-24 11:28:54 -04:00
e23c4b9763 Use container for MC deb download 2025-04-24 11:26:45 -04:00
4325a3a846 Split MC container creation into function 2025-04-24 11:07:13 -04:00
3b73bc1275 Split MC container creation into function 2025-04-24 11:05:48 -04:00
46526422df Split MC container creation into function 2025-04-24 11:04:42 -04:00
4cdce5c8ae Use rootful container for testing 2025-04-24 10:47:19 -04:00
570f5b8634 Quiet containers 2025-04-24 10:42:43 -04:00
cb64885bbd Use fallback MC_MVERSION 2025-04-24 10:40:42 -04:00
ce2b1e1530 Use rootful container for testing 2025-04-24 10:36:05 -04:00
1b0802c5e8 Use rootful container for testing 2025-04-24 10:33:17 -04:00
c8ab117feb Use rootful container for testing 2025-04-24 10:26:25 -04:00
efefd30e8e Use rootful container for testing 2025-04-24 10:25:22 -04:00
428c83727e Use rootful container for testing 2025-04-24 10:24:30 -04:00
e084bcf709 Only parse target Arch in version lookup 2025-04-24 10:23:18 -04:00
5219862e22 Only parse target Arch in version lookup 2025-04-24 10:22:39 -04:00
33b7b99405 Download signing key in container 2025-04-24 10:20:35 -04:00
d0dceb44f7 Download signing key in container 2025-04-24 10:19:23 -04:00
2903fd2bf8 Download signing key in container 2025-04-24 10:16:16 -04:00
5dd4823c73 Skip universe repo install for deb822 2025-04-24 10:07:22 -04:00
1ac1af726d Use rootful container for testing 2025-04-24 10:00:19 -04:00
17bc38827a Swap apt-get for apt 2025-04-24 09:59:16 -04:00
41fa5286cb Swap apt-get for apt 2025-04-24 09:54:58 -04:00
b2d2366375 Swap apt-get gor apt 2025-04-24 09:54:08 -04:00
3325f933b5 Use rootful container for testing 2025-04-24 09:45:51 -04:00
4fd7134365 Fail on new acquire_deb() 2025-04-24 09:44:53 -04:00
602885dae2 Use rootful container for testing 2025-04-24 09:43:42 -04:00
0e9ed34fce Use rootful container for testing 2025-04-24 09:43:02 -04:00
5770c407a0 Test containerized apt download 2025-04-24 09:38:12 -04:00
1d59a923f6 Fix Deb822 architecture formatting 2025-04-24 09:21:46 -04:00
c33603bb0a Only match host repo on newer MC versions 2025-04-24 03:23:35 -04:00
05c3a375cc Improve --compat for debs 2025-04-24 02:35:54 -04:00
175d62fce3 Remove confusing error 2025-04-24 02:25:41 -04:00
dfd013011c Use supported command breaks 2025-04-24 02:23:40 -04:00
afb12e3c19 Pull latest --mcversion from repo 2025-04-24 02:11:17 -04:00
a91d1e1ad7 Use explicit MVERSION variable 2025-04-24 02:06:11 -04:00
5661035969 Refactor legacy hardcodes and webscraping 2025-04-24 01:40:05 -04:00
5f383d5b6c Bump dev version 2025-04-24 00:15:52 -04:00
c61c39b744 Use extended regex for webscrape 2025-04-24 00:15:10 -04:00
74e58560f5 Use extended regex for webscrape 2025-04-24 00:14:31 -04:00
d5acdadd00 Use extended regex for webscrape 2025-04-24 00:13:13 -04:00
f3bef86cf8 Modernize sources list for containerized package manager 2025-04-24 00:04:11 -04:00
48c6189d3e Modernize sources list for containerized package manager 2025-04-23 23:58:00 -04:00
19986086da Modernize sources list for containerized package manager 2025-04-23 23:56:18 -04:00
3f27ec65d9 Modernize sources list for containerized package manager 2025-04-23 23:55:24 -04:00
1b40fbe4dc Modernize sources list for containerized package manager 2025-04-23 23:53:47 -04:00
3cc11459d7 Modernize sources list for containerized package manager 2025-04-23 23:51:44 -04:00
a45f8c2a2b Modernize sources list for containerized package manager 2025-04-23 23:47:49 -04:00
8b99662d2f Modernize sources list for containerized package manager 2025-04-23 23:44:10 -04:00
8b59eefb5d Modernize sources list for containerized package manager 2025-04-23 23:43:21 -04:00
e03e329ad8 Modernize sources list for containerized package manager 2025-04-23 23:42:23 -04:00
c6e3911725 Modernize sources list for containerized package manager 2025-04-23 23:32:39 -04:00
c373222f31 Modernize sources list for containerized package manager 2025-04-23 23:31:26 -04:00
a83a391595 Modernize sources list for containerized package manager 2025-04-23 23:29:37 -04:00
902bf171de Modernize sources list for containerized package manager 2025-04-23 23:27:18 -04:00
bf5bc3f9e2 Modernize sources list for containerized package manager 2025-04-23 23:24:22 -04:00
c6f9111262 Modernize sources list for containerized package manager 2025-04-23 23:23:21 -04:00
71c732f96b Modernize sources list for containerized package manager 2025-04-23 23:21:32 -04:00
ee46f69c74 Modernize sources list for containerized package manager 2025-04-23 23:15:40 -04:00
365b8f6079 Modernize sources list for containerized package manager 2025-04-23 23:12:18 -04:00
8b3cd967bf Modernize sources list for containerized package manager 2025-04-23 23:06:59 -04:00
444d73edc6 Modernize sources list for containerized package manager 2025-04-23 23:04:19 -04:00
5c5ef3ad22 Modernize sources list for containerized package manager 2025-04-23 22:59:56 -04:00
3e7af1de41 Fix firewall derp 2025-04-23 18:02:59 -04:00
1ab930708e Use discrete spec files 2025-04-23 17:52:29 -04:00
ac801134ea Refactor mesa-freeworld for vulkan-drivers 2025-04-23 17:28:12 -04:00
198cd37d73 Replace BuildArch with --target 2025-04-23 16:34:42 -04:00
9ef3ff44f2 Revert manual arch override 2025-04-23 16:29:33 -04:00
1e031fa6d2 Try manual arch override 2025-04-23 16:25:44 -04:00
fed1fa9435 Set explicit target for rpmbuild 2025-04-23 16:19:14 -04:00
42ecf82fd5 HTTPS everywhere 2025-04-23 15:59:39 -04:00
c87148aecc Add RPM translations for arm64 2025-04-23 15:44:50 -04:00
bfda47a050 Assign default MC_SOURCE 2025-04-23 15:08:32 -04:00
3019cfad12 Use case insensitive git repo check 2025-04-23 15:02:47 -04:00
fdbb0ead8a Add MC_RPM debug 2025-04-23 14:59:01 -04:00
126dcef47a Enable non-x64 rpmbuilds 2025-04-23 14:44:44 -04:00
e24ba4ea0f Add cross-architecture rpmbuild 2025-04-22 23:51:56 -04:00
4ac4bc09ad 1.5.3 release 2025-04-22 16:43:17 -04:00
fa86b8b659 Use manual debug output for download() 2025-04-22 16:42:28 -04:00
e211ad5c5d Print advice last 2025-04-22 16:39:03 -04:00
60ade196c5 Remove JRiver GPG key in uninstall() 2025-04-22 16:36:03 -04:00
347dcd44ae Add more download debug output 2025-04-22 16:30:21 -04:00
7bad2bf96c 1.5.2 release 2025-04-22 16:16:47 -04:00
58674364c6 Refactor download_stdout and remove snap/appimage attempts 2025-04-17 12:04:47 -04:00
3d2f343e00 Fix arch in appinstall 2025-04-15 23:04:54 -04:00
00de925240 Selectively acquire appimage-builder 2025-04-15 23:02:43 -04:00
0dee6d3971 Use appimage-builder 2025-04-15 22:43:25 -04:00
6fa7df13dd Add stub functionality to AppImage 2025-04-15 21:57:13 -04:00
61eebeb41b Add AppDir icon 2025-04-15 21:16:44 -04:00
2f99036efb Use host arch 2025-04-15 21:12:04 -04:00
5a226d9d6d Disable default method for appimage 2025-04-15 21:07:39 -04:00
bb92bbb10e Abandon snaps for AppImage 2025-04-15 21:04:19 -04:00
c81d262d79 Switch pack to snap 2025-04-15 19:55:10 -04:00
6fd84a2192 Switch to GNOME extension 2025-04-15 19:50:11 -04:00
7447507362 I hate snaps 2025-04-15 19:45:37 -04:00
659be95c17 I hate snaps 2025-04-15 19:38:42 -04:00
196ba6dd75 Use git pull override 2025-04-15 19:36:12 -04:00
05a1289180 Use build-essential 2025-04-15 19:34:39 -04:00
d810f2c011 Run apt update before build 2025-04-15 19:33:12 -04:00
066ea36dec Remove pkgconf 2025-04-15 19:30:24 -04:00
b9f1e6a752 Use pkgconf 2025-04-15 19:29:21 -04:00
299428fc1f Switch to make plugin 2025-04-15 19:28:00 -04:00
8dbb03050b Add stage packages to desktop-helpers 2025-04-15 19:25:37 -04:00
5c6be534a1 Add git to desktop helper build 2025-04-15 19:22:37 -04:00
a0d2ef0ff7 Add desktop helper to snap 2025-04-15 19:20:44 -04:00
237e0b6f31 Start with strict confinement 2025-04-15 18:31:43 -04:00
ff8395d60e Output to proper snap dir 2025-04-15 18:28:01 -04:00
fc7d57c026 Make systemd noisier by default 2025-04-15 18:22:55 -04:00
199fd942fb Workaround snapcraft container quirks 2025-04-15 18:18:04 -04:00
5f682707f6 Actually check that the snap is built 2025-04-15 18:13:36 -04:00
3897ac7697 Override default snapcraft entrypoint 2025-04-15 18:04:06 -04:00
ba2fe7015e Retry absolute paths 2025-04-15 17:51:18 -04:00
ead614921a Use pack instead of snap directive 2025-04-15 17:46:58 -04:00
1c9f918ac8 No absolute paths in command 2025-04-15 17:31:09 -04:00
f9d6c40c00 Fix world's most annoying indent error 2025-04-15 17:24:25 -04:00
e9e69e7ccc Try relative paths 2025-04-15 17:20:03 -04:00
a1e4d4cf8c Fix paths to deb 2025-04-15 17:06:40 -04:00
b954f89580 use relative paths in container build 2025-04-15 17:03:46 -04:00
764fd6f634 Begin silent snapcraft bug bisection 2025-04-15 17:00:00 -04:00
dc4cd48245 Print snpacraft debug output 2025-04-15 16:53:25 -04:00
82f2dd1c81 Use snap rocks image 2025-04-15 16:50:06 -04:00
079548861a Use older libva 2025-04-15 16:44:12 -04:00
7f04e44c21 Remove release specifier for webkit 2025-04-15 16:37:53 -04:00
b65ad93698 Use newer snapcraft image 2025-04-15 15:18:24 -04:00
bb3f4c83c8 Add universe repo to snap 2025-04-15 15:14:28 -04:00
6350495d3c Begin refining snap yaml 2025-04-15 15:09:24 -04:00
08dfb31600 Fix yaml heredoc indents 2025-04-15 14:51:43 -04:00
5c4cb6cb80 Add selinux context to snap dir 2025-04-15 14:43:50 -04:00
0993fc7ee3 Fix snapcraft container volume path 2025-04-13 22:06:16 -04:00
5816564b66 Remove bad snapcraft option 2025-04-13 22:03:23 -04:00
7de110a0ed Remove bad snapcraft option 2025-04-13 22:02:40 -04:00
420d4b4685 Add snapcraft directive 2025-04-13 22:00:35 -04:00
edadb4f0f8 Pass podman to execute 2025-04-13 21:56:33 -04:00
8191f2d675 Remove bad snapcraft option 2025-04-13 21:55:26 -04:00
f6a879f105 Use snapcraft container 2025-04-13 21:47:25 -04:00
addb4021d0 Add symlinks for snapcraft --classic 2025-04-13 21:12:47 -04:00
3fd3d1d424 Add symlinks for snapcraft --classic 2025-04-13 21:10:41 -04:00
bef5b1ebf8 Always make SOURCES 2025-04-13 21:04:35 -04:00
b07c2dba60 Print download commands 2025-04-13 21:01:16 -04:00
7e032a392b Beyond experimental snap support 2025-04-13 20:45:40 -04:00
9cf7b6d2b8 1.5.1 release 2025-04-13 13:35:01 -04:00
91cceec62f Fix download to stdout 2025-04-13 13:34:39 -04:00
928d3f248b Combine SUSE/RHEL rpm install 2025-04-12 18:27:15 -04:00
50331f0cde 1.5.0 release 2025-04-12 17:48:13 -04:00
967be5b4e2 Alias python to python313 on SUSE 2025-04-12 17:37:11 -04:00
148dfbb083 Support newer webkit on SUSE 2025-04-12 17:32:25 -04:00
7e572ed6df Alias python to python3 on SUSE 2025-04-12 17:24:14 -04:00
b6e3074eff Add additional Arch dependencies 2025-04-12 16:55:47 -04:00
2216178db1 Add additional Arch dependencies 2025-04-12 16:55:04 -04:00
622917478a Force dependency resolution on SUSE 2025-04-12 16:34:19 -04:00
d8cae07b4e Force dependency resolution on SUSE 2025-04-12 16:32:08 -04:00
655a08f70d Tighten mcversion regex 2025-04-12 15:38:20 -04:00
9eed36d353 Prefer curl in download() 2025-04-12 14:56:20 -04:00
36bebb1d45 Make download() more robust 2025-04-12 14:45:44 -04:00
1fd5217533 Add release specifier to RPMs 2025-04-12 14:10:16 -04:00
a7b9bca653 Allow release specifier for source DEB 2025-04-12 13:29:32 -04:00
1a050e7e28 Parse specific webkit2gtk version for RPM 2025-04-12 13:16:41 -04:00
ab45d26c12 Add EPEL manually if system package unavailable 2025-04-12 12:42:14 -04:00
d3b3c020c3 Revert release specifiers on DEB 2025-04-12 10:17:19 -04:00
fd3f28367e Allow release specifiers for DEB 2025-04-12 10:15:16 -04:00
23514ea85a Strip package version for rpm if provided 2025-04-11 18:59:15 -04:00
389cd69da3 Temp debug output 2025-04-11 18:37:02 -04:00
9a16ff6241 Tighten up mcversion regex 2025-04-11 18:30:03 -04:00
b4cfa16081 Strip version specifier 2025-04-11 18:10:15 -04:00
6f8c093e2e Cycle through test and beta repos 2025-04-11 18:04:08 -04:00
1b35688806 Disable freeworld driver install for RHEL 2025-04-11 17:58:52 -04:00
66d4ba6fc0 Bump default MC 33 version 2025-04-11 17:34:16 -04:00
7c59629a55 Use major version for RPMFusion rhel repo 2025-04-11 17:31:05 -04:00
4b63f6b2fc 1.4.8 release 2025-03-11 10:50:00 -04:00
bd636c281a Change detection for default method 2025-03-11 10:37:37 -04:00
381490c14c Don't invoke --install=repo on --uninstall 2025-03-11 10:01:38 -04:00
3096f9fda1 1.4.7 release 2025-02-22 16:26:58 -05:00
99894d6798 Make package managers more noisy by default 2025-02-22 15:58:03 -05:00
24f54b0302 Fix default for simple args 2025-02-22 15:46:30 -05:00
06b965f2a2 Remove duplicate mesa freeworld install 2025-02-22 15:31:18 -05:00
9c5ce26b57 Make pop quiet 2025-02-22 15:25:08 -05:00
ee154bf79c Add github link to header 2025-02-22 15:18:54 -05:00
c629846c8e Git stash pop local changes after update 2025-02-22 15:17:27 -05:00
2fbc329f1e Bump default version 2025-02-22 14:15:42 -05:00
363f67b425 1.4.6 release 2024-12-20 11:31:10 -05:00
a70898f6cc Fix firewall uninstall 2024-12-20 11:22:18 -05:00
af22dc1aa5 Use --reinstall for local MC deb install 2024-12-11 18:18:25 -05:00
63f40b4ca1 Initialize all switches as off in parse_input() 2024-12-07 16:26:49 -05:00
b1a4069b2e Declare switches as ints 2024-12-07 16:24:17 -05:00
6545631890 Declare DEBUG as int 2024-12-07 16:18:40 -05:00
b0c100c006 Make certificate symlinking more robust 2024-12-07 16:11:07 -05:00
b9050e37bf Make certificate symlinking more robust 2024-12-07 16:09:39 -05:00
83e117616f Make certificate symlinking more robust 2024-12-07 16:06:50 -05:00
84cbeda628 Use JRiver provided SSL certs as fallback 2024-12-07 15:48:00 -05:00
bde01d6f66 Boost default MC_VERSION 2024-12-06 13:42:26 -05:00
d9e02e430d Remove legacy systemd services from uninstall() 2024-12-06 13:39:48 -05:00
2883aed0ac Add empty case command for safety 2024-12-06 13:24:56 -05:00
30ab6d9bac Don't print help on input error 2024-12-06 13:16:13 -05:00
4dea07222c Allow service functions to be called indirectly 2024-12-06 13:14:24 -05:00
148f614e4a Improve a few variable scopes 2024-12-06 13:11:29 -05:00
5042ae25c3 Refactor OS auto-detection and fix case statements 2024-12-06 09:38:39 -05:00
7d0570daff 1.4.5 release 2024-11-12 00:52:49 -05:00
a0987475d6 Add disclaimer to beta channels 2024-11-12 00:48:52 -05:00
7f79f455a0 use noble repos on oracular 2024-11-12 00:41:50 -05:00
e4babab87f Install JRiver signing key on new Ubuntu 2024-11-12 00:38:43 -05:00
4fc9a8380f Fix repo file creation 2024-11-12 00:20:37 -05:00
a03cd1bc84 Fix repo file creation 2024-11-12 00:17:28 -05:00
11d3f1acb6 Only use beta repo when --betapass is passed, and prefer it 2024-11-12 00:08:49 -05:00
188269e522 1.4.4 release 2024-11-08 16:41:48 -05:00
60932fd789 Use oracular repos for oracular 2024-11-08 16:41:15 -05:00
8e1a78cec1 1.4.3 release 2024-11-08 11:54:12 -05:00
61843dea5b Use noble repos for Oracular until fixed upstream 2024-11-08 11:53:53 -05:00
a48a8a4ed0 1.4.2 release 2024-11-05 14:22:13 -05:00
c3af07dcdc Use sudo to remove jriver.list 2024-11-05 14:21:19 -05:00
ee22663f99 Test commit for jriver.list removal 2024-11-05 14:19:43 -05:00
da1c05a92d 1.4.1 release 2024-11-05 14:13:10 -05:00
d56789a8e0 Use oracular repository 2024-11-05 14:10:19 -05:00
6fd257963d 1.4.0 release 2024-11-04 14:50:11 -05:00
4fd2901628 Formatting 2024-11-04 14:47:43 -05:00
fe56081a51 Alias fuse-overlayfs and buildah on SUSE 2024-11-04 14:42:27 -05:00
c6dfd62036 Test commit for refactored update() 2024-11-04 14:22:36 -05:00
322c65e191 Test commit for refactored update() 2024-11-04 14:21:06 -05:00
09031480c2 Add some debug output 2024-11-04 14:06:20 -05:00
711ee5621a Formatting 2024-11-04 14:01:11 -05:00
f53e883b96 Set distro-specific commands before get_latest_mc_version() 2024-11-04 13:55:07 -05:00
8998a6d02e Test commit for silencing buildah not found error 2024-11-04 13:49:12 -05:00
6aba702eb6 Test commit for silencing buildah not found error 2024-11-04 13:48:04 -05:00
011c9e06a8 Test commit for silencing buildah not found error 2024-11-04 13:46:31 -05:00
31abe6385c Test commit for silencing buildah not found error 2024-11-04 13:44:58 -05:00
ce81c689df Test commit for silencing buildah not found error 2024-11-04 13:43:31 -05:00
da5f765168 Test commit for silencing buildah not found error 2024-11-04 13:42:51 -05:00
37d30420fc Test commit for silencing buildah not found error 2024-11-04 13:41:59 -05:00
7058475232 Test commit for silencing buildah not found error 2024-11-04 13:33:20 -05:00
5bf62dc9d9 Test commit for silencing buildah not found error 2024-11-04 13:29:59 -05:00
5259bbaf99 Test commit for silencing buildah not found error 2024-11-04 13:12:42 -05:00
b0f31ed3f0 Fix --install=local on SUSE 2024-11-04 13:07:31 -05:00
f29945d681 Improve formatting 2024-11-04 13:02:00 -05:00
c31b20ccce Improve formatting 2024-11-04 12:58:07 -05:00
57768c9dfb Match uninstall() output 2024-11-04 12:51:44 -05:00
413580f4ef For uninstall() strip package version specifier 2024-11-04 12:44:38 -05:00
7b924710b4 Add sanity warnings 2024-11-04 12:39:58 -05:00
98f898f0e3 Add return code to local deb install failure 2024-11-04 12:02:56 -05:00
76370a8be8 Remove and reacquire broken DEB 2024-11-04 11:51:41 -05:00
d9b5657c67 use --silent for install_package() 2024-11-04 11:40:21 -05:00
2566491f82 Formatting 2024-11-04 11:37:35 -05:00
d1fb17b86e Revert to dev and fix comments 2024-11-04 11:33:54 -05:00
d68e4c7587 Invert ZorinOS workaround 2024-11-04 11:31:31 -05:00
f16d3ac096 Fix download_cmd declaration 2024-11-04 11:21:10 -05:00
161652f7b6 Formatting 2024-11-04 11:16:16 -05:00
b41b75ff64 Use exit codes, don't wrap download() with execute() 2024-11-04 11:09:06 -05:00
a130da3e26 Catch download failures in download() 2024-11-04 11:07:19 -05:00
2c53ec9f41 Fix download argument ordering 2024-11-04 10:56:20 -05:00
1a656322e2 Add download() helper function 2024-11-04 10:50:16 -05:00
407cd61710 More formatting fixes 2024-11-04 09:42:16 -05:00
cac81be1d4 Formatting 2024-11-04 09:38:40 -05:00
840e7f3b8e 1.3.10 test release 2024-11-04 09:30:15 -05:00
49ae5879be Stash changes before git self-update 2024-11-04 09:27:38 -05:00
0a451a1ad1 Stash changes before git self-update 2024-11-04 09:26:09 -05:00
a2ed872f15 Fix semantic version comaprison in self-update 2024-11-04 09:19:25 -05:00
c2af8fef1b Remove legacy repos on latest Ubuntu 2024-11-04 08:55:19 -05:00
da1699e777 1.3.9 release 2024-11-04 00:45:49 -05:00
2719af546b Still use configurable MC_REPO for newer Ubuntu 2024-11-04 00:44:43 -05:00
83e7b9200f 1.3.8 release 2024-11-04 00:32:37 -05:00
8bdf184511 Add new Ubuntu sources file format 2024-11-04 00:27:33 -05:00
de547f5d3a Add installJRMC version to default output 2024-11-01 16:55:38 -04:00
a2da04fec1 Allow --mcversion to use major version number 2024-11-01 14:25:34 -04:00
cd0ba6b419 1.3.7 release 2024-10-22 00:11:20 -04:00
ea473eb58c If corrupted deb is removed, reacquire 2024-10-22 00:10:46 -04:00
9ed34c1dfe 1.3.6 release 2024-10-22 00:06:25 -04:00
4 changed files with 1336 additions and 783 deletions

148
.README.bbcode Normal file
View File

@@ -0,0 +1,148 @@
[size=20pt]installJRMC[/size]
This program installs [url=https://www.jriver.com/]JRiver Media Center[/url] and associated services on most Linux distributions.
You can find the latest version of installJRMC, changelog, and documentation in [url=https://git.bryanroessler.com/bryan/installJRMC]my repository[/url].
[size=18pt]tl;dr (One-line MC install)[/size]
[code]curl https://git.bryanroessler.com/bryan/installJRMC/raw/branch/master/installJRMC|bash[/code]
[size=18pt]Instructions[/size]
Download and unzip installJRMC from the attachment below or grab the latest stable version directly:
[code]curl -O https://git.bryanroessler.com/bryan/installJRMC/raw/branch/master/installJRMC &&
chmod +x ./installJRMC &&
./installJRMC [--option [ARGUMENT]]
[/code]
[tt]installJRMC[/tt] defaults to [tt]--install=repo[/tt] on distros with MC repositories and [tt]--install=local[/tt] on all others.
Specifying [tt]--build[/tt], [tt]--createrepo[/tt], [tt]--service[/tt], or [tt]--uninstall[/tt] disables the default install method.
[size=18pt]Options[/size]
[code]
$ installJRMC --help
--install, -i repo|local
repo: Install MC from repository, future updates will be handled by the system package manager.
local: Build and install MC package from official source package.
--build[=suse|fedora|centos]
Build RPM from source DEB but do not install.
Optionally, specify a target distro for cross-building (ex. --build=suse, note the '=').
--compat
Build/install MC without minimum dependency version requirements.
--mcversion VERSION
Specify the MC version, ex. "33", "35.0.24", or "35.0.24-1" (default: latest).
--arch ARCH
Specify the target MC architecture, ex. "amd64", "arm64", etc (default: host architecture).
--mcrepo REPO
Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: host or official).
--outputdir PATH
Generate reusable installJRMC output in this PATH (default: ./output).
--restorefile RESTOREFILE
Restore file location for automatic license registration.
--betapass PASSWORD
Enter beta team password for access to beta builds.
--service, -s SERVICE
See SERVICES section below for the list of services to deploy.
--service-type user|system
Starts services at boot (system) or user login (user) (default: per-service, see SERVICES).
--container, -c CONTAINER (TODO: Under construction)
See CONTAINERS section below for a list of containers to deploy.
--createrepo[=suse|fedora|centos]
Build rpm, copy to webroot, and run createrepo.
Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '=').
--createrepo-webroot PATH
The webroot directory to install the repo (default: /var/www/jriver/).
--createrepo-user USER
The web server user if different from the current user.
--no-update
Disable the installJRMC update check.
--yes, -y, --auto
Always assumes yes for questions.
--version, -v
Print installJRMC version and exit.
--debug, -d
Print debug output.
--help, -h
Print help dialog and exit.
--uninstall, -u
Uninstall JRiver MC, service files, firewall rules, etc.
[/code]
[size=18pt]Services[/size]
[code]jriver-mediaserver (user)
Enable and start a mediaserver systemd service (requires an existing X server).
jriver-mediacenter (user)
Enable and start a mediacenter systemd service (requires an existing X server).
jriver-x11vnc (user)
Enable and start x11vnc for the local desktop (requires an existing X server, does NOT support Wayland).
--vncpass and --display are also valid options (see below).
jriver-xvnc (system)
Enable and start a new Xvnc session running JRiver Media Center.
--vncpass PASSWORD
Set vnc password for x11vnc/Xvnc access. If no password is set, the script will either use existing password stored in ~/.vnc/jrmc_passwd or else no password.
--display DISPLAY
Manually specify display to use for x11vnc/Xvnc (ex. ':1').
jriver-createrepo (system)
Install hourly service to build latest MC RPM and run createrepo.
[/code]
Services use a sane default [tt]--service-type[/tt] listed next to the service name in the Services description.
User services can be manipulated as an unprivileged user, for example: [tt]systemctl --user stop jriver-mediacenter[/tt] and begin at user login.
System services are manipulable as root, for example: [tt]sudo systemctl stop jriver-servicename@username.service[/tt] and begin at system boot.
Note that it is possible to run all services of a particular user at boot using [tt][url=https://www.freedesktop.org/software/systemd/man/loginctl.html]sudo loginctl enable-linger username[/url][/tt].
Multiple services (but not [tt]--service-types[/tt]) can be installed at one time using multiple [tt]--service[/tt] blocks:
[code]installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter[/code]
[size=14pt][tt]jriver-x11vnc[/tt] versus [tt]jriver-xvnc[/tt][/size]
[url=http://www.karlrunge.com/x11vnc/]jriver-x11vnc[/url] shares your existing X display via VNC and can be combined with additional services to start Media Center or Media Server. Conversely, [url=https://tigervnc.org/doc/Xvnc.html]jriver-xvnc[/url] creates a new Xvnc display and starts a JRiver Media Center service in the foreground of the new VNC display.
[size=18pt]Containers[/size]
[b]Coming soon![/b]
[size=18pt]Firewall[/size]
installJRMC automatically creates port forwarding firewall rules for remote access to Media Network (52100-52200/tcp, 1900/udp DLNA) and Xvnc/x11vnc (if selected), using firewall-cmd or ufw (if available).
[size=18pt]Other Nicities[/size]
[list]
[*]Automatically updates [tt]installJRMC[/tt] to the latest release.
[*]Activates external third-party repositories for improved media playback (hardware decoding, etc.).
[*]Adds temporary legacy repositories to provide deprecated libraries.
[*]Links non-standard SSL certs.
[*]Activates MC if a valid license file is found in common locations.
[/list]
[size=18pt]Examples[/size]
[code]installJRMC[/code]
Install the latest version of MC from the best available repository.
[code]installJRMC --mcversion 33 --debug[/code]
Install the latest version of MC33 from the best available repository with debugging output.
[code]installJRMC --install local --compat[/code]
Install a more widely-compatible version of the latest MC version.
[code]installJRMC --install repo --service jriver-mediacenter --service-type user[/code]
Install MC from the repository and start/enable jriver-mediacenter.service as a user service.
[code]installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 35.0.24[/code]
Build and install an MC 35.0.24 comptability RPM locally and activate it using the [tt]/path/to/license.mjr[/tt].
[code]installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user[/code]
Build an RPM locally for the current distro, move it to the webroot, and run createrepo as www-user.
[code]installJRMC --service jriver-createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user[/code]
Install the jriver-createrepo timer and service to build the RPM, move it to the webroot, and run createrepo as www-user hourly.
[code]installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter --vncpass "letmein"[/code]
Install services to share the existing local desktop via VNC and automatically run MC on startup.
[code]installJRMC --install repo --service jriver-xvnc --display ":2"[/code]
Install an Xvnc server on display ':2' that starts MC.
[code]installJRMC --uninstall[/code]
Uninstall MC, services, and firewall rules. This will [b]not[/b] remove your media, media library/database, or library backups.
[size=18pt]Additional Info[/size]
Did you find installJRMC useful? [url=https://paypal.me/bryanroessler]Paypal me a coffee![/url]
[url=bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a]↓ ↓ ↓ Bitcoin ↓ ↓ ↓[/url]
[url=bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a][img]https://repos.bryanroessler.com/files/bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a.png[/img][/url]

3
.gitignore vendored
View File

@@ -1,6 +1,7 @@
.old/ .old/
.vscode/ .vscode/
README.bbcode
installJRMC.zip installJRMC.zip
README.shdoc.md README.shdoc.md
README.bbcode
output/ output/
*.code-workspace

110
README.md
View File

@@ -1,96 +1,96 @@
# installJRMC # installJRMC
This self-contained program will install [JRiver Media Center](https://www.jriver.com/) and associated services on most major Linux distros. Installs [JRiver Media Center](https://www.jriver.com/) and associated services on most Linux distributions.
You can always find the latest version of installJRMC, changelog, and documentation in [my repository](https://git.bryanroessler.com/bryan/installJRMC). You can find the latest version of installJRMC, changelog, and documentation in [my repository](https://git.bryanroessler.com/bryan/installJRMC).
## Executing ## Usage
`installJRMC [--option [ARGUMENT]]` `installJRMC [--option [ARGUMENT]]`
Running `installJRMC` without any options implies `--install repo` and will install the latest version of JRiver Media Center (MC) from the official JRiver repository (Ubuntu/Debian) or my [unofficial repository](https://repos.bryanroessler.com/jriver/) (Fedora/CentOS) using the system package manager. If any other option is passed, then the default install method (i.e. `--install repo` or `--install local`) must be specified (to allow services and containers to be installed independent of MC). `installJRMC` defaults to `--install=repo` on distros with Media Center repositories and `--install=local` on others.
Specifying `--build`, `--createrepo`, `--service`, or `--uninstall` disables the default install method.
## tl;dr ### tl;dr
`curl https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC|bash` `curl https://git.bryanroessler.com/bryan/installJRMC/raw/branch/master/installJRMC|bash`
## Options ## Options
```text ```text
$ installJRMC --help $ installJRMC --help
--install, -i repo|local --install, -i repo|local
repo: Install MC from repository, future updates will be handled by the system package manager repo: Install MC from repository, future updates will be handled by the system package manager.
local: Build and install MC package locally from official source package local: Build and install MC package locally from official source package.
--build[=suse|fedora|centos] --build[=suse|fedora|centos|mandriva]
Build RPM from source DEB but do not install Build RPM from source DEB but do not install.
Optionally, specify a target distro for cross-building (ex. --build=suse, note the '=') Optionally, specify a target distro for cross-building (ex. --build=suse, note the '=').
--compat --compat
Build/install MC without minimum dependency version requirements Build/install MC without minimum dependency version requirements.
--mcversion VERSION --mcversion VERSION
Build or install a specific MC version, ex. "33.0.30" (default: latest version) Build or install a specific MC version, ex. "35.0.24" or "33" (default: latest).
--mcrepo REPO --mcrepo REPO
Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: latest official) Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: latest official).
--arch ARCH --arch ARCH
Specify the MC architecture, ex. "amd64", "arm64", etc (default: host architecture) Specify the MC architecture, ex. "amd64", "arm64", etc (default: host architecture).
--outputdir PATH --outputdir PATH
Generate rpmbuild output in this PATH (default: ./output) Generate rpmbuild output in this PATH (default: ./output).
--restorefile RESTOREFILE --restorefile RESTOREFILE
Restore file location for automatic license registration Restore file location for automatic license registration.
--betapass PASSWORD --betapass PASSWORD
Enter beta team password for access to beta builds Enter beta team password for access to beta builds.
--service, -s SERVICE --service, -s SERVICE
See SERVICES section below for the list of services to deploy See SERVICES section below for the list of services to deploy.
--service-type user|system --service-type user|system
Starts services at boot (system) or user login (user) (default: per-service, see SERVICES) Starts services at boot (system) or user login (user) (default: per-service, see SERVICES).
--container, -c CONTAINER (TODO: Under construction) --container, -c CONTAINER (TODO: Under construction)
See CONTAINERS section below for a list of containers to deploy See CONTAINERS section below for a list of containers to deploy.
--createrepo[=suse|fedora|centos] --createrepo[=suse|fedora|centos|mandriva]
Build rpm, copy to webroot, and run createrepo. Build rpm, copy to webroot, and run createrepo.
Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '=') Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '=').
--createrepo-webroot PATH --createrepo-webroot PATH
The webroot directory to install the repo (default: /var/www/jriver/) The webroot directory to install the repo (default: /var/www/jriver/).
--createrepo-user USER --createrepo-user USER
The web server user if different from the current user The web server user if different from the current user.
--no-update --no-update
Disable the installJRMC update check Disable the installJRMC update check.
--yes, -y, --auto --yes, -y, --auto
Always assume yes for questions Always assume yes for questions.
--version, -v --version, -v
Print this script version and exit Print installJRMC version and exit.
--debug, -d --debug, -d
Print debug output Print debug output.
--help, -h --help, -h
Print help dialog and exit Print help dialog and exit.
--uninstall, -u --uninstall, -u
Uninstall JRiver MC, service files, and firewall rules (does not remove library or media files) Uninstall JRiver MC, service files, and firewall rules (does not remove library or media files).
``` ```
### `--service=` ### `--service=`
```text ```text
jriver-mediaserver [--service-type=user] jriver-mediaserver [--service-type=user]
Enable and start a mediaserver systemd service (requires an existing X server) Enable and start a mediaserver systemd service (requires an existing X server).
jriver-mediacenter [--service-type=user] jriver-mediacenter [--service-type=user]
Enable and start a mediacenter systemd service (requires an existing X server) Enable and start a mediacenter systemd service (requires an existing X server).
jriver-x11vnc [--service-type=user] jriver-x11vnc [--service-type=user]
Enable and start x11vnc for the local desktop (requires an existing X server, does NOT support Wayland) Enable and start x11vnc for the local desktop (requires an existing X server, does NOT support Wayland).
--vncpass and --display are also valid options (see below) --vncpass and --display are also valid options (see below).
jriver-xvnc [--service-type=system] jriver-xvnc [--service-type=system]
Enable and start a new Xvnc session running JRiver Media Center Enable and start a new Xvnc session running JRiver Media Center.
--vncpass PASSWORD --vncpass PASSWORD
Set vnc password for x11vnc/Xvnc access. If no password is set, the script will either use existing password stored in ~/.vnc/jrmc_passwd or use no password Set vnc password for x11vnc/Xvnc access. If no password is set, the script will either use existing password stored in ~/.vnc/jrmc_passwd or use no password.
--display DISPLAY --display DISPLAY
Manually specify display to use for x11vnc/Xvnc (ex. ':1') Manually specify display to use for x11vnc/Xvnc (ex. ':1').
jriver-createrepo [--service-type=system] jriver-createrepo [--service-type=system]
Install hourly service to build latest MC RPM and run createrepo Install hourly service to build latest MC RPM and run createrepo.
By default installs as root service to handle www permissions more gracefully
``` ```
#### `--service-type=` #### `--service-type=`
By default, MC services use a sane `--service-type` listed next to the service name in the [`--service=`](#--service) section. User services begin at user login and are managed by the unprivileged user, for example: `systemctl --user stop jriver-mediacenter`. System services begin at boot and are managed by root, for example: `sudo systemctl stop jriver-servicename@username.service`. It is possible to run all services of a particular user at boot using [`sudo loginctl enable-linger username`](https://www.freedesktop.org/software/systemd/man/loginctl.html). Services use a sane default `--service-type` listed next to the service name in the [`--service=`](#--service) section. User services begin at user login and are managed by the unprivileged user, for example: `systemctl --user stop jriver-mediacenter`. System services begin at boot and are managed by root, for example: `sudo systemctl stop jriver-servicename@username.service`. It is possible to run all services of a particular user at boot using [`sudo loginctl enable-linger username`](https://www.freedesktop.org/software/systemd/man/loginctl.html).
Multiple services (but not `--service-types`) can be installed at one time using multiple `--service` blocks: `installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter` Multiple services (but not `--service-types`) can be installed at one time using multiple `--service` blocks: `installJRMC --install=repo --service=jriver-x11vnc --service=jriver-mediacenter`
#### `jriver-x11vnc` versus `jriver-xvnc` #### `jriver-x11vnc` versus `jriver-xvnc`
@@ -102,9 +102,15 @@ Multiple services (but not `--service-types`) can be installed at one time using
## Firewall ## Firewall
`installJRMC` automatically creates port forwarding firewall rules for remote access to Media Network (52100-52200/tcp, 1900/udp DLNA) and Xvnc/x11vnc (if selected), using `firewall-cmd` or `ufw`. `installJRMC` automatically creates port forwarding firewall rules for remote access to Media Network (52100-52200/tcp, 1900/udp DLNA) and Xvnc/x11vnc (if selected), using `firewall-cmd` or `ufw` (if available).
**Note:** `ufw` is not installed by default on Debian but will be installed by `installJRMC`. To prevent SSH lock-out, Debian users that have not already enabled `ufw` will need to `sudo ufw enable` after running `installJRMC` and inspecting their configuration. ## Other Nicities
* Automatically updates `installJRMC` to the latest release.
* Activates external third-party repositories for improved media playback (hardware decoding, etc.).
* Adds temporary legacy repositories to provide deprecated libraries.
* Links non-standard SSL certs.
* Activates MC if a valid license file is found in common locations.
## Examples ## Examples
@@ -112,6 +118,10 @@ Multiple services (but not `--service-types`) can be installed at one time using
Install the latest version of MC from the best available repository. Install the latest version of MC from the best available repository.
* `installJRMC --mcversion 33 --debug`
Install the latest version of MC33 from the best available repository with debugging output.
* `installJRMC --install local --compat` * `installJRMC --install local --compat`
Install a more widely-compatible version of the latest MC (for older distros). Install a more widely-compatible version of the latest MC (for older distros).
@@ -120,9 +130,9 @@ Multiple services (but not `--service-types`) can be installed at one time using
Install MC from the repository and start/enable `jriver-mediacenter.service` as a user service. Install MC from the repository and start/enable `jriver-mediacenter.service` as a user service.
* `installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 33.0.30` * `installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 35.0.24`
Build and install an MC 33.0.30 compatibility RPM locally and activate it using the `/path/to/license.mjr` Build and install an MC 35.0.24 compatibility RPM locally and activate it using the `/path/to/license.mjr`.
* `installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user` * `installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user`
@@ -146,6 +156,10 @@ Multiple services (but not `--service-types`) can be installed at one time using
## Additional Info ## Additional Info
Did you find `installJRMC` useful? [Buy me a coffee!](https://paypal.me/bryanroessler) Find a bug? [Let me know on Interact!](https://yabb.jriver.com/interact/index.php/topic,141168.0.html)
Did you find a bug? Let me know on [Interact!](https://yabb.jriver.com/interact/index.php/topic,134152.0.html) Find `installJRMC` useful? [Paypal me a coffee!](https://paypal.me/bryanroessler)
[↓ ↓ ↓ Bitcoin ↓ ↓ ↓](bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a)
[![Bitcoin](https://repos.bryanroessler.com/files/bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a.png)](bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a)

File diff suppressed because it is too large Load Diff