[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: test for package dependencies without installing



Paul Yeatman wrote:
> Hi, I'm wondering if there is a command I can run on a debian package that would test for whether all dependencies of that package are already installed on the system without actually installing the package if so.  This mailing list thread http://lists.debian.org/debian-user/2006/09/msg00292.html is on the exact topic and many suggestions are thrown out but none of which I can prove true.
> 
> So, let's say I want to install texlive-base_2007.dfsg.1-2_all.deb.
> 
> $ dpkg -I texlive-base_2007.dfsg.1-2_all.deb | grep Depend
>  Depends: texlive-doc-base (>= 2007), texlive-base-bin (>= 2007-13), texlive-common (>= 2007)
> 
> I don't have any of these dependency packages installed
> 
> $ sudo dpkg -i texlive-base_2007.dfsg.1-2_all.deb 
> (Reading database ... 138033 files and directories currently installed.)
> Preparing to replace texlive-base 2007.dfsg.1-2 (using texlive-base_2007.dfsg.1-2_all.deb) ...
> Unpacking replacement texlive-base ...
> dpkg: dependency problems prevent configuration of texlive-base:
>  texlive-base depends on texlive-doc-base (>= 2007); however:
>   Package texlive-doc-base is not installed.
>  texlive-base depends on texlive-base-bin (>= 2007-13); however:
>   Package texlive-base-bin is not installed.
>  texlive-base depends on texlive-common (>= 2007); however:
>   Package texlive-common is not installed.
> dpkg: error processing texlive-base (--install):
>  dependency problems - leaving unconfigured
> Errors were encountered while processing:
>  texlive-base
> 
> Is there a script-friendly way to determine this before attempting to install?  dpkg man page suggests that "--no-act, --dry-run, --simulate" should do this yet 
> 
> $ sudo dpkg -i --no-act texlive-base_2007.dfsg.1-2_all.deb (Reading database ... 138033 files and directories currently installed.)
> Preparing to replace texlive-base 2007.dfsg.1-2 (using texlive-base_2007.dfsg.1-2_all.deb) ...
> $ echo $?
> 0
> 
> tells me nothing about lacking dependencies.

There is a note in the man page about putting the --no-act flag before the action:

$ sudo dpkg --no-act -i texlive-base_2007.dfsg.1-2_all.deb

Does that make it behave as expected?

- Chris B


Reply to: