YunoHost-Apps / mediawiki_ynh

MediaWiki package for YunoHost
https://www.mediawiki.org/
GNU General Public License v3.0
8 stars 16 forks source link

Version 2 #99

Closed ericgaspar closed 1 year ago

ericgaspar commented 1 year ago

Problem

Solution

PR Status

Automatic tests

Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ after creating the PR, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization)

ericgaspar commented 1 year ago

!testme

yunohost-bot commented 1 year ago

:rocket: Test Badge

ericgaspar commented 1 year ago

!testme

yunohost-bot commented 1 year ago

Fingers crossed! Test Badge

the7thNightmare commented 1 year ago

With some altering it can be installed, from my previous comment in https://github.com/YunoHost-Apps/mediawiki_ynh/issues/95#issuecomment-1546535081, change:

all [resources.sources] in manifest.toml to GitHub release and with the option in_subdir to true:

    [resources.sources]
        [resources.sources.main]
        url = "https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.3.tar.gz"
        sha256 = "e35769343876af42496da43ae2f47224fb8c779b8f45705c4147c6ff3522cc1d"

        [resources.sources.ldap_groups]
        url = "https://github.com/wikimedia/mediawiki-extensions-LDAPGroups/archive/refs/tags/1.0.5.tar.gz"
        sha256 = "26f91deb271f9062181019fb41a3bc1646e7e1f4d894a7e03bc688f3b974d234"
        in_subdir = true

        [resources.sources.ldap_authorization]
        url = "https://github.com/wikimedia/mediawiki-extensions-LDAPAuthorization/archive/refs/tags/1.1.2.tar.gz"
        sha256 = "fa25468492e39fd6a308468ab81fbcf65dc856c64a5723c00c3b85a84409f1c8"
        in_subdir = true

        [resources.sources.pluggable_auth]
        url = "https://github.com/wikimedia/mediawiki-extensions-PluggableAuth/archive/refs/tags/6.3.tar.gz"
        sha256 = "d22ee584c6616a585d3453989f2ca6e03d1447ec378c4e76b5ccb08f0d09fc05"
        in_subdir = true

        [resources.sources.ldap_authentication2]
        url = "https://github.com/wikimedia/mediawiki-extensions-LDAPAuthentication2/archive/refs/tags/1.0.5.tar.gz"
        sha256 = "d2465d0bf78371cdf0fbb0a0271e05441bd2c5668235f4d8998299b66279c28a"
        in_subdir = true

        [resources.sources.ldap_userinfo]
        url = "https://github.com/wikimedia/mediawiki-extensions-LDAPUserInfo/archive/refs/tags/1.0.2.tar.gz"
        sha256 = "e59560535395947fe2b2c673efd94445425795527c852534a02af0c9506a51cd"
        in_subdir = true

        [resources.sources.ldap_provider]
        url = "https://github.com/wikimedia/mediawiki-extensions-LDAPProvider/archive/refs/tags/1.0.7.tar.gz"
        sha256 = "1bee8a7a94a18b1e9980487335dbc5152051e2d269be160bb18714893fa8ec91"
        in_subdir = true

And then, change the --dest_dir to the extension name in install (and upgrade) script that match LocalSettings.php:

scripts/install and scripts/upgrade:

ynh_setup_source --dest_dir="$install_dir"
ynh_setup_source --dest_dir="$install_dir/extensions/LDAPAuthentication2" --source_id="ldap_authentication2"
ynh_setup_source --dest_dir="$install_dir/extensions/LDAPProvider" --source_id="ldap_provider"
ynh_setup_source --dest_dir="$install_dir/extensions/PluggableAuth" --source_id="pluggable_auth"

# ynh_setup_source --dest_dir="$install_dir/extensions/LDAPGroups" --source_id="ldap_groups"
# ynh_setup_source --dest_dir="$install_dir/extensions/LDAPUserInfo" --source_id="ldap_userinfo"
# ynh_setup_source --dest_dir="$install_dir/extensions/LDAPAuthorization" --source_id="ldap_authorization"

And, that's it, if there are any upgrade to the extensions, then just change the manifest.toml with the new GitHub release.

ericgaspar commented 1 year ago

!testme

yunohost-bot commented 1 year ago

:carousel_horse: Test Badge

the7thNightmare commented 1 year ago

By the way, the URL in that manifest.toml that you commit will change very frequently and will be deleted when there are new commit or release(I think?), so I suggest to use the GitHub tagged release, which not that frequent and will not be deleted (the example is in my comment above, also in_subdir and the change to the script is for that GitHub release, not for the file in MediaWiki server).

the7thNightmare commented 1 year ago

Also, you forgot to change the scripts/install.

ericgaspar commented 1 year ago

Also, you forgot to change the scripts/install.

ah yes, I forgot to push 😅

the7thNightmare commented 1 year ago

Are the URL for the extension is not changed? This likely will not create an issue like #25 #31 #36 #46 #76 #79 #91 #95.

The file in MediaWiki server will be deleted when there are new file one to be release (every week or so), so to mitigate this, I use the GitHub tagged release, GitHub will not delete the old file, so when there a new one, that 404 error will not appear.

The GitHub release is a legitimate way to install the extension, as explained in this page, the git release (or as MediaWiki call it: package repositories) is a legitimate one, also the GitHub page is listed in every extension page in MediaWiki.org, so you can check if the downloaded extension is the right one (BTW, don't use the gerrit, because everytime you download, the SHA256 sum will also change).

ericgaspar commented 1 year ago

@the7thNightmare feel free to push a PR if you can. (I do not currently actively use or maintain Mediawiki)

the7thNightmare commented 1 year ago

The PR is open in #101.