Compare commits

..

34 Commits

Author SHA1 Message Date
clrbuilder fa93c354e1 Update packages file for version 30950
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-05 05:03:15 +00:00
Patrick McCarty 6a54f15cb6 Add new package: R-systemfonts
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-09-03 21:14:03 -07:00
clrbuilder fa42020aa9 Update packages file for version 30910
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-31 23:58:25 +00:00
clrbuilder a727fe3722 Update packages file for version 30900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-30 05:03:46 +00:00
clrbuilder c41eeea37a Update packages file for version 30890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-29 05:03:31 +00:00
clrbuilder a07f64294f Update packages file for version 30870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-27 05:03:19 +00:00
clrbuilder 59a3a29c4c Update packages file for version 30840
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-22 05:02:48 +00:00
clrbuilder cba91e5044 Update packages file for version 30830
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-21 05:02:27 +00:00
Patrick McCarty a5d39507cc Merge tag 'refs/tags/30820' into master 2019-08-20 21:09:12 -07:00
clrbuilder dc644c29a0 Update packages file for version 30820
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-20 05:02:31 +00:00
clrbuilder f5febd9cd6 Update packages file for version 30810
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-17 05:02:00 +00:00
clrbuilder 33911b18e5 Update packages file for version 30800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-16 05:02:20 +00:00
Patrick McCarty 13e5e26cbf Move manual setup steps to a separate file
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-08-14 17:57:18 -07:00
clrbuilder 4845303ae6 Update packages file for version 30780
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-14 05:03:31 +00:00
clrbuilder 6fdc492121 Update packages file for version 30740
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-10 05:02:49 +00:00
clrbuilder 7614474aba Update packages file for version 30720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-08 18:20:52 +00:00
clrbuilder 5bee2e96d2 Update packages file for version 30710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-08 05:02:42 +00:00
clrbuilder 6cc08f74e7 Update packages file for version 30700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-07 05:03:04 +00:00
clrbuilder 5b64c9b888 Update packages file for version 30690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-06 14:03:17 +00:00
clrbuilder 88c420528d Update packages file for version 30680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-06 05:02:55 +00:00
clrbuilder 98c7c4cb76 Update packages file for version 30670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-05 14:12:19 +00:00
clrbuilder e2ce4353b6 Update packages file for version 30660
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-03 05:03:25 +00:00
clrbuilder 08512d3f2b Update packages file for version 30620
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-01 05:06:06 +00:00
Patrick McCarty f6be3f440a Unzap the addition of GCC_IGNORE_WERROR lines
Once this line is added to a package spec, it is likely to never show up
again, and its initial appearance may have a significant impact on the
build, so it is good to keep to not lose context.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-31 20:55:30 -07:00
clrbuilder 1a79ab1700 Update packages file for version 30600
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-31 05:04:26 +00:00
clrbuilder a6fa6599bb Update packages file for version 30580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-30 05:23:32 +00:00
Patrick McCarty 9d6c5e6677 Fix call to the go-builder wrapper script
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-29 17:44:24 -07:00
William Douglas 460ce05217 Add go-builder.py and autospecnewgo target
This change enables recurive dependency resolution and packaging when
creating new go packages. To do so the 'autospecnewgo' target is
created and the autospecnew target is slightly modified to align
make target exit code expectations for failure handling.
2019-07-29 17:44:24 -07:00
William Douglas 8a2da3412d Add repostage target
When building large numbers of packages that are interdependent,
recreating the rpm repository for each package can create a large
overhead during processing. 'repostage' is intended to provide an
intermediate target for adding a package to a repository that can
later be built using localrepocreate.
2019-07-29 17:44:24 -07:00
clrbuilder 94624262ae Update packages file for version 30570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-29 14:07:14 +00:00
clrbuilder 15a220803f Update packages file for version 30550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-26 22:33:53 +00:00
Patrick McCarty 4130c1c97d Add new package R-mvnfast
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-25 12:18:01 -07:00
Patrick McCarty 7c28f0608d Add new package R-linprog
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-25 11:37:50 -07:00
clrbuilder 1b0945c33d Update packages file for version 30530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-25 18:04:39 +00:00
7 changed files with 618 additions and 55 deletions
+22
View File
@@ -378,6 +378,28 @@ repoadd: $(TOPLVL)/repo
$(MAKE) localrepocreate
$(call localrepoenable,${PM_CONF},${MOCK_CONF})
#help repostage: Stages locally-built RPMs for this package to the local RPM
#help directory. If this directory does not yet exist, it is created and
#help enabled.
repostage: $(TOPLVL)/repo
@if [ -z "${LATEST_RPMS}" ]; then \
echo "No rpms found in rpms/ directory."; \
exit 1; \
fi; \
if [ -f .repo-index ]; then \
echo "Cleaning old rpms:"; \
for r in `cat .repo-index`; do \
echo "-$$r"; \
rm -f $(TOPLVL)/repo/$$r; \
done; \
rm .repo-index; \
fi; \
for r in ${LATEST_RPMS}; do \
echo "+$$r"; \
echo $$(basename $$r) >> .repo-index; \
ln -f $$r $(TOPLVL)/repo/; \
done
#help repodel: Removes RPMs from the local RPM repository that were
#help previously added by 'make repoadd' for this package.
repodel:
+48
View File
@@ -233,6 +233,54 @@ autospecnew: preautospecnew-checks localreponotice
printf "** NOTICE: A patch with changes is available in the file $(TOPLVL)/packages/$(NAME)/for-review.txt\n"; \
printf "** Please look through this file and if you are unsure, please submit for code review with git send-email\n"; \
printf "**\n\n"; \
else \
echo "Autospec of $(NAME) failed."; \
exit 1; \
fi; \
else \
echo "$(NAME) already exists at $(TOPLVL)/packages/$(NAME)"; \
exit 1; \
fi
#help autospecnewgo: Creates a new autospec package with (dependencies)
#help for a given URL=$(URL) with NAME=$(NAME). Several files used by
#help autospec will be created in the help process.
#help Use MOCK_OPTS environment varible to pass down arbitrary mock options
#help to autospec.
#help For more information about autospec, see the project page on Github https://github.com/clearlinux/autospec
autospecnewgo: preautospecnew-checks localreponotice
@if [ -z $(NAME) ] || [ -z $(URL) ]; then \
echo "Please specify NAME and URL. The ARCHIVES variable is optional."; \
exit 1; \
fi
-$(MAKE) clone_$(NAME)
@if [ ! -d $(TOPLVL)/packages/$(NAME)/.git ]; then \
echo "no remote repository found, creating new package repository and running autospec"; \
mkdir -p $(TOPLVL)/packages/$(NAME); \
( \
cd $(TOPLVL)/packages/$(NAME); \
git init; \
git remote add origin $(PKG_BASE_URL)/$(NAME); \
$(call gitoliteurl,packages/$(NAME)); \
$(call subjectprefix,$(NAME)); \
); \
printf 'PKG_NAME := %s\nURL = %s\nARCHIVES = %s\n\ninclude ../common/Makefile.common\n' $(NAME) '$(value URL)' '$(value ARCHIVES)' > $(TOPLVL)/packages/$(NAME)/Makefile; \
python3 $(TOPLVL)/projects/common/go-builder.py \
--target packages/$(NAME) \
--integrity \
--config "$(AUTOSPEC_CONF)" \
--name $(NAME) \
--archives $(ARCHIVES) \
--mock-config $(MOCK_CONFIG_VAL) \
--mock-opts "$(MOCK_OPTS)" \
$(URL); \
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); \
else \
exit 1; \
fi; \
else \
echo "$(NAME) already exists at $(TOPLVL)/packages/$(NAME)"; \
+40
View File
@@ -0,0 +1,40 @@
## Advanced topics
### Manual setup
If you did not run the user-setup script (see "Automated setup" section in the
[main README](README.md), you will want to set up the developer tooling
workspace manually. This section provides general documentation for the manual
setup process, and it is not meant to be exhaustive.
On your Clear Linux system, create a workspace for Clear Linux development
work:
```
$ mkdir clearlinux
```
Clone this repo into a `projects` directory within the workspace:
```
$ cd clearlinux
$ mkdir projects
$ git clone https://github.com/clearlinux/common projects/common
```
Create the toplevel tooling Makefile:
```
$ ln -s projects/common/Makefile.toplevel Makefile
```
Clone all Clear Linux package and project repositories:
```
$ make clone
```
Note: You can clone the repos in parallel by using make's `-j` option.
At this point, the `packages` directory will contain all Clear Linux package
repos, and `projects` will contain common, clr-bundles, and autospec repos.
+1 -36
View File
@@ -152,39 +152,4 @@ If `Makefile.config.site_local` doesn't exist already, create it.
### Manual setup
If you did not run the user-setup script (see "Automated setup" section above),
you will want to set up the developer tooling workspace manually. This section
provides general documentation for the manual setup process, and it is not
meant to be exhaustive.
On your Clear Linux system, create a workspace for Clear Linux development
work:
```
$ mkdir clearlinux
```
Clone this repo into a `projects` directory within the workspace:
```
$ cd clearlinux
$ mkdir projects
$ git clone https://github.com/clearlinux/common projects/common
```
Create the toplevel tooling Makefile:
```
$ ln -s projects/common/Makefile.toplevel Makefile
```
Clone all Clear Linux package and project repositories:
```
$ make clone
```
Note: You can clone the repos in parallel by using make's `-j` option.
At this point, the `packages` directory will contain all Clear Linux package
repos, and `projects` will contain common, clr-bundles, and autospec repos.
See the [Manual setup](README-advanced.md#manual-setup) documentation.
Executable
+285
View File
@@ -0,0 +1,285 @@
#!/usr/bin/env python3
#
# gowrap.py - part of autospec
# Copyright (C) 2019 Intel Corporation
#
# 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.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import argparse
import os
import shutil
import subprocess
import sys
import tempfile
def parse_args():
"""Parse commandline arguments."""
parser = argparse.ArgumentParser()
parser.add_argument("url", help="Location of package archive")
parser.add_argument("-t", "--target", dest="target", action="store",
default=None,
help="Target location to create or reuse")
parser.add_argument("-c", "--config", dest="config", action="store",
default="/usr/share/defaults/autospec/autospec.conf",
help="Set configuration file to use")
parser.add_argument("-n", "--name", action="store", dest="name", default="",
help="Override the package name")
parser.add_argument("-i", "--integrity", action="store_true",
default=False,
help="Search for package signature from source URL and "
"attempt to verify package")
parser.add_argument("-m", "--mock-config", action="store", default="clear",
help="Value to pass with Mock's -r option. Defaults to "
"\"clear\", meaning that Mock will use "
"/etc/mock/clear.cfg.")
parser.add_argument("-o", "--mock-opts", action="store", default="",
help="Arbitrary options to pass down to mock when "
"building a package.")
parser.add_argument('-a', "--archives", action="store",
dest="archives", default=[], nargs='*',
help="tarball URLs for additional source archives and"
" a location for the sources to be extacted to (e.g."
" http://example.com/downloads/dependency.tar.gz"
" /directory/relative/to/extract/root )")
return parser.parse_args()
def missing_dependencies(name):
"""Check if the build failed due to missing dependencies."""
root_log = os.path.join("packages", name, "results", "root.log")
if not os.path.exists(root_log):
return False
with open(root_log, "r") as lfile:
for line in lfile.readlines():
if "No matching package to install" in line:
return True
return False
def already_built(name, version):
"""Check if the package and version are already built."""
if not os.path.exists(os.path.join("packages", name, "rpms")):
return False
vpath = os.path.join("packages", name, "versions")
if not os.path.exists(vpath):
return False
with open(vpath, "r") as vfile:
if version not in [x.strip() for x in vfile.readlines()]:
return False
return True
def build(path, args, name, url, version):
"""Try and build a package."""
if version:
ver_arg = ["-v", version]
else:
ver_arg = []
if already_built(name, version):
return True
print(f"Trying to autospec {name} - {version}")
proc = subprocess.run(["python3",
f"{path}/../autospec/autospec/autospec.py", url,
"-c", args.config, "-t", f"packages/{name}",
"-n", name, "-m", args.mock_config,
"-o", args.mock_opts, "-i"] + ver_arg, capture_output=True)
if proc.returncode == 0:
subprocess.run(["make", "link-new-rpms", f"PKG_REPO_DIR=packages/{name}"],
capture_output=True)
return proc.returncode == 0
def parse_go_mod(path):
"""Parse go.mod file for build requirements.
File content looks as follows:
module example.com/foo/bar
require (
github.com/BurntSushi/toml v0.3.1
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999
github.com/inconshreveable/mousetrap v1.0.0 // indirect
"github.com/spf13/cobra" v0.0.3
github.com/spf13/pflag v1.0.3 // indirect
)
Need to handle all require lines including //indirect.
Skip requires that use .git for now. May need to be handled
differently.
"""
reqs = []
with open(path, "r") as gfile:
dep_start = False
for line in gfile.readlines():
# Ideally the mod file is generated and the format is
# always correct but add a few defenses just in case
line = line.strip()
if line.startswith("//"):
# Skip comments
continue
if dep_start:
# End of the require section
if line.startswith(")"):
break
req = line.split()[:2]
req[0] = req[0].replace('"', '')
if req[0].endswith(".git"):
continue
reqs.append(req)
continue
if line.startswith("require ("):
dep_start = True
return reqs
def get_dependencies(name):
"""Return path to the go.mod file if it exists."""
command = None
path = None
pdir = os.path.join("packages", name)
reqs = []
for fname in os.listdir(pdir):
# Find the archive
if fname.endswith("zip"):
command = ["unzip", fname]
elif ".tar." in fname:
command = ["tar", "xf", fname]
else:
command = None
if command:
# Decompress archive
tdir = tempfile.mkdtemp()
tfile = os.path.join(tdir, fname)
shutil.copyfile(os.path.join(pdir, fname), tfile)
proc = subprocess.run(command, cwd=tdir, capture_output=True)
if not proc.returncode:
# inspect contents for a "go.sum" file
for root, _, files in os.walk(tdir):
if "go.mod" in files:
path = f"{name}.gomod"
shutil.copyfile(os.path.join(root, "go.mod"), path)
reqs += parse_go_mod(path)
os.unlink(path)
shutil.rmtree(tdir)
return reqs
def encode_requirements(requirement):
"""Encode the project's module and version."""
# Default dependency base proxy url
base_url = "https://proxy.golang.org/"
# Encoding based on
# https://tip.golang.org/cmd/go/#hdr-Module_proxy_protocol
encoded_module = ""
for char in requirement[0]:
if char.isupper():
encoded_module += "!" + char.lower()
else:
encoded_module += char
encoded_version = ""
for char in requirement[1]:
if char.isupper():
encoded_version += "!" + char.lower()
else:
encoded_version += char
return (encoded_module, encoded_version)
def initialize_package(name, url, version, path, args):
"""Setup package and try to build it."""
if already_built(name, version):
return True
print(f"Trying to autospecnew {name} - {version}")
proc = subprocess.run(["make", "autospecnew", f"URL={url}", f"NAME={name}", f"SETVERSION={version}"], capture_output=True)
if f"{name} already exists at" in proc.stdout.decode("utf-8"):
return build(path, args, name, url, version)
return proc.returncode == 0
def build_recursive(path, args, name, url, version=None, success=None):
"""Try and recursively build packages."""
if not success:
# First package being built, common utilities already run
# so just use autospec directly
success = {}
ret = build(path, args, name, url, version)
else:
ret = initialize_package(name, url, version, path, args)
if ret:
# Completed so we are done!
return True
if not missing_dependencies(name):
# Failed but not due to missing dependencies, bail
print(f"Unknown error building {name} - {version}")
return False
reqs = get_dependencies(name)
if not reqs:
# Didn't try and add anything so don't need to build again
print(f"Build failed with no missing requirements: {name} - {version}")
return False
print(f"First attempt to build failed due to missing dependencies {name} - {version}\n")
for req in reqs:
ereq = encode_requirements(req)
rname = "go-" + req[0].replace("/", "-")
rurl = f"https://proxy.golang.org/{ereq[0]}/@v/list"
if (rname, req[1]) in success:
# Rebuild detected, figure out if it is okay or not
if success[(rname, req[1])]:
# Already succeeded building req short circuit success
continue
else:
# Encountered a build loop, bail out as this likely
# requires manual fixing
print(f"Detected build loop when building {rname} - {req[1]}")
return True
success[(rname, req[1])] = False
if not build_recursive(path, args, rname, rurl, req[1], success):
print(f"Failed to build dependency {rname} - {req[1]}")
return False
success[(rname, req[1])] = True
subprocess.run(["make", "repodel"], cwd=f"packages/{rname}", capture_output=True)
subprocess.run(["make", "repostage"], cwd=f"packages/{rname}", capture_output=True)
# Create the repo with the new packages added
subprocess.run(["make", "localrepocreate"], capture_output=True)
# Retry previously failed build assuming dependencies got added
print(f"Rebuilding after resolving dependencies {name} - {version}")
ret = build(path, args, name, url, version)
print("")
return ret
def main():
"""Start program execution."""
args = parse_args()
path = os.path.dirname(os.path.realpath(__file__))
return build_recursive(path, args, args.name, args.url)
if __name__ == '__main__':
if not main():
sys.exit(-1)
print("\n\nBuild completed\n\n")
+222 -18
View File
@@ -505,6 +505,7 @@ R-leaps
R-lfe
R-lhs
R-libcoin
R-linprog
R-lintr
R-listenv
R-listviewer
@@ -570,6 +571,7 @@ R-multcompView
R-multicool
R-multiwayvcov
R-munsell
R-mvnfast
R-mvnormtest
R-mvoutlier
R-mvtnorm
@@ -807,6 +809,7 @@ R-survey
R-svUnit
R-sys
R-systemfit
R-systemfonts
R-tau
R-taxize
R-tclust
@@ -875,6 +878,7 @@ R-zCompositions
R-zeallot
R-zip
R-zoo
RawTherapee
Remmina
Routes
SDL
@@ -902,6 +906,7 @@ SmartXbar
Solaar
Sphinx
SuiteSparse
TLP
Tempita
Theano
Thunar
@@ -966,7 +971,6 @@ adapt-parser
adcli
ade
adwaita-icon-theme
aeon
aioeventlet
aiohttp
aiohttp-cors
@@ -1000,7 +1004,6 @@ apache-libcloud
apache-maven
apache-spark
apache-tomcat
apache-tomcat-dep
apache-zookeeper
apipkg
appdirs
@@ -1032,6 +1035,7 @@ astor
astral
astroid
astunparse
asunder
asv
async-timeout
at
@@ -1093,7 +1097,6 @@ bcc
bcrypt
bdftopcf
beautifulsoup4
beignet
bijiben
bind-utils
binutils
@@ -1121,6 +1124,7 @@ boto
boto3
botocore
bovo
bpftrace
brasero
breathe
breeze
@@ -1177,7 +1181,6 @@ capnproto
caribou
case
cassandra
cassandra-dep
castellan
casync
catch2
@@ -1185,6 +1188,7 @@ catkin
catkin_pkg
ccache
ccid
cdparanoia
ceilometer
ceph
ceph-deploy
@@ -1292,7 +1296,6 @@ compat-curl-gnutls-soname4
compat-double-conversion-soname1
compat-efivar-soname0
compat-enchant-soname1
compat-exiv2-soname26
compat-fuse-soname2
compat-gdal-soname20
compat-gegl
@@ -1353,6 +1356,7 @@ containerd
contextlib2
cookies
coreutils
coturn
cotyledon
cov-core
coverage
@@ -1623,6 +1627,7 @@ fastnumbers
fcgi
fcoe-utils
fdm_materials
fdupes
feh
fetchmail
ffmpegthumbs
@@ -1649,6 +1654,8 @@ flake8-deprecated
flake8-docstrings
flake8-import-order
flake8-polyfill
flare-engine
flare-game
flatpak
flatpak-builder
fldigi
@@ -1706,8 +1713,10 @@ geany
geany-plugins
geary
gedit
geeqie
gegl
gensim
geocam-v4l2
geoclue
geocode-glib
geos
@@ -1757,6 +1766,7 @@ gnome-boxes
gnome-calculator
gnome-calendar
gnome-characters
gnome-chess
gnome-clocks
gnome-color-manager
gnome-common
@@ -1771,6 +1781,7 @@ gnome-icon-theme
gnome-initial-setup
gnome-keyring
gnome-logs
gnome-mahjongg
gnome-maps
gnome-menus
gnome-music
@@ -1794,6 +1805,7 @@ gnome-user-docs
gnome-video-effects
gnome-weather
gnu-efi
gnuchess
gnupg
gnuplot
gnutls
@@ -1868,7 +1880,6 @@ gwenview
gzip
h5py
hacking
hadoop-dep
hamlib
hammock
haproxy
@@ -1910,6 +1921,7 @@ hyphen
hypothesis
i2c-tools
i3
i3blocks
i3lock
i3status
ias
@@ -1991,6 +2003,7 @@ iso8601
isodate
isort
ister
isync
itsdangerous
itstool
iw
@@ -2093,6 +2106,7 @@ kdelibs4support
kdenetwork-filesharing
kdenlive
kdepim-apps-libs
kdepim-runtime
kdeplasma-addons
kdesdk-kioslaves
kdesdk-thumbnailers
@@ -2199,6 +2213,7 @@ kombu
konqueror
konquest
konsole
kontact
kontactinterface
konversation
kpackage
@@ -2321,6 +2336,7 @@ libbytesize
libcanberra
libcap
libcap-ng
libcddb
libcdio
libcdr
libcgroup
@@ -2381,6 +2397,7 @@ libgnomekbd
libgovirt
libgpg-error
libgphoto2
libgpiod
libgravatar
libgsystem
libgtop
@@ -2394,6 +2411,7 @@ libidn2
libindicator
libinput
libinstpatch
libiptcdata
libiscsi
libisofs
libite
@@ -2427,7 +2445,10 @@ libmetalink
libmicrohttpd
libmnl
libmodbus
libmodplug
libmodulemd
libmpack
libmpack-lua
libmspack
libmspub
libmtp
@@ -2470,6 +2491,7 @@ libqmi
libqtxdg
libqxp
librabbitmq
libratbag
libreoffice
librepo
librevenge
@@ -2501,10 +2523,10 @@ libstaroffice
libstoragemgmt
libsysstat
libtasn1
libtermkey
libthai
libtheora
libtirpc
libtk-img
libtool
libtorrent-rasterbar
libudev0-shim
@@ -2528,6 +2550,7 @@ libvisio
libvma
libvorbis
libvpx
libvterm
libwacom
libwebp
libwnck
@@ -2590,6 +2613,7 @@ logilab-common
logrotate
logutils
lokalize
lpeg
lsacpi
lshw
lskat
@@ -2619,6 +2643,7 @@ lxqt-runner
lxqt-session
lxqt-sudo
lxqt-themes
lynx
lz4
lzlib
lzo
@@ -2666,6 +2691,9 @@ mido
milou
minetest
minetest_game
mingw-binutils
mingw-crt
mingw-gcc
minicom
minimodem
mistune
@@ -2694,7 +2722,6 @@ motif
mox
mox3
mozjs
mozjs38
mozjs52
mozjs60
mpc
@@ -2706,6 +2733,7 @@ mpmath
mpv
mraa
msgpack
msgpack-c
msm
msmtp
msr-tools
@@ -2727,12 +2755,17 @@ musl
mutagen
mutt
mutter
mvn-GMetrics
mvn-HikariCP-java7
mvn-JavaEWAH
mvn-RoaringBitmap
mvn-accessors-smart
mvn-activation
mvn-aether-core
mvn-airbase
mvn-aircompressor
mvn-airline
mvn-aliyun-oss-java-sdk
mvn-animal-sniffer
mvn-ant
mvn-ant-launcher
@@ -2745,22 +2778,37 @@ mvn-apache-log4j-extras
mvn-apache-rat
mvn-arpack_combined_all
mvn-arrow
mvn-asciidoctor-gradle-plugin
mvn-asm
mvn-atinject
mvn-assertj-core
mvn-assertj-parent-pom
mvn-autolink
mvn-automaton
mvn-avalon-framework
mvn-avro
mvn-aws-java-sdk
mvn-azure-data-lake-store-java
mvn-azure-keyvault-java
mvn-azure-storage-java
mvn-backport-util-concurrent
mvn-beanshell
mvn-biz.aQute.bnd
mvn-biz.aQute.bndlib
mvn-bndlib
mvn-bonecp
mvn-bouncycastle
mvn-breeze-macros_2.11
mvn-breeze_2.11
mvn-breeze_2.12
mvn-build-helper-maven-plugin
mvn-buildnumber-maven-plugin
mvn-byte-buddy
mvn-byteman
mvn-calcite
mvn-calcite-avatica
mvn-cassandra
mvn-cdi-api
mvn-cglib
mvn-checker-compat-qual
mvn-checkstyle
mvn-chill-java
@@ -2769,6 +2817,7 @@ mvn-classutil_2.12
mvn-classworlds
mvn-clirr-maven-plugin
mvn-codehaus-jackson
mvn-codenarc
mvn-commons-beanutils
mvn-commons-chain
mvn-commons-cli
@@ -2778,8 +2827,11 @@ mvn-commons-compress
mvn-commons-configuration
mvn-commons-configuration2
mvn-commons-crypto
mvn-commons-csv
mvn-commons-daemon
mvn-commons-dbcp
mvn-commons-digester
mvn-commons-el
mvn-commons-exec
mvn-commons-httpclient
mvn-commons-io
@@ -2787,60 +2839,111 @@ mvn-commons-jxpath
mvn-commons-lang
mvn-commons-lang3
mvn-commons-logging
mvn-commons-math
mvn-commons-math3
mvn-commons-net
mvn-commons-parent
mvn-commons-pool
mvn-commons-text
mvn-commons-validator
mvn-compile-command-annotations
mvn-compiler-interface
mvn-compress-lzf
mvn-cssparser
mvn-curator
mvn-datanucleus-api-jdo
mvn-datanucleus-core
mvn-datanucleus-rdbms
mvn-decentxml
mvn-derby
mvn-directory-jdbm
mvn-directory-ldap-api
mvn-directory-mavibot
mvn-directory-project
mvn-directory-server
mvn-disruptor
mvn-dnsjava
mvn-dom4j
mvn-doxia
mvn-doxia-sitetools
mvn-doxia-tools
mvn-easymock
mvn-ecj
mvn-ehcache
mvn-eigenbase-properties
mvn-enforcer
mvn-error_prone_annotations
mvn-exec-maven-plugin
mvn-extra-enforcer-rules
mvn-fastutil
mvn-felix
mvn-file-management
mvn-findbugs-annotations
mvn-flatbuffers
mvn-flexmark-java
mvn-freemarker
mvn-fst
mvn-ftpserver
mvn-generex
mvn-genesis
mvn-geronimo-jcache_1.0_spec
mvn-geronimo-spec-jaxrpc
mvn-google
mvn-google-api-services-storage
mvn-google-collections
mvn-grizzled-scala_2.12
mvn-grizzly
mvn-gson
mvn-guava
mvn-guice
mvn-guice-servlet
mvn-h2database
mvn-hadoop
mvn-hamcrest
mvn-hbase
mvn-hive
mvn-hk2
mvn-hppc
mvn-hsqldb
mvn-htmlunit
mvn-htmlunit-core-js
mvn-htrace
mvn-http-builder
mvn-httpcomponents-client
mvn-httpcomponents-core
mvn-httpcomponents-parent
mvn-hydromatic-parent
mvn-icu4j
mvn-incremental-compiler
mvn-ivy
mvn-j2objc-annotations
mvn-jackrabbit
mvn-jackson-annotations
mvn-jackson-bom
mvn-jackson-core
mvn-jackson-databind
mvn-jackson-dataformat-yaml
mvn-jackson-jaxrs-providers
mvn-jackson-module-jaxb-annotations
mvn-jackson-module-paranamer
mvn-jackson-module-scala_2.11
mvn-jackson-module-scala_2.12
mvn-jackson-modules-base
mvn-jackson-parent
mvn-jacoco
mvn-jamon-java-parent
mvn-jamon-parent
mvn-jamon-runtime
mvn-janino
mvn-jansi
mvn-japicmp
mvn-japicmp-gradle-plugin
mvn-jatl
mvn-java-boot-classpath-detector
mvn-java-util
mvn-java-xmlbuilder
mvn-javaparser-parent
mvn-javassist
mvn-javax-servlet
mvn-javax.annotation-api
mvn-javax.inject
@@ -2849,20 +2952,34 @@ mvn-javax.ws.rs-api
mvn-javolution
mvn-jaxb-api
mvn-jaxb-impl
mvn-jboss-parent
mvn-jcifs
mvn-jcip-annotations
mvn-jcodings
mvn-jdependency
mvn-jdiff
mvn-jdo-api
mvn-jdom
mvn-jdom2
mvn-jersey
mvn-jersey-apache-client4
mvn-jersey-json
mvn-jets3t
mvn-jettison
mvn-jetty
mvn-jetty-parent
mvn-jhighlight
mvn-jline
mvn-jmh
mvn-jmh-gradle-plugin
mvn-jmock
mvn-jna
mvn-jniloader
mvn-joda-time
mvn-jodd
mvn-joni
mvn-jopt-simple
mvn-jpam
mvn-jpmml-model
mvn-jsch
mvn-jsch.agentproxy.connector-factory
@@ -2872,22 +2989,34 @@ mvn-jsch.agentproxy.sshagent
mvn-jsch.agentproxy.svnkit-trilead-ssh2
mvn-jsch.agentproxy.usocket-jna
mvn-jsch.agentproxy.usocket-nc
mvn-json
mvn-json-io
mvn-json-lib
mvn-json-simple
mvn-json-smart
mvn-json4s
mvn-json4s_2.11
mvn-jsonassert
mvn-jsoup
mvn-jsp-api
mvn-jsr250-api
mvn-jsr305
mvn-jsr311-api
mvn-jsr311
mvn-jta
mvn-jtidy
mvn-jtransforms
mvn-junit
mvn-junit-interface
mvn-kafka-clients
mvn-kafka_2.12
mvn-kerby
mvn-kosmosfs
mvn-kryo
mvn-kubernetes-client
mvn-kxml2
mvn-ldapsdk
mvn-leveldbjni
mvn-license-maven-plugin
mvn-log4j
mvn-logback-classic
mvn-logback-core
@@ -2899,6 +3028,7 @@ mvn-macro-compat_2.11
mvn-macro-compat_2.12
mvn-maven
mvn-maven-aether-provider
mvn-maven-ant-tasks
mvn-maven-antrun-plugin
mvn-maven-archiver
mvn-maven-artifact
@@ -2926,9 +3056,11 @@ mvn-maven-invoker
mvn-maven-invoker-plugin
mvn-maven-jar-plugin
mvn-maven-javadoc-plugin
mvn-maven-mapping
mvn-maven-model
mvn-maven-model-builder
mvn-maven-monitor
mvn-maven-packagecloud-wagon
mvn-maven-parent
mvn-maven-plugin-api
mvn-maven-plugin-descriptor
@@ -2944,6 +3076,7 @@ mvn-maven-release
mvn-maven-reporting-api
mvn-maven-reporting-exec
mvn-maven-reporting-impl
mvn-maven-repository-builder
mvn-maven-repository-metadata
mvn-maven-resolver
mvn-maven-resolver-provider
@@ -2962,22 +3095,35 @@ mvn-maven-source-plugin
mvn-maven-surefire
mvn-maven-toolchain
mvn-maven-war-plugin
mvn-mesos
mvn-metrics
mvn-mina
mvn-mina-sshd
mvn-minimal-json
mvn-minlog
mvn-mockito
mvn-mockito-core
mvn-mockserver
mvn-modello
mvn-mojo-parent
mvn-mojo-signature
mvn-mssql-jdbc
mvn-mvnplugins
mvn-mysql-connector-java
mvn-native-platform
mvn-nekohtml
mvn-netlib-java
mvn-netty
mvn-nexus-maven-plugins
mvn-nexus-public
mvn-nicoulaj-parent
mvn-nimbus-jose-jwt
mvn-nuiton
mvn-objenesis
mvn-ohc
mvn-ojalgo
mvn-okhttp
mvn-okio
mvn-opencsv
mvn-openhtmltopdf-parent
mvn-orc
@@ -2996,6 +3142,8 @@ mvn-parquet-format
mvn-parquet-mr
mvn-pdfbox
mvn-pegdown
mvn-pgjdbc
mvn-pgjdbc-parent-poms
mvn-plexus
mvn-plexus-archiver
mvn-plexus-build-api
@@ -3004,6 +3152,7 @@ mvn-plexus-classworlds
mvn-plexus-cli
mvn-plexus-compiler
mvn-plexus-containers
mvn-plexus-digest
mvn-plexus-i18n
mvn-plexus-interactivity
mvn-plexus-interpolation
@@ -3012,14 +3161,19 @@ mvn-plexus-languages
mvn-plexus-resources
mvn-plexus-utils
mvn-plexus-velocity
mvn-powermock
mvn-protobuf-java
mvn-py4j
mvn-pyrolite
mvn-qdox
mvn-re2j
mvn-reflectasm
mvn-saaj-api
mvn-sac
mvn-sbt-interface
mvn-scala-compiler
mvn-scala-library
mvn-scala-logging
mvn-scala-maven-plugin
mvn-scala-parser-combinators_2.12
mvn-scala-reflect
@@ -3029,7 +3183,11 @@ mvn-scalactic_2.12
mvn-scalastyle-maven-plugin
mvn-scalatest-maven-plugin
mvn-scalatest_2.12
mvn-scopt_2.12
mvn-selenium
mvn-sequence-library
mvn-servicemix-bundles
mvn-servicemix-pom
mvn-servlet-api
mvn-shapeless_2.11
mvn-shapeless_2.12
@@ -3046,16 +3204,23 @@ mvn-sonatype-plexus-sec-dispatcher
mvn-spice-zapper
mvn-spire_2.11
mvn-spire_2.12
mvn-spock
mvn-spotbugs
mvn-sqljet
mvn-sslext
mvn-stax-api
mvn-stax2-api
mvn-stream-lib
mvn-stringtemplate
mvn-stringtemplate4
mvn-struts
mvn-super-csv
mvn-svnkit
mvn-swagger-core
mvn-test-interface
mvn-thrift
mvn-tomcat
mvn-treelayout
mvn-trilead-ssh2
mvn-tycho
mvn-univocity-parsers
@@ -3064,13 +3229,21 @@ mvn-validation-api
mvn-velocity
mvn-velocity-tools
mvn-wagon
mvn-wagon-gitsite
mvn-webbit
mvn-weld-api
mvn-weld-parent
mvn-wikitext-project
mvn-wildfly-openssl
mvn-woodstox-core
mvn-wsdl4j
mvn-xalan
mvn-xbean
mvn-xerces
mvn-xercesImpl
mvn-xercesMinimal
mvn-xml-apis
mvn-xml-resolver
mvn-xmlenc
mvn-xmlpull
mvn-xmlunit
@@ -3080,7 +3253,10 @@ mvn-xstream
mvn-xz
mvn-yetus
mvn-zinc
mvn-zjsonpatch
mvn-zkclient
mvn-zookeeper
mvn-zstd-jni
mxnet
mycroft-core
mypaint-brushes
@@ -3104,7 +3280,7 @@ ndg_httpsclient
ndpi
neofetch
neomutt
neon
neovim
net-snmp
net-tools
netaddr
@@ -3191,15 +3367,16 @@ open-vm-tools
openQA
openal-soft
openblas
openbox
opencl-clang
opencl-headers
openconnect
opencv
openexr
openjade
openjdk
openjdk10
openjdk11
openjdk9
openjdk12
openldap
openmpi
openscad
@@ -3281,6 +3458,7 @@ pangomm
pangox-compat
paper-icon-theme
papi
papirus-icon-theme
parallel
parameter-framework
paramiko
@@ -3320,7 +3498,10 @@ perl-Algorithm-Diff
perl-Algorithm-Diff-XS
perl-Algorithm-Merge
perl-Algorithm-Munkres
perl-Alien-Build
perl-Alien-m4
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-CacheDNS
perl-Apache-Htpasswd
perl-Apache-Session
@@ -3342,7 +3523,9 @@ perl-Authen-SASL
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-BDB
perl-BSD-Resource
perl-Bencode
perl-Biblio-EndnoteStyle
perl-Bit-Vector
perl-Browser-Open
@@ -3409,8 +3592,10 @@ perl-Config-IniFiles
perl-Config-Std
perl-Config-Tiny
perl-Context-Preserve
perl-Contextual-Return
perl-Convert-ASN1
perl-Convert-Bencode
perl-Convert-Bencode_XS
perl-Convert-Binary-C
perl-Cookie-Baker
perl-Coro
@@ -3495,6 +3680,7 @@ perl-Dist-CheckConflicts
perl-Domain-PublicSuffix
perl-Dumbbench
perl-DynaLoader-Functions
perl-EV
perl-Email-Abstract
perl-Email-Address
perl-Email-Address-XS
@@ -3509,11 +3695,13 @@ perl-Encode-Locale
perl-Error
perl-Eval-Closure
perl-Event
perl-Event-Lib
perl-Event-RPC
perl-Exception-Class
perl-Exporter-Declare
perl-Exporter-Easy
perl-Exporter-Lite
perl-Exporter-Tidy
perl-Exporter-Tiny
perl-ExtUtils-Config
perl-ExtUtils-Depends
@@ -3521,6 +3709,7 @@ perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI-ProcManager
perl-FFI-CheckLib
perl-Feed-Find
perl-Fennec-Lite
perl-File-BaseDir
@@ -3552,6 +3741,7 @@ perl-File-Tail
perl-File-Touch
perl-File-Type
perl-File-Which
perl-File-chdir
perl-File-pushd
perl-Filesys-Df
perl-Filesys-Notify-Simple
@@ -3560,6 +3750,7 @@ perl-Font-TTF
perl-FreezeThaw
perl-Frontier-RPC
perl-Future
perl-Future-IO-ImplBase
perl-GD-Barcode
perl-Geo-Distance
perl-Geo-IP
@@ -3601,6 +3792,7 @@ perl-Hash-Merge
perl-Hash-MoreUtils
perl-Hash-MultiValue
perl-I18N-Charset
perl-IO-AIO
perl-IO-All
perl-IO-Async
perl-IO-Capture
@@ -3611,6 +3803,7 @@ perl-IO-Interactive-Tiny
perl-IO-Interface
perl-IO-Multiplex
perl-IO-Pipely
perl-IO-Prompter
perl-IO-Socket-INET6
perl-IO-Socket-Multicast
perl-IO-Socket-SSL
@@ -3709,6 +3902,7 @@ perl-Module-ScanDeps
perl-Module-Starter
perl-Module-Util
perl-Module-Versions-Report
perl-Mojo-DOM58
perl-Mojo-IOLoop-ReadWriteProcess
perl-Mojo-Pg
perl-Mojo-RabbitMQ-Client
@@ -3759,6 +3953,8 @@ perl-PDF-API2
perl-PDF-Table
perl-PDF-Writer
perl-POD2-Base
perl-POE
perl-POE-Test-Loops
perl-POSIX-strftime-Compiler
perl-Package-Constants
perl-Package-DeprecationManager
@@ -3802,6 +3998,7 @@ perl-Proc-Wait3
perl-Protocol-OSC
perl-Quota
perl-Readonly
perl-Redis
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Common
@@ -3949,6 +4146,7 @@ perl-Time-Duration-Parse
perl-Time-ParseDate
perl-Time-Period
perl-TimeDate
perl-Tk
perl-Tk-DoubleClick
perl-Try-Tiny
perl-Type-Tiny
@@ -3969,6 +4167,7 @@ perl-Variable-Magic
perl-WWW-Form-UrlEncoded
perl-WWW-Form-UrlEncoded-XS
perl-WWW-RobotRules
perl-Want
perl-X11-IdleTime
perl-X11-Protocol
perl-XML-Atom
@@ -4138,6 +4337,7 @@ positional
posix_ipc
postgis
postgresql
postgresql11
potrace
povray
powerdevil
@@ -4173,6 +4373,7 @@ purpose
pv
pwgen
py
pyDesktop3
pyOpenSSL
pyScss
pyaes
@@ -4215,6 +4416,7 @@ pyliblzma
pylint
pymemcache
pymongo
pynvim
pyotherside
pyotp
pypandoc
@@ -4232,6 +4434,7 @@ pysendfile
pyserial
pyside2-setup
pysnmp
pysubnettree
pytest
pytest-asyncio
pytest-cov
@@ -4419,6 +4622,7 @@ rhythmbox
rjsmin
rng-tools
roboto
rofi
rope
rosdistro
rospkg
@@ -4452,7 +4656,6 @@ satyr
sbc
sbsigntools
scala
scala-dep
scdoc
scene-alembic
scikit-build
@@ -4521,7 +4724,6 @@ source-code-pro
source-highlight
sox
spandsp
spark-dep
spectacle
speex
speexdsp
@@ -4566,6 +4768,7 @@ stellarium
step
stestr
stevedore
stockfish
stoken
stow
strace
@@ -4705,11 +4908,13 @@ uget
uhttpmock
ujson
unbundle
unibilium
unicode-xid
unicodecsv
unicodedata2
unifdef
unison
unit
unittest2
unixODBC
unzip
@@ -4725,6 +4930,7 @@ user-manager
usermode
userspace-rcu
usrbinpython
usrbinvi
util-linux
util-macros
uwsgi
@@ -4785,7 +4991,6 @@ wmctrl
woff2
wok
wol
wordpress
wpa_supplicant
wrapt
wsgi_intercept
@@ -4860,6 +5065,7 @@ xorg-fonts
xorg-server
xorgproto
xorriso
xpra
xprop
xrandr
xrdb
@@ -4903,8 +5109,6 @@ zip
zipp
zlib
znc
zoneminder
zookeeper-dep
zope.component
zope.configuration
zope.event
-1
View File
@@ -225,7 +225,6 @@ def main():
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", "export GCC_IGNORE_WERROR=1")
zap_line_in_file_start(".spec", "export AR=gcc-ar")
zap_line_in_file_start(".spec", "export RANLIB=gcc-ranlib")
zap_line_in_file_start(".spec", "export NM=gcc-nm")