public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH] classes/repository: use the proper filename to find the packages under repo
@ 2024-11-16 17:28 srinuvasan.a via isar-users
  2024-11-16 17:38 ` 'cedric.hombourger@siemens.com' via isar-users
  2024-11-16 23:54 ` 'cedric.hombourger@siemens.com' via isar-users
  0 siblings, 2 replies; 8+ messages in thread
From: srinuvasan.a via isar-users @ 2024-11-16 17:28 UTC (permalink / raw)
  To: isar-users; +Cc: jan.kiszka, cedric.hombourger, srinuvasan

From: srinuvasan <srinuvasan.a@siemens.com>

The very first time when we generate the base-apt the REPO_BASE_DIR
is empty, it doesn't contain any packages, hence repo_contains_package
function returns 2, based on the return value (2), we are adding all the
packages to the empty repo by calling the repo_add_packages function.

After clearing the temporary and cache files, when we retrigger the base-apt
we should skip the repo_add_packages function for all the packages (assume that
repo packages are not contaminated), but we observed repo_contains_function
says some of the packages not available in the existing repo, but really those
packages available in the repo.

Here the issue is, reprepro caching all the packages by skipping the
epoch version if any packages have, and all the packages contain only the
<upstream_version>-<debian_version>.

But in the download folder , few packages contain the epoch version,
f.e: automake, git-man, ssh, now we try to find the packages with
epoch version in APT repo, but APT repos skip the epoch version
during repo generation.

With that wrong finding again we are calling the repo_add_package
function for few packages, even those packages already available in the repo.

Skip the epoch version during finding the packages in the repo, with that we can eliminate
unnecessarily adding the packages to repo.

Signed-off-by: srinuvasan <srinuvasan.a@siemens.com>
---
 meta/classes/repository.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes/repository.bbclass b/meta/classes/repository.bbclass
index 28e712fd..7379658d 100644
--- a/meta/classes/repository.bbclass
+++ b/meta/classes/repository.bbclass
@@ -99,7 +99,8 @@ repo_contains_package() {
     local file="$2"
     local package
 
-    package=$(find ${dir} -name ${file##*/})
+    file_name=$(echo "${file##*/}" | sed 's/[0-9]%3a//g')
+    package=$(find ${dir} -name ${file_name})
     if [ -n "$package" ]; then
         # yes
         cmp --silent "$package" "$file" && return 0
-- 
2.39.5

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20241116172900.897898-1-srinuvasan.a%40siemens.com.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-11-27  7:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-16 17:28 [PATCH] classes/repository: use the proper filename to find the packages under repo srinuvasan.a via isar-users
2024-11-16 17:38 ` 'cedric.hombourger@siemens.com' via isar-users
2024-11-16 23:54 ` 'cedric.hombourger@siemens.com' via isar-users
2024-11-17  7:10   ` 'Arjunan, Srinu' via isar-users
2024-11-17 15:45   ` [PATCH v2] " srinuvasan.a via isar-users
2024-11-20  6:05     ` Uladzimir Bely
2024-11-20  9:32       ` [PATCH v3] " srinuvasan.a via isar-users
2024-11-27  7:25         ` Uladzimir Bely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox