From nobody Fri Mar 29 11:19:07 2024 X-Original-To: alpine-devel@lists.alpinelinux.org Received: from mail4.protonmail.ch (mail4.protonmail.ch [185.70.40.27]) by lists.alpinelinux.org (Postfix) with ESMTP id 822DD5C4391 for ; Wed, 2 Nov 2016 21:24:33 +0000 (GMT) Received: from mail.protonmail.com (localhost [127.0.0.1]) by mail4.protonmail.ch (Postfix) with ESMTP id 914641B51 for ; Wed, 2 Nov 2016 17:24:32 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.ch; s=default; t=1478121872; bh=1LGG52NCwHn+C/DCcryiBq8M1ImHlwYUB/thpjPMKls=; h=Date:To:From:Reply-To:Subject:Feedback-ID:From; b=pwgYHjeRLoaPBaFKu2Ae+LfMjjnWtN+LAhrhvXj4Oe/S5zT+iIuUreXvEgKFh0spy WFoD3AGEh4vmPS7qZCFjwLK6Q6bm1/n60CYl/RCgaEirGQKjxH2vXRbiXsM/vgf0Qd lag1VRsqyF6ApyBRllbBwl+BNZiKTVVKsuO2QnQE= Date: Wed, 02 Nov 2016 17:24:32 -0400 To: "alpine-devel@lists.alpinelinux.org" From: Gemsbokella Reply-To: Gemsbokella Subject: [alpine-devel] Shell scripts Message-ID: Feedback-ID: Oa1x_RFgOD4b8kWk9TnwU1rE3ymig7N-yQ-SqvanxDlEAbluxWxCdqms3XMhblKohuEx0qJ7i18Ko8iM-JHbwA==:Ext:ProtonMail X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_f3c7b80382b00e0e85fc46e93f706544" X-Spam-Status: No, score=-3.0 required=4.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE, MIME_BASE64_BLANKS,URIBL_BLOCKED autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail4.protonmail.ch This is a multi-part message in MIME format. --b1_f3c7b80382b00e0e85fc46e93f706544 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 SGVsbG8sIEkgZGlzY292ZXJlZCBBbHBpbmUgTGludXggdGhlIG90aGVyIGRheSBhbmQgSSBpbW1l ZGlhdGVseSBmZWxsIGluIGxvdmUgd2l0aCBpdC4gSSBhbHNvIGVuam95IHdyaXRpbmcgc2hlbGwg c2NyaXB0cyAod2VsbC4uLiB5b3Uga25vdyBob3cgaXQgaXMpIGFuZCBJJ2QgdGhlcmVmb3JlIGJl IG1vcmUgdGhhbiBoYXBweSB0byB3cml0ZSBzb21lLgoKSSBmb3VuZCBhICNUT0RPIGluIHNldHVw LXhvcmctYmFzZS5pbiBzYXlpbmcgeW91IGFyZSBpbiBuZWVkIG9mIGEgR1BVIGRyaXZlciBkZXRl Y3Rpb24gc2NyaXB0LCBzbyBJIGhhdmUgaXQgYSBzaG90LiBJIHRoaW5rIEkndmUganVzdCBmaW5p c2hlZCB3cml0aW5nIGl0LiBIb3dldmVyLCBJIGhhdmUgc29tZSBxdWVzdGlvbnM6CgoxKSBJIGRp ZCBub3QgZmluZCBhbnkgY29kZSBndWlkZWxpbmVzLiBDYW4gSSBqdXN0IG1ha2UgdGhlIHNjcmlw dHMgaG93ZXZlciBJIGZlZWwgbGlrZSBvciBzaG91bGQgSSB0cnkgdG8gbWltaWMgdGhlIG9uZXMg eW91IGhhZCB3cml0dGVuIGJlZm9yZT8KMikgRG8geW91IGhhdmUgYW55IHNwZWNpYWwgcmVxdWly ZW1lbnRzIChpLmUuLCBkbyBub3QgY3JlYXRlIG5ldyBmaWxlcywgZXRjLikgb3IgZG8gSSBoYXZl IGZyZWUgcmVpZ24gd2hpbGUgbWFraW5nIHNjcmlwdHM/CjMpIERvIHlvdSByZXF1aXJlIGhlbHAg YXQgYWxsPwo0KSBJcyB0aGVyZSBhbnkgZWFzeSB3YXkgdG8gZ2V0IGZlZWRiYWNrPwo1KSBEbyBJ IGp1c3QgY29tbWl0IHRoZSBzY3JpcHQgb3Igc2hvdWxkIEkgZGlzY3VzcyBpdCBiZWZvcmVoYW5k IHdpdGggc29tZW9uZSBlbHNlPwoKVGhhbmsgeW91IGZvciByZWFkaW5nIHRoaXMgcG9zdC4= --b1_f3c7b80382b00e0e85fc46e93f706544 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdj5IZWxsbywgSSBkaXNjb3ZlcmVkIEFscGluZSBMaW51eCB0aGUgb3RoZXIgZGF5IGFuZCBJ IGltbWVkaWF0ZWx5IGZlbGwgaW4gbG92ZSB3aXRoIGl0LiBJIGFsc28gZW5qb3kgd3JpdGluZyBz aGVsbCBzY3JpcHRzICh3ZWxsLi4uIHlvdSBrbm93Jm5ic3A7IGhvdyBpdCBpcykgYW5kIEknZCB0 aGVyZWZvcmUgYmUgbW9yZSB0aGFuIGhhcHB5IHRvIHdyaXRlIHNvbWUuPGJyPjxicj5JIGZvdW5k IGEgI1RPRE8gaW4gc2V0dXAteG9yZy1iYXNlLmluIHNheWluZyB5b3UgYXJlIGluIG5lZWQgb2Yg YSBHUFUgZHJpdmVyIGRldGVjdGlvbiBzY3JpcHQsIHNvIEkgaGF2ZSBpdCBhIHNob3QuIEkgdGhp bmsgSSd2ZSBqdXN0IGZpbmlzaGVkIHdyaXRpbmcgaXQuIEhvd2V2ZXIsIEkgaGF2ZSBzb21lIHF1 ZXN0aW9uczo8YnI+PGJyPjEpIEkgZGlkIG5vdCBmaW5kIGFueSBjb2RlIGd1aWRlbGluZXMuIENh biBJIGp1c3QgbWFrZSB0aGUgc2NyaXB0cyBob3dldmVyIEkgZmVlbCBsaWtlIG9yIHNob3VsZCBJ IHRyeSB0byBtaW1pYyB0aGUgb25lcyB5b3UgaGFkIHdyaXR0ZW4gYmVmb3JlPzxicj4yKSBEbyB5 b3UgaGF2ZSBhbnkgc3BlY2lhbCByZXF1aXJlbWVudHMgKGkuZS4sIGRvIG5vdCBjcmVhdGUgbmV3 IGZpbGVzLCBldGMuKSBvciBkbyBJIGhhdmUgZnJlZSByZWlnbiB3aGlsZSBtYWtpbmcgc2NyaXB0 cz88YnI+MykgRG8geW91IHJlcXVpcmUgaGVscCBhdCBhbGw/PGJyPjQpIElzIHRoZXJlIGFueSBl YXN5IHdheSB0byBnZXQgZmVlZGJhY2s/PGJyPjUpIERvIEkganVzdCBjb21taXQgdGhlIHNjcmlw dCBvciBzaG91bGQgSSBkaXNjdXNzIGl0IGJlZm9yZWhhbmQgd2l0aCBzb21lb25lIGVsc2U/PGJy Pjxicj5UaGFuayB5b3UgZm9yIHJlYWRpbmcgdGhpcyBwb3N0Ljxicj48L2Rpdj4= --b1_f3c7b80382b00e0e85fc46e93f706544-- --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org --- From nobody Fri Mar 29 11:19:07 2024 X-Original-To: alpine-devel@lists.alpinelinux.org Received: from luna.geeknet.cz (luna.geeknet.cz [37.205.9.141]) by lists.alpinelinux.org (Postfix) with ESMTP id 42B205C4391 for ; Wed, 2 Nov 2016 23:19:20 +0000 (GMT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by luna.geeknet.cz (Postfix) with ESMTPSA id 3029B59809; Thu, 3 Nov 2016 00:19:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jirutka.cz; s=mail; t=1478128759; bh=bXpcqxwV+NYGK5NWMFZOKAJKytFIQQH8Cm/yfML6mSE=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=uNfff/O2WRZ5T5HlioEDc2Z75PgbK6MKzya2RNlHif1En4MYp5MipHjcX6A3xvSAb kDO/okdlKplriQ+RqNaZwT/MAgQnmujH5muYBlpdCNtqKjwHSJ2AovZZLCYNNgRR2n NqClGSzBjALMQ4AlXZ2LFJcjUj1H27NLXRqW8qHA= Content-Type: multipart/signed; boundary="Apple-Mail=_4E2754C4-EDB4-4A6A-A9F1-D4352E0309D3"; protocol="application/pkcs7-signature"; micalg=sha1 X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: [alpine-devel] Shell scripts From: Jakub Jirutka In-Reply-To: Date: Thu, 3 Nov 2016 00:19:32 +0100 Cc: "alpine-devel@lists.alpinelinux.org" Message-Id: <7195AAE4-0CA9-4C45-A431-A46B3EC23258@jirutka.cz> References: To: Gemsbokella --Apple-Mail=_4E2754C4-EDB4-4A6A-A9F1-D4352E0309D3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi! > I immediately fell in love with it Then you=E2=80=99ve come to the right place! :) > I also enjoy writing shell scripts and I=E2=80=99d therefore be more = than happy to write some. Great to hear that! I also enjoy writing shell scripts, but others often = look at me quite weird when I say that=E2=80=A6 :) Unfortunately most = people really don=E2=80=99t know shell well, so it=E2=80=99s quite rare. > 1) I did not find any code guidelines. Can I just make the scripts = however I feel like or should I try to mimic the ones you had written = before? True, we should write some. Few rules that I=E2=80=99ve just remembered: * Follow POSIX-sh standard, avoid =E2=80=9Cbashisms=E2=80=9D. But we are = pragmatic, so if some non-POSIX feature is supported by all commonly = used shells (Busybox ash, dash, zsh, bash, =E2=80=A6) and it has = substantial benefits, then it=E2=80=99s okay to use it (for example = `local` and `${var/pattern/replacement}`). Actually, in the case of = `local`, you should always prefer it over polluting global namespace. I = should also note that Alpine uses Busybox ash as default shell. * Use `set -e` and if possible also `set -u` (called at the top of the = script) in newly created scripts. Unfortunately this is not a common = practice in existing scripts (yet) and it already caused a lot = trouble=E2=80=A6 * Prefer lower_case for names of variables and functions, except global = constants and environment variables. * We don=E2=80=99t usually use curly braces around variables if they are = not needed. * Use tabs for indentation, not spaces (and better to avoid spaces = alignment, because it sooner or later ends as a mess). > 2) Do you have any special requirements (i.e., do not create new = files, etc.) or do I have free reign while making scripts? Hard to say in advance, send your patch and we will see. > 3) Do you require help at all? Of course, contributors are always welcome! > 4) Is there any easy way to get feedback? Yes, the most straightforward is to open a pull request on GitHub = (https://github.com/alpinelinux/) and someone will do a code-review. = It=E2=80=99s very convenience for that. Another option is to send your = patch to the mailing list. You can also join IRC channel #alpine-devel. > 5) Do I just commit the script or should I discuss it beforehand with = someone else? It depends. It=E2=80=99s not strictly required, but usually it=E2=80=99s = better to ask before you spent huge amount of time on something that may = not be welcome for some reason. Jakub > On 2. Nov 2016, at 22:24, Gemsbokella = wrote: >=20 > Hello, I discovered Alpine Linux the other day and I immediately fell = in love with it. I also enjoy writing shell scripts (well... you know = how it is) and I'd therefore be more than happy to write some. >=20 > I found a #TODO in setup-xorg-base.in saying you are in need of a GPU = driver detection script, so I have it a shot. I think I've just finished = writing it. However, I have some questions: >=20 > 1) I did not find any code guidelines. Can I just make the scripts = however I feel like or should I try to mimic the ones you had written = before? > 2) Do you have any special requirements (i.e., do not create new = files, etc.) or do I have free reign while making scripts? > 3) Do you require help at all? > 4) Is there any easy way to get feedback? > 5) Do I just commit the script or should I discuss it beforehand with = someone else? >=20 > Thank you for reading this post. --Apple-Mail=_4E2754C4-EDB4-4A6A-A9F1-D4352E0309D3 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIL1zCCBeIw ggPKoAMCAQICEGunin0K14jWUQr5WeTntOEwDQYJKoZIhvcNAQELBQAwfTELMAkGA1UEBhMCSUwx FjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmlj YXRlIFNpZ25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X DTE1MTIxNjAxMDAwNVoXDTMwMTIxNjAxMDAwNVowdTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0 YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSMw IQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAL192vfDon2D9luC/dtbX64eG3XAtRmvmCSsu1d52DXsCR58zJQbCtB2/A5uFqNx WacpXGGtTCRk9dEDBlmixEd8QiLkUfvHpJX/xKnmVkS6Iye8wUbYzMsDzgnpazlPg19dnSqfhM+C evdfa89VLnUztRr2cgmCfyO9Otrh7LJDPG+4D8ZnAqDtVB8MKYJL6QgKyVhhaBc4y3bGWxKyXEtx 7QIZZGxPwSkzK3WIN+VKNdkiwTubW5PIdopmykwvIjLPqbJK7yPwFZYekKE015OsW6FV+s4DIM8U lVS8pkIsoGGJtMuWjLL4tq2hYQuuN0jhrxK1ljz50hH23gA9cbMCAwEAAaOCAWQwggFgMA4GA1Ud DwEB/wQEAwIBBjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwEgYDVR0TAQH/BAgwBgEB /wIBADAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9zZnNjYS5jcmww ZgYIKwYBBQUHAQEEWjBYMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5zdGFydHNzbC5jb20wMAYI KwYBBQUHMAKGJGh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL2NhLmNydDAdBgNVHQ4EFgQU JIFsOWG+SQ+PtxtGK8kotSdIbWgwHwYDVR0jBBgwFoAUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwPwYD VR0gBDgwNjA0BgRVHSAAMCwwKgYIKwYBBQUHAgEWHmh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Bv bGljeTANBgkqhkiG9w0BAQsFAAOCAgEAi+P3h+wBi4StDwECW5zhIycjBL008HACblIf26HY0JdO ruKbrWDsXUsiI0j/7Crft9S5oxvPiDtVqspBOB/y5uzSns1lZwh7sG96bYBZpcGzGxpFNjDmQbcM 3yl3WFIRS4WhNrsOY14V7y2IrUGsvetsD+bjyOngCIVeC/GmsmtbuLOzJ606tEc9uRbhjTu/b0x2 Fo+/e7UkQvKzNeo7OMhijixaULyINBfCBJb+e29bLafgu6JqjOUJ9eXXj20p6q/CW+uVrZiSW57+ q5an2P2i7hP85jQJcy5j4HzA0rSiF3YPhKGAWUxKPMAVGgcYoXzWydOvZ3UDsTDTagXpRDIKQLZo 02wrlxY6iMFqvlzsemVf1odhQJmi7Eh5TbxI40kDGcBOBHhwnaOumZhLP+SWJQnjpLpSlUOj95uf 1zo9oz9e0NgIJoz/tdfrBzez76xtDsK0KfUDHt1/q59BvDI7RX6gVr0fQoCyMczNzCTcRXYHY0tq 2J0oT+bsb6sH2b4WVWAiJKnSYaWDjdA70qHX4mq9MIjO/ZskmSY8wtAk24orAc0vwXgYanqNsBX5 Yv4sN4Z9VyrwMdLcusP7HJgRdAGKpkR2I9U4zEsNJQJewM7S4Jalo1DyPrLpL2nTET8ZrSl5Utp1 UeGp/2deoprGevfnxWB+vHNQiu85o6MwggXtMIIE1aADAgECAhBD/vVNPZGWD1m+MVis+u8dMA0G CSqGSIb3DQEBCwUAMHUxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYD VQQLEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20g Q2xhc3MgMSBDbGllbnQgQ0EwHhcNMTYwMTE0MjA1NzE1WhcNMTcwMTE0MjA1NzE1WjA8MRkwFwYD VQQDDBBqYWt1YkBqaXJ1dGthLmN6MR8wHQYJKoZIhvcNAQkBFhBqYWt1YkBqaXJ1dGthLmN6MIIC IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0T/QImVZ0PPUxDHjgkU+xXk142ECj/8CJf86 aLrZOtxYVzNMk0qTBUBRmeev43+eSow5ImKpsw5wyjr4BCUxxiUjzQh3hDSBFgZKpneR1t5Rghnq M2FsQXxUCYhP/B+bUqgHqquT54fijg4MguPqpjnQTyUqdG0Cgdts/u0wmMLbPSGx99RAqu0IcEJv BkWx80/Eu0a1oIZI455k2Ctv9vvz7LokFfd2tBDQ3S+rwUCpfbnw+c39hOtlxckx7Kp3nuJQXrWC R1xJzmHJ/MvjzV+OOaHKrIUgPb57IAeN++zYMozNCnTee6NjfmWimTjDFB6SAaTTESFEkomisNyG KJZj0u4T4M0hojYDGzaBVz3ut5Rk3AFm83oTpeuD2Q6o6HLLGUPwCgH2EQIK9pEHriFB5umzywVu zX+SazBdoPcxl3vrTAtgTibEedywBp0UxTnsq8Thq5ZQsHpfiUuxysFXnmAZot2wkcy8PGe4vmux 73v/sDB2SswW8DfBJVLrEnWFeclxVKxkDXzhg+wwdYDEAUpaAvrP+9wzxbALVdZuRcxRnbYdxSDv elHRPfLw4ndKeig7cwyrTxTYolK3As+H+4o4vX4nz749vIlt7gier8OEjOFJfNs9BAYoZnC12DyD blkpSQcD/Gr3xdelzkRdEr9nCIWWhXVNEZ9iqbUCAwEAAaOCAbAwggGsMAsGA1UdDwQEAwIEsDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwCQYDVR0TBAIwADAdBgNVHQ4EFgQUYD7rCoIM Qmjzny92abcbYyqjjRgwHwYDVR0jBBgwFoAUJIFsOWG+SQ+PtxtGK8kotSdIbWgwbwYIKwYBBQUH AQEEYzBhMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5zdGFydHNzbC5jb20wOQYIKwYBBQUHMAKG LWh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3NjYS5jbGllbnQxLmNydDA4BgNVHR8EMTAv MC2gK6AphidodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9zY2EtY2xpZW50MS5jcmwwGwYDVR0RBBQw EoEQamFrdWJAamlydXRrYS5jejAjBgNVHRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8w RgYDVR0gBD8wPTA7BgsrBgEEAYG1NwECBDAsMCoGCCsGAQUFBwIBFh5odHRwOi8vd3d3LnN0YXJ0 c3NsLmNvbS9wb2xpY3kwDQYJKoZIhvcNAQELBQADggEBAE5/3uwELBJxKE1mhS8EgW0cuqW+CsCX NLu3T3oFDmFMW2uuNYbbVDeWRDymBVdEjFJMvdPxrBtooGuo6Wrr3pZrU4ul90/bR+UYMypiOBPp +Vhzq4nNAXDNJELLVY0YopPrPrn6yHwdfV5T99i+bei0/4jas9+vXi7yohw9wdlTcRVbsod0Nb+5 qRpJWsx/4d+mIsqfRzSM2WNyc3l8tZdWLENeGlNNmm1ce7t4lVtU6g5np5yxIbAVaT5YaU8Y59F4 mKKEUvtTUUR3bHgbcqmEkctwDvtX9y0c8XFoUYsTlG7fAByeb+xgjmNE3unWE7kYXkeipiZ8numT SjbJ8akxggROMIIESgIBATCBiTB1MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk LjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIzAhBgNVBAMTGlN0 YXJ0Q29tIENsYXNzIDEgQ2xpZW50IENBAhBD/vVNPZGWD1m+MVis+u8dMAkGBSsOAwIaBQCgggGZ MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE2MTEwMjIzMTk0MVow IwYJKoZIhvcNAQkEMRYEFP5kbUBIG3ZLeVtGN1qyWY8nsCcRMIGaBgkrBgEEAYI3EAQxgYwwgYkw dTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29t IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVu dCBDQQIQQ/71TT2Rlg9ZvjFYrPrvHTCBnAYLKoZIhvcNAQkQAgsxgYyggYkwdTELMAkGA1UEBhMC SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQQIQQ/71TT2R lg9ZvjFYrPrvHTANBgkqhkiG9w0BAQEFAASCAgDIYwNJNAJICFz1utVviN/aRnqvcaHgqYM+CVk0 5oUdkA2xLOPGumXcJzCSkGUfmURmTSLiyEmb2FvPfQykRPFnAanlzti2NB7CY75cEA9m12MZ+KJ6 6ZycFyAjgVXo3vSqZShtA+hrD0iWxZ6Jc9eRir5A3liPRZlnF7IYJLaeM6yRThHvCxYdUI1/t3E7 McJDa7zFUre/HbBLR+vbWlnSk0+qWAI2X2ROgOa7MbnOa/tEzkjNRB4vY5A3qiRDOvlBMwBIkDIi RD6WKyZR5+wGyopTM71q+bnwPFTruJ5Ne9Vmx2+ezo3xIXMcY+Ti/rUTxvC0UOCvSzdDwoLA8byr 5b39LXky53JJv98Mlto5NW/4RtzvT9OIWBYIy9uMjMKGeL90DGd1PVFDlNFxk9p516LXXrLkpdmq Wadh4O8oIL+naOb81wmrlAsosJRkjpMh8CWRu7WbTJbileUifLWNPGXvASW1oXIUDI+bc4R2NoSl gLECK8lLqscT0Jp9WZ2S1jQYwFV4/vZ3r7lqExFdULBwYB1yLii6tTM2dwNASKERmJJrX0MfadP+ ASwxOw2VWrgn1cfpMP1k36TinrEEI3Yu0ENBW3NLT7nhd3l1LCiECsoOWRNs0Os1ul7OGqu7AQi6 7hXKhGI0KVtCpjXfXuAF8BiDBa/LKSWuW/2IHQAAAAAAAA== --Apple-Mail=_4E2754C4-EDB4-4A6A-A9F1-D4352E0309D3-- --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---