Sandbox: Difference between revisions

From Alpine Linux
m (added test case for potentially bad behavior in the pkg template.)
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This is a test area.
This is a test of an upgraded version of the [[Template:pkg]]. It should preserve all old behavior *EXCEPT* it will print an error if positional parameter 1 is unset or empty.<br>


{{#ifeq:one|one|yes|no}}
The following 2 should produce the exact same URL:<br>
Old template parameter 1 only: {{Template:Sandbox|apk-tools}}<br>
New template parameter 1 only: {{Template:Sandbox|apk-tools}}<br>
<br>
The following should produce the exact same URLs:<br>
Positional parameter 1 + repo parameter: {{Template:Sandbox|apk-tools|repo=main}}<br>
Many parameters set: {{Template:Sandbox|apk-tools|repo=main|branch=edge|arch=x86_64}}<br><br>


{{Warning|Alpine Linux 3.x is using a different libc implementation compared to previous versions. Musl libc is not ABI compatible with uClibc. Additional steps are required for an upgrade.}}
Nonsense handling:<br>
No arguments passed whatsoever (new template should handle gracefully)<br>
Old template: {{pkg}} New template: {{Template:Sandbox}}<br><br>


== Installing statically linked tools ==
Empty positional argument passed:<br>
Old template: {{pkg|}} New template: {{Template:Sandbox|}}<br><br>


Statically linked versions of busybox and apk are needed, otherwise they will stop working after libc upgrade.
Extra positional arguments passed (shouldn't make any difference)<br>
Old template: {{pkg|apk-tools|foo|bar|bat|baz}} New template: {{Template:Sandbox|apk-tools|foo|bar|bat|baz}}


{{Cmd|apk add busybox-static apk-tools-static}}
Extra positional arguments and extra named arguments (shouldn't make any difference)<br>
Old template: {{pkg|apk-tools|foo|repo=main|bacon=delicious}} New template: {{Template:Sandbox|apk-tools|foo|repo=main|bacon=delicious}}<br><br>


== Changing repositories to v3.x ==
empty branch parameter<br>
old template: {{pkg|apk-tools|branch=|arch=}}<br>
new template: {{Template:Sandbox|apk-tools|branch=|arch=}}<br><br>


To begin, you need to update your {{Path|/etc/apk/repositories}} file. Here are some shortcuts for doing so:
New behavior:
:* Launch {{Cmd|setup-apkrepos}} Enter {{Key|e}} to edit {{Path|/etc/apk/repositories}}. Change the version number by hand.
Link to apk-tools for every arch, but only for maintainer "Natanael Copa":<br>
:* Or, edit the file in place. This is how you'd change <var>v2.7</var> to <var>v3.0</var>: {{Cmd|sed -i -e 's/<var>v2\.7</var>/<var>v3.0</var>/g' /etc/apk/repositories}}
{{Template:Sandbox|apk-tools|arch=|maintainer=Natanael Copa}}<br><br>


== Upgrading system ==
Link to all pipewire packages from maintainer "team/alpine-desktop"<br>
{{Template:Sandbox|pipewire*|arch=|maintainer=team/alpine-desktop}}<br><br>


Use statically linked version of apk to update content of repository:
Link to all linux-edge packages from maintainer "Milan P. Stanić"<br>
{{Template:Sandbox|linux-edge|arch=|maintainer=Milan P. Stanić}}<br><br>


{{Cmd|apk.static update}}
Link to all i686 ALSA packages on 3.19 (this is the hardest test on the page because mediawiki is very prone to breaking template parameters that start with a star!):<br>
 
{{Template:Sandbox|*alsa*|branch=v3.19|arch=x86}}
Simulating upgrade is recommended in order to detect issues beforehand:
 
{{Cmd|apk.static upgrade --no-self-upgrade --simulate}}
 
With no problems encountered or after resolving them, start proper upgrade:
 
{{Cmd|apk.static upgrade --no-self-upgrade}}

Revision as of 18:12, 28 May 2024

This is a test of an upgraded version of the Template:pkg. It should preserve all old behavior *EXCEPT* it will print an error if positional parameter 1 is unset or empty.

The following 2 should produce the exact same URL:
Old template parameter 1 only: 3.20.3



New template parameter 1 only: 3.20.3




The following should produce the exact same URLs:
Positional parameter 1 + repo parameter: 3.20.3



Many parameters set: 3.20.3




Nonsense handling:
No arguments passed whatsoever (new template should handle gracefully)
Old template: First parameter cannot be undefined or empty in template: Template:Pkg New template: 3.20.3




Empty positional argument passed:
Old template: First parameter cannot be undefined or empty in template: Template:Pkg New template: 3.20.3




Extra positional arguments passed (shouldn't make any difference)
Old template: apk-tools New template: 3.20.3



Extra positional arguments and extra named arguments (shouldn't make any difference)
Old template: apk-tools New template: 3.20.3




empty branch parameter
old template: apk-tools
new template: 3.20.3




New behavior: Link to apk-tools for every arch, but only for maintainer "Natanael Copa":
3.20.3




Link to all pipewire packages from maintainer "team/alpine-desktop"
3.20.3




Link to all linux-edge packages from maintainer "Milan P. Stanić"
3.20.3




Link to all i686 ALSA packages on 3.19 (this is the hardest test on the page because mediawiki is very prone to breaking template parameters that start with a star!):
3.20.3