mirror of
https://github.com/clearlinux/common.git
synced 2026-06-16 19:16:00 +00:00
Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b03db840a6 | |||
| 59dfc2236f | |||
| e61ebaafc6 | |||
| 4bcceb402e | |||
| 5e15b47efc | |||
| 043265171f | |||
| 982d58e0e6 | |||
| accf578c02 | |||
| efe2b2bccf | |||
| 9f77cbb6e3 | |||
| bd6c14938b | |||
| 32729558d9 | |||
| b2ad8dbda8 | |||
| e545190de3 | |||
| 9921115897 | |||
| 8d5f8e37c5 | |||
| 6bc5718c25 | |||
| a21156767e | |||
| 9dd5bb895b | |||
| 67b7ef2bf4 | |||
| 6ad56934fd | |||
| 7b08135720 | |||
| 168c9b8606 | |||
| 3ff4181689 | |||
| a581ac8fbf | |||
| 601ca9e0fc | |||
| 8848658fcf | |||
| b76a7bc7f8 | |||
| f8f9619eec | |||
| b7b8774581 | |||
| b3618cc43c | |||
| 921ac270fe | |||
| f41acbdeb0 | |||
| 83a461fe40 | |||
| 6876f3d11e | |||
| 5a4dd4451a | |||
| d48889eb29 | |||
| b402f2bbdf |
+25
-7
@@ -186,6 +186,8 @@ autospec: preautospec-checks pullrebase localreponotice clean-old-content
|
||||
bash update_changelog.sh ; \
|
||||
git commit --amend --no-edit Change* ; \
|
||||
fi
|
||||
git diff | grep -q index || python3 $(TOPLVL)/projects/common/patchfilter.py > for-review.txt ;
|
||||
git diff | grep -q index || python3 $(TOPLVL)/projects/common/patchfilter.py ;
|
||||
|
||||
#help autospecnogit: Runs autospec, but does not create a commit
|
||||
autospecnogit:
|
||||
@@ -411,27 +413,43 @@ install:
|
||||
#help install-debuginfo-local: Install locally built debuginfo RPM to
|
||||
#help the automatic debuginfo cache location (/var/cache/debuginfo)
|
||||
install-debuginfo-local:
|
||||
@if [ -z "${DEBUGINFO_RPM}" ]; then \
|
||||
echo "No debuginfo to install... skipping"; \
|
||||
exit 0; \
|
||||
fi; \
|
||||
echo -n "Installing ${DEBUGINFO_RPM}... "; \
|
||||
tmpdir=$$(mktemp -d); \
|
||||
rpm2cpio ${DEBUGINFO_RPM} | ( cd $$tmpdir; cpio -i -d -u); \
|
||||
rpm2cpio ${DEBUGINFO_RPM} | ( cd $$tmpdir; cpio -i -d -u 2> /dev/null); \
|
||||
dest=/var/cache/debuginfo/lib; \
|
||||
find $$tmpdir/usr/lib/debug/ -mindepth 1 -maxdepth 1 | while read -r d; do \
|
||||
find $$tmpdir/usr/lib/debug/ -mindepth 1 -maxdepth 1 2> /dev/null | while read -r d; do \
|
||||
sudo chown -R dbginfo:dbginfo "$$d"; \
|
||||
sudo cp -a "$$d" $$dest/; \
|
||||
done; \
|
||||
find $$tmpdir/usr/share/debug/ -mindepth 1 -maxdepth 1 -regextype awk -regex '.*/(.build-id|boot|lib|sbin|usr)$$' 2> /dev/null | while read -r d; do \
|
||||
sudo chown -R dbginfo:dbginfo "$$d"; \
|
||||
sudo cp -a "$$d" $$dest/; \
|
||||
done; \
|
||||
dest=/var/cache/debuginfo/src; \
|
||||
find $$tmpdir/usr/src/debug/ -mindepth 1 -maxdepth 1 | while read -r d; do \
|
||||
find $$tmpdir/usr/src/debug/ -mindepth 1 -maxdepth 1 2> /dev/null | while read -r d; do \
|
||||
sudo chown -R dbginfo:dbginfo "$$d"; \
|
||||
sudo cp -a "$$d" $$dest/; \
|
||||
done; \
|
||||
sudo rm -rf $$tmpdir
|
||||
find $$tmpdir/usr/share/debug/src/ -mindepth 1 -maxdepth 1 2> /dev/null | while read -r d; do \
|
||||
sudo chown -R dbginfo:dbginfo "$$d"; \
|
||||
sudo cp -a "$$d" $$dest/; \
|
||||
done; \
|
||||
sudo rm -rf $$tmpdir; \
|
||||
echo "done"
|
||||
|
||||
#help install-local: Install locally built RPMs to the root filesystem. Note that the
|
||||
#help debuginfo RPM installs to /var/cache/debuginfo
|
||||
install-local:
|
||||
for r in $(filter-out ${DEBUGINFO_RPM},${RPMS}); do \
|
||||
rpm2cpio $$r | (cd /; sudo cpio -i -d -u); \
|
||||
@for r in $(filter-out ${DEBUGINFO_RPM},${RPMS}); do \
|
||||
echo -n "Installing $$r... "; \
|
||||
rpm2cpio $$r | (cd /; sudo cpio -i -d -u 2> /dev/null); \
|
||||
echo "done"; \
|
||||
done
|
||||
$(MAKE) install-debuginfo-local
|
||||
@$(MAKE) -s install-debuginfo-local
|
||||
|
||||
#help install-mock: Install locally built RPMs to the mock rootcache
|
||||
#help filesystem. This command is usually used with "make shell".
|
||||
|
||||
+6
-2
@@ -226,8 +226,12 @@ autospecnew: preautospecnew-checks localreponotice
|
||||
$${SETVERSION:+ --version $${SETVERSION}} \
|
||||
${NON_INTERACTIVE} ${SKIP_GIT} ${CLEANUP} \
|
||||
$(URL); \
|
||||
[ $$? -eq 0 ] && $(MAKE) link-new-rpms PKG_REPO_DIR="${TOPLVL}/packages/${NAME}"; \
|
||||
$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist $(TOPLVL)/packages/${NAME}/results/*.rpm; \
|
||||
if [ $$? -eq 0 ]; then \
|
||||
$(MAKE) link-new-rpms PKG_REPO_DIR="${TOPLVL}/packages/${NAME}"; \
|
||||
$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist $(TOPLVL)/packages/${NAME}/results/*.rpm; \
|
||||
python3 $(TOPLVL)/projects/common/patchfilter.py <(git -C $(TOPLVL)/packages/$(NAME) show) > $(TOPLVL)/packages/$(NAME)/for-review.txt; \
|
||||
python3 $(TOPLVL)/projects/common/patchfilter.py <(git -C $(TOPLVL)/packages/$(NAME) show); \
|
||||
fi; \
|
||||
else \
|
||||
echo "$(NAME) already exists at $(TOPLVL)/packages/$(NAME)"; \
|
||||
exit 1; \
|
||||
|
||||
@@ -60,6 +60,7 @@ PasteDeploy
|
||||
Pillow
|
||||
Pint
|
||||
PyDispatcher
|
||||
PyICU
|
||||
PyJWT
|
||||
PyMySQL
|
||||
PyNaCl
|
||||
@@ -323,6 +324,7 @@ R-dotCall64
|
||||
R-downloader
|
||||
R-dplyr
|
||||
R-drc
|
||||
R-dtplyr
|
||||
R-dtw
|
||||
R-dygraphs
|
||||
R-dynlm
|
||||
@@ -393,6 +395,7 @@ R-fossil
|
||||
R-fpc
|
||||
R-fracdiff
|
||||
R-fs
|
||||
R-fst
|
||||
R-futile.logger
|
||||
R-futile.options
|
||||
R-future
|
||||
@@ -436,6 +439,7 @@ R-haplo.stats
|
||||
R-haven
|
||||
R-hdrcde
|
||||
R-here
|
||||
R-hexView
|
||||
R-hexbin
|
||||
R-highlight
|
||||
R-highr
|
||||
@@ -490,6 +494,7 @@ R-leaps
|
||||
R-lfe
|
||||
R-lhs
|
||||
R-libcoin
|
||||
R-lintr
|
||||
R-listenv
|
||||
R-listviewer
|
||||
R-lle
|
||||
@@ -663,6 +668,8 @@ R-rasterVis
|
||||
R-rbenchmark
|
||||
R-rcmdcheck
|
||||
R-reactR
|
||||
R-reactlog
|
||||
R-readODS
|
||||
R-readr
|
||||
R-readstata13
|
||||
R-readxl
|
||||
@@ -679,6 +686,7 @@ R-reprex
|
||||
R-reshape
|
||||
R-reshape2
|
||||
R-reticulate
|
||||
R-rex
|
||||
R-rgenoud
|
||||
R-rgeos
|
||||
R-rgl
|
||||
@@ -691,6 +699,7 @@ R-rjags
|
||||
R-rjstat
|
||||
R-rlang
|
||||
R-rmarkdown
|
||||
R-rmatio
|
||||
R-rms
|
||||
R-rmutil
|
||||
R-rncl
|
||||
@@ -712,6 +721,7 @@ R-rsdmx
|
||||
R-rstan
|
||||
R-rstanarm
|
||||
R-rstantools
|
||||
R-rstudio
|
||||
R-rstudioapi
|
||||
R-rsvg
|
||||
R-runjags
|
||||
@@ -771,6 +781,7 @@ R-startupmsg
|
||||
R-statip
|
||||
R-statmod
|
||||
R-statnet.common
|
||||
R-stringdist
|
||||
R-stringi
|
||||
R-stringr
|
||||
R-strucchange
|
||||
@@ -826,6 +837,7 @@ R-varImp
|
||||
R-vcd
|
||||
R-vcdExtra
|
||||
R-vcr
|
||||
R-vctrs
|
||||
R-vegan
|
||||
R-vioplot
|
||||
R-viridis
|
||||
@@ -863,6 +875,7 @@ SDL_image
|
||||
SDL_mixer
|
||||
SDL_net
|
||||
SDL_ttf
|
||||
SFML
|
||||
SPIRV-Headers
|
||||
SPIRV-Tools
|
||||
SQLAlchemy
|
||||
@@ -1005,6 +1018,8 @@ atomicwrites
|
||||
attica
|
||||
attr
|
||||
attrs
|
||||
audacious
|
||||
audacious-plugins
|
||||
audiofile
|
||||
audisp-json
|
||||
audit
|
||||
@@ -1108,6 +1123,7 @@ buildreq-kernel
|
||||
buildreq-make
|
||||
buildreq-meson
|
||||
buildreq-mvn
|
||||
buildreq-php
|
||||
buildreq-qmake
|
||||
buildreq-scons
|
||||
bundle-chroot-builder
|
||||
@@ -1126,6 +1142,7 @@ cairo
|
||||
cairomm
|
||||
calc
|
||||
calendarsupport
|
||||
can-utils
|
||||
cantarell-fonts
|
||||
cantata
|
||||
cantor
|
||||
@@ -1138,6 +1155,7 @@ catch2
|
||||
catkin
|
||||
catkin_pkg
|
||||
ccache
|
||||
ccid
|
||||
ceilometer
|
||||
ceph
|
||||
ceph-deploy
|
||||
@@ -1185,6 +1203,7 @@ clr-init
|
||||
clr-installer
|
||||
clr-man-pages
|
||||
clr-network-troubleshooter
|
||||
clr-one-shot-updates
|
||||
clr-power-tweaks
|
||||
clr-python-timestamp
|
||||
clr-pyversion-strip
|
||||
@@ -1207,6 +1226,7 @@ cnf
|
||||
cni
|
||||
cni-plugins
|
||||
cockpit
|
||||
codec2
|
||||
codecov
|
||||
cogl
|
||||
coinmp
|
||||
@@ -1233,12 +1253,14 @@ collectl
|
||||
colorama
|
||||
colord
|
||||
colord-gtk
|
||||
columbiad
|
||||
comedilib
|
||||
comfortaa-fonts
|
||||
commonmark
|
||||
compat-SDL2-soname1
|
||||
compat-cryptsetup-soname4
|
||||
compat-curl-gnutls-soname4
|
||||
compat-double-conversion-soname1
|
||||
compat-efivar-soname0
|
||||
compat-enchant-soname1
|
||||
compat-exiv2-soname26
|
||||
@@ -1279,6 +1301,7 @@ compat-openssl-soname-10
|
||||
compat-poppler-soname78
|
||||
compat-poppler-soname82
|
||||
compat-poppler-soname83
|
||||
compat-poppler-soname86
|
||||
compat-protobuf-soname14
|
||||
compat-protobuf-soname15
|
||||
compat-python36
|
||||
@@ -1308,6 +1331,7 @@ cpio
|
||||
cppcheck
|
||||
cpprestsdk
|
||||
cppunit
|
||||
cppzmq
|
||||
cpuid
|
||||
cpuloadgen
|
||||
cracklib
|
||||
@@ -1531,8 +1555,10 @@ envs
|
||||
eog
|
||||
eog-plugins
|
||||
epm
|
||||
epydoc
|
||||
eternalegypt
|
||||
ethtool
|
||||
etr
|
||||
eventlet
|
||||
eventviews
|
||||
evince
|
||||
@@ -1548,6 +1574,7 @@ expect
|
||||
extra-cmake-modules
|
||||
extras
|
||||
f2fs-tools
|
||||
faas-cli
|
||||
faba-icon-theme
|
||||
fakeroot
|
||||
fann
|
||||
@@ -1555,11 +1582,13 @@ fann2
|
||||
farstream
|
||||
fasteners
|
||||
fastimport
|
||||
fastnumbers
|
||||
fcgi
|
||||
fcoe-utils
|
||||
fdm_materials
|
||||
feh
|
||||
fetchmail
|
||||
ffmpegthumbs
|
||||
fftw
|
||||
file
|
||||
file-roller
|
||||
@@ -1643,6 +1672,7 @@ gexiv2
|
||||
gfbgraph
|
||||
gflags
|
||||
gftp
|
||||
ghc
|
||||
ghostscript
|
||||
gimp
|
||||
git
|
||||
@@ -1755,6 +1785,7 @@ grpcio
|
||||
grub
|
||||
gsettings-desktop-schemas
|
||||
gsl
|
||||
gsm
|
||||
gsound
|
||||
gspell
|
||||
gst-plugins-bad
|
||||
@@ -1790,7 +1821,9 @@ hammock
|
||||
haproxy
|
||||
hardlink
|
||||
harfbuzz
|
||||
haskell-random
|
||||
hdf5
|
||||
hdmedians
|
||||
hdparm
|
||||
heat
|
||||
helloworld
|
||||
@@ -1802,6 +1835,7 @@ hicolor-icon-theme
|
||||
hiredis
|
||||
hold
|
||||
home-assistant
|
||||
home-assistant-frontend
|
||||
horizon
|
||||
horovod
|
||||
hostname
|
||||
@@ -1937,6 +1971,7 @@ kactivitymanagerd
|
||||
kafka-dep
|
||||
kalarm
|
||||
kalarmcal
|
||||
kalgebra
|
||||
kamera
|
||||
kanagram
|
||||
kapidox
|
||||
@@ -2028,6 +2063,7 @@ kgeography
|
||||
kget
|
||||
kglobalaccel
|
||||
kgoldrunner
|
||||
kgpg
|
||||
kguiaddons
|
||||
khal
|
||||
khangman
|
||||
@@ -2136,7 +2172,13 @@ ktimer
|
||||
ktnef
|
||||
ktp-approver
|
||||
ktp-common-internals
|
||||
ktp-contact-list
|
||||
ktp-contact-runner
|
||||
ktp-desktop-applets
|
||||
ktp-filetransfer-handler
|
||||
ktp-kded-module
|
||||
ktp-send-file
|
||||
ktp-text-ui
|
||||
ktuberling
|
||||
kturtle
|
||||
kubernetes
|
||||
@@ -2296,6 +2338,7 @@ libkipi
|
||||
libkleo
|
||||
libkmahjongg
|
||||
libkomparediff2
|
||||
libksane
|
||||
libksba
|
||||
libkscreen
|
||||
libksieve
|
||||
@@ -2442,6 +2485,8 @@ linux-hyperv
|
||||
linux-hyperv-lts
|
||||
linux-iot-lts2017-preempt-rt
|
||||
linux-iot-lts2018
|
||||
linux-iot-lts2018-preempt-rt
|
||||
linux-iot-lts2019
|
||||
linux-kata
|
||||
linux-kvm
|
||||
linux-libc-headers
|
||||
@@ -2449,7 +2494,6 @@ linux-lts2017
|
||||
linux-lts2018
|
||||
linux-networktest
|
||||
linux-oracle
|
||||
linux-pk414-preempt-rt
|
||||
linux-preempt-rt
|
||||
linux-steam-integration
|
||||
linux-tools
|
||||
@@ -2462,6 +2506,7 @@ lm-sensors
|
||||
lmdb
|
||||
locket
|
||||
locustio
|
||||
log4cpp
|
||||
logilab-common
|
||||
logrotate
|
||||
logutils
|
||||
@@ -2572,6 +2617,7 @@ mpfr
|
||||
mpg123
|
||||
mpi4py
|
||||
mpmath
|
||||
mpv
|
||||
mraa
|
||||
msgpack
|
||||
msm
|
||||
@@ -2599,10 +2645,12 @@ mycroft-core
|
||||
mypaint-brushes
|
||||
mypy
|
||||
mypy_extensions
|
||||
mysqltcl
|
||||
mythes
|
||||
nagios-plugins
|
||||
nano
|
||||
nasm
|
||||
natsort
|
||||
nautilus
|
||||
nbconvert
|
||||
nbformat
|
||||
@@ -2637,6 +2685,7 @@ nfs4-acl-tools
|
||||
nftables
|
||||
nghttp2
|
||||
nginx
|
||||
nginx-mainline
|
||||
nicstat
|
||||
ninja
|
||||
nload
|
||||
@@ -2650,6 +2699,7 @@ nose-cover3
|
||||
nose-parameterized
|
||||
nosexcover
|
||||
nosync
|
||||
not-ffmpeg
|
||||
notebook
|
||||
notmuch
|
||||
noto-cjk
|
||||
@@ -2728,6 +2778,7 @@ os-autoinst
|
||||
os-brick
|
||||
os-client-config
|
||||
os-ken
|
||||
os-resource-classes
|
||||
os-service-types
|
||||
os-testr
|
||||
os-traits
|
||||
@@ -2810,6 +2861,7 @@ pciutils
|
||||
pcmanfm-qt
|
||||
pcre
|
||||
pcre2
|
||||
pcsc-lite
|
||||
pdns
|
||||
pdns-recursor
|
||||
pecan
|
||||
@@ -2840,6 +2892,7 @@ perl-Audio-FLAC-Header
|
||||
perl-Audio-Musepack
|
||||
perl-Audio-Scan
|
||||
perl-Audio-Wav
|
||||
perl-Authen-SASL
|
||||
perl-B-Hooks-EndOfScope
|
||||
perl-B-Hooks-OP-Check
|
||||
perl-B-Keywords
|
||||
@@ -2945,6 +2998,7 @@ perl-Data-Page
|
||||
perl-Data-Password
|
||||
perl-Data-Printer
|
||||
perl-Data-Random
|
||||
perl-Data-Section
|
||||
perl-Data-Serializer
|
||||
perl-Data-Structure-Util
|
||||
perl-Data-Uniqid
|
||||
@@ -3295,6 +3349,7 @@ perl-Set-Scalar
|
||||
perl-Smart-Comments
|
||||
perl-Socket-MsgHdr
|
||||
perl-Socket6
|
||||
perl-Software-License
|
||||
perl-Sort-Key
|
||||
perl-Sort-Naturally
|
||||
perl-Sort-Versions
|
||||
@@ -3479,6 +3534,13 @@ pexpect
|
||||
phonon
|
||||
phoronix-test-suite
|
||||
php
|
||||
php-imagick
|
||||
php-mailparse
|
||||
php-redis
|
||||
php-timezonedb
|
||||
php-xdebug
|
||||
php-yaml
|
||||
php-zip
|
||||
pickleshare
|
||||
picmi
|
||||
picocom
|
||||
@@ -3602,6 +3664,7 @@ pyliblzma
|
||||
pylint
|
||||
pymemcache
|
||||
pymongo
|
||||
pyotherside
|
||||
pyotp
|
||||
pypandoc
|
||||
pyparsing
|
||||
@@ -3679,7 +3742,6 @@ python-swiftclient
|
||||
python-systemd
|
||||
python-tabulate
|
||||
python-tappy
|
||||
python-toml
|
||||
python-troveclient
|
||||
python-urwid
|
||||
python-utils
|
||||
@@ -3770,6 +3832,7 @@ recommonmark
|
||||
redis
|
||||
redis-native
|
||||
redland
|
||||
redshift
|
||||
redsocks
|
||||
renderdoc
|
||||
reno
|
||||
@@ -3837,6 +3900,7 @@ scikit-image
|
||||
scikit-learn
|
||||
scipy
|
||||
scons
|
||||
scowl
|
||||
screen
|
||||
scripttest
|
||||
scrypt
|
||||
@@ -3847,6 +3911,7 @@ seaborn
|
||||
seahorse
|
||||
secretstorage
|
||||
sed
|
||||
segno
|
||||
selenium
|
||||
semantic_version
|
||||
seqdiag
|
||||
@@ -3878,7 +3943,9 @@ smart_open
|
||||
smartcols
|
||||
smartmontools
|
||||
smmap2
|
||||
snabb
|
||||
snappy
|
||||
snitun
|
||||
snowballstemmer
|
||||
socat
|
||||
sof-crosstool-ng
|
||||
@@ -3936,6 +4003,7 @@ startup-notification
|
||||
statsd
|
||||
statsmodels
|
||||
stellarium
|
||||
step
|
||||
stestr
|
||||
stevedore
|
||||
stow
|
||||
@@ -3948,6 +4016,7 @@ subversion
|
||||
sudo
|
||||
suds-jurko
|
||||
sundials
|
||||
supertuxkart
|
||||
sure
|
||||
suricata
|
||||
svg.path
|
||||
@@ -4000,6 +4069,7 @@ termcolor
|
||||
terminado
|
||||
terminaltables
|
||||
terminus-font
|
||||
test-generator
|
||||
testpath
|
||||
testrepository
|
||||
testresources
|
||||
@@ -4032,7 +4102,9 @@ tinyxml2
|
||||
tiptop
|
||||
tk
|
||||
tmux
|
||||
todoist
|
||||
tokyocabinet
|
||||
toml
|
||||
toolz
|
||||
tooz
|
||||
tornado
|
||||
@@ -4107,6 +4179,7 @@ virt-manager
|
||||
virt-viewer
|
||||
virtualenv
|
||||
vlc
|
||||
volk
|
||||
volume_key
|
||||
voluptuous
|
||||
voluptuous-serialize
|
||||
@@ -4228,6 +4301,7 @@ xterm
|
||||
xtrans
|
||||
xvfb-run
|
||||
xwd
|
||||
xwdrun
|
||||
xwininfo
|
||||
xz
|
||||
yajl
|
||||
|
||||
+348
@@ -0,0 +1,348 @@
|
||||
#!/usr/bin/python3
|
||||
import sys
|
||||
import tempfile
|
||||
import subprocess
|
||||
|
||||
header = list()
|
||||
files = list()
|
||||
files_chunks = dict() # dict to list
|
||||
files_header = dict() # dict to list
|
||||
|
||||
|
||||
|
||||
def push_chunk(file, chunk):
|
||||
global files_chunks
|
||||
|
||||
if len(chunk) == 0:
|
||||
return
|
||||
|
||||
if file not in files_chunks:
|
||||
files_chunks[file] = list()
|
||||
|
||||
files_chunks[file].append(chunk)
|
||||
|
||||
|
||||
def parse_patch(lines):
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
|
||||
phase = 0
|
||||
|
||||
currentfile = ""
|
||||
currentchunk = list()
|
||||
|
||||
|
||||
for line in lines:
|
||||
line = line.replace("\n","")
|
||||
|
||||
if line.startswith("diff --git"):
|
||||
|
||||
push_chunk(currentfile, currentchunk)
|
||||
currentchunk = list()
|
||||
|
||||
filename = line.replace("diff --git","")
|
||||
index= filename.find("b/")
|
||||
if index >= 0:
|
||||
filename = filename[index:].strip()
|
||||
currentfile = filename
|
||||
files.append(currentfile)
|
||||
phase = 1
|
||||
|
||||
if line.startswith("@@"):
|
||||
push_chunk(currentfile, currentchunk)
|
||||
currentchunk = list()
|
||||
phase = 2
|
||||
|
||||
|
||||
if phase == 0:
|
||||
header.append(line)
|
||||
if phase == 1:
|
||||
if currentfile not in files_header:
|
||||
files_header[currentfile] = list()
|
||||
files_header[currentfile].append(line)
|
||||
if phase == 2:
|
||||
currentchunk.append(line)
|
||||
|
||||
push_chunk(currentfile, currentchunk)
|
||||
currentchunk = list()
|
||||
|
||||
def print_all():
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
|
||||
for line in header:
|
||||
print(line)
|
||||
for file in files:
|
||||
for line in files_header[file]:
|
||||
print(line)
|
||||
if file in files_chunks:
|
||||
for chunk in files_chunks[file]:
|
||||
for line in chunk:
|
||||
print(line)
|
||||
|
||||
|
||||
def zap_entire_file(filename):
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
if filename in files:
|
||||
files.remove(filename)
|
||||
|
||||
def zap_entire_file_end(filename):
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
for file in files:
|
||||
if file.endswith(filename):
|
||||
files.remove(file)
|
||||
|
||||
def zap_line_in_file(filename, match):
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
for file in files:
|
||||
if file.endswith(filename):
|
||||
for chunk in files_chunks[filename]:
|
||||
to_delete = list()
|
||||
for line in chunk:
|
||||
if line == ("+" + match):
|
||||
to_delete.append(line)
|
||||
if line == ("-" + match):
|
||||
to_delete.append(line)
|
||||
for line in to_delete:
|
||||
chunk.remove(line)
|
||||
|
||||
|
||||
def zap_line_in_file_start(filename, match):
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
|
||||
for file in files:
|
||||
if file.endswith(filename):
|
||||
for chunk in files_chunks[file]:
|
||||
to_remove = list()
|
||||
for line in chunk:
|
||||
if line.startswith("+" + match):
|
||||
to_remove.append(line)
|
||||
if line.startswith("-" + match):
|
||||
to_remove.append(line)
|
||||
for line in to_remove:
|
||||
chunk.remove(line)
|
||||
|
||||
def zap_plus_line_in_file(filename):
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
|
||||
for file in files:
|
||||
if file.endswith(filename):
|
||||
for chunk in files_chunks[file]:
|
||||
to_remove = list()
|
||||
for line in chunk:
|
||||
if line.startswith("+"):
|
||||
to_remove.append(line)
|
||||
for line in to_remove:
|
||||
chunk.remove(line)
|
||||
|
||||
|
||||
|
||||
def chunk_empty(chunk):
|
||||
for line in chunk:
|
||||
if len(line) > 0 and line[0] == '+':
|
||||
return False
|
||||
return True
|
||||
|
||||
def zap_empty_chunks():
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
files_to_remove = list()
|
||||
for file in files:
|
||||
if file not in files_chunks:
|
||||
files.remove(file)
|
||||
continue
|
||||
to_remove = list()
|
||||
for chunk in files_chunks[file]:
|
||||
if chunk_empty(chunk):
|
||||
to_remove.append(chunk)
|
||||
for c in to_remove:
|
||||
files_chunks[file].remove(c)
|
||||
if len(files_chunks[file]) == 0:
|
||||
files_to_remove.append(file)
|
||||
|
||||
for file in files_to_remove:
|
||||
files.remove(file)
|
||||
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
filename = sys.argv[1]
|
||||
|
||||
with open (filename, "r") as myfile:
|
||||
lines = myfile.readlines()
|
||||
else:
|
||||
output = subprocess.check_output("git show", shell=True).decode("latin-1")
|
||||
lines = output.split("\n")
|
||||
|
||||
parse_patch(lines)
|
||||
|
||||
zap_entire_file("b/release")
|
||||
zap_entire_file("b/buildreq_cache")
|
||||
zap_entire_file("b/.gitignore")
|
||||
zap_entire_file("b/upstream")
|
||||
zap_entire_file("b/NEWS")
|
||||
zap_entire_file("b/ChangeLog")
|
||||
zap_entire_file_end("xz.sig")
|
||||
zap_entire_file_end("gz.sig")
|
||||
zap_entire_file_end("bz2.sig")
|
||||
|
||||
zap_line_in_file("b/testresults", "Total : 0")
|
||||
zap_line_in_file("b/testresults", "Pass : 0")
|
||||
zap_line_in_file("b/testresults", "Fail : 0")
|
||||
zap_line_in_file("b/testresults", "XFail : 0")
|
||||
zap_line_in_file("b/testresults", "Skip : 0")
|
||||
|
||||
zap_line_in_file("b/requires_ban", "#FOO")
|
||||
zap_line_in_file("b/Makefile", "ARCHIVES = ")
|
||||
zap_line_in_file("b/Makefile", "include ../common/Makefile.common")
|
||||
zap_line_in_file("b/Makefile", "")
|
||||
|
||||
zap_line_in_file_start(".spec", "Release :")
|
||||
zap_line_in_file_start(".spec", "Source99 :")
|
||||
zap_line_in_file_start(".spec", "Source0 :")
|
||||
zap_line_in_file_start(".spec", "export SOURCE_DATE_EPOCH")
|
||||
zap_line_in_file_start(".spec", "%setup -q -n ")
|
||||
zap_line_in_file_start(".spec", "URL :")
|
||||
zap_line_in_file_start(".spec", "Version :")
|
||||
zap_line_in_file_start(".spec", "Group : Development/Tools")
|
||||
zap_line_in_file_start(".spec", "No detailed description available")
|
||||
zap_line_in_file_start(".spec", "bin components for the")
|
||||
zap_line_in_file_start(".spec", "dev components for the")
|
||||
zap_line_in_file_start(".spec", "lib components for the")
|
||||
zap_line_in_file_start(".spec", "data components for the")
|
||||
zap_line_in_file_start(".spec", "locales components for the")
|
||||
zap_line_in_file_start(".spec", "license components for the")
|
||||
zap_line_in_file_start(".spec", "Group: Default")
|
||||
zap_line_in_file_start(".spec", "export http_proxy=http://127.0.0.1:9/")
|
||||
zap_line_in_file_start(".spec", "export https_proxy=http://127.0.0.1:9/")
|
||||
zap_line_in_file_start(".spec", "export ftp_proxy=http://127.0.0.1:9/")
|
||||
zap_line_in_file_start(".spec", "export no_proxy=localhost,127.0.0.1,0.0.0.0")
|
||||
zap_line_in_file_start(".spec", "Summary:")
|
||||
zap_line_in_file_start(".spec", "Group: Development")
|
||||
zap_line_in_file_start(".spec", "Group: Binaries")
|
||||
zap_line_in_file_start(".spec", "Group: Data")
|
||||
zap_line_in_file_start(".spec", "Group: Libraries")
|
||||
zap_line_in_file_start(".spec", "export LANG=C")
|
||||
zap_line_in_file_start(".spec", "%description lib")
|
||||
zap_line_in_file_start(".spec", "%description bin")
|
||||
zap_line_in_file_start(".spec", "%description data")
|
||||
zap_line_in_file_start(".spec", "%description locales")
|
||||
zap_line_in_file_start(".spec", "%description dev")
|
||||
zap_line_in_file_start(".spec", "%description license")
|
||||
|
||||
zap_line_in_file_start("b/Makefile", "URL =")
|
||||
zap_line_in_file_start("b/Makefile", "PKG_NAME :=")
|
||||
|
||||
zap_line_in_file("b/options.conf", "archives = ")
|
||||
zap_line_in_file("b/options.conf", "giturl = ")
|
||||
zap_line_in_file("b/options.conf", "[package]")
|
||||
zap_line_in_file("b/options.conf", "")
|
||||
zap_line_in_file("b/options.conf", "[autospec]")
|
||||
zap_line_in_file("b/options.conf", "# build 32 bit libraries")
|
||||
zap_line_in_file("b/options.conf", "32bit = false")
|
||||
zap_line_in_file("b/options.conf", "# allow package to build with test failures")
|
||||
zap_line_in_file("b/options.conf", "allow_test_failures = false")
|
||||
zap_line_in_file("b/options.conf", "# unset %build ld_as_needed variable")
|
||||
zap_line_in_file("b/options.conf", "asneeded = false")
|
||||
zap_line_in_file("b/options.conf", "# this package is trusted enough to automatically update (used by other tools)")
|
||||
zap_line_in_file("b/options.conf", "autoupdate = false")
|
||||
zap_line_in_file("b/options.conf", "# extend flags with '-std=gnu++98")
|
||||
zap_line_in_file("b/options.conf", "broken_c++ = false")
|
||||
zap_line_in_file("b/options.conf", "# disable parallelization during build")
|
||||
zap_line_in_file("b/options.conf", "broken_parallel_build = false")
|
||||
zap_line_in_file("b/options.conf", "# this package is a library compatability package and only ships versioned library files")
|
||||
zap_line_in_file("b/options.conf", "compat = false")
|
||||
zap_line_in_file("b/options.conf", "# set conservative build flags")
|
||||
zap_line_in_file("b/options.conf", "conservative_flags = false")
|
||||
zap_line_in_file("b/options.conf", "# dev package requires the extras to be installed")
|
||||
zap_line_in_file("b/options.conf", "dev_requires_extras = false")
|
||||
zap_line_in_file("b/options.conf", "# pass -ffast-math to compiler")
|
||||
zap_line_in_file("b/options.conf", "fast-math = false")
|
||||
zap_line_in_file("b/options.conf", "# optimize build for speed over size")
|
||||
zap_line_in_file("b/options.conf", "funroll-loops = false")
|
||||
zap_line_in_file("b/options.conf", "# set flags to smallest -02 flags possible")
|
||||
zap_line_in_file("b/options.conf", "insecure_build = false")
|
||||
zap_line_in_file("b/options.conf", "# do not remove static libraries")
|
||||
zap_line_in_file("b/options.conf", "keepstatic = false")
|
||||
zap_line_in_file("b/options.conf", "# do not require autostart subpackage")
|
||||
zap_line_in_file("b/options.conf", "no_autostart = false")
|
||||
zap_line_in_file("b/options.conf", "# disable stripping binaries")
|
||||
zap_line_in_file("b/options.conf", "nostrip = false")
|
||||
zap_line_in_file("b/options.conf", "# optimize build for size over speed")
|
||||
zap_line_in_file("b/options.conf", "optimize_size = false")
|
||||
zap_line_in_file("b/options.conf", "# set profile for pgo")
|
||||
zap_line_in_file("b/options.conf", "pgo = false")
|
||||
zap_line_in_file("b/options.conf", "# set flags for security-sensitive builds")
|
||||
zap_line_in_file("b/options.conf", "security_sensitive = false")
|
||||
zap_line_in_file("b/options.conf", "# do not run test suite")
|
||||
zap_line_in_file("b/options.conf", "skip_tests = false")
|
||||
zap_line_in_file("b/options.conf", "# add .so files to the lib package instead of dev")
|
||||
zap_line_in_file("b/options.conf", "so_to_lib = false")
|
||||
zap_line_in_file("b/options.conf", "# configure build for avx2")
|
||||
zap_line_in_file("b/options.conf", "use_avx2 = false")
|
||||
zap_line_in_file("b/options.conf", "# configure build for avx512")
|
||||
zap_line_in_file("b/options.conf", "use_avx512 = false")
|
||||
zap_line_in_file("b/options.conf", "# add clang flags")
|
||||
zap_line_in_file("b/options.conf", "use_clang = false")
|
||||
zap_line_in_file("b/options.conf", "# configure build for lto")
|
||||
zap_line_in_file("b/options.conf", "use_lto = false")
|
||||
zap_line_in_file("b/options.conf", "# require package verification for build")
|
||||
zap_line_in_file("b/options.conf", "verify_required = true")
|
||||
|
||||
zap_line_in_file("b/buildreq_add", "# This file contains additional build requirements that did not get")
|
||||
zap_line_in_file("b/buildreq_add", "# picked up automatically. One name per line, no whitespace.")
|
||||
zap_line_in_file("b/buildreq_ban", "# This file contains build requirements that get picked up but are")
|
||||
zap_line_in_file("b/buildreq_ban", "# undesirable. One entry per line, no whitespace.")
|
||||
|
||||
|
||||
zap_line_in_file("b/excludes", "# This file contains the output files that need %exclude. Full path")
|
||||
zap_line_in_file("b/excludes", "# names, one per line.")
|
||||
|
||||
zap_line_in_file("b/pkgconfig_add", "# This file contains additional pkgconfig build requirements that did")
|
||||
zap_line_in_file("b/pkgconfig_add", "# not get picked up automatically. One name per line, no whitespace.")
|
||||
zap_line_in_file("b/pkgconfig_ban", "# This file contains pkgconfig build requirements that get picked up")
|
||||
zap_line_in_file("b/pkgconfig_ban", "# but are undesirable. One entry per line, no whitespace.")
|
||||
zap_line_in_file("b/requires_add", "# This file contains additional runtime requirements that did not get")
|
||||
zap_line_in_file("b/requires_add", "# picked up automatically. One name per line, no whitespace.")
|
||||
zap_line_in_file("b/requires_ban", "# This file contains runtime requirements that get picked up but are")
|
||||
zap_line_in_file("b/requires_ban", "# undesirable. One entry per line, no whitespace.")
|
||||
|
||||
zap_line_in_file_start(".spec", "Summary : No detailed summary available")
|
||||
|
||||
zap_plus_line_in_file("symbols")
|
||||
zap_plus_line_in_file("symbols32")
|
||||
|
||||
zap_entire_file("b/whatrequires")
|
||||
|
||||
zap_empty_chunks()
|
||||
|
||||
print_all()
|
||||
|
||||
if __name__ == '__main__':
|
||||
with tempfile.TemporaryDirectory() as workingdir:
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user