Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

Integrating SMT solver into Portage

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
3 posts • Page 1 of 1
Author
Message
Hexorg
Tux's lil' helper
Tux's lil' helper
Posts: 117
Joined: Thu Oct 29, 2009 2:54 am

Integrating SMT solver into Portage

  • Quote

Post by Hexorg » Wed Dec 10, 2025 2:45 am

Hello all, it's that time of the year again - another post about wanting to improve portage. I actually did it... Sort of.

I'm currently failing 179/259 unit tests, but for installing generic packages - it works and is ~2x faster than the native method.

I'm going to have to expand the search space to allow portage to reason about uninstalling the packages, so that 2x can go down, but the good news is that actual solving is nearly instantaneous (~0.004s) What takes a long time is to build the actual SMT equation - I need to iterate over all of the installed packages and add different DEPEND/RDEPEND variables.

I've reached out to #gentoo-portage on IRC and someone there suggested I write a blog post about my dealings with the beast so here it is

I'm all ears about your thoughts on my methodology. It's a lot less trivial than I anticipated.
Top
b11n
Guru
Guru
User avatar
Posts: 303
Joined: Wed Mar 26, 2003 8:15 am
Location: New Zealand

  • Quote

Post by b11n » Wed Dec 10, 2025 4:22 am

that's a really good write-up, thanks for sharing it
Is there gas in the caaaaar?
Yes, there's gas in the caaaar
Top
szatox
Advocate
Advocate
Posts: 3858
Joined: Tue Aug 27, 2013 12:35 pm

  • Quote

Post by szatox » Wed Dec 10, 2025 12:36 pm

Wow, that's a good piece, well done!
Complete search: Z3 explores the entire solution space mathematically
Proof generation: Z3 can explain why no solution exists (UNSAT cores)
This looks great, and I suppose that searching for the best solution could reduce impact of merge history on current state, and also opens the door to improving on
Minimal relaxation: Find smallest set of changes needed
The smallest set of changes can mean different things to different people, but it seems this could actually offer several options to choose from.
Make Pipewire a system service
Top
Post Reply

3 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic