Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements to install algorithm #164

Merged
merged 18 commits into from
Feb 27, 2018
Merged

Conversation

Morganamilo
Copy link
Contributor

@Morganamilo Morganamilo commented Feb 20, 2018

This is the third big change to the install algorithm. The main changes are:

This is probably not bug free. I would make a new release before merging. Then we can merge it here to make it more available for testing. And bug fixes.

As usual see commits for more info.

@Jguer
Copy link
Owner

Jguer commented Feb 20, 2018

Yes, releasing a new version before merging this.

For linting I normally gofmt the code, goimports, and normally do a small check with gometalinter

After merging this patch, some feature freezing should be done until the release of the next version and focus mostly on code quality, implementation testing and exception handling

@Morganamilo
Copy link
Contributor Author

Yeah feature freeze is probably a good idea, although there's so much I always want to add. I'm really happy with how far yay has come though. At some point between #105 and #152 I started using yay over pacaur and I consider it just as good for installs.

Also we're probably safe to make reliable solver and split packages yes on the wiki page probably right now but I'm holding of for the next release with this merged just to be safe.

I managed to install ros-lunar-desktop-full which has something like 250 dependencies in its tree and only 2 failed to install but that was due to bad pkgbuilds.

Also are you considering a major version bump anytime soon? I was thinking we probably should have done one for #105 but that's passed now so maybe the first release with this merged in will be V3.xxx?

@Jguer
Copy link
Owner

Jguer commented Feb 20, 2018

Yes, 303 should have been a version bump because it broke command line syntax, but I forgot 😢

Ros is still the biggest pain for me, last time I gave up and just booted up a nspawn with Ubuntu.

Getting a good testing framework would be my priority right now. Maybe small localized conveniences can be added as well during this cycle but avoiding large refractions which normally brake smaller details.

@Morganamilo
Copy link
Contributor Author

When it comes to ros:

  • sdformat has a misplaced comma in the depends array so gopkgbuild errors (correctly) that it's invalid
  • pcl failed to build without netcdf installed even though it's not listed in the deps

Install those two manually and yay -S rod-lunar-desktop-full should build. Took like 5 hours in a vm cause it only had one core which was painful. Would be nice to maybe get a --dummybuild flag that skips the build and builds an empty package with the correct meta data. Would sure speed that up.

Testing is needed but I don't really know how to go about it for the online stuff. The aur is ever changing so testing a -S or -Syu would be difficult.

Would it be too much to ask to add me as a collaborator? Would be nice to be able to close issues and merge the small PRs. Releases and the bigger PRs I would still want feedback on first though.

@Jguer
Copy link
Owner

Jguer commented Feb 20, 2018

Sure thing, your code has always been of good quality and vision. Can you email me your preferred form of contact? I've been thinking of setting up a https://gitter.im/ but I don't know if it's justified yet

@Morganamilo
Copy link
Contributor Author

I've never actually used gitter or slack or anything of the sort so your guess is as good as mine.

@Morganamilo
Copy link
Contributor Author

@Jguer Looks like you're finally back. Current plan is: vendor update, merge bugfixes, push release, merge pending prs, go into code freeze.

@Jguer
Copy link
Owner

Jguer commented Feb 27, 2018

Yes, had some time off unplugged, back to work now. Filling in change log. We talked about bumping this release to v3 or the next one?

@Morganamilo
Copy link
Contributor Author

Up to you. #168 Is good to merge but changes the definition of -Pd which you want to merge as part of the v3 release right? I think that's the last one to merge right now anyway so either do or don't then it's time for a release.

@Jguer
Copy link
Owner

Jguer commented Feb 27, 2018

Stable base back for breaking, hopefully

Warns for orphans, out of date and missing
Respects requestsplitn in config
This also improves the dependency by switching to stringSets for some
structures that previously contained duplicates.
This commit mostly focuses on merging the install() and upgradePkgs()
functions to be more integrated. Instead of both making their own aur
queries they now both combine theyre needes into one query. This gives
us a speed up and allows us to easily print orphands, misising and out
of date in one clean block.
Instead of printing each warning on a seperate line, group up the
warnings by type (missing, orphan, out of date) and display each
group on its own line.
Exit after parsing srcinfo with db do it actually does something.
when using gendb dont bother generating srcinfos.
Improved the formatting for some things mainly downloading and parsing.
Ignorepkg also colours version differences like the upgrade menu
Tweaked formatting when asking for users to eneter number
Note when installing CheckDepends are still refered to as MakeDepends.
They are both only needed during build time so technically that is
correct. I don't see much of a use creating a third field so I'm leaving
it as is for now.
The -s was kept aroung because the package base `python-virtualfish`
failed to build without it. I first blamed this on some aur rpc bug
because it was missing some deps that were listed in python-virtualfish.
As is turned out python-virtualfish actually does some things wrong in
it's package build and if it was formated correctly this wouldnt be
a problem.

I kept the -s in just so it would build even though it might have had
some side affects. makepkg not respecting the --dbpath for example.

From now on python-virtualfish will fail to build when you dont have all
the deps installed. This is their fault and will not be fixed here.
The old message was probably easy to confuse with the `replaces` term.
@Morganamilo
Copy link
Contributor Author

This seems relatively bug free. I'm just looking over it again and tweaking some stuff before I merge.

@Jguer
Copy link
Owner

Jguer commented Feb 27, 2018

Ok, feel free to merge whenever you're ready.

Ask clean builds is now asked early and remembers what you choose when
the install finishes.
Fixup "there is nothing to do" message.
@Morganamilo
Copy link
Contributor Author

It looks about ready for wider testing. The next big change after this is probably going to be number menus on askedit and askclean and maybe yes/no/abort questions.

@Morganamilo Morganamilo merged commit 005635b into Jguer:master Feb 27, 2018
@Morganamilo Morganamilo deleted the warnings branch February 27, 2018 03:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Updating and installing nonexisting package don't work AUR check dependency not installed
2 participants