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

Feature Request: add option to easily use local package #4

Open
jjedelsky opened this issue Feb 6, 2017 · 15 comments
Open

Feature Request: add option to easily use local package #4

jjedelsky opened this issue Feb 6, 2017 · 15 comments

Comments

@jjedelsky
Copy link

Something like: sudo solbuild build --replace-pkg "pkgname:path/to/pkg.eopkg".
This would make it easier to try how two packages interacts.

@ikeydoherty
Copy link
Member

Does this do anything that local repos don't already do?

@jjedelsky
Copy link
Author

It would be much easier to use.
No, it doesn't.

@joebonrichie
Copy link

I would also like the ability to have this, in some form or another. A couple of times i have been trying to package something that depends on a package than isn't in solus' repos. Therefore to actually build the package I wanted to in the first place I need to package and submit the dependency, wait and see if it gets accepted before I can finally package the application I wanted to in the first place barring some ugly shenanigans I have to do in the chroot enviroment.

In my mind I should be able to run solbuild index and then add any local packages to my builddeps

@ikeydoherty
Copy link
Member

..We support local repos. Check the profile files in this repo and the manpages :P

@joebonrichie
Copy link

Woah, apparently i'm dumb, that helps a lot. 🤦‍♂️

@ikeydoherty
Copy link
Member

xD happens :P maybe i could set up some tutorials for this

@sunnyflunk
Copy link
Contributor

Local repos have now been simplified greatly and documented for very easy use and integration with the current tooling. This configuration package will be available to install and use after the next package sync in Solus

https://solus-project.com/articles/packaging/local-repository/en/

@kyrios123
Copy link
Contributor

I would like to propose an enhancement : first check the local repository and if the package is not there get it from the Solus repository.

This would be more convenient.

@sunnyflunk
Copy link
Contributor

@kyrios123 Have you tried the local repo as documented above? That's what it does...

@kyrios123
Copy link
Contributor

@sunnyflunk of course!
To give a concrete example, VLC has lot of dependencies. I have changed only one ffmpeg, but currently I need to download all the others dependencies to execute make local.

It looks to me that a nice enhancement would be to give the priority to the packages in the local repository and take the missing ones from the Solus repository, so in this particular cases, I would have just to copy the ffmpeg package in my local repo perform my tests and then purge my local repo. There could be warning messages to indicate for each missing package that it's downloaded from the remote repository.

I don't think it's complex to implement and it would make Solbuild even more user friendly but of course it's just a nice to have.

Just a suggestion for a future update.

@sunnyflunk
Copy link
Contributor

@kyrios123 To me you have described how it currently works. You would put ffmpeg in /var/lib/solbuild/local run make local. Then solbuild will index ffmpeg and install it from the local repo, and download the other dependencies to install from the Solus unstable repo (unless solbuild has the eopkg's cached already). So exactly like a normal build but is using the local repo ffmpeg.

I suggest you try to find me on IRC if yours is not working that way so can work through it.

@kyrios123
Copy link
Contributor

@sunnyflunk this is what I tried to do first, but it didn't work.
so what I did is eopkg info vlc to find the dependencies then I did sudo eopkg fc to download the dependencies in my local repository. I also added system.devel and then it worked fine

@sunnyflunk
Copy link
Contributor

@kyrios123 ok, can you remove everything from the local repo except the ffmpeg and ffmpeg-devel eopkgs and reproduce vlc failing to build? Confirm make local fails and then I want you to run sudo solbuild build package.yml -p local-unstable-x86_64 -d and paste that log of the failed run. It's really not that useful if you have to add the deps to the local repo so I'd like to get this fixed.

This is what it should be doing from a quick build of vlc (but I used libflac as it was quick).

Downloading 61 / 217
Package libraw1394 found in repository Solus
libraw1394-2.0.5-1-1-x86_64.eopkg [cached]
Downloading 62 / 217
Package libflac found in repository Local
Downloading 63 / 217
Package libsndfile found in repository Solus
libsndfile-1.0.26-8-1-x86_64.eopkg [cached]

@kyrios123
Copy link
Contributor

Okay sorry, my mistake!
Lesson learned: when my host computer goes into sleep mode, the network interface of the guest virtual machine on which I do the packages does not always reconnect automatically or immediately.
Sorry for the bothering and apologizes !!!

@ikeydoherty
Copy link
Member

I say we replace all these options by releasing ferryd into Solus :D

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

No branches or pull requests

5 participants