diff for duplicates of <ZR0P278MB0268FD293FEB52837F22105FC18EA@ZR0P278MB0268.CHEP278.PROD.OUTLOOK.COM> diff --git a/N1/2.bin b/N1/2.bin new file mode 100644 index 0000000..7cd30b1 --- /dev/null +++ b/N1/2.bin @@ -0,0 +1,198 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> +<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style> +</head> +<body dir="ltr"> +<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Would you mind giving my previously attached service a try and tell me whether this works?</span></div> +<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br> +</span></div> +<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">If there is no other input I will just prepare a patch where the service renders a bash + script which (somewhat stupidly) attempts to resize the file-system at (every!) boot - mostly because I'm not sure whether we have the facilities to (or I wouldn't know how)</span></div> +<ol start="1" style="margin-block: 0px;" data-editing-info="{"orderedStyleType":6,"unorderedStyleType":1}" data-listchain="__List_Chain_113"> +<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; list-style-type: "a) "; color: rgb(0, 0, 0);"> +<span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">run a service once per system generation (or some other measure) and<br> +</span></li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; list-style-type: "b) "; color: rgb(0, 0, 0);"> +<span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">to construct such a Shell-script in a more verifiable or maintainable fashion in Guile (though I'd be willing to + write relevant helper functions)<br> +</span></li></ol> +<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br> +</span></div> +<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Thanks for all your input! If there is no more input I'll just prepare some patch from + the existing service.</span></div> +<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br> +</span></div> +<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">P.S. Since this isn't a classic "help" problem anymore I'm moving the discussion over + to the devel-list.<br> +</span></div> +<div id="appendonsend"></div> +<hr style="display:inline-block;width:98%" tabindex="-1"> +<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Csepp <raingloom@riseup.net><br> +<b>Sent:</b> Sunday, December 10, 2023 6:03 PM<br> +<b>To:</b> Efraim Flashner <efraim@flashner.co.il><br> +<b>Cc:</b> Wicki Gabriel (wicg) <wicg@zhaw.ch>; help-guix@gnu.org <help-guix@gnu.org><br> +<b>Subject:</b> Re: Resize Filesystem Service</font> +<div> </div> +</div> +<div class="BodyFragment"><font size="2"><span style="font-size:11pt;"> +<div class="PlainText">#+OPTIONS: html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil tex:dvipng d:nil<br> +#+STARTUP: hidestars indent inlineimages<br> +:PROPERTIES:<br> +:reply-to: nil<br> +:attachment: nil<br> +:alternatives: (utf-8)<br> +:END:<br> +<br> +Efraim Flashner <efraim@flashner.co.il> writes:<br> +<br> +> [[PGP Signed Part:Undecided]]<br> +> On Thu, Dec 07, 2023 at 09:25:43AM +0000, Wicki Gabriel (wicg) wrote:<br> +>> Hi<br> +>><br> +>> Thanks for the input, Felix. I finally managed to get it to work (with<br> +>> additional input from ludo). I attach the service to this mail. If people<br> +>> think this might be a nice-to-have in upstream guix i'll happily craft a<br> +>> patch.<br> +>><br> +>> g<br> +>> ________________________________<br> +>> From: Felix Lechner <felix.lechner@lease-up.com><br> +>> Sent: Monday, December 4, 2023 9:18 PM<br> +>> To: Wicki Gabriel (wicg) <wicg@zhaw.ch>; help-guix@gnu.org <help-guix@gnu.org><br> +>> Subject: Re: Resize Filesystem Service<br> +>><br> +>> Hi Gabriel,<br> +>><br> +>> On Mon, Dec 04 2023, Wicki Gabriel wrote:<br> +>><br> +>> > I crafted the service in the file attached but this doesn't work and i<br> +>> > neither know where to look nor how to debug the issue.<br> +>><br> +>> Writing services is probably more complex than it should be, but it can<br> +>> be done.<br> +>><br> +>> Please have a look at the cachefilesd-service [1] which I wrote together<br> +>> with Bruno Victal (mirai) and which was accepted, or the Heimdal<br> +>> Kerberos services that are still waiting for review. [2]<br> +>><br> +>> My most immediate suggestion is that I would use define-configuration<br> +>> even when no serialization (which helps write configuration files) is<br> +>> needed. Also, you have to think carefully about where to place the<br> +>> G-Expressions, which can be tough to wrap your mind arround. Finally, I<br> +>> would use "file-append" instead of string-append for some of the<br> +>> configurable executable paths.<br> +>><br> +>> Kind regards<br> +>> Felix<br> +>><br> +>> [1] <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/linux.scm#n492"> +https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/linux.scm#n492</a><br> +>> [2] <a href="https://issues.guix.gnu.org/67555">https://issues.guix.gnu.org/67555</a><br> +><br> +>> (define-module (services resize-fs)<br> +>> #:use-module (guix gexp)<br> +>> #:use-module (guix records)<br> +>> #:use-module (gnu packages bash)<br> +>> #:use-module (gnu packages disk) ; parted<br> +>> #:use-module (gnu packages linux); e2fsprogs<br> +>> #:use-module (guix build utils)<br> +>> #:use-module (guix packages)<br> +>> #:use-module (gnu services)<br> +>> #:use-module (gnu services configuration)<br> +>> #:use-module (gnu services shepherd)<br> +>> #:export (resize-fs-configuration<br> +>> resize-fs-configuration?<br> +>> resize-fs-configuration-parted<br> +>> resize-fs-configuration-e2fsprogs<br> +>> resize-fs-configuration-device<br> +>> resize-fs-configuration-partition<br> +>> resize-fs-configuration-end<br> +>> resize-fs-service-type))<br> +>><br> +>> (define-configuration/no-serialization resize-fs-configuration<br> +>> (parted<br> +>> (file-like parted)<br> +>> "The parted package to use.")<br> +>> (e2fsprogs<br> +>> (file-like e2fsprogs)<br> +>> "The e2fsprogs package providing the resize2fs utility.")<br> +>> (device<br> +>> (string "/dev/mmcblk0") ;; #f may be preferrable here to prevent accidental resizing of wrong file-system<br> +>> "The device containing the partition to be resized.")<br> +>> (partition<br> +>> (number 2)<br> +>> "The partition number that is to be resized.")<br> +>> (end<br> +>> (string "100%")<br> +>> "The end position of the resized partition as understood by the parted \<br> +>> utility (e.g. \"100%\", \"500M\" or \"16GiB\")."))<br> +>><br> +>> (define (resize-fs-script config)<br> +>> (match-record<br> +>> config <resize-fs-configuration> (parted e2fsprogs device partition end)<br> +>> (let ((parted-bin (file-append parted "/sbin/parted"))<br> +>> (resize2fs (file-append e2fsprogs "/sbin/resize2fs"))<br> +>> (device+partition (string-append device "p" (number->string partition))))<br> +>> (mixed-text-file "resize-fs.sh"<br> +>> "#!/bin/sh<br> +>> echoerr() { printf \"$*\\n\" >&2 ; }<br> +>><br> +>> cmd() {<br> +>> " parted-bin " " device " ---pretend-input-tty <<EOF && " resize2fs " " device+partition "<br> +>> resizepart<br> +>> " (number->string partition) "<br> +>> Yes<br> +>> " end "<br> +>> EOF<br> +>> }<br> +>><br> +>> set -o errexit<br> +>> set -o pipefail<br> +>><br> +>> echoerr hello from resize-fs script<br> +>><br> +>> if cmd; then<br> +>> echoerr \"Resizing successful\"<br> +>> else<br> +>> echoerr \"resize-script returned $?\"<br> +>> fi<br> +>> "))))<br> +>><br> +>> (define (resize-fs-shepherd-service config)<br> +>> "Return a list of <shepherd-service> for resize-fs-service for CONFIG"<br> +>> (let ((resize-script (resize-fs-script config)))<br> +>> (shepherd-service<br> +>> (documentation "Resize a file-system. Intended for Guix Systems that are booted from an image")<br> +>> (provision '(resize-fs))<br> +>> (requirement '(user-processes))<br> +>> (one-shot? #t)<br> +>> (respawn? #f)<br> +>> (start #~(make-forkexec-constructor<br> +>> (list #$(file-append bash "/bin/sh") #$resize-script))))))<br> +>><br> +>> (define resize-fs-service-type<br> +>> (service-type<br> +>> (name 'resize-fs)<br> +>> (description "Resize a partition.")<br> +>> (extensions<br> +>> (list<br> +>> (service-extension shepherd-root-service-type<br> +>> (compose list resize-fs-shepherd-service))))<br> +>> (default-value (resize-fs-configuration))))<br> +><br> +> I think it would be helpful to have upstream. I'm guessing it would be<br> +> useful not just on single board computers but also on VPSs and probably<br> +> other use cases.<br> +><br> +> Not directly related to upstreaming this service, this seems like a<br> +> useful service to offer for an 'on first boot' service, or as some sort<br> +> of special service to be loaded with 'sudo herd load root'.<br> +<br> +I tried to write something similar for my VPS but it wasn't working at boot,<br> +although it did if I restarted the service.<br> +So I for one would be very grateful if a working resizer service were<br> +upstreamed.<br> +</div> +</span></font></div> +</body> +</html> diff --git a/N1/2.hdr b/N1/2.hdr new file mode 100644 index 0000000..c12b5e0 --- /dev/null +++ b/N1/2.hdr @@ -0,0 +1,2 @@ +Content-Type: text/html; charset="us-ascii" +Content-Transfer-Encoding: quoted-printable diff --git a/a/content_digest b/N1/content_digest index 0a04eec..0a274c5 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -30,7 +30,7 @@ " Csepp <raingloom\@riseup.net>\0" ] [ - "\0000:1\0" + "\0001:1\0" ] [ "b\0" @@ -210,5 +210,211 @@ "So I for one would be very grateful if a working resizer service were\n", "upstreamed." ] +[ + "\0001:2\0" +] +[ + "b\0" +] +[ + "<html>\r\n", + "<head>\r\n", + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=us-ascii\">\r\n", + "<style type=\"text/css\" style=\"display:none;\"> P {margin-top:0;margin-bottom:0;} </style>\r\n", + "</head>\r\n", + "<body dir=\"ltr\">\r\n", + "<div><span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\">Would you mind giving my previously attached service a try and tell me whether this works?</span></div>\r\n", + "<div class=\"elementToProof\"><span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\"><br>\r\n", + "</span></div>\r\n", + "<div class=\"elementToProof\"><span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\">If there is no other input I will just prepare a patch where the service renders a bash\r\n", + " script which (somewhat stupidly) attempts to resize the file-system at (every!) boot - mostly because I'm not sure whether we have the facilities to (or I wouldn't know how)</span></div>\r\n", + "<ol start=\"1\" style=\"margin-block: 0px;\" data-editing-info=\"{"orderedStyleType":6,"unorderedStyleType":1}\" data-listchain=\"__List_Chain_113\">\r\n", + "<li style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; list-style-type: "a) "; color: rgb(0, 0, 0);\">\r\n", + "<span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\">run a service once per system generation (or some other measure) and<br>\r\n", + "</span></li><li style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; list-style-type: "b) "; color: rgb(0, 0, 0);\">\r\n", + "<span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\">to construct such a Shell-script in a more verifiable or maintainable fashion in Guile (though I'd be willing to\r\n", + " write relevant helper functions)<br>\r\n", + "</span></li></ol>\r\n", + "<div class=\"elementToProof\"><span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\"><br>\r\n", + "</span></div>\r\n", + "<div class=\"elementToProof\"><span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\">Thanks for all your input! If there is no more input I'll just prepare some patch from\r\n", + " the existing service.</span></div>\r\n", + "<div class=\"elementToProof\"><span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\"><br>\r\n", + "</span></div>\r\n", + "<div class=\"elementToProof\"><span style=\"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);\">P.S. Since this isn't a classic "help" problem anymore I'm moving the discussion over\r\n", + " to the devel-list.<br>\r\n", + "</span></div>\r\n", + "<div id=\"appendonsend\"></div>\r\n", + "<hr style=\"display:inline-block;width:98%\" tabindex=\"-1\">\r\n", + "<div id=\"divRplyFwdMsg\" dir=\"ltr\"><font face=\"Calibri, sans-serif\" style=\"font-size:11pt\" color=\"#000000\"><b>From:</b> Csepp <raingloom\@riseup.net><br>\r\n", + "<b>Sent:</b> Sunday, December 10, 2023 6:03 PM<br>\r\n", + "<b>To:</b> Efraim Flashner <efraim\@flashner.co.il><br>\r\n", + "<b>Cc:</b> Wicki Gabriel (wicg) <wicg\@zhaw.ch>; help-guix\@gnu.org <help-guix\@gnu.org><br>\r\n", + "<b>Subject:</b> Re: Resize Filesystem Service</font>\r\n", + "<div> </div>\r\n", + "</div>\r\n", + "<div class=\"BodyFragment\"><font size=\"2\"><span style=\"font-size:11pt;\">\r\n", + "<div class=\"PlainText\">#+OPTIONS: html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil tex:dvipng d:nil<br>\r\n", + "#+STARTUP: hidestars indent inlineimages<br>\r\n", + ":PROPERTIES:<br>\r\n", + ":reply-to: nil<br>\r\n", + ":attachment: nil<br>\r\n", + ":alternatives: (utf-8)<br>\r\n", + ":END:<br>\r\n", + "<br>\r\n", + "Efraim Flashner <efraim\@flashner.co.il> writes:<br>\r\n", + "<br>\r\n", + "> [[PGP Signed Part:Undecided]]<br>\r\n", + "> On Thu, Dec 07, 2023 at 09:25:43AM +0000, Wicki Gabriel (wicg) wrote:<br>\r\n", + ">> Hi<br>\r\n", + ">><br>\r\n", + ">> Thanks for the input, Felix. I finally managed to get it to work (with<br>\r\n", + ">> additional input from ludo). I attach the service to this mail. If people<br>\r\n", + ">> think this might be a nice-to-have in upstream guix i'll happily craft a<br>\r\n", + ">> patch.<br>\r\n", + ">><br>\r\n", + ">> g<br>\r\n", + ">> ________________________________<br>\r\n", + ">> From: Felix Lechner <felix.lechner\@lease-up.com><br>\r\n", + ">> Sent: Monday, December 4, 2023 9:18 PM<br>\r\n", + ">> To: Wicki Gabriel (wicg) <wicg\@zhaw.ch>; help-guix\@gnu.org <help-guix\@gnu.org><br>\r\n", + ">> Subject: Re: Resize Filesystem Service<br>\r\n", + ">><br>\r\n", + ">> Hi Gabriel,<br>\r\n", + ">><br>\r\n", + ">> On Mon, Dec 04 2023, Wicki Gabriel wrote:<br>\r\n", + ">><br>\r\n", + ">> > I crafted the service in the file attached but this doesn't work and i<br>\r\n", + ">> > neither know where to look nor how to debug the issue.<br>\r\n", + ">><br>\r\n", + ">> Writing services is probably more complex than it should be, but it can<br>\r\n", + ">> be done.<br>\r\n", + ">><br>\r\n", + ">> Please have a look at the cachefilesd-service [1] which I wrote together<br>\r\n", + ">> with Bruno Victal (mirai) and which was accepted, or the Heimdal<br>\r\n", + ">> Kerberos services that are still waiting for review. [2]<br>\r\n", + ">><br>\r\n", + ">> My most immediate suggestion is that I would use define-configuration<br>\r\n", + ">> even when no serialization (which helps write configuration files) is<br>\r\n", + ">> needed. Also, you have to think carefully about where to place the<br>\r\n", + ">> G-Expressions, which can be tough to wrap your mind arround. Finally, I<br>\r\n", + ">> would use "file-append" instead of string-append for some of the<br>\r\n", + ">> configurable executable paths.<br>\r\n", + ">><br>\r\n", + ">> Kind regards<br>\r\n", + ">> Felix<br>\r\n", + ">><br>\r\n", + ">> [1] <a href=\"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/linux.scm#n492\">\r\n", + "https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/linux.scm#n492</a><br>\r\n", + ">> [2] <a href=\"https://issues.guix.gnu.org/67555\">https://issues.guix.gnu.org/67555</a><br>\r\n", + "><br>\r\n", + ">> (define-module (services resize-fs)<br>\r\n", + ">> #:use-module (guix gexp)<br>\r\n", + ">> #:use-module (guix records)<br>\r\n", + ">> #:use-module (gnu packages bash)<br>\r\n", + ">> #:use-module (gnu packages disk) ; parted<br>\r\n", + ">> #:use-module (gnu packages linux); e2fsprogs<br>\r\n", + ">> #:use-module (guix build utils)<br>\r\n", + ">> #:use-module (guix packages)<br>\r\n", + ">> #:use-module (gnu services)<br>\r\n", + ">> #:use-module (gnu services configuration)<br>\r\n", + ">> #:use-module (gnu services shepherd)<br>\r\n", + ">> #:export (resize-fs-configuration<br>\r\n", + ">> resize-fs-configuration?<br>\r\n", + ">> resize-fs-configuration-parted<br>\r\n", + ">> resize-fs-configuration-e2fsprogs<br>\r\n", + ">> resize-fs-configuration-device<br>\r\n", + ">> resize-fs-configuration-partition<br>\r\n", + ">> resize-fs-configuration-end<br>\r\n", + ">> resize-fs-service-type))<br>\r\n", + ">><br>\r\n", + ">> (define-configuration/no-serialization resize-fs-configuration<br>\r\n", + ">> (parted<br>\r\n", + ">> (file-like parted)<br>\r\n", + ">> "The parted package to use.")<br>\r\n", + ">> (e2fsprogs<br>\r\n", + ">> (file-like e2fsprogs)<br>\r\n", + ">> "The e2fsprogs package providing the resize2fs utility.")<br>\r\n", + ">> (device<br>\r\n", + ">> (string "/dev/mmcblk0") ;; #f may be preferrable here to prevent accidental resizing of wrong file-system<br>\r\n", + ">> "The device containing the partition to be resized.")<br>\r\n", + ">> (partition<br>\r\n", + ">> (number 2)<br>\r\n", + ">> "The partition number that is to be resized.")<br>\r\n", + ">> (end<br>\r\n", + ">> (string "100%")<br>\r\n", + ">> "The end position of the resized partition as understood by the parted \\<br>\r\n", + ">> utility (e.g. \\"100%\\", \\"500M\\" or \\"16GiB\\")."))<br>\r\n", + ">><br>\r\n", + ">> (define (resize-fs-script config)<br>\r\n", + ">> (match-record<br>\r\n", + ">> config <resize-fs-configuration> (parted e2fsprogs device partition end)<br>\r\n", + ">> (let ((parted-bin (file-append parted "/sbin/parted"))<br>\r\n", + ">> (resize2fs (file-append e2fsprogs "/sbin/resize2fs"))<br>\r\n", + ">> (device+partition (string-append device "p" (number->string partition))))<br>\r\n", + ">> (mixed-text-file "resize-fs.sh"<br>\r\n", + ">> "#!/bin/sh<br>\r\n", + ">> echoerr() { printf \\"\$*\\\\n\\" >&2 ; }<br>\r\n", + ">><br>\r\n", + ">> cmd() {<br>\r\n", + ">> " parted-bin " " device " ---pretend-input-tty <<EOF && " resize2fs " " device+partition "<br>\r\n", + ">> resizepart<br>\r\n", + ">> " (number->string partition) "<br>\r\n", + ">> Yes<br>\r\n", + ">> " end "<br>\r\n", + ">> EOF<br>\r\n", + ">> }<br>\r\n", + ">><br>\r\n", + ">> set -o errexit<br>\r\n", + ">> set -o pipefail<br>\r\n", + ">><br>\r\n", + ">> echoerr hello from resize-fs script<br>\r\n", + ">><br>\r\n", + ">> if cmd; then<br>\r\n", + ">> echoerr \\"Resizing successful\\"<br>\r\n", + ">> else<br>\r\n", + ">> echoerr \\"resize-script returned \$?\\"<br>\r\n", + ">> fi<br>\r\n", + ">> "))))<br>\r\n", + ">><br>\r\n", + ">> (define (resize-fs-shepherd-service config)<br>\r\n", + ">> "Return a list of <shepherd-service> for resize-fs-service for CONFIG"<br>\r\n", + ">> (let ((resize-script (resize-fs-script config)))<br>\r\n", + ">> (shepherd-service<br>\r\n", + ">> (documentation "Resize a file-system. Intended for Guix Systems that are booted from an image")<br>\r\n", + ">> (provision '(resize-fs))<br>\r\n", + ">> (requirement '(user-processes))<br>\r\n", + ">> (one-shot? #t)<br>\r\n", + ">> (respawn? #f)<br>\r\n", + ">> (start #~(make-forkexec-constructor<br>\r\n", + ">> (list #\$(file-append bash "/bin/sh") #\$resize-script))))))<br>\r\n", + ">><br>\r\n", + ">> (define resize-fs-service-type<br>\r\n", + ">> (service-type<br>\r\n", + ">> (name 'resize-fs)<br>\r\n", + ">> (description "Resize a partition.")<br>\r\n", + ">> (extensions<br>\r\n", + ">> (list<br>\r\n", + ">> (service-extension shepherd-root-service-type<br>\r\n", + ">> (compose list resize-fs-shepherd-service))))<br>\r\n", + ">> (default-value (resize-fs-configuration))))<br>\r\n", + "><br>\r\n", + "> I think it would be helpful to have upstream. I'm guessing it would be<br>\r\n", + "> useful not just on single board computers but also on VPSs and probably<br>\r\n", + "> other use cases.<br>\r\n", + "><br>\r\n", + "> Not directly related to upstreaming this service, this seems like a<br>\r\n", + "> useful service to offer for an 'on first boot' service, or as some sort<br>\r\n", + "> of special service to be loaded with 'sudo herd load root'.<br>\r\n", + "<br>\r\n", + "I tried to write something similar for my VPS but it wasn't working at boot,<br>\r\n", + "although it did if I restarted the service.<br>\r\n", + "So I for one would be very grateful if a working resizer service were<br>\r\n", + "upstreamed.<br>\r\n", + "</div>\r\n", + "</span></font></div>\r\n", + "</body>\r\n", + "</html>\r\n" +] -45b437435651edd964bc27748e6ba4ea8a74d742d31638c2534dc2cf7203a2af +8fc83bebb6027465fcb2f8a4c4f741656e749eaef6d3e8e4d701fc7caf93c2a3
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).