init
This commit is contained in:
commit
e9adaf10f6
|
@ -0,0 +1,137 @@
|
||||||
|
import subprocess,re,os,time
|
||||||
|
import networkx as nx
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
package_list = []
|
||||||
|
result_list = []
|
||||||
|
G = nx.DiGraph()
|
||||||
|
|
||||||
|
def download_source(package):
|
||||||
|
package_folder = os.getcwd() + "/tmp/" + package
|
||||||
|
if os.path.exists(package_folder) == False:
|
||||||
|
cmd = "mkdir " + package_folder + " && cd " + package_folder + " && apt source " + package
|
||||||
|
#print(cmd)
|
||||||
|
intofolder_source = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE) #cd /tmp && apt source wpasupplicant
|
||||||
|
intofolder_source.wait()
|
||||||
|
|
||||||
|
def get_source_name(package):
|
||||||
|
package_folder = os.getcwd() + "/tmp/" + package
|
||||||
|
#print(package_folder)
|
||||||
|
path_list = os.listdir(package_folder)
|
||||||
|
for path in path_list:
|
||||||
|
if '_' in path:
|
||||||
|
source_name = path.split("_")[0]
|
||||||
|
else:
|
||||||
|
source_name = path.split("-")[0]
|
||||||
|
break
|
||||||
|
print("package = ",package)
|
||||||
|
print("-----source_name = ",source_name)
|
||||||
|
cmd = "rm -rf " + package_folder
|
||||||
|
#print(cmd)
|
||||||
|
rm_source = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE) #cd /tmp && apt source wpasupplicant
|
||||||
|
rm_source.wait()
|
||||||
|
print(type(source_name))
|
||||||
|
return source_name
|
||||||
|
|
||||||
|
def list_del(list):
|
||||||
|
for package in list:
|
||||||
|
if '|' in package:
|
||||||
|
package_test = package.split("|")
|
||||||
|
if package_test [0] in package_list:
|
||||||
|
list.remove(package)
|
||||||
|
list.append(package_test[0])
|
||||||
|
else:
|
||||||
|
list.remove(package)
|
||||||
|
list.append(package_test[1])
|
||||||
|
return list
|
||||||
|
|
||||||
|
def dpkg_analyze(package):
|
||||||
|
cmd = "dpkg -s " + package + " |grep Depends:"
|
||||||
|
#print(package)
|
||||||
|
dpkg_depends = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE) #dpkg -s wpasupplicant
|
||||||
|
result_stdout = dpkg_depends.stdout.readline()
|
||||||
|
result_without = re.sub(u"\\(.*?\\)", "", str(result_stdout,encoding= " utf-8"))
|
||||||
|
result = result_without.replace('Depends: ','')
|
||||||
|
result = result.replace(' ','')
|
||||||
|
result = result.replace('\n','')
|
||||||
|
result_list = result.split(",")
|
||||||
|
return list_del(result_list)
|
||||||
|
|
||||||
|
f = open ("ubuntu2204-package.txt")
|
||||||
|
lines = f.readlines()
|
||||||
|
number = 0
|
||||||
|
count = 0
|
||||||
|
for line in lines:
|
||||||
|
number = number + 1
|
||||||
|
#if number > 5 and number < 10:
|
||||||
|
if number > 5:
|
||||||
|
package_name = line.split()[1].replace(':amd64','')
|
||||||
|
if "linux-" not in package_name:
|
||||||
|
package_list.append(package_name) #add package name to list
|
||||||
|
|
||||||
|
##初始化使用
|
||||||
|
#a = np.array([['1','2']],dtype="<U1000")
|
||||||
|
#b = np.array([['1','2']])
|
||||||
|
#final_np = np.insert(a, 0, values=b, axis=0)
|
||||||
|
#for i in range(len(package_list)-1):
|
||||||
|
# final_np = np.insert(final_np, 0, values=b, axis=0)
|
||||||
|
|
||||||
|
##初始化使用2
|
||||||
|
final_np = np.loadtxt("temp.csv", delimiter=",", dtype="<U1000")
|
||||||
|
if np.any(final_np == "accountsservice") == False:
|
||||||
|
final_np = np.empty((len(package_list), 2),dtype="<U1000")
|
||||||
|
print(final_np)
|
||||||
|
|
||||||
|
##加载数据
|
||||||
|
#final_np = np.loadtxt("temp.csv", delimiter=",", dtype="<U1000")
|
||||||
|
#print(np.any(final_np == "os-prober"))
|
||||||
|
#print(final_np)
|
||||||
|
#exit(0)
|
||||||
|
|
||||||
|
###test
|
||||||
|
#print(package_list)
|
||||||
|
#list_test = ['hicolor-icon-theme', 'gtk-update-icon-cache', 'ubuntu-mono|adwaita-icon-theme-full']
|
||||||
|
#list_del(list_test)
|
||||||
|
#print(list_test)
|
||||||
|
|
||||||
|
print("len(package_list) = ", len(package_list)) ##1628个
|
||||||
|
#print("package_list = ", package_list)
|
||||||
|
|
||||||
|
line = 0
|
||||||
|
#print(np.any(final_np == "os-prober"))
|
||||||
|
#exit(0)
|
||||||
|
for package in package_list:
|
||||||
|
print(package)
|
||||||
|
if np.any(final_np == package) == False:
|
||||||
|
print(line)
|
||||||
|
download_source(package)
|
||||||
|
final_np[line][0] = package
|
||||||
|
final_np[line][1] = get_source_name(package)
|
||||||
|
else:
|
||||||
|
final_np[line][0] = final_np[line][0]
|
||||||
|
final_np[line][1] = final_np[line][1]
|
||||||
|
|
||||||
|
if len(final_np[line][1]) != 0:
|
||||||
|
print(final_np[line][1])
|
||||||
|
result_list.append(final_np[line][1])
|
||||||
|
G.add_node(final_np[line][1])
|
||||||
|
np.savetxt("temp.csv", final_np, delimiter=",", fmt='%s')
|
||||||
|
line = line + 1
|
||||||
|
print(final_np)
|
||||||
|
|
||||||
|
#print("result_list = " , result_list)
|
||||||
|
print("len(result_list)) = ", len(result_list))
|
||||||
|
|
||||||
|
np.savetxt("temp.csv", final_np, delimiter=",")
|
||||||
|
|
||||||
|
#for package in package_list:
|
||||||
|
# depend_list = dpkg_analyze(package)
|
||||||
|
# print(depend_list)
|
||||||
|
# if len(depend_list) > 0 and len(get_source_name(package)) != 0:
|
||||||
|
# for depend in depend_list:
|
||||||
|
# G.add_edge(get_source_name(package),get_source_name(depend))
|
||||||
|
|
||||||
|
#pos = nx.spring_layout(G)
|
||||||
|
#nx.draw(G,pos,with_labels=True)
|
||||||
|
#plt.show()
|
|
@ -0,0 +1,32 @@
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
package_list = []
|
||||||
|
|
||||||
|
def get_source_name(package):
|
||||||
|
package_folder = os.getcwd() + "/tmp/" + package
|
||||||
|
#print(package_folder)
|
||||||
|
path_list = os.listdir(package_folder)
|
||||||
|
for path in path_list:
|
||||||
|
if '_' in path:
|
||||||
|
source_name = path.split("_")[0]
|
||||||
|
else:
|
||||||
|
source_name = path.split("-")[0]
|
||||||
|
break
|
||||||
|
print("package = ",package)
|
||||||
|
print("-----source_name = ",source_name)
|
||||||
|
return source_name
|
||||||
|
|
||||||
|
f = open ("ubuntu2204-package.txt")
|
||||||
|
lines = f.readlines()
|
||||||
|
number = 0
|
||||||
|
for line in lines:
|
||||||
|
number = number + 1
|
||||||
|
#if number > 5 and number < 10:
|
||||||
|
if number > 5:
|
||||||
|
package_name = line.split()[1]
|
||||||
|
if "linux-" not in package_name:
|
||||||
|
package_list.append(package_name) #add package name to list
|
||||||
|
|
||||||
|
for package in package_list:
|
||||||
|
get_source_name(package)
|
Binary file not shown.
|
@ -0,0 +1,50 @@
|
||||||
|
-----BEGIN PGP SIGNED MESSAGE-----
|
||||||
|
Hash: SHA256
|
||||||
|
|
||||||
|
Format: 3.0 (quilt)
|
||||||
|
Source: alsa-driver
|
||||||
|
Binary: linux-sound-base, alsa-base, alsa-base-udeb, alsa-source
|
||||||
|
Architecture: all
|
||||||
|
Version: 1.0.25+dfsg-0ubuntu7
|
||||||
|
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
|
||||||
|
Uploaders: Jordi Mallach <jordi@debian.org>, Elimar Riesebieter <riesebie@lxtec.de>
|
||||||
|
Homepage: http://www.alsa-project.org/
|
||||||
|
Standards-Version: 3.9.2
|
||||||
|
Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-audio-dev/alsa-driver/ubuntu
|
||||||
|
Build-Depends: debhelper (>= 7), po-debconf
|
||||||
|
Build-Depends-Indep: autoconf, bzip2, cpio
|
||||||
|
Package-List:
|
||||||
|
alsa-base deb sound optional arch=all
|
||||||
|
alsa-base-udeb udeb debian-installer optional arch=all profile=!noudeb
|
||||||
|
alsa-source deb kernel optional arch=all
|
||||||
|
linux-sound-base deb sound optional arch=all
|
||||||
|
Checksums-Sha1:
|
||||||
|
4f40148f91cb3fcc88ea198916ae5970bfe54eda 3825058 alsa-driver_1.0.25+dfsg.orig.tar.bz2
|
||||||
|
21b81a9092f6cb36f0d22b392ced3c7b79a1f569 261976 alsa-driver_1.0.25+dfsg-0ubuntu7.debian.tar.bz2
|
||||||
|
Checksums-Sha256:
|
||||||
|
5367f37c2228269c31ab656cbbefbaafa7e56b2bba4569b25c13f7d62649188c 3825058 alsa-driver_1.0.25+dfsg.orig.tar.bz2
|
||||||
|
5e427a5b140aa163c8285ab3d26958db6a5d9e79a563528a2444c72e1dbe22c6 261976 alsa-driver_1.0.25+dfsg-0ubuntu7.debian.tar.bz2
|
||||||
|
Files:
|
||||||
|
5b4349327b0d1200b0a97c58926e15a3 3825058 alsa-driver_1.0.25+dfsg.orig.tar.bz2
|
||||||
|
0f3169e8cb9c4dd95520fb748a600f16 261976 alsa-driver_1.0.25+dfsg-0ubuntu7.debian.tar.bz2
|
||||||
|
Debian-Vcs-Browser: http://svn.debian.org/wsvn/pkg-alsa/trunk/alsa-driver/
|
||||||
|
Debian-Vcs-Svn: svn://svn.debian.org/pkg-alsa/trunk/alsa-driver
|
||||||
|
Original-Maintainer: Debian ALSA Maintainers <pkg-alsa-devel@lists.alioth.debian.org>
|
||||||
|
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQJEBAEBCAAuFiEE1WVxuIqLuvFAv2PWvX6qYHePpvUFAmAzl7sQHGRva29AdWJ1
|
||||||
|
bnR1LmNvbQAKCRC9fqpgd4+m9S+qD/4lAeUJ9TWUiTvfnepeHZZO/33LRk3uxeb/
|
||||||
|
K05FCeWii8VnelRpq2UbGxwgDmMJcUeeoOi1wirn3107BThLwBZcxUcaXI0Ec/s3
|
||||||
|
stgyeNdKTFHz9yatE2PRdv+3z1f82qvDXW/rAag2ukbdz6KFXFCMEhFcglTqF+98
|
||||||
|
cOIZALFm58ugmVPGgslogMMykcSgTKfc2VCOsOSS9vPT7CnEpQqbggnjMerhGLbh
|
||||||
|
JCc0bBeWz5IyaVVws6QfmDSdIaxXG0QSPrFrhzL3Qq2QmpBbcZWAGQtXw88JGQxl
|
||||||
|
Ibw8alT0YPL4QypTpwIcfvqy+KG8WAmiZUsXcdzYiYL0ZBLdVE5787XuoUoi9qAF
|
||||||
|
eGbYQHq5eBWT8EbdvAdKad0/fniJeXEkADSurn4lLw+kU8f7osIgYQG+BwldwcC/
|
||||||
|
6jYZHL645ElBy9EsX04JMKUK4B8PGb+cnxC84wyVTNY2HjuG0O1+6eJuk+gSAhOR
|
||||||
|
y99v/EzmyESTv9uc3Nz0JkhIpLyKT/Xq+QUDPzfde5I975MAVvPCZCVeIxepE4E5
|
||||||
|
rmthq7bF14ijlkZ8KRpK2ZZD6iY5ONljeYNZOVBmVNGFc3pk8tZSig9dVSrc1vOx
|
||||||
|
XmWrylLyYb2DO64DMJl0nHNWDEJ3SFwn11aVWQde8I+j1WfpQRRf9aS5dSkryxX8
|
||||||
|
4uhy4j506Q==
|
||||||
|
=3X+a
|
||||||
|
-----END PGP SIGNATURE-----
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,9 @@
|
||||||
|
Name Version Rev Tracking Publisher Notes
|
||||||
|
bare 1.0 5 latest/stable canonical** base
|
||||||
|
core20 20220719 1587 latest/stable canonical** base
|
||||||
|
firefox 103.0.1-1 1635 latest/stable/… mozilla** -
|
||||||
|
gnome-3-38-2004 0+git.891e5bc 112 latest/stable/… canonical** -
|
||||||
|
gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical** -
|
||||||
|
snap-store 41.3-60-gfe4703a 582 latest/stable/… canonical** -
|
||||||
|
snapd 2.56.2 16292 latest/stable canonical** snapd
|
||||||
|
snapd-desktop-integration 0.1 14 latest/stable/… canonical** -
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,10 @@
|
||||||
|
Name Version Rev Tracking Publisher Notes
|
||||||
|
bare 1.0 5 latest/stable canonical** base
|
||||||
|
core22 20240408 1380 latest/stable canonical** base
|
||||||
|
firefox 125.0.2-1 4173 latest/stable/… mozilla** -
|
||||||
|
firmware-updater 0+git.5007558 127 latest/stable/… canonical** -
|
||||||
|
gnome-42-2204 0+git.510a601 176 latest/stable/… canonical** -
|
||||||
|
gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical** -
|
||||||
|
snap-store 0+git.1419621 1124 latest/stable/… canonical** -
|
||||||
|
snapd 2.62 21465 latest/stable canonical** snapd
|
||||||
|
snapd-desktop-integration 0.9 157 latest/stable/… canonical** -
|
Loading…
Reference in New Issue