Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
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.
  1. #1
    Just 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.

  2. #2
    Administrator MikeTbob's Avatar
    Join Date
    Apr 2006
    Location
    Texas
    Posts
    7,864
    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.

  3. #3
    Super Moderator devils casper's Avatar
    Join Date
    Jun 2006
    Location
    Chandigarh, India
    Posts
    24,729
    Check this thread.
    It is amazing what you can accomplish if you do not care who gets the credit.
    New Users: Read This First

  4. #4
    Just Joined!
    Join Date
    Mar 2011
    Posts
    10
    Quote Originally Posted by devils casper View Post
    Check.
    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...

  5. #5
    Just 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:

    Code:
    smart channel --add mydb type=apt-deb name="DEB database" baseurl=someurl distribution=maverick
    And after running this:
    Code:
    smart update
    I get a strange error inside smart's code:
    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'
    I have no idea what to make of this =/

    PS: i had to remove some urls

  6. #6
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    11,159
    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!

  7. #7
    Just Joined!
    Join Date
    Mar 2011
    Posts
    10
    Quote Originally Posted by Rubberman View Post
    If the package is accessible via rpm/yum, you can do this:
    Code:
    yum deplist package-name
    Thanks for trying but I can get the same result from apt-rdepends. What I need is a way to download all the listed packages somewhere onto my machine. Even if it gets a list of urls for the packages, atleast that would be something I can work with.

  8. #8
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    11,159
    Quote Originally Posted by Rodayo View Post
    Thanks for trying but I can get the same result from apt-rdepends. What I need is a way to download all the listed packages somewhere onto my machine. Even if it gets a list of urls for the packages, atleast that would be something I can work with.
    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!

  9. #9
    Linux Newbie
    Join Date
    Sep 2007
    Posts
    218
    Is apt installed?

    Code:
     $ whereis apt-get

  10. #10
    Just 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.

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •