solbuild
solbuild copied to clipboard
Feature Request: add option to easily use local package
Something like: sudo solbuild build --replace-pkg "pkgname:path/to/pkg.eopkg"
.
This would make it easier to try how two packages interacts.
Does this do anything that local repos don't already do?
It would be much easier to use. No, it doesn't.
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
..We support local repos. Check the profile files in this repo and the manpages :P
Woah, apparently i'm dumb, that helps a lot. :man_facepalming:
xD happens :P maybe i could set up some tutorials for this
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/
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.
@kyrios123 Have you tried the local repo as documented above? That's what it does...
@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.
@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.
@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
@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]
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 !!!
I say we replace all these options by releasing ferryd into Solus :D