From nobody Fri Jan 20 10:14:23 2023 X-Original-To: freebsd-ports@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 4NywMv5Y9qz2t7Tc for ; Fri, 20 Jan 2023 10:14:35 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NywMv52Vmz3D2s for ; Fri, 20 Jan 2023 10:14:35 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674209675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=24mZGQY0Sq2r/FYDQ/3LBSnr2XWnL1x0X4LTurMAI60=; b=L7dXEvF65HqAKAGK1ruBHTlKRXXagUiosll+lK0J9r9+VUv2hKFTnSR9wxVStlmeD8sXWe SC3lGI6UOhDm+mWnTbYLr5ChZiLye7YxJmzbgsRxK3in4WDV4Ih7mVYJncYZomOBQOgKAf /5lppzEtUotOZydw/bH+Jw5TAkuH6YJAyeSFbOKQa0l/8dwZBtV0MPwctTWNgQko8GWRaP cBETN4K95DPtGxCJtRBGNjWhkFheMblvJg7TJh9v2tcyonxs8pg3xb6JHVH/dVL81nVhh+ mh0Zq+m3t4fJ0pL8VIXoj8c5T1vdKj0iVMncjr/QVdCBpIkaAfpOHdbNxlfNVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674209675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=24mZGQY0Sq2r/FYDQ/3LBSnr2XWnL1x0X4LTurMAI60=; b=Ap8frypd4lsQ4tIdIL4Z83rBcBhVcfsjswt3q0g+SevJf0aufrEL+80xjx4B/Dj28b/L1O miEH4/o82WkowNmWwno/EzG2uKVvZLtsNOf7X2J+9xi7uSoDeP1/gSefUWogBDXhwSX9Nm hRdpitpEaHB2oQhHlvHV9BvbZKuavQSF0t1sJRY1ds6qM8A2+xSVkcZYXFSFE7ytfyV/5d GGDCLcAMKp8ZJVfAFDUpUYC3XppDu+gWqZpCsmWrv9/BeyFREa0HKpXF66ZNW37+hXRQKq kSPwi/deqLxgOGDLePseEL/V2JddSHFLzmUDbG6k7RK2h2yzQHtlzjdpWACNFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674209675; a=rsa-sha256; cv=none; b=dFcheQq8GuWH4MdEEhdD5w1Z6Y9t5LmiXPwdyelNnWW7rYvf0PlgVpNU21PtiutLYX1hdU XbEQVg3FgVUBUxsVIIgTUOQY2l31oJkc0t4ddtEempsNjuTCyAtI2GRColK0eVmK+K05xI CCoD7O8om0YkmG18KUd5Ev82kHBomJ2y8KZ+I/xefqKLWNMEJ5M+FgY+zuTD6L8m1De7jp Ij8Lbd92iwVrgFpnBqP2oe6H0ncHDhfBdk4ljQTQQw7ah3h7FB3ZS9mMHbpJmVRdOuVds1 D36ZHYcFbrAtrg81vvvhY9p+O22dfAasU1lFcn+ZyxwutVcF20a22B3ky+U9jQ== Received: from mail-vs1-f48.google.com (mail-vs1-f48.google.com [209.85.217.48]) (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)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4NywMv3xywz17Kn for ; Fri, 20 Jan 2023 10:14:35 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-vs1-f48.google.com with SMTP id i185so5137692vsc.6 for ; Fri, 20 Jan 2023 02:14:35 -0800 (PST) X-Gm-Message-State: AFqh2kqsDLwNY14lV8QEwakygvXlwL70ocP22KJ5Y/ZlvAMAi87IoPEO HxD2fjIjilMMv31RiIzd1faJbwaoLLu3wZUFnhk= X-Google-Smtp-Source: AMrXdXtVZ4Muj0dDuln23lWCTjfc1BLqQ5Vy2vr0zKTroIbpgi5NFjn7gmYKWcp/KzcNb7CnmZ3s/CbDI4mh/Q9UEzw= X-Received: by 2002:a67:ea0d:0:b0:3cb:88c6:293b with SMTP id g13-20020a67ea0d000000b003cb88c6293bmr2009780vso.53.1674209675127; Fri, 20 Jan 2023 02:14:35 -0800 (PST) List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 References: In-Reply-To: From: Nuno Teixeira Date: Fri, 20 Jan 2023 10:14:23 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [through-able] poudriere: I don't want to rebuild rust with PORTREVISION bump of curl To: Tatsuki Makino Cc: "freebsd-ports@FreeBSD.org" Content-Type: multipart/alternative; boundary="000000000000f7352305f2af504c" X-ThisMailContainsUnwantedMimeParts: N --000000000000f7352305f2af504c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Other trick for those using -devel (-b latest||quarterly) is to start building until dependency is done, stop poudriere and restart it. Next build will use rust-1.66.1 from cache without rebuild it. :) Cheers Tatsuki Makino escreveu no dia sexta, 20/01/2023 =C3=A0(s) 08:40: > Hello. > This is an unimportant topic that may or may not be useful and can be > skipped :) > > Today, our poudriere would have output the following > > [00:01:24] [Dry Run] Deleting rust-1.66.1.pkg: missing dependency: > curl-7.87.0 > > This causes my poudriere to spend 4 hours rebuilding rust. > Not long ago, my poudriere spent 6.5 hours rebuilding gcc12 because of > mpfr :) > > I experimented with ways around this. > > # Extract +COMPACT_MANIFEST and +MANIFEST > tar -x -v -f > /usr/local/poudriere/data/packages/jailname-default/All/rust-1.66.1.pkg -= C > /tmp/ -- +COMPACT_MANIFEST +MANIFEST > # Substitute 7.87.0 and 7.87.0_1 in curl > # If 7.87.0 only appeared once, it might be easy to do using sed or > something, but here I did it with vi to be sure :) > vi /tmp/+COMPACT_MANIFEST /tmp/+MANIFEST > # Create a new package... somewhat strange command :) > tar -c -f - --exclude +\*MANIFEST > @/usr/local/poudriere/data/packages/jailname-default/All/rust-1.66.1.pkg = | > tar -c -v -f /tmp/rust-1.66.1.pkg -J -C /tmp/ +COMPACT_MANIFEST +MANIFEST= @- > # Copy owner and permissions > chmod `stat -f %Mp%Lp > /usr/local/poudriere/data/packages/jailname-default/All/rust-1.66.1.pkg` > /tmp/rust-1.66.1.pkg > chown `stat -f %u:%g > /usr/local/poudriere/data/packages/jailname-default/All/rust-1.66.1.pkg` > /tmp/rust-1.66.1.pkg > # Move the completed package > mv /tmp/rust-1.66.1.pkg > /usr/local/poudriere/data/packages/jailname-default/All/ > > The replaced rust-*.pkg is no longer included in rebuild queue :) > And after this, the build of graphics/librsvg2-rust succeeded without any > problems. > > It uses the following behavior: > poudriere uses the following command to check dependencies > pkg query -F somepackage-0.pkg '%do %dn-%dv' > The -F option of pkg-query opens the package with pkg_open2 function in > pkg-1.19.0/libpkg/pkg.c. > +COMPACT_MANIFEST and +MANIFEST are read in priority to the nearest the > beginning of the package archive. > > If you break a RUST package, give up and rebuild it :) > poudriere bulk -j jailname -C lang/rust > ... 4 hours :) > > Thank you for reading :) > Regards. > > --=20 Nuno Teixeira FreeBSD Committer (ports) --000000000000f7352305f2af504c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Other trick for those using -devel (-b latest||quarte= rly) is to start building until dependency is done, stop poudriere and rest= art it. Next build will use rust-1.66.1 from cache without rebuild it. :)

