From nobody Thu Jun 08 01:50:40 2023 X-Original-To: freebsd-pkg@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Qc6cZ3w2vz4c7RV for ; Thu, 8 Jun 2023 01:50:54 +0000 (UTC) (envelope-from doctorwhoguy@gmail.com) Received: from mail-vs1-xe35.google.com (mail-vs1-xe35.google.com [IPv6:2607:f8b0:4864:20::e35]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Qc6cX6Dngz3q47 for ; Thu, 8 Jun 2023 01:50:52 +0000 (UTC) (envelope-from doctorwhoguy@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=YH7s9ofY; spf=pass (mx1.freebsd.org: domain of doctorwhoguy@gmail.com designates 2607:f8b0:4864:20::e35 as permitted sender) smtp.mailfrom=doctorwhoguy@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-vs1-xe35.google.com with SMTP id ada2fe7eead31-43b5618300bso1519851137.1 for ; Wed, 07 Jun 2023 18:50:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686189051; x=1688781051; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=bnAVfYv7vDcT6/iwI8/oSNGH035gIY2xKbBujfvK/Mg=; b=YH7s9ofY+q2SENLOp4HfolTAfBvD7inYTLZ0hHYyaxfiMZhkL0psMHZJe+WVe27e4r 1eRPhFyrAIwYkpqWBU+x5MIZOhYYyh5y3NnMX9BmCwz8iYxM4FMi2+F3YYNrSIzMRdXW hHVNvELoxcP0tfyXFHGqDnxPrI9oKUtDV1vh+9t5eDC91OIudmqXCGXs/qp5QeaxgVlv t1JVPE27iQh1WWd48gEv3B7l4QUeBPLSt+o3tzydU69GvkyQ2KOqv6ASejgyZczCRwH0 9YqOgfn0+woCdqx3vFwK6O/TLE/cy/n5fS1Nbqk7tFOPWsI+/i8OTJ/o/mPqEIFr1jtj SrYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686189051; x=1688781051; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=bnAVfYv7vDcT6/iwI8/oSNGH035gIY2xKbBujfvK/Mg=; b=CguwLcxZ9PTEtUpWaQsn2d9A1JadgIZPVEQhlhQNJ/5d6NFZjEYt6lyNfhmX4s7pdP aDHNIOZ9Onw6WUkKgebcQRsAKcD0FzBB9g2JWj6bP4tsX7iNDZELjtO1fPYP+k2cqPDG ce/kUYQkvLl2yjh7GONqCyjHnViEo+0shdm6p4RPE7cNShGmxOb7OHrWzXKpwgqxHrrR jXAQoXBOB8DxQWw3mH+JcnIelbZaKVd0ZfdlSE1IN0hDAmQplWfo0xC/JTWAlnqjbPlM mON5SUSHOKx0qpO5z/o9oWTTODxt04FIBSkzHNHCT3oA7mOQ7cesmAeh9ka9SWXCTJhJ 2XZg== X-Gm-Message-State: AC+VfDxWd69az/Q7HTRNolENC1XBSY3IY2NDK9Y6WkLTy6AFI5LRLlvC 7L9otctdq4nmfJAWuEe122+vngC+ekw1udDq44Of8TLkDRw= X-Google-Smtp-Source: ACHHUZ6uNZrNS7aoABiZ4u25hDk2zczSynZKDpJ1rp8EaLNgEgHZlmUW/2n5AHeoCjs3/osPqk7rzhjwodhPTmnRiUo= X-Received: by 2002:a05:6102:516:b0:43b:507a:12a7 with SMTP id l22-20020a056102051600b0043b507a12a7mr1672812vsa.13.1686189051594; Wed, 07 Jun 2023 18:50:51 -0700 (PDT) List-Id: Binary package management and package tools discussion List-Archive: https://lists.freebsd.org/archives/freebsd-pkg List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-pkg@freebsd.org MIME-Version: 1.0 From: Patrick McMunn Date: Wed, 7 Jun 2023 20:50:40 -0500 Message-ID: Subject: Suggestion for speeding up pkg To: freebsd-pkg@freebsd.org Content-Type: multipart/alternative; boundary="00000000000071cc4705fd947b17" X-Spamd-Result: default: False [-3.84 / 15.00]; NEURAL_HAM_MEDIUM(-0.98)[-0.982]; NEURAL_HAM_LONG(-0.97)[-0.969]; NEURAL_HAM_SHORT(-0.89)[-0.891]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; BLOCKLISTDE_FAIL(0.00)[2607:f8b0:4864:20::e35:server fail]; PREVIOUSLY_DELIVERED(0.00)[freebsd-pkg@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::e35:from]; RCPT_COUNT_ONE(0.00)[1]; FREEMAIL_FROM(0.00)[gmail.com]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; MLMMJ_DEST(0.00)[freebsd-pkg@freebsd.org]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4Qc6cX6Dngz3q47 X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N --00000000000071cc4705fd947b17 Content-Type: text/plain; charset="UTF-8" I'm just a regular user of FreeBSD, but I'd like to make a suggestion. When installing a large set of packages, such as "pkg install kde5", it can take quite a while to download all that data. Why does pkg download ALL the packages and only then begin to extract and install them? Would it not be a more efficient use of time to calculate dependencies first, then begin downloading the packages in the order in which they are required, and then begin extracting and installing them as they are downloaded instead of waiting for the download to complete before beginning installation? I understand that part of the reason is verification and such, but the default could be extracting and installing to a temporary directory then merging to the live system once everything is downloaded and extracted. Make the behavior configurable by the user. Set sane defaults. Check for sufficient disk space immediately after dependency calculation to make sure space is available for the downloads, the extracted contents, and any other necessities. This will make for a more pleasant user experience. --00000000000071cc4705fd947b17 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I'm just a regular user of FreeBSD, but I'd like t= o make a suggestion. When installing a large set of packages, such as "= ;pkg install kde5", it can take quite a while to download all that dat= a. Why does pkg download ALL the packages and only then begin to extract an= d install them? Would it not be a more efficient use of time to calculate d= ependencies first, then begin downloading the packages in the order in whic= h they are required, and then begin extracting and installing them as they = are downloaded instead of waiting for the download to complete before begin= ning installation?

I understand that part of the reason is verificat= ion and such, but the default could be extracting and installing to a tempo= rary directory then merging to the live system once everything is downloade= d and extracted. Make the behavior configurable by the user. Set sane defau= lts. Check for sufficient disk space immediately after dependency calculati= on to make sure space is available for the downloads, the extracted content= s, and any other necessities. This will make for a more pleasant user exper= ience.
--00000000000071cc4705fd947b17--