diff --git a/INSTALL-AIO.md b/INSTALL-AIO.md index 6443d9d..d0b9324 100644 --- a/INSTALL-AIO.md +++ b/INSTALL-AIO.md @@ -20,7 +20,7 @@ The AIO container has no working git access to GitHub, so deploy a tarball inste ```bash # 1. On your machine: clean checkout of the branch/tag you want, dev files stripped STAGE=$(mktemp -d) -git archive main | tar -x -C "$STAGE" +git archive HEAD | tar -x -C "$STAGE" rm -rf "$STAGE"/{tests,.travis.yml,phpunit.xml,phpunit.integration.xml,composer.json,composer.lock,Makefile} tar -C "$STAGE" -cf /tmp/occweb-deploy.tar . diff --git a/Makefile b/Makefile index 97a3d11..65a5e02 100644 --- a/Makefile +++ b/Makefile @@ -39,7 +39,7 @@ # "build": "node node_modules/gulp-cli/bin/gulp.js" # }, -app_name=$(notdir $(CURDIR)) +app_name=$(shell xpath -q -e "//info/id/text()" appinfo/info.xml) build_tools_directory=$(CURDIR)/build/tools source_build_directory=$(CURDIR)/build/artifacts/source source_package_name=$(source_build_directory)/$(app_name) @@ -110,9 +110,21 @@ dist: make source make appstore +# The source/appstore targets below reference ../$(app_name) throughout, +# inherited from the standard Nextcloud app Makefile template, which +# assumes CURDIR's own basename equals the app id. That's not true here +# (this checkout is "occweb", the app id is "extended_occweb"), so make +# ../$(app_name) resolve to this checkout regardless of what it's actually +# named, rather than rewriting every exclude pattern below. +.PHONY: ensure-app-name-symlink +ensure-app-name-symlink: + @if [ "$(notdir $(CURDIR))" != "$(app_name)" ]; then \ + ln -sfn $(CURDIR) $(CURDIR)/../$(app_name); \ + fi + # Builds the source package .PHONY: source -source: +source: ensure-app-name-symlink rm -rf $(source_build_directory) mkdir -p $(source_build_directory) tar \ @@ -126,7 +138,7 @@ source: # Builds the source package for the app store, ignores php and js tests .PHONY: appstore -appstore: +appstore: ensure-app-name-symlink rm -rf $(appstore_build_directory) mkdir -p $(appstore_build_directory) tar \ @@ -160,7 +172,7 @@ test: composer .PHONY: sign sign: - @openssl dgst -sha512 -sign ~/.nextcloud/certificates/occweb.key build/artifacts/appstore/occweb.tar.gz |openssl base64 + @openssl dgst -sha512 -sign ~/.nextcloud/certificates/$(app_name).key $(appstore_package_name).tar.gz |openssl base64 VERSION := $(shell xpath -q -e "//info/version/text()" appinfo/info.xml) @@ -172,7 +184,7 @@ show-version: version: @echo "Creating version v$(VERSION)" @git tag v$(VERSION) - @git push origin v$(VERSION) + @git push fork v$(VERSION) @make dist @echo "\nRelease Signature: \n" @make sign diff --git a/README.md b/README.md index 5879585..b270d4c 100644 --- a/README.md +++ b/README.md @@ -150,8 +150,14 @@ was verified, so a rollback target is obvious if a newer major causes problems. | 0.4.1 | `v0.4.1-nc34` | 34.0.4 | ✅ Verified (nc01, 2026-09-26) - code review fixes: correct jQuery `.fail()` signature, added a missing `.fail()` handler on the initial terminal-load request | | 0.4.1 | `v0.4.1-nc34` | 33.0.8 | ⚠️ Same caveat as 0.3.5/0.4.0 - not re-verified, no NC33 test environment available. Also unresolved: `js/jquery.js` now loads unconditionally on every supported version, even NC30-33 where core still provides jQuery - flagged in code review, needs an NC33 environment to confirm it's harmless there. | -If a future major breaks something, `git checkout v0.3.4` is the last version confirmed -working on NC33 and older. +If a future major breaks something, `v0.3.4` is the last version confirmed working on NC33 +and older - but a plain `git checkout v0.3.4` is **not** a working rollback by itself. That +tag predates the app id rename (it still declares `occweb`), so checking it out +into an `extended_occweb`-named install just produces a broken id/directory mismatch. A +real rollback means disabling/removing `extended_occweb` and deploying `v0.3.4` fresh under +an `occweb`-named directory instead, same as the original install steps above. This is one +of the items still deferred to when a proper test instance exists (see the code review +notes in git history around 0.4.1) - not yet written up in full. ## TODOs: See [open issues](https://github.com/dillardblom/occweb/issues)