From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 562ED138334 for ; Wed, 12 Jun 2019 14:57:07 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A5986E0916; Wed, 12 Jun 2019 14:57:04 +0000 (UTC) Received: from km35626.keymachine.de (text-idiomas.com [87.118.86.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5E6E1E0901 for ; Wed, 12 Jun 2019 14:57:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by km35626.keymachine.de (Postfix) with ESMTP id 02B4F11224C2 for ; Wed, 12 Jun 2019 16:57:02 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at km35626.keymachine.de. Received: from km35626.keymachine.de ([127.0.0.1]) by localhost (km35626.keymachine.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id trlxSFPWumfU for ; Wed, 12 Jun 2019 16:57:00 +0200 (CEST) Received: from grusum.endjinn.de (i59F4B180.versanet.de [89.244.177.128]) by km35626.keymachine.de (Postfix) with ESMTPSA id 5B87C11220BD for ; Wed, 12 Jun 2019 16:57:00 +0200 (CEST) Received: by grusum.endjinn.de (Postfix, from userid 500) id 270041701E3; Wed, 12 Jun 2019 16:56:26 +0200 (CEST) Date: Wed, 12 Jun 2019 16:56:52 +0200 From: David Haller To: gentoo-user-de@lists.gentoo.org Subject: Re: [gentoo-user-de] Manuelles Patchen bei emerge? Message-ID: <20190612145652.feq5cf3275uvrx3w@grusum.endjinn.de> Mail-Followup-To: gentoo-user-de@lists.gentoo.org References: <20190612111907.dsagxwcmhur2nyhi@grusum.endjinn.de> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user-de@lists.gentoo.org Reply-to: gentoo-user-de@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="vqjif7avo6nhoqyw" Content-Disposition: inline In-Reply-To: Organization: Nah, not today! X-Clacks-Overhead: GNU Terry Pratchett User-Agent: NeoMutt/20170609 (1.8.3) X-Archives-Salt: 169ed293-ea7a-45d1-9cb4-08485cedfc50 X-Archives-Hash: 83007b958de6009b91628726386df97f --vqjif7avo6nhoqyw Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hallo, Am Wed, 12 Jun 2019, Felix Kuperjans schrieb: >Am 12.06.19 um 15:09 schrieb Matthias Hanft: >> * Applying vdr-epgsearch-2.2.0-no_erase_of_iterator_inside_loop.patch .= =2E. >> 2 out of 2 hunks FAILED -- saving rejects to file conflictcheck.c.rej=20 > >Du kannst in dieser Datei mal nachgucken, was mit deinem Patch nicht >funktionierte. Aus irgendeinem Grund l=E4sst er sich nicht auf den >Quelltext anwenden. > >Der Workspace m=FCsste noch in /var/tmp/portage/ liegen, ansonsten noch >ein cooler Trick, um den Workspace zu bekommen: > >ebuild filepath.ebuild prepare > >erstellt dir in /var/tmp/portage (oder was du als PORTAGE_TMPDIR >konfiguriert hast) den Workspace, so dass du selber darauf rumpatchen >kannst (prepare im Gegensatz zu unpack wendet auch Gentoo Patches >bereits an sowie deine Patches aus /etc/portage/patches). >Um dann einen neuen Patch zu erstellen, ist git sehr hilfreich, wie in >diesem Howto erkl=E4rt: > >https://wiki.gentoo.org/wiki/Patches > >Damit solltest du deinen Patch ins korrekte Format bringen k=F6nnen, so >dass er sich auch anwenden l=E4sst. Als Erg=E4nzung: nach dem 'ebuild foo.ebuild prepare' kann man dann noch # ebuild foo.ebuild compile # ebuild foo.ebuild package # emerge -k foo folgen lassen... ;) 'ebuild foo.ebuild merge' funktioniert auch, macht aber irgendwas anders, jedenfalls taucht z.B. ein per 'ebuild .. merge'=20 installiertes Paket nicht in 'qlop -l' auf (und/oder genlop)... Jedenfalls: der patch passt einfach nicht mehr zu den Sourcen... Ich hab den mal angepasst ("rebased"), siehe Anhang ;) HTH, -dnh --=20 [PHP ist ein] total inkonsistenter Moloch, der mehr Funktionen als Funktion= a- lit=E4t hat, bei dem aber nichts anst=E4ndig designt respektive implementie= rt ist und bei dessen Benutzung man st=E4ndlich auf der Suche nach dem Workaround = zum Workaround f=FCr den Fehler im Workaround zum Designfehler ist. -- E. Sch= wenk --vqjif7avo6nhoqyw Content-Type: text/x-patch; charset=iso-8859-15 Content-Description: vdr-epgsearch-2.2.0-no_erase_of_iterator_inside_loop_rebased.patch Content-Disposition: attachment; filename="vdr-epgsearch-2.2.0-no_erase_of_iterator_inside_loop.patch" From: David Haller Subject: [PATCH adjusted] avoid erase of iterator inside of a loop see commit 49ba796fe6298abf0ebba68a25ddfc92d3d70aad at diff -ub -purN -x '*~' a/conflictcheck.c b/conflictcheck.c --- a/conflictcheck.c 2017-05-01 21:40:19.000000000 +0200 +++ b/conflictcheck.c 2019-06-12 16:42:37.187803757 +0200 @@ -498,8 +498,8 @@ int cConflictCheck::ProcessCheckTime(cCo { if ((*it) && (*it)->stop > checkTime->evaltime) checkTime->startingTimers.insert(*it); - pendingTimers.erase(*it); } + pendingTimers.clear(); LogFile.Log(3,"attach starting timers"); // handle starting timers @@ -518,9 +518,9 @@ int cConflictCheck::ProcessCheckTime(cCo { LogFile.Log(3,"stopping timer '%s' (%s, channel %s) at %s on device %d because of higher priority", (*it2)->timer->File(), DAYDATETIME((*it2)->start), CHANNELNAME((*it2)->timer->Channel()), DAYDATETIME(checkTime->evaltime), device+1); AddConflict((*it2), checkTime, pendingTimers); - devices[device].recTimers.erase(*it2); Conflicts++; } + devices[device].recTimers.clear(); } devices[device].recTimers.insert(*it); (*it)->device = device; --vqjif7avo6nhoqyw--