Compare commits

..

43 Commits

Author SHA1 Message Date
clrbuilder 32729558d9 Update packages file for version 29080
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-26 12:00:00 +00:00
Patrick McCarty b2ad8dbda8 patchreview: exclude whatrequires file
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-04-25 16:26:06 -07:00
Patrick McCarty e545190de3 Fixups for autospecnew
- Run git commands within the newly created package repo
- Only run these commands if autospec succeeds

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-04-25 15:24:24 -07:00
Arjan van de Ven 9921115897 git diff not git show 2019-04-25 21:59:43 +00:00
clrbuilder 8d5f8e37c5 Update packages file for version 29070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-25 18:25:09 +00:00
Arjan van de Ven 6bc5718c25 Add patchfilter to autsopecnew 2019-04-25 18:21:11 +00:00
clrbuilder a21156767e Update packages file for version 29040
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-24 11:59:52 +00:00
clrbuilder 9dd5bb895b Update packages file for version 29020
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-23 12:00:10 +00:00
clrbuilder 67b7ef2bf4 Update packages file for version 29000
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-22 17:39:28 +00:00
clrbuilder 6ad56934fd Update packages file for version 28990
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-21 22:26:53 +00:00
Arjan van de Ven 7b08135720 fix backtrace 2019-04-20 17:07:54 +00:00
Arjan van de Ven 168c9b8606 add a for-review filtered patch 2019-04-20 00:32:37 +00:00
clrbuilder 3ff4181689 Update packages file for version 28970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-19 19:51:00 +00:00
clrbuilder a581ac8fbf Update packages file for version 28960
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-19 14:41:20 +00:00
clrbuilder 601ca9e0fc Update packages file for version 28910
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-17 11:58:00 +00:00
clrbuilder 8848658fcf Update packages file for version 28890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-16 11:58:13 +00:00
clrbuilder b76a7bc7f8 Update packages file for version 28870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-15 17:58:35 +00:00
clrbuilder f8f9619eec Update packages file for version 28860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-15 11:58:14 +00:00
clrbuilder b7b8774581 Update packages file for version 28850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-14 17:36:23 +00:00
clrbuilder b3618cc43c Update packages file for version 28840
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-14 01:54:03 +00:00
clrbuilder 921ac270fe Update packages file for version 28820
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-12 11:58:41 +00:00
clrbuilder f41acbdeb0 Update packages file for version 28810
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-11 19:36:11 +00:00
Patrick McCarty 83a461fe40 Print progress messages for install-local and install-debuginfo-local
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-04-11 10:59:21 -07:00
Patrick McCarty 6876f3d11e Skip debuginfo install if the required rpm does not exist
Some packages in the distro do not generate debuginfo subpackages, so
make sure to skip the debuginfo install in this situation.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-04-11 10:46:49 -07:00
clrbuilder 5a4dd4451a Update packages file for version 28800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-11 15:27:28 +00:00
clrbuilder d48889eb29 Update packages file for version 28770
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-10 17:58:50 +00:00
clrbuilder b402f2bbdf Update packages file for version 28760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-10 11:58:29 +00:00
clrbuilder 1fcaa4aea6 Update packages file for version 28740
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-09 11:58:30 +00:00
clrbuilder 71b927321f Update packages file for version 28730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-09 02:59:16 +00:00
clrbuilder 40f17091a6 Update packages file for version 28720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-08 17:59:02 +00:00
clrbuilder 3b062e1b45 Update packages file for version 28700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-07 02:22:41 +00:00
clrbuilder 3c3fc1a16c Update packages file for version 28690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-05 22:27:02 +00:00
clrbuilder 3c7aac6a8e Update packages file for version 28670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-05 11:58:38 +00:00
Patrick McCarty baf555428f Update license list for SPDX 3.5
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-04-05 00:23:35 -07:00
clrbuilder 262d005c62 Update packages file for version 28660
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-04 18:20:29 +00:00
clrbuilder ceff8301a1 Update packages file for version 28650
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-04 11:58:41 +00:00
clrbuilder 8eb7264597 Update packages file for version 28630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-03 11:58:45 +00:00
clrbuilder c10d558ee6 Update packages file for version 28600
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-01 17:59:44 +00:00
clrbuilder bd75d90fc7 Update packages file for version 28590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-04-01 12:01:36 +00:00
clrbuilder 081c620f82 Update packages file for version 28560
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-03-29 11:58:42 +00:00
clrbuilder 7e017ee247 Update packages file for version 28540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-03-28 11:59:08 +00:00
clrbuilder 5b43360fe8 Update packages file for version 28520
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-03-27 11:59:02 +00:00
clrbuilder eb8879f0f0 Update packages file for version 28510
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-03-26 17:59:36 +00:00
5 changed files with 518 additions and 11 deletions
+17 -7
View File
@@ -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,35 @@ 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; \
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
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
View File
@@ -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; \
+5
View File
@@ -99,6 +99,8 @@ CECILL-2.0
CECILL-2.1
CECILL-B
CECILL-C
CERN-OHL-1.1
CERN-OHL-1.2
CNRI-Jython
CNRI-Python
CNRI-Python-GPL-Compatible
@@ -183,6 +185,7 @@ Info-ZIP
Intel
Intel-ACPI
Interbase-1.0
JPNIC
JSON
JasPer-2.0
LAL-1.2
@@ -325,6 +328,7 @@ Spencer-94
Spencer-99
StandardML-NJ
SugarCRM-1.1.3
TAPR-OHL-1.0
TCL
TCP-wrappers
TMate
@@ -373,6 +377,7 @@ eGenix
gSOAP-1.3b
gnuplot
iMatix
libpng-2.0
libtiff
mpich2
psfrag
+143 -2
View File
@@ -22,6 +22,7 @@ FreeCAD
FreeRDP
GConf
GitPython
GtkD
HeapDict
ImageMagick
JAGS
@@ -42,6 +43,7 @@ Markdown
MarkupSafe
ModemManager
MonkeyType
MuseScore
MySQL-python
NetworkManager
NetworkManager-openconnect
@@ -58,6 +60,7 @@ PasteDeploy
Pillow
Pint
PyDispatcher
PyICU
PyJWT
PyMySQL
PyNaCl
@@ -661,6 +664,7 @@ R-rasterVis
R-rbenchmark
R-rcmdcheck
R-reactR
R-reactlog
R-readr
R-readstata13
R-readxl
@@ -948,6 +952,7 @@ akonadiconsole
akregator
alabaster
alembic
alsa-firmware
alsa-lib
alsa-plugins
alsa-utils
@@ -1002,6 +1007,8 @@ atomicwrites
attica
attr
attrs
audacious
audacious-plugins
audiofile
audisp-json
audit
@@ -1077,6 +1084,7 @@ boto
boto3
botocore
bovo
breathe
breeze
breeze-gtk
breeze-icons
@@ -1104,6 +1112,7 @@ buildreq-kernel
buildreq-make
buildreq-meson
buildreq-mvn
buildreq-php
buildreq-qmake
buildreq-scons
bundle-chroot-builder
@@ -1122,6 +1131,7 @@ cairo
cairomm
calc
calendarsupport
can-utils
cantarell-fonts
cantata
cantor
@@ -1158,6 +1168,7 @@ clear-config-management
clear-font
click
click-datetime
click-log
cliff
clinfo
cln
@@ -1180,6 +1191,7 @@ clr-init
clr-installer
clr-man-pages
clr-network-troubleshooter
clr-one-shot-updates
clr-power-tweaks
clr-python-timestamp
clr-pyversion-strip
@@ -1252,6 +1264,7 @@ compat-icu4c-soname61
compat-ilmbase-soname23
compat-intel-gmmlib-soname1
compat-ipset-soname10
compat-ldc-soname84
compat-libgit2-soname27
compat-libical-soname2
compat-libidn-soname11
@@ -1262,6 +1275,7 @@ compat-libwebp-soname6
compat-llvm-soname4
compat-llvm-soname5
compat-llvm-soname6
compat-llvm-soname7
compat-mariadb-soname18
compat-mpfr-soname4
compat-opencv-soname32
@@ -1272,6 +1286,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
@@ -1280,6 +1295,7 @@ compat-readline-soname5
compat-readline-soname7
component
compute-image-packages
conda
configobj
configparser
confuse
@@ -1349,6 +1365,81 @@ decorator
defusedxml
dejagnu
dejavu-fonts
deprecated-Babel
deprecated-Cython
deprecated-Jinja2
deprecated-Mako
deprecated-Markdown
deprecated-MarkupSafe
deprecated-PyYAML
deprecated-Pygments
deprecated-Sphinx
deprecated-WebOb
deprecated-Werkzeug
deprecated-Whoosh
deprecated-alabaster
deprecated-asn1crypto
deprecated-attrs
deprecated-boto3
deprecated-botocore
deprecated-certifi
deprecated-cffi
deprecated-chardet
deprecated-colorama
deprecated-configparser
deprecated-contextlib2
deprecated-coverage
deprecated-cryptography
deprecated-docutils
deprecated-funcsigs
deprecated-futures
deprecated-glances
deprecated-html5lib
deprecated-hypothesis
deprecated-idna
deprecated-imagesize
deprecated-ipaddress
deprecated-isort
deprecated-jmespath
deprecated-linecache2
deprecated-mido
deprecated-nose
deprecated-numpy
deprecated-ordereddict
deprecated-pexpect
deprecated-pluggy
deprecated-psycopg2
deprecated-py
deprecated-pyOpenSSL
deprecated-pyasn1
deprecated-pycairo
deprecated-pycparser
deprecated-pycurl
deprecated-pyflakes
deprecated-pyparsing
deprecated-python-dldt
deprecated-python-memcached
deprecated-python-mock
deprecated-python-multilib
deprecated-pytz
deprecated-requests
deprecated-s3transfer
deprecated-setproctitle
deprecated-setuptools_scm
deprecated-simplejson
deprecated-six
deprecated-snowballstemmer
deprecated-sphinx_rtd_theme
deprecated-sphinxcontrib-websupport
deprecated-testscenarios
deprecated-traceback2
deprecated-typing
deprecated-unittest2
deprecated-urllib3
deprecated-warlock
deprecated-webcolors
deprecated-zope.testing
deprecated-zope.testrunner
deprecation
desktop-file-utils
desktop-icons
@@ -1448,6 +1539,7 @@ envs
eog
eog-plugins
epm
epydoc
eternalegypt
ethtool
eventlet
@@ -1465,6 +1557,7 @@ expect
extra-cmake-modules
extras
f2fs-tools
faas-cli
faba-icon-theme
fakeroot
fann
@@ -1472,6 +1565,7 @@ fann2
farstream
fasteners
fastimport
fastnumbers
fcgi
fcoe-utils
fdm_materials
@@ -1560,6 +1654,7 @@ gexiv2
gfbgraph
gflags
gftp
ghc
ghostscript
gimp
git
@@ -1691,6 +1786,7 @@ gtkmm2
gtkmm3
gtksourceview
gtkspell3
gtkwave
guile
gupnp-av
gutenprint
@@ -1706,7 +1802,9 @@ hammock
haproxy
hardlink
harfbuzz
haskell-random
hdf5
hdmedians
hdparm
heat
helloworld
@@ -1718,6 +1816,7 @@ hicolor-icon-theme
hiredis
hold
home-assistant
home-assistant-frontend
horizon
horovod
hostname
@@ -1757,6 +1856,7 @@ iftop
igt-gpu-tools
ilmbase
image
imageio
imagesize
imapfilter
imlib2
@@ -1769,6 +1869,7 @@ init-rdahead
inkscape
inotify-tools
intel-cmt-cat
intel-compute-runtime
intel-gmmlib
intel-graphics-compiler
intel-hybrid-driver
@@ -1851,6 +1952,7 @@ kactivitymanagerd
kafka-dep
kalarm
kalarmcal
kalgebra
kamera
kanagram
kapidox
@@ -1942,6 +2044,7 @@ kgeography
kget
kglobalaccel
kgoldrunner
kgpg
kguiaddons
khal
khangman
@@ -2210,6 +2313,7 @@ libkipi
libkleo
libkmahjongg
libkomparediff2
libksane
libksba
libkscreen
libksieve
@@ -2265,6 +2369,7 @@ libqmi
libqtxdg
libqxp
librabbitmq
libreoffice
librepo
librevenge
librsvg
@@ -2355,15 +2460,15 @@ 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
linux-lts
linux-lts2017
linux-lts2018
linux-networktest
linux-oracle
linux-pk414-preempt-rt
linux-preempt-rt
linux-steam-integration
linux-tools
@@ -2513,10 +2618,12 @@ mycroft-core
mypaint-brushes
mypy
mypy_extensions
mysqltcl
mythes
nagios-plugins
nano
nasm
natsort
nautilus
nbconvert
nbformat
@@ -2526,6 +2633,7 @@ ncurses
ncurses-compat
ndctl
ndg_httpsclient
ndpi
neofetch
neomutt
neon
@@ -2550,6 +2658,7 @@ nfs4-acl-tools
nftables
nghttp2
nginx
nginx-mainline
nicstat
ninja
nload
@@ -2563,6 +2672,7 @@ nose-cover3
nose-parameterized
nosexcover
nosync
not-ffmpeg
notebook
notmuch
noto-cjk
@@ -2576,6 +2686,7 @@ nss
nss-altfiles
nss-pam-ldapd
ntfs-3g
ntl
ntlm-auth
ntp
ntplib
@@ -2609,6 +2720,7 @@ open-vm-tools
openQA
openal-soft
openblas
opencl-clang
openconnect
opencv
openexr
@@ -2639,6 +2751,7 @@ os-autoinst
os-brick
os-client-config
os-ken
os-resource-classes
os-service-types
os-testr
os-traits
@@ -2708,6 +2821,7 @@ parted
pass
passlib
patch
patchelf
patchutils
pathlib
pathlib2
@@ -2720,6 +2834,7 @@ pciutils
pcmanfm-qt
pcre
pcre2
pcsc-lite
pdns
pdns-recursor
pecan
@@ -2750,6 +2865,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
@@ -2855,6 +2971,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
@@ -3205,6 +3322,7 @@ perl-Set-Scalar
perl-Smart-Comments
perl-Socket-MsgHdr
perl-Socket6
perl-Software-License
perl-Sort-Key
perl-Sort-Naturally
perl-Sort-Versions
@@ -3389,6 +3507,13 @@ pexpect
phonon
phoronix-test-suite
php
php-imagick
php-mailparse
php-redis
php-timezonedb
php-xdebug
php-yaml
php-zip
pickleshare
picmi
picocom
@@ -3425,6 +3550,7 @@ ply
plzip
pmdk
polkit
polkit-kde-agent
polkit-qt
poppler
poppler-data-clr-rename
@@ -3485,6 +3611,7 @@ pycadf
pycairo
pycam
pycodestyle
pycosat
pycparser
pycrypto
pycurl
@@ -3510,6 +3637,7 @@ pyliblzma
pylint
pymemcache
pymongo
pyotherside
pyotp
pypandoc
pyparsing
@@ -3717,6 +3845,7 @@ rsa
rsync
rsyslog
rt-tests
rtkit
rtslib-fb
rttr
ruamel-yaml
@@ -3754,6 +3883,7 @@ seaborn
seahorse
secretstorage
sed
segno
selenium
semantic_version
seqdiag
@@ -3785,7 +3915,9 @@ smart_open
smartcols
smartmontools
smmap2
snabb
snappy
snitun
snowballstemmer
socat
sof-crosstool-ng
@@ -3808,12 +3940,18 @@ speexdsp
sphinx-feature-classification
sphinx_rtd_theme
sphinxcontrib-apidoc
sphinxcontrib-applehelp
sphinxcontrib-bibtex
sphinxcontrib-blockdiag
sphinxcontrib-devhelp
sphinxcontrib-htmlhelp
sphinxcontrib-httpdomain
sphinxcontrib-jsmath
sphinxcontrib-newsfeed
sphinxcontrib-programoutput
sphinxcontrib-qthelp
sphinxcontrib-seqdiag
sphinxcontrib-serializinghtml
sphinxcontrib-spelling
sphinxcontrib-trio
sphinxcontrib-websupport
@@ -3837,6 +3975,7 @@ startup-notification
statsd
statsmodels
stellarium
step
stestr
stevedore
stow
@@ -3849,6 +3988,7 @@ subversion
sudo
suds-jurko
sundials
supertuxkart
sure
suricata
svg.path
@@ -3933,6 +4073,7 @@ tinyxml2
tiptop
tk
tmux
todoist
tokyocabinet
toolz
tooz
+347
View File
@@ -0,0 +1,347 @@
#!/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_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()