����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 216.73.216.193 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/proc/self/root/usr/share/doc/python3-debian/examples/deb822/ |
Upload File : |
#!/usr/bin/python # depgraph # Copyright (C) 2008 Stefano Zacchiroli <zack@debian.org> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. """Graph the dependencies of all packages contained in a given Packages file. Only consider Depends fields. Versioned dependencies are considered as they were not versioned. The graph is returned in output as a (non normalized) graphviz graph suitable to be processed by dot (for an unstable/main Packages file, generating the final graph will take a while ...).""" from __future__ import print_function import sys from debian import deb822 __fresh_id = 0 def main(): if len(sys.argv) != 2: print("Usage: depgraph PACKAGES_FILE") sys.exit(2) def get_id(): global __fresh_id __fresh_id += 1 return ("NODE_%d" % __fresh_id) def emit_arc(node1, node2): print(' "%s" -> "%s" ;' % (node1, node2)) def emit_node(node, dsc): print(' "%s" [label="%s"] ;' % (node, dsc)) print("digraph depgraph {") for pkg in deb822.Packages.iter_paragraphs(open(sys.argv[1])): name = pkg['package'] rels = pkg.relations for deps in rels['depends']: if len(deps) == 1: emit_arc(name, deps[0]['name']) else: # output an OR node or_node = get_id() emit_arc(name, or_node) emit_node(or_node, 'OR') for dep in deps: emit_arc(or_node, dep['name'].lower()) # even though it is forbidden by policy, there are some # dependencies with upper case letter in the archive, # apparently apt-get turn them to lowercase ... print("}") if __name__ == '__main__': main()