Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cobbler for openSUSE:Factory checked in at 2021-05-04 22:00:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cobbler (Old) and /work/SRC/openSUSE:Factory/.cobbler.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cobbler" Tue May 4 22:00:50 2021 rev:62 rq:890271 version:3.2.1+git20210315.f7482f6b Changes: -------- --- /work/SRC/openSUSE:Factory/cobbler/cobbler.changes 2021-02-02 14:25:04.275335786 +0100 +++ /work/SRC/openSUSE:Factory/.cobbler.new.2988/cobbler.changes 2021-05-04 22:00:51.628629693 +0200 @@ -1,0 +2,72 @@ +Mon Apr 26 17:11:41 UTC 2021 - Ferdinand Thiessen <r...@fthiessen.de> + +- Fixed SPEC file: + * Re-added missing license header + * Added missing Source tag for rpmlintrc + +------------------------------------------------------------------- +Tue Mar 16 11:09:34 UTC 2021 - tr...@suse.de + +- Update to version 3.2.1+git20210315.f7482f6b: + * API: Add HTTP 200 Return in case we have an OPTIONS request + * Install everything in scripts/ to get migrate-data-v2-to-v3.py + * Update issue templates + * Webinterface: Removal of the Django Version + * Remove get-loader code + * Remove internal tftp python server and remove tornado dependencies + * Increase version of Cobbler to 3.2.1 + * Move legacy field setting + * Add tests for distro.py and item.py + * Templates: Move macros back to the template_api and fix snippets + * Templates: Remove old subject parameter; rename Template to CobblerTemplate + * Templates: Improve Cheetah template child class (linter & comments) + * Templates: Improve docs and fix linter errors with sedsec + * CLI: Add class docstring for the main class + * Actions - Replicate: Add class docstring + * Serializer - Mongo: Revert explicit type because of soft req on MongoDB + * Grub: Add tests and catch some errors + * Fix several issues in module file.py + * remove esxi70u1 from signatures and template from spec + * remove esxi70u1 config and templates + +------------------------------------------------------------------- +Sun Feb 21 21:11:46 UTC 2021 - tr...@suse.de + +- Update to version 3.2.0+git20210221.644f267c: + * Address review concerns by @nodeg + * Add schema checking code and test it + * Convert integer bools to real bools + * Docs: Rearrange to alphabetical order & add missing settings + * Add python-schema to our requirements + * post_report: Use with syntax to close file in case of an error. + * Fix linter errors in check.py + * Remove import cgi + * Adjust prospector Config to fix doubled issues + * Fix Codacy linter errors + +------------------------------------------------------------------- +Fri Feb 19 22:27:03 UTC 2021 - tr...@suse.de + +- Update to version 3.2.0+git20210218.8af5f420: + * revert_strip_none prior adding an object on replicate + * Remove unused function filter_upgrade_duplicates() in file.py + * Add filename to exception + * Add return types in file.py + * Handle files with double .json ending + * sync_post_wingen: Include pefile in the import check + * Tests: Add tests for module_loader and type the module + * Add adjustments for the source installation + * close file after open + * make esx_modules available to template + * fix bootcfg template path + +Delete patches which were upstreamed and are included in the tarball: +D better-string-replacement-performance.diff +D cgi_parse_qs_is_deprecated.diff +D fix-for-old-str.join-usage.diff +D fix-string-replacement.diff +D load_module_apache_suse_fix.diff +D refactored_auth_module.diff +D remove-redundant-json-suffix.diff + +------------------------------------------------------------------- Old: ---- better-string-replacement-performance.diff cgi_parse_qs_is_deprecated.diff cobbler-3.1.2.obscpio cobbler-3.1.2.tar.gz cobbler.obsinfo fix-for-old-str.join-usage.diff fix-string-replacement.diff load_module_apache_suse_fix.diff refactored_auth_module.diff remove-redundant-json-suffix.diff New: ---- cobbler-3.2.1+git20210315.f7482f6b.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cobbler.spec ++++++ --- /var/tmp/diff_new_pack.Mm1mdY/_old 2021-05-04 22:00:52.268627288 +0200 +++ /var/tmp/diff_new_pack.Mm1mdY/_new 2021-05-04 22:00:52.268627288 +0200 @@ -1,4 +1,7 @@ +# RPM spec file for all Cobbler packages +# # Copyright (c) 2021 SUSE LLC +# Copyright (c) 2006 Michael DeHaan <mdeh...@redhat.com> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -8,12 +11,26 @@ # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. - +# # Please submit bugfixes or comments via https://bugs.opensuse.org/ +# +# Supported/tested build targets: +# - Fedora: 30, 31, Rawhide +# - CentOS + EPEL: 7, 8 +# - SLE: 15sp1 +# - openSUSE: Leap 15.1, Tumbleweed +# - Debian: 10 +# - Ubuntu: 18.04 +# +# If it doesn't build on the Open Build Service (OBS) it's a bug. +# # Force bash instead of Debian dash %global _buildshell /bin/bash +# Stop mangling shebangs. It breaks CI. +%undefine __brp_mangle_shebangs + # Work around quirk in OBS about handling defines... %if 0%{?el7} %{!?python3_pkgversion: %global python3_pkgversion 36} @@ -21,72 +38,90 @@ %{!?python3_pkgversion: %global python3_pkgversion 3} %endif -%if 0%{?suse_version} +#ToDo: These users/groups differ on every arch. Hopefully not forever... +# Users/Groups +%define apache_user chaos +%define apache_group chaos + +# Directories +%define apache_dir /var/www +%define apache_log /var/log/apache2 +%define tftpboot_dir /var/lib/tftpboot + +# Packages %define apache_pkg apache2 -%define apache_dir /srv/www -%define apache_etc /etc/apache2 +%define createrepo_pkg createrepo_c +#ToDo: These packages differ on every arch. Hopefully not forever... +%define grub2_x64_efi_pkg chaos +%define grub2_ia32_efi_pkg chaos +%define system_release_pkg chaos + +# py3 modules +%define py3_module_cheetah python%{python3_pkgversion}-cheetah +%define py3_module_dns python%{python3_pkgversion}-dns +%define py3_module_pyyaml python%{python3_pkgversion}-yaml +%define py3_module_sphinx python%{python3_pkgversion}-sphinx +%define py3_module_file python%{python3_pkgversion}-magic + +# SUSE +%if 0%{?suse_version} %define apache_user wwwrun %define apache_group www -%define apache_log /var/log/apache2 -%define apache_webconfigdir /etc/apache2/conf.d + +%define apache_dir /srv/www +%define apache_webconfigdir /etc/apache2/vhosts.d %define apache_mod_wsgi apache2-mod_wsgi-python%{python3_pkgversion} %define tftpboot_dir /srv/tftpboot + %define tftpsrv_pkg tftp -%define createrepo_pkg createrepo_c %define grub2_x64_efi_pkg grub2-x86_64-efi %define grub2_ia32_efi_pkg grub2-i386-efi %define system_release_pkg distribution-release + +#ToDo: Remove this, once it got more stable in Tumbleweed %undefine python_enable_dependency_generator %undefine python_disable_dependency_generator + +# Python module package names that differ between SUSE and everybody else. +%define py3_module_cheetah python%{python3_pkgversion}-Cheetah3 +%define py3_module_dns python%{python3_pkgversion}-dnspython +%define py3_module_pyyaml python%{python3_pkgversion}-PyYAML +%define py3_module_sphinx python%{python3_pkgversion}-Sphinx +# endif SUSE %endif +# UBUNTU %if 0%{?debian} || 0%{?ubuntu} -%define apache_pkg apache2 -%define apache_dir /var/www -%define apache_etc /etc/apache2 %define apache_user www-data %define apache_group www-data -%define apache_log /var/log/apache2 + %define apache_webconfigdir /etc/apache2/conf-available %define apache_mod_wsgi libapache2-mod-wsgi-py%{python3_pkgversion} -%define tftpboot_dir /var/lib/tftpboot + %define tftpsrv_pkg tftpd-hpa %define createrepo_pkg createrepo %define grub2_x64_efi_pkg grub-efi-amd64 %define grub2_ia32_efi_pkg grub-efi-ia32 %define system_release_pkg base-files +#endif UBUNTU %endif +#FEDORA %if 0%{?fedora} || 0%{?rhel} -%define apache_pkg httpd -%define apache_dir /var/www -%define apache_etc /etc/httpd %define apache_user apache %define apache_group apache + %define apache_log /var/log/httpd %define apache_webconfigdir /etc/httpd/conf.d + +%define apache_pkg httpd %define apache_mod_wsgi python%{python3_pkgversion}-mod_wsgi -%define tftpboot_dir /var/lib/tftpboot %define tftpsrv_pkg tftp-server -%define createrepo_pkg createrepo_c %define grub2_x64_efi_pkg grub2-efi-x64 %define grub2_ia32_efi_pkg grub2-efi-ia32 %define system_release_pkg system-release -%endif - -# Python module package names that differ between SUSE and everybody else... :( -%if 0%{?suse_version} -%define py3_module_cheetah python%{python3_pkgversion}-Cheetah3 -%define py3_module_django python%{python3_pkgversion}-Django -%define py3_module_dns python%{python3_pkgversion}-dnspython -%define py3_module_pyyaml python%{python3_pkgversion}-PyYAML -%define py3_module_sphinx python%{python3_pkgversion}-Sphinx -%else -%define py3_module_cheetah python%{python3_pkgversion}-cheetah -%define py3_module_django python%{python3_pkgversion}-django -%define py3_module_dns python%{python3_pkgversion}-dns -%define py3_module_pyyaml python%{python3_pkgversion}-yaml -%define py3_module_sphinx python%{python3_pkgversion}-sphinx +%define py3_module_file python%{python3_pkgversion}-file-magic +#endif FEDORA %endif # Deal with python3-coverage package quirk @@ -109,10 +144,8 @@ %global devsuffix devel %endif -%global __requires_exclude_from ^%{python3_sitelib}/modules/serializer_mongodb.py*$ - Name: cobbler -Version: 3.1.2 +Version: 3.2.1+git20210315.f7482f6b Release: 0%{?dist} Summary: Boot server configurator URL: https://cobbler.github.io/ @@ -128,16 +161,9 @@ %endif License: GPL-2.0-or-later -Source: %{name}-%{version}.tar.gz -Source1: cobbler.rpmlintrc +Source0: %{name}-%{version}.tar.gz +Source1: %{name}.rpmlintrc BuildArch: noarch -Patch0: cgi_parse_qs_is_deprecated.diff -Patch1: refactored_auth_module.diff -Patch2: load_module_apache_suse_fix.diff -Patch3: fix-for-old-str.join-usage.diff -Patch4: remove-redundant-json-suffix.diff -Patch5: better-string-replacement-performance.diff -Patch6: fix-string-replacement.diff BuildRequires: git-core BuildRequires: %{system_release_pkg} @@ -152,9 +178,9 @@ %endif BuildRequires: %{py3_module_coverage} BuildRequires: python%{python3_pkgversion}-distro -BuildRequires: python%{python3_pkgversion}-future BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: python%{python3_pkgversion}-netaddr +BuildRequires: python%{python3_pkgversion}-schema BuildRequires: %{py3_module_cheetah} BuildRequires: %{py3_module_sphinx} %if 0%{?suse_version} @@ -162,6 +188,7 @@ BuildRequires: bash-completion BuildRequires: %{apache_pkg} BuildRequires: %{tftpsrv_pkg} +BuildRequires: aaa_base %endif %if 0%{?rhel} @@ -195,15 +222,19 @@ %if ! (%{defined python_enable_dependency_generator} || %{defined python_disable_dependency_generator}) Requires: %{py3_module_cheetah} Requires: %{py3_module_dns} -Requires: python%{python3_pkgversion}-future Requires: %{apache_mod_wsgi} Requires: python%{python3_pkgversion}-netaddr Requires: %{py3_module_pyyaml} Requires: python%{python3_pkgversion}-requests Requires: python%{python3_pkgversion}-simplejson -Requires: python%{python3_pkgversion}-tornado Requires: python%{python3_pkgversion}-distro +Requires: python%{python3_pkgversion}-schema +Requires: %{py3_module_file} +%if 0%{?suse_version} Recommends: python%{python3_pkgversion}-ldap3 +%else +Requires: python%{python3_pkgversion}-ldap3 +%endif %endif @@ -219,6 +250,7 @@ Recommends: %{grub2_x64_efi_pkg} Recommends: %{grub2_ia32_efi_pkg} Recommends: logrotate +Recommends: python%{python3_pkgversion}-librepo %endif # https://github.com/cobbler/cobbler/issues/1685 %if "%{_vendor}" == "debbuild" @@ -231,64 +263,48 @@ Provides: cobbler-nsupdate = %{version}-%{release} %description -Cobbler is a network install server. Cobbler supports PXE, ISO -virtualized installs, and re-installing existing Linux machines. -The last two modes use a helper tool, 'koan', that integrates with -cobbler. There is also a web interface 'cobbler-web'. Cobbler's -advanced features include importing distributions from DVDs and rsync -mirrors, kickstart templating, integrated yum mirroring, and built-in -DHCP/DNS Management. Cobbler has a XMLRPC API for integration with -other applications. - - -%package web -Summary: Web interface for Cobbler -Requires: cobbler = %{version}-%{release} -%if ! (%{defined python_enable_dependency_generator} || %{defined python_disable_dependency_generator}) -Requires: %{py3_module_django} -Requires: %{apache_mod_wsgi} -%endif -%if 0%{?fedora} || 0%{?rhel} -Requires: mod_ssl -%endif -Requires(post): openssl - -%description web -Web interface for Cobbler that allows visiting -http://server/cobbler_web to configure the install server. +Cobbler is a network install server. Cobbler supports PXE, ISO virtualized installs, and re-installing existing Linux +machines. The last two modes use a helper tool, 'koan', that integrates with cobbler. Cobbler's advanced features +include importing distributions from DVDs and rsync mirrors, kickstart templating, integrated yum mirroring, and +built-in DHCP/DNS Management. Cobbler has a XML-RPC API for integration with other applications. -%if 0%{?suse_version} %package tests Summary: Unit tests for cobbler Requires: cobbler = %{version}-%{release} %description tests Unit test files from the Cobbler project -%endif + %prep %setup -%patch0 -p1 -%patch1 -p1 -%if 0%{?suse_version} -%patch2 -p1 -%endif -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 %if 0%{?suse_version} # Set tftpboot location correctly for SUSE distributions -sed -e "s|/var/lib/tftpboot|%{tftpboot_dir}|g" -i cobbler/settings.py config/cobbler/settings +sed -e "s|/var/lib/tftpboot|%{tftpboot_dir}|g" -i config/cobbler/settings.yaml %endif %build +. distro_build_configs.sh + +# Check distro specific variables for consistency +[ "${DOCPATH}" != %{_mandir} ] && echo "ERROR: DOCPATH: ${DOCPATH} does not match %{_mandir}" + +# [ "${ETCPATH}" != "/etc/cobbler" ] +# [ "${LIBPATH}" != "/var/lib/cobbler" ] +[ "${LOGPATH}" != %{_localstatedir}/log ] && echo "ERROR: LOGPATH: ${LOGPATH} does not match %{_localstatedir}/log" +[ "${COMPLETION_PATH}" != %{_datadir}/bash-completion/completions ] && \ + echo "ERROR: COMPLETION: ${COMPLETION_PATH} does not match %{_datadir}/bash-completion/completions" + +[ "${WEBROOT}" != %{apache_dir} ] && echo "ERROR: WEBROOT: ${WEBROOT} does not match %{apache_dir}" +[ "${WEBCONFIG}" != %{apache_webconfigdir} ] && echo "ERROR: WEBCONFIG: ${WEBCONFIG} does not match %{apache_webconfigdir}" +[ "${TFTPROOT}" != %{tftpboot_dir} ] && echo "ERROR: TFTPROOT: ${TFTPROOT} does not match %{tftpboot_dir}" + %py3_build %install -# bypass install errors ( don't chown in install step) -%py3_install ||: +. distro_build_configs.sh +%py3_install # cobbler rm %{buildroot}%{_sysconfdir}/cobbler/cobbler.conf @@ -296,29 +312,14 @@ mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d mv %{buildroot}%{_sysconfdir}/cobbler/cobblerd_rotate %{buildroot}%{_sysconfdir}/logrotate.d/cobblerd -# No VirtualHost definition as it overwrite all the Uyuni RewriteRules configured in conf.d/ -mkdir -p %{buildroot}%{_sysconfdir}/apache2/conf.d -mv %{buildroot}%{_sysconfdir}/apache2/vhosts.d/cobbler.conf %{buildroot}%{_sysconfdir}/apache2/conf.d -sed -i 's/^.*VirtualHost.*$//g' %{buildroot}%{_sysconfdir}/apache2/conf.d/cobbler.conf - -# Create data directories in tftpboot_dir -mkdir -p %{buildroot}%{tftpboot_dir}/{boot,etc,grub,images{,2},ppc,pxelinux.cfg,s390x} - # systemd mkdir -p %{buildroot}%{_unitdir} mv %{buildroot}%{_sysconfdir}/cobbler/cobblerd.service %{buildroot}%{_unitdir} %if 0%{?suse_version} +mkdir %{buildroot}%{_sbindir} ln -sf service %{buildroot}%{_sbindir}/rccobblerd %endif -# cobbler-web -rm %{buildroot}%{_sysconfdir}/cobbler/cobbler_web.conf - -%if 0%{?suse_version} -# cobbler-tests -cp -r tests/ %{buildroot}/%{_datadir}/cobbler/ -%endif - %pre %if "%{_vendor}" == "debbuild" @@ -380,23 +381,6 @@ %systemd_postun_with_restart cobblerd.service %endif -%post web -%if "%{_vendor}" == "debbuild" -# Work around broken attr support -# Cf. https://github.com/debbuild/debbuild/issues/160 -chown %{apache_user}:%{apache_group} %{_datadir}/cobbler/web -mkdir -p %{_sharedstatedir}/cobbler/webui_sessions -chown %{apache_user}:root %{_sharedstatedir}/cobbler/webui_sessions -chmod 700 %{_sharedstatedir}/cobbler/webui_sessions -chown %{apache_user}:%{apache_group} %{apache_dir}/cobbler_webui_content/ -%endif -# Change the SECRET_KEY option in the Django settings.py file -# required for security reasons, should be unique on all systems -# Choose from letters and numbers only, so no special chars like ampersand (&). -RAND_SECRET=$(head /dev/urandom | tr -dc 'A-Za-z0-9!' | head -c 50 ; echo '') -sed -i -e "s/SECRET_KEY = ''/SECRET_KEY = \'$RAND_SECRET\'/" %{_datadir}/cobbler/web/settings.py - - %files %license COPYING %doc AUTHORS.in README.md @@ -410,8 +394,10 @@ %config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/bootcfg_esxi60.template %config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/bootcfg_esxi65.template %config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/bootcfg_esxi67.template +%config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/bootcfg_esxi70.template %config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/gpxe_system_esxi5.template %config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/gpxe_system_esxi6.template +%config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/gpxe_system_esxi7.template %config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/gpxe_system_freebsd.template %config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/gpxe_system_linux.template %config(noreplace) %{_sysconfdir}/cobbler/boot_loader_conf/gpxe_system_local.template @@ -448,7 +434,7 @@ %config(noreplace) %{_sysconfdir}/cobbler/rsync.exclude %config(noreplace) %{_sysconfdir}/cobbler/rsync.template %config(noreplace) %{_sysconfdir}/cobbler/secondary.template -%config(noreplace) %{_sysconfdir}/cobbler/settings +%config(noreplace) %{_sysconfdir}/cobbler/settings.yaml %dir %{_sysconfdir}/cobbler/settings.d %config(noreplace) %{_sysconfdir}/cobbler/settings.d/bind_manage_ipmi.settings %config(noreplace) %{_sysconfdir}/cobbler/settings.d/manage_genders.settings @@ -464,8 +450,6 @@ %{_bindir}/cobbler %{_bindir}/cobbler-ext-nodes %{_bindir}/cobblerd -%{_sbindir}/tftpd.py -%{_sbindir}/fence_ipmitool %dir %{_datadir}/cobbler %{_datadir}/cobbler/bin %{_mandir}/man1/cobbler.1* @@ -484,26 +468,8 @@ %exclude %{_sharedstatedir}/cobbler/webui_sessions %{_localstatedir}/log/cobbler -%files web -%license COPYING -%doc AUTHORS.in README.md -%config(noreplace) %{apache_etc}/vhosts.d/cobbler_web.conf -%if "%{_vendor}" == "debbuild" -# Work around broken attr support -# Cf. https://github.com/debbuild/debbuild/issues/160 -%{_datadir}/cobbler/web -%dir %{_sharedstatedir}/cobbler/webui_sessions -%{apache_dir}/cobbler_webui_content/ -%else -%attr(-,%{apache_user},%{apache_group}) %{_datadir}/cobbler/web -%dir %attr(700,%{apache_user},root) %{_sharedstatedir}/cobbler/webui_sessions -%attr(-,%{apache_user},%{apache_group}) %{apache_dir}/cobbler_webui_content/ -%endif - -%if 0%{?suse_version} %files tests -%dir /usr/share/cobbler/tests -/usr/share/cobbler/tests/* -%endif +%dir %{_datadir}/cobbler/tests +%{_datadir}/cobbler/tests/* %changelog ++++++ _service ++++++ --- /var/tmp/diff_new_pack.Mm1mdY/_old 2021-05-04 22:00:52.304627153 +0200 +++ /var/tmp/diff_new_pack.Mm1mdY/_new 2021-05-04 22:00:52.308627138 +0200 @@ -2,13 +2,14 @@ <service mode="disabled" name="obs_scm"> <param name="url">git://github.com/cobbler/cobbler.git</param> <param name="scm">git</param> - <param name="revision">release30</param> -<!-- - <param name="versionformat">3.1.2+git%cd.%h</param> + <param name="revision">master</param> + <param name="changesgenerate">enable</param> + <param name="versionformat">3.2.1+git%cd.%h</param> <param name="extract">cobbler.spec</param> ---> - <param name="versionformat">3.1.2</param> +<!-- + <param name="versionformat">3.2.0</param> <param name="extract">cobbler.rpmlintrc</param> +--> </service> <service mode="disabled" name="set_version"/> <service mode="disabled" name="tar"/>