Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
apk-tools
apk-tools
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 60
    • Issues 60
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 13
    • Merge Requests 13
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • alpine
  • apk-toolsapk-tools
  • Issues
  • #2135

Closed
Open
Opened Jul 16, 2013 by Natanael Copa@ncopaOwner
  • Report abuse
  • New issue
Report abuse New issue

moving .so files to subpackage makes apk-tools up in endless loop

Example:
harfbuzz-0.9.18-r0 provides so:libharfbuzz-icu.so.0

The package gets splitted, so harfbuzz-icu-0.9.18-r1 provides so:libharfbuzz-icu.so.0

If both packages are in repository apk will end up in an endless loop:

...
reconsider_name: harfbuzz-icu
queue_unresolved: harfbuzz-icu, want=1
apply_constraint: so:libc.so.0.9.32?
apply_constraint: provider: libc-0: 1
libc-0.9.33.2-r22: tag_ok=1, tag_pref=1
apply_constraint: so:libgcc_s.so.1?
apply_constraint: provider: libgcc-1: 1
libgcc-4.8.1-r1: tag_ok=1, tag_pref=1
apply_constraint: provider: libgcc-1: 1
libgcc-4.8.1-r1: tag_ok=1, tag_pref=1
apply_constraint: so:libharfbuzz.so.0?
apply_constraint: provider: harfbuzz-0.918.0: 1
harfbuzz-0.9.18-r1: tag_ok=1, tag_pref=1
apply_constraint: provider: harfbuzz-0.918.0: 1
harfbuzz-0.9.18-r0: tag_ok=1, tag_pref=1
apply_constraint: so:libicudata.so.51?
apply_constraint: provider: icu-libs-51.2: 1
icu-libs-51.2-r0: tag_ok=1, tag_pref=1
apply_constraint: provider: icu-libs-51.2: 1
icu-libs-51.2-r0: tag_ok=1, tag_pref=1
apply_constraint: so:libicuuc.so.51?
apply_constraint: provider: icu-libs-51.2: 1
icu-libs-51.2-r0: tag_ok=1, tag_pref=1
apply_constraint: provider: icu-libs-51.2: 1
icu-libs-51.2-r0: tag_ok=1, tag_pref=1
apply_constraint: so:libm.so.0.9.32?
apply_constraint: provider: libc-0: 1
libc-0.9.33.2-r22: tag_ok=1, tag_pref=1
apply_constraint: so:libstdc++.so.6?
apply_constraint: provider: libstdc++-6.0.18: 1
libstdc++-4.8.1-r1: tag_ok=1, tag_pref=1
apply_constraint: provider: libstdc++-6.0.18: 1
libstdc++-4.8.1-r1: tag_ok=1, tag_pref=1
so:libharfbuzz-icu.so.0 must provide harfbuzz-icu
disqualify_package: harfbuzz-0.9.18-r0 (provides transitivity)
queue_dirty: harfbuzz-icu
reconsider_name: harfbuzz-icu [finished], has_options=0, reverse_deps_done=1
reconsider_name: harfbuzz-icu
queue_unresolved: harfbuzz-icu, want=1
...

What happens is that when harfbuzz-0.9.18-r0 (provides transitivity) gets disqualified during exclude_non_providers it will be queued as dirty and reconsidered again.

(from redmine: issue id 2135, created on 2013-07-16, closed on 2013-10-02)

  • Changesets:
    • Revision ec3b11dc1bec500609eebdd951720b3836e68d8c by Natanael Copa on 2013-07-16T10:25:28Z:
main/apk-tools: fix to not hang when splitting -libs packages

also fix segault when --root dir is invalid and rename lua-apk to
lua5.2-apk.

ref #2134
ref #2135
  • Revision ed060911 by Natanael Copa on 2013-07-17T07:31:40Z:
solver: do not disqualify already disqualified packages

We should not disqualify non-selectable packages as it would mark it as
dirty, forcing it to reconsider the name again, which could end up in
an endless loop.

fixes #2135
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
3
Labels
Bug Closed Normal
Assign labels
  • View project labels
Reference: alpine/apk-tools#2135