Cheers

Tatsuki Makino <tatsuki_makino@hotmail.com> escreveu = no dia sexta, 20/01/2023 =C3=A0(s) 08:40:
Hello.
This is an unimportant topic that may or may not be useful and can be skipp= ed :)

Today, our poudriere would have output the following

[00:01:24] [Dry Run] Deleting rust-1.66.1.pkg: missing dependency: curl-7.8= 7.0

This causes my poudriere to spend 4 hours rebuilding rust.
Not long ago, my poudriere spent 6.5 hours rebuilding gcc12 because of mpfr= :)

I experimented with ways around this.

# Extract +COMPACT_MANIFEST and +MANIFEST
tar -x -v -f /usr/local/poudriere/data/packages/jailname-default/All/rust-1= .66.1.pkg -C /tmp/ -- +COMPACT_MANIFEST +MANIFEST
# Substitute 7.87.0 and 7.87.0_1 in curl
# If 7.87.0 only appeared once, it might be easy to do using sed or somethi= ng, but here I did it with vi to be sure :)
vi /tmp/+COMPACT_MANIFEST /tmp/+MANIFEST
# Create a new package... somewhat strange command :)
tar -c -f - --exclude +\*MANIFEST @/usr/local/poudriere/data/packages/jailn= ame-default/All/rust-1.66.1.pkg | tar -c -v -f /tmp/rust-1.66.1.pkg -J -C /= tmp/ +COMPACT_MANIFEST +MANIFEST @-
# Copy owner and permissions
chmod `stat -f %Mp%Lp /usr/local/poudriere/data/packages/jailname-default/A= ll/rust-1.66.1.pkg` /tmp/rust-1.66.1.pkg
chown `stat -f %u:%g /usr/local/poudriere/data/packages/jailname-default/Al= l/rust-1.66.1.pkg` /tmp/rust-1.66.1.pkg
# Move the completed package
mv /tmp/rust-1.66.1.pkg /usr/local/poudriere/data/packages/jailname-default= /All/

The replaced rust-*.pkg is no longer included in rebuild queue :)
And after this, the build of graphics/librsvg2-rust succeeded without any p= roblems.

It uses the following behavior:
poudriere uses the following command to check dependencies
pkg query -F somepackage-0.pkg '%do %dn-%dv'
The -F option of pkg-query opens the package with pkg_open2 function in pkg= -1.19.0/libpkg/pkg.c.
+COMPACT_MANIFEST and +MANIFEST are read in priority to the nearest the beg= inning of the package archive.

If you break a RUST package, give up and rebuild it :)
poudriere bulk -j jailname -C lang/rust
... 4 hours :)

Thank you for reading :)
Regards.



--
Nun= o Teixeira
FreeBSD Committer (ports)
--000000000000f7352305f2af504c--