From patchwork Thu Jul 28 11:21:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robin Roevens X-Patchwork-Id: 5769 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4LtpCZ1Gqvz3wvM for ; Thu, 28 Jul 2022 11:22:34 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4LtpCT0vx5z1Q0; Thu, 28 Jul 2022 11:22:29 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4LtpCS4DBnz30H2; Thu, 28 Jul 2022 11:22:28 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4LtpCR5VQNz2yVB for ; Thu, 28 Jul 2022 11:22:27 +0000 (UTC) Received: from knopi.disroot.org (knopi.disroot.org [178.21.23.139]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mail01.ipfire.org (Postfix) with ESMTPS id 4LtpCQ4QPtzq1 for ; Thu, 28 Jul 2022 11:22:26 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 8F97140DAC for ; Thu, 28 Jul 2022 13:22:24 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OinTtuSii6FI for ; Thu, 28 Jul 2022 13:22:23 +0200 (CEST) Received: from chojin.sicho.home (amaterasu.sicho.home [192.168.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (no client certificate requested) (Authenticated sender) by hachiman (MailScanner Milter) with SMTP id 2E89A560A7; Thu, 28 Jul 2022 13:21:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1659007340; bh=zncqc1XpUoHk0j3Hy+7Fkcny1pWLPaWJ1/9nVGNPhw0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=dihGY18ubrx8+Y9zvBuJDOIn+ArC1SbQUNa6hKk9LMn0bEeV5UnMkgbiSPWwl4kOQ fPRWcQlBhhVkpLDmZ4BtTESZygL/zmdeN8FlkeEVgVSrCzlI7hyPbOQpEOcDXLj0Gr GavVCxultfnBlL2XXpCJthsIIqOQuJ6lgKFOCSYnDr1sLpbThfs80/lWMh+f6oq5oY az8nlr7zzpZUpEy2Jv5KH2gE310l1efahyevL1aBy5CGtGo3N4flRs1mcIj4ePmdxo l6ZQvjTUBAk5f6EvkpxpfIykMYiVjpxyRcOUstH7202QJOyOhVONoVwOcL4iB4ce45 e58TQK+xKWVzw== From: Robin Roevens To: development@lists.ipfire.org Subject: [PATCH v2 03/10] pakfire: Replace duplicate code with dblist functioncall Date: Thu, 28 Jul 2022 13:21:29 +0200 Message-Id: <20220728112136.30218-4-robin.roevens@disroot.org> In-Reply-To: <20220728112136.30218-1-robin.roevens@disroot.org> References: <20220728112136.30218-1-robin.roevens@disroot.org> Mime-Version: 1.0 X-sicho-MailScanner-ID: 2E89A560A7.A8A80 X-sicho-MailScanner: Found to be clean X-sicho-MailScanner-From: robin.roevens@disroot.org X-sicho-MailScanner-Watermark: 1659612114.72555@1uT0Nlh+Xi+Wc5uLxj/gQQ ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=lists.ipfire.org; s=202003rsa; t=1659007346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=aKhmZDXMSAY5i5ZQp234wQtO4QFcQ9mqF4Eb9FUM+o8=; b=VxaWyVTz012GtTG18+SHRbnC2AAbDzu9t1dN3FESVDMamvK3rgfr7kLKPq5y7XmhfgkyPH E1R0IoylAYDN1bLZhp6pswvTi43PPFT8zUXefw7aJl2LARRM2h6a4Qo463BLQsbV1h7yiA buh2yagpMqBfwHZFZnlZe1IB5N8MBa86ORJ3BLYDvLMQ2dozN5X9fir4AFSli2rZ9QrUqw 5YkNfA4qsz2Y4d7a7m3JC+TGoupahMkRScJzYo0dNuhfUalNTz4OfthKYxMR0he7MEZCyq QOvz/D4/dmgfu8qRjxHT28syaKW/8SK2x3GOCv9FslUzC0la3+TdP149sK1GDw== ARC-Authentication-Results: i=1; mail01.ipfire.org; dkim=pass header.d=disroot.org header.s=mail header.b=dihGY18u; dmarc=pass (policy=quarantine) header.from=disroot.org; spf=pass (mail01.ipfire.org: domain of robin.roevens@disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=robin.roevens@disroot.org ARC-Seal: i=1; s=202003rsa; d=lists.ipfire.org; t=1659007346; a=rsa-sha256; cv=none; b=PfLlAQMMMvf2s8MW/ShtDU4mh6AkLcrQRrQP5ftqYHNioR45F3FI/ZyYE1/miznLVsrxSa ggyA8+a8iWZ3lRdg0DRrtQ9Xy0wH524EG+qkPWSzwl208aDNJfL0n6sm6yG5z69bOeINO1 FsB8wdxtyif4RpZoIf6pzYJ+5+WwSV/LksRHroV0nAe5BuOfTy9d1XBCp5VT3+sm7plNyM /3jhqINvlWEsbX77F55ZUMqa0/2XDlgYnVI40+fPjYV/S+rs5mMz/vN3b/dmJOgsAPVxI5 VXbHETqtXajm7aixV+DtC7e60f4soJiojmzfSRZJXa291Jldit3o0h2DjmqQcg== X-Rspamd-Queue-Id: 4LtpCQ4QPtzq1 Authentication-Results: mail01.ipfire.org; dkim=pass header.d=disroot.org header.s=mail header.b=dihGY18u; dmarc=pass (policy=quarantine) header.from=disroot.org; spf=pass (mail01.ipfire.org: domain of robin.roevens@disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=robin.roevens@disroot.org X-Rspamd-Server: mail01.haj.ipfire.org X-Spamd-Result: default: False [-3.84 / 11.00]; BAYES_HAM(-3.00)[99.99%]; NEURAL_HAM(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; SPF_REPUTATION_HAM(-0.82)[-0.81830489729047]; DMARC_POLICY_ALLOW(-0.50)[disroot.org,quarantine]; MV_CASE(0.50)[]; R_MISSING_CHARSET(0.50)[]; R_SPF_ALLOW(-0.20)[+a]; R_DKIM_ALLOW(-0.20)[disroot.org:s=mail]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; IP_REPUTATION_HAM(-0.01)[asn: 50673(0.00), country: NL(-0.01), ip: 178.21.23.139(0.00)]; ARC_SIGNED(0.00)[lists.ipfire.org:s=202003rsa:i=1]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_THREE(0.00)[4]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; ASN(0.00)[asn:50673, ipnet:178.21.23.0/24, country:NL]; PREVIOUSLY_DELIVERED(0.00)[development@lists.ipfire.org]; DKIM_TRACE(0.00)[disroot.org:+]; RCPT_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[] X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" Replace pakfire install code duplicating dblist working with call to actual dblist function. Signed-off-by: Robin Roevens --- src/pakfire/pakfire | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/src/pakfire/pakfire b/src/pakfire/pakfire index b4930e85d..f23110cf5 100644 --- a/src/pakfire/pakfire +++ b/src/pakfire/pakfire @@ -107,42 +107,30 @@ ### Make sure that the list is not outdated. &Pakfire::dbgetlist("noforce"); - open(FILE, "<$Conf::dbdir/lists/packages_list.db"); - my @db = ; - close(FILE); + my %paklist = &Pakfire::dblist("all"); my $dep; my @deps; my $pak; my @paks; my @temp; - my @templine; - my $found = 0; my $return; my @all; foreach $pak (@ARGV) { unless ("$pak" =~ "^-") { - $return = &Pakfire::isinstalled($pak); - if ($return eq 0) { - &Pakfire::message("PAKFIRE INFO: $pak is already installed"); - next; - } - $found = 0; - foreach (@db) { - @templine = split(/;/,$_); - if ("$templine[0]" eq "$pak" ) { - push(@paks,$pak); - push(@all,$pak); - @temp = &Pakfire::resolvedeps("$pak"); - foreach $dep (@temp) { - push(@deps,$dep) if $dep; - push(@all,$dep) if $dep; - } - $found = 1; - break; + if (defined $paklist{$pak}) { + if ("$paklist{$pak}{'Installed'}" eq "yes") { + &Pakfire::message("PAKFIRE INFO: $pak is already installed"); + next; } - } - if ($found == 0) { + push(@paks,$pak); + push(@all,$pak); + @temp = &Pakfire::resolvedeps("$pak"); + foreach $dep (@temp) { + push(@deps,$dep) if $dep; + push(@all,$dep) if $dep; + } + } else { &Pakfire::message(""); &Pakfire::message("PAKFIRE WARN: The pak \"$pak\" is not known. Please try running \"pakfire update\"."); }