From 1169823ba5ff61c5bc376df81041813c0bd0f3f0 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Jan 10 2020 15:03:18 +0000 Subject: Merge remote-tracking branch 'origin/master' into epel8 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0d11f23 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/distgen-*.tar.gz diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e3210bf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +FROM {{ config.docker.from }} + +LABEL MAINTAINER ... + +ENV NAME=mycontainer VERSION=0 RELEASE=1 ARCH=x86_64 + +LABEL summary="A container that tells you how awesome it is." \ + com.redhat.component="$NAME" \ + version="$VERSION" \ + release="$RELEASE.$DISTTAG" \ + architecture="$ARCH" \ + usage="docker run -p 9000:9000 mycontainer" \ + help="Runs mycontainer, which listens on port 9000 and tells you how awesome it is. No dependencies." \ + description="{{ spec.description }}" \ + vendor="{{ spec.vendor }}" \ + org.fedoraproject.component="postfix" \ + authoritative-source-url="{{ spec.authoritative_source_url }}" \ + io.k8s.description="{{ spec.description }}" \ + io.k8s.display-name="Awesome container with SW version {{ spec.software_version }}" \ + io.openshift.expose-services="9000:http" \ + io.openshift.tags="some,tags" + +EXPOSE 9000 + +# We don't actually use the "software_version" here, but we could, +# e.g. to install a module with that ncat version +RUN {{ commands.pkginstaller.install(['nmap-ncat']) }} && \ + {{ commands.pkginstaller.cleancache() }} + +RUN echo {{ spec.spam }} +RUN echo {{ spec.version }} + +# add help file +# NOTE: this file is rendered from help.md, it's not actually templated (help.md is) +COPY root/help.1 / +COPY script.sh /usr/bin/ + +CMD ["/usr/bin/script.sh"] diff --git a/README.md b/README.md deleted file mode 100644 index 59f6aeb..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# distgen - -The distgen package \ No newline at end of file diff --git a/build-and-update-all-branches b/build-and-update-all-branches new file mode 100755 index 0000000..6aa7ffb --- /dev/null +++ b/build-and-update-all-branches @@ -0,0 +1,36 @@ +#! /bin/sh + +# Prepare master branch, review the list of branches below and then execute this +# script. + +branches='master epel7 f29 f30 f31' + +exit_handler () +{ + git checkout master +} + +trap exit_handler EXIT + +set -e +set -x + +koji hello + +tasks= +for branch in $branches; do + if test $branch != master; then + git checkout "$branch" + git merge master + fi + git push + tasks="${tasks}`fedpkg build --nowait | grep 'Created task' | cut -d: -f2`" +done + +koji watch-task $tasks + +for branch in $branches; do + test $branch != master || continue + git checkout $branch + fedpkg update +done diff --git a/distgen.spec b/distgen.spec new file mode 100644 index 0000000..d024715 --- /dev/null +++ b/distgen.spec @@ -0,0 +1,170 @@ +%global pybin %{?fedora:%{__python3}}%{!?fedora:%{__python}} +%global pylib %{?fedora:%{python3_sitelib}}%{!?fedora:%{python_sitelib}} +%global pypkg %{?fedora:python3}%{!?fedora:python} + +Name: distgen +Summary: Templating system/generator for distributions +Version: 1.4 +Release: 1%{?dist} +License: GPLv2+ +URL: https://github.com/devexp-db/distgen +BuildArch: noarch + +Requires: %{pypkg}-jinja2 +Requires: %{pypkg}-distro +Requires: %{?fedora:%{pypkg}-}PyYAML +Requires: %{pypkg}-six + +BuildRequires: %{pypkg}-devel +BuildRequires: %{pypkg}-distro +BuildRequires: %{pypkg}-jinja2 +BuildRequires: %pypkg-mock +BuildRequires: %{?fedora:%{pypkg}-}pytest +BuildRequires: %{pypkg}-pytest-catchlog +BuildRequires: %{?fedora:%{pypkg}-}PyYAML +BuildRequires: %{pypkg}-setuptools +BuildRequires: %{pypkg}-six + +Source0: https://pypi.org/packages/source/d/%name/%name-%version.tar.gz + +%description +Based on given template specification (configuration for template), template +file and preexisting distribution metadata generate output file. + + +%prep +%autosetup -p1 + + +%build +%{pybin} setup.py build + + +%install +%{pybin} setup.py install --root=%{buildroot} +mkdir -p %{buildroot}%{_datadir}/distgen +mv %{buildroot}%{pylib}/distgen/{distconf,templates} %{buildroot}%{_datadir}/distgen + + +%check +make PYTHON=%{pybin} check + + +%files +%license LICENSE +%doc AUTHORS NEWS +%doc docs/ +%{_bindir}/dg +%{pylib}/distgen +%{pylib}/%{name}-*.egg-info +%{_datadir}/%{name} +%{_mandir}/man1/* + + +%changelog +* Tue Sep 24 2019 Pavel Raiskup - 1.4-1 +- new upstream release (f31 configs) + +* Mon Aug 19 2019 Miro Hrončok - 1.3-4 +- Rebuilt for Python 3.8 + +* Wed Jul 24 2019 Fedora Release Engineering - 1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu May 02 2019 Pavel Raiskup - 1.3-2 +- fix ftbfs on rawhide (rhbz#1705262) + +* Thu Mar 21 2019 Pavel Raiskup - 1.3-1 +- new upstream release, per release notes: + https://github.com/devexp-db/distgen/releases/tag/v1.3 + +* Thu Jan 31 2019 Fedora Release Engineering - 1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Sep 14 2018 Pavel Raiskup - 1.2-1 +- latest upstream release + +* Thu Jul 12 2018 Fedora Release Engineering - 1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.1-2 +- Rebuilt for Python 3.7 + +* Thu Apr 19 2018 Pavel Raiskup - 1.1-1 +- sync with upstream spec file + +* Wed Apr 18 2018 Slavek Kabrda - 1.1-1 +- update to 1.1 +- update source url to conform with new PyPI urls format + +* Wed Feb 07 2018 Fedora Release Engineering - 0.20-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Nov 27 2017 Slavek Kabrda - 0.20-1 +- update to 0.20 + +* Thu Nov 02 2017 Slavek Kabrda - 0.19-1 +- update to 0.19 + +* Mon Oct 30 2017 Slavek Kabrda - 0.18-1 +- update to 0.18 + +* Tue Oct 17 2017 Slavek Kabrda - 0.17-1 +- update to 0.17 + +* Mon Sep 18 2017 Slavek Kabrda - 0.16-1 +- update to 0.16 + +* Wed Sep 13 2017 Slavek Kabrda - 0.15-1 +- update to 0.15 + +* Wed Sep 06 2017 Slavek Kabrda - 0.14-1 +- update to 0.14 + +* Fri Aug 18 2017 Pavel Raiskup - 0.13.dev1-1 +- fix build on RHEL7 + +* Fri Aug 18 2017 Slavek Kabrda - 0.12.dev1-1 +- new release scheme + +* Tue Aug 15 2017 Pavel Raiskup - 0.11~dev-1 +- multiple --spec options + +* Mon Aug 14 2017 Pavel Raiskup - 0.10~dev-1 +- rebase + +* Thu May 19 2016 Pavel Raiskup - 0.9~dev-1 +- rebase + +* Sat Feb 06 2016 Pavel Raiskup - 0.8~dev-1 +- rebase + +* Wed Jan 27 2016 Pavel Raiskup - 0.7~dev-1 +- rebase + +* Fri Nov 20 2015 Pavel Raiskup - 0.6~dev-1 +- rebase + +* Mon Oct 26 2015 Pavel Raiskup - 0.5~dev-1 +- rebase + +* Thu Sep 10 2015 Pavel Raiskup - 0.4~dev-1.git33125 +- rebase + +* Tue Sep 01 2015 Pavel Raiskup - 0.3~dev-1.git76d41 +- rebase + +* Wed May 20 2015 Pavel Raiskup - 0.2~dev-1.git32635 +- new release, enable testsuite + +* Mon May 11 2015 Pavel Raiskup - 0.1~dev-4.gitf6fc9 +- fixes to allow build of PostgreSQL Docker image correctly + +* Mon May 11 2015 Pavel Raiskup - 0.1~dev-3.git97392 +- bump version (better example) + +* Sun May 10 2015 Pavel Raiskup - 0.1~dev-2.gitdefcd +- Add 'dg' option parser + +* Sun May 10 2015 Pavel Raiskup - 0.1~dev-1.git64bbe +- Initial packaging diff --git a/expected_output b/expected_output new file mode 100644 index 0000000..7f95fd9 --- /dev/null +++ b/expected_output @@ -0,0 +1,38 @@ +FROM fedora:26 + +LABEL MAINTAINER ... + +ENV NAME=mycontainer VERSION=0 RELEASE=1 ARCH=x86_64 + +LABEL summary="A container that tells you how awesome it is." \ + com.redhat.component="$NAME" \ + version="$VERSION" \ + release="$RELEASE.$DISTTAG" \ + architecture="$ARCH" \ + usage="docker run -p 9000:9000 mycontainer" \ + help="Runs mycontainer, which listens on port 9000 and tells you how awesome it is. No dependencies." \ + description="This is a simple container that just tells you how awesome it is. That's it." \ + vendor="Fedora Project" \ + org.fedoraproject.component="postfix" \ + authoritative-source-url="some.url.fedoraproject.org" \ + io.k8s.description="This is a simple container that just tells you how awesome it is. That's it." \ + io.k8s.display-name="Awesome container with SW version " \ + io.openshift.expose-services="9000:http" \ + io.openshift.tags="some,tags" + +EXPOSE 9000 + +# We don't actually use the "software_version" here, but we could, +# e.g. to install a module with that ncat version +RUN dnf -y install nmap-ncat && \ + dnf -y clean all --enablerepo='*' + +RUN echo ham +RUN echo 2.4 + +# add help file +# NOTE: this file is rendered from help.md, it's not actually templated (help.md is) +COPY root/help.1 / +COPY script.sh /usr/bin/ + +CMD ["/usr/bin/script.sh"] diff --git a/sources b/sources new file mode 100644 index 0000000..d370eb4 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (distgen-1.4.tar.gz) = 011c923e36ed745fc88f6a0b18d395ea88904050b778cfcdd8b9823003959131052606c88643802f2d7d35016f99cc6e00c59966f505f06c97e1c6d21cdb8f4b