Results 1 to 10 of 11
So to give a little background, I'm trying to pass wireshark(with a custom plugin) through my company's build system.
The build system functions inside a change root thus all the ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 03-22-2011 #1Just Joined!
- Join Date
- Mar 2011
- Posts
- 10
How would one go about obtaining all the dependencies for a package?
So to give a little background, I'm trying to pass wireshark(with a custom plugin) through my company's build system.
The build system functions inside a change root thus all the dependencies need to located somewhere inside the chroot. Wireshark has a massive dependency tree that I couldn't possibly import manually one by one.
So my question is, is there a way to conveniently import all the dependency packages somewhere on your local machine. This would mean I would just import the one folder into my change root.
Thanks,
Dave
PS: the build-system's change-root has SMART package manager installed. But the channels it comes with are local ones(very little to choose from). So an alternative solution would be import the repositories that apt-get uses into smart and then use smart to install the packages which is monumentally easier.
- 03-23-2011 #2
Hello and Welcome.
I can tell you for a fact that chasing down dependencies is no fun. Sooner or later you'll run into a circular dependency or dependencies that have, you guessed it, more dependencies! It's called dependency hell.
I think your alternate idea is probably the best way to go.Can you just direct smart to repos that have what you need?I do not respond to private messages asking for Linux help, Please keep it on the forums only.
All new users please read this.** Forum FAQS. ** Adopt an unanswered post.
I'd rather be lost at the lake than found at home.
- 03-23-2011 #3
Check this thread.
It is amazing what you can accomplish if you do not care who gets the credit.
New Users: Read This First
- 03-23-2011 #4Just Joined!
- Join Date
- Mar 2011
- Posts
- 10
Hmm, that's an interesting method. But how would it be used to list the repositories? Or even just the URI's for all the packages.
From what I saw it only lists the packages that are required minus the ones already on your machine.
As far as I know the repositories for apt-get are in /etc/apt/sources.list. Now I think I can figure out a way to parse the file for the URI's and use smart channel --add but I don't know what to make of some of these url's. for example:
deb [someurl] maverick multiverse
What does the maverick and multiverse stuff mean?
PS: you guys have a feature that doesn't let you post external url's without first making 15 posts. But even if you're quoting someone else's post with external-urls it will register as an attempt by you to do so...
- 03-23-2011 #5Just Joined!
- Join Date
- Mar 2011
- Posts
- 10
Bump/Edit:
So I went ahead and attempted to add the apt-get repository to smart. I used this command to add the channel:
And after running this:Code:smart channel --add mydb type=apt-deb name="DEB database" baseurl=someurl distribution=maverick
I get a strange error inside smart's code:Code:smart update
I have no idea what to make of this =/Code:Loading cache... Updating cache... ###################################################### [100%] Fetching information for 'repo'... Fetching information for 'DEB database'... -> /ubunutu/dists/maverick/Release.gpg Release.gpg ###################################################### [ 50%] -> /ubunutu/dists/maverick/Release Release ###################################################### [ 66%] Traceback (most recent call last): File "/usr/bin/smart", line 195, in ? main(sys.argv[1:]) File "/usr/bin/smart", line 168, in main exitcode = iface.run(opts.command, opts.argv) File "/usr/lib64/python2.4/site-packages/smart/interface.py", line 53, in run result = _command.main(self._ctrl, opts) File "/usr/lib64/python2.4/site-packages/smart/commands/update.py", line 78, in main failed = not ctrl.reloadChannels(channels, caching=NEVER) File "/usr/lib64/python2.4/site-packages/smart/control.py", line 359, in reloadChannels if not channel.fetch(self._fetcher, progress): File "/usr/lib64/python2.4/site-packages/smart/channels/apt_deb.py", line 226, in fetch if item.getStatus() == SUCCEEDED: AttributeError: 'NoneType' object has no attribute 'getStatus'
PS: i had to remove some urls
- 03-23-2011 #6Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 10,141
If the package is accessible via rpm/yum, you can do this:
Code:yum deplist package-name
Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!
- 03-23-2011 #7Just Joined!
- Join Date
- Mar 2011
- Posts
- 10
- 03-24-2011 #8Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 10,141
Sorry, I though I was replying in the Red Hat / Fedora forum! Doh! My bad. Anyway, I think you can use synaptic to do that - just download the files and not install them. I use my SL6/RHEL6 system more than I do my Ubuntu systems, so I am usually thinking more in the terms of yum than aptitude and synaptic...
Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!
- 03-25-2011 #9Linux Newbie
- Join Date
- Sep 2007
- Posts
- 157
Is apt installed?
Code:$ whereis apt-get
- 03-28-2011 #10Just Joined!
- Join Date
- Mar 2011
- Posts
- 10
Thank you guys for trying to help.
But I ended up writing a script to automatically download the required packages instead. It's worked pretty well.


Reply With Quote

