From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7078983779658760192 X-Received: by 2002:a5d:6346:0:b0:203:e322:867f with SMTP id b6-20020a5d6346000000b00203e322867fmr8414725wrw.404.1648204349063; Fri, 25 Mar 2022 03:32:29 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:4e01:b0:38c:9f99:b05 with SMTP id b1-20020a05600c4e0100b0038c9f990b05ls5817624wmq.1.canary-gmail; Fri, 25 Mar 2022 03:32:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2TSgW5rfIBTF7FKfBquvUGDvjRvy3iysLSHrUpLoTeEUyPPjrUr/gUiDYvSmI/lyt/B4a X-Received: by 2002:a7b:cd13:0:b0:38c:9a08:5c62 with SMTP id f19-20020a7bcd13000000b0038c9a085c62mr18551244wmj.154.1648204348012; Fri, 25 Mar 2022 03:32:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648204348; cv=none; d=google.com; s=arc-20160816; b=rGVsSiJHnK2LXt+JQ+27F9zeKduUesZsvac1cK/OSJGL4rNlR6WWItP/dWw7lX9xLQ BuwY964S/Cj/b9T3VfatSFwjENt+kamz82ckSx718NIMOiPf8YALSpCf9s7q2ikP2Bn8 IWXlhsDFznCjZ3IqZDGQ6T2FbuS1BayLvR5zjCE/bmErjFx80u25DSXO3VRXda3BwpTw 34DIz4bvME0gcVjA2UEsBPiUFWo2Ms2j0bFJqzK2ROGU7Yo1nSpYw3xFXjMw+3ZCSz50 0yL06TAiELiM/9wEUsUgfjep8Xs+s0/XJfuHqPwyMsMgd9qJ6nMn20yfRpFIFS8QYvjx f1Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from; bh=F3Ft31EMUoi6x0uZqzrohcVHVdjPtT/OSuG9HQyfWqs=; b=vwDxTa1mThuK1BcXKc7jvqk3/w4v89KMBvh3DDgSn16UDeknDKe2OuPinmiHhexqS4 dJDuOif/oUPrsi+5z5OqwWhzTGk4+Vk23zHxSQUQawAUriKFEVuy33wKwHhjQp1a17CB Z4MqOckxp/3d9eh5kr1/tKD2/+ojGoTrgw25iG/xDSsqxr9h/o1U4LwU6d8GeFtH7COP 8XTIZYI4BNDegHPsQzLiZgvmGQCLyilwtyyptLOFRTM9sndmUuMr23+kri7p45cNUFFr tPvkwkzU/tnjBYfEjyNuN0XOP+Zrg92i3pTeM4JrWVkcSEWRWmaCQPYjTOFbhKTtmjza EmYw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id m128-20020a1ca386000000b0038ca3a3b9a9si223172wme.2.2022.03.25.03.32.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 25 Mar 2022 03:32:27 -0700 (PDT) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from baighyz.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 22PAWQZW030611 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 25 Mar 2022 11:32:27 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v3 0/5] Improving base-apt usage PoC Date: Fri, 25 Mar 2022 11:32:21 +0100 Message-Id: <20220325103226.27033-1-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: KjOkIIubESQH Currently, base-apt is used in the following way: * At first build every deb file that took part in installing is cached in directory $DL_DIR/deb/. Debootstrap is done from remote source. * At second build, `base-apt` repo is created from previously downloaded debs (if ISAR_USE_CACHED_BASE_REPO is set). Debootstrap and installing packages later is done from this local repo The idea of this patchset is to precreate `base-apt` at first build and use it later for all steps that require any package downloads (build dependencies. rootfs populate, etc). So, no second build is required to get ready-to-use base-apt. Currently, only native builds are supported. Architecture related dependencies predownloading is not yet ready, so cross-builds are not working at the moment. In the future, there are plans to switch from debootstrap to mmdebstrap that is able to work without sudo and uses more clean (apt/python-apt) approach in comparison with debootstrap. Changes since v2: - populate base-apt before using at all steps of native build. Changes since v1: - rebased on latest next; - updated patchset description. Uladzimir Bely (5): Add debrepo python script handling base-apt meta: Use cached base-apt repo to debootstrap meta: always use base-apt repo in local mode base-apt: Predownload packages to base-apt before install. draft: make isar-apt repo visible for base-apt meta-isar/conf/distro/ubuntu-focal.conf | 4 + meta-isar/conf/distro/ubuntu.public.key | 53 +++ meta/classes/buildchroot.bbclass | 10 +- meta/classes/dpkg-base.bbclass | 8 + meta/classes/dpkg-gbp.bbclass | 7 + meta/classes/dpkg.bbclass | 7 + meta/classes/image-locales-extension.bbclass | 7 + meta/classes/image-tools-extension.bbclass | 7 + meta/classes/rootfs.bbclass | 30 +- .../isar-bootstrap/isar-bootstrap.inc | 59 ++- scripts/debrepo | 363 ++++++++++++++++++ 11 files changed, 526 insertions(+), 29 deletions(-) create mode 100644 meta-isar/conf/distro/ubuntu.public.key create mode 100755 scripts/debrepo -- 2.20.1