Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2017-10-24 22:24:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools" Tue Oct 24 22:24:32 2017 rev:11 rq:536231 version:20171024.737d39a Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2017-10-21 20:22:16.921578117 +0200 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes 2017-10-24 22:24:34.357062988 +0200 @@ -1,0 +2,31 @@ +Tue Oct 24 04:38:26 UTC 2017 - opensuse-releaset...@opensuse.org + +- Update to version 20171024.737d39a: + * pkglistgen: dont mirror debug packages + * pkglistgen: skip one cycle when undeleting + +------------------------------------------------------------------- +Sat Oct 21 07:35:29 UTC 2017 - opensuse-releaset...@opensuse.org + +- Update to version 20171021.9465b2f: + * dist: add subpackage for pkglistgen + * pkglisten: add some docu + * pkglistgen: shell scripts to actually commit + +------------------------------------------------------------------- +Sat Oct 21 04:56:31 UTC 2017 - opensuse-releaset...@opensuse.org + +- Update to version 20171020.0479513: + * travis: chmod .docker-tmp so non-root can read for caching. + * travis: extend cache timeout to 7 days. + * travis: optimize `osc build` cache by removing build-root. + * travis: enable pip cache. + * travis: install realpath to allow docker-run to correctly mount volume. + +------------------------------------------------------------------- +Sat Oct 21 03:36:24 UTC 2017 - opensuse-releaset...@opensuse.org + +- Update to version 20171020.ee34178: + * travis: include all files instead of just osclib in coverage. + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20171020.7d266d5.obscpio New: ---- openSUSE-release-tools-20171024.737d39a.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.AePjtW/_old 2017-10-24 22:24:35.101028209 +0200 +++ /var/tmp/diff_new_pack.AePjtW/_new 2017-10-24 22:24:35.105028023 +0200 @@ -20,7 +20,7 @@ %define source_dir osc-plugin-factory %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20171020.7d266d5 +Version: 20171024.737d39a Release: 0 Summary: Tools to aid in staging and release work for openSUSE/SUSE License: GPL-2.0+ and MIT @@ -192,6 +192,17 @@ %description totest-manager Manages product ToTest repository workflow and openQA interaction +%package pkglistgen +Summary: Generates package lists in 000product +Group: Development/Tools/Other +BuildArch: noarch +Requires: osclib = %{version} + +%description pkglistgen +Generates package lists based on 000package-groups and puts them +in 000product, resp 000release-packages + + %package -n osclib Summary: Supplemental osc libraries Group: Development/Tools/Other @@ -505,6 +516,13 @@ %{_datadir}/%{source_dir}/totest-manager.py %{_unitdir}/osrt-totest-manager@.service +%files pkglistgen +%defattr(-,root,root,-) +%{_bindir}/osrt-pkglistgen +%{_bindir}/osrt-pkglistgen-openSUSE:Leap:15.0.sh +%{_bindir}/osrt-pkglistgen-openSUSE:Leap:15.0:Rings.sh +%{_bindir}/osrt-pkglistgen-openSUSE:Leap:15.0:Staging.sh + %files -n osclib %defattr(-,root,root,-) %{_datadir}/%{source_dir}/osclib ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.AePjtW/_old 2017-10-24 22:24:35.141026340 +0200 +++ /var/tmp/diff_new_pack.AePjtW/_new 2017-10-24 22:24:35.141026340 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/osc-plugin-factory.git</param> - <param name="changesrevision">d1c48015785527b47ab98da3a312aee1d413d09a</param> + <param name="changesrevision">7529c3019446ec1027f3733a129dfc268e24f1e5</param> </service> </servicedata> ++++++ openSUSE-release-tools-20171020.7d266d5.obscpio -> openSUSE-release-tools-20171024.737d39a.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/.travis.yml new/openSUSE-release-tools-20171024.737d39a/.travis.yml --- old/openSUSE-release-tools-20171020.7d266d5/.travis.yml 2017-10-21 00:37:31.000000000 +0200 +++ new/openSUSE-release-tools-20171024.737d39a/.travis.yml 2017-10-24 06:32:14.000000000 +0200 @@ -1,3 +1,9 @@ +addons: + apt: + packages: + # Used by dist/ci/docker-run. + - realpath + env: global: - OBS_PACKAGE="openSUSE:Tools/openSUSE-release-tools" @@ -54,7 +60,7 @@ - pip install -r requirements.txt - pip install python-coveralls script: - - nosetests --with-coverage --cover-package=osclib --cover-inclusive + - nosetests --with-coverage --cover-package=. --cover-inclusive after_success: - coveralls @@ -68,3 +74,9 @@ cache: directories: - .docker-tmp + pip: true + # 7 days + timeout: 604800 +before_cache: + - sudo rm -rf .docker-tmp/build-root + - sudo chmod o+rw .docker-tmp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/Makefile new/openSUSE-release-tools-20171024.737d39a/Makefile --- old/openSUSE-release-tools-20171020.7d266d5/Makefile 2017-10-21 00:37:31.000000000 +0200 +++ new/openSUSE-release-tools-20171024.737d39a/Makefile 2017-10-24 06:32:14.000000000 +0200 @@ -2,7 +2,17 @@ include Makefile.common -pkgdata_BINS=check_maintenance_incidents check_source devel-project leaper manager_42 repo_checker suppkg_rebuild totest-manager update_crawler +pkgdata_BINS = \ + check_maintenance_incidents.py \ + check_source.py \ + devel-project.py \ + leaper.py \ + manager_42.py \ + pkglistgen.sh \ + repo_checker.py \ + suppkg_rebuild.py \ + totest-manager.py \ + update_crawler.py pkgdata_SCRIPTS=$(wildcard *.py *.pl *.sh) pkgdata_SCRIPTS+=bs_mirrorfull findfileconflicts pkgdata_DATA+=bs_copy metrics osclib $(wildcard *.pm *.testcase) @@ -21,7 +31,7 @@ install -m 644 systemd/* $(DESTDIR)$(unitdir) sed -i "s/OSC_STAGING_VERSION = '.*'/OSC_STAGING_VERSION = '$(VERSION)'/" \ $(DESTDIR)$(pkgdatadir)/osc-staging.py - for i in $(pkgdata_BINS); do ln -s $(pkgdatadir)/$$i.py $(DESTDIR)$(bindir)/osrt-$$i; done + for i in $(pkgdata_BINS); do ln -s $(pkgdatadir)/$$i $(DESTDIR)$(bindir)/osrt-$${i%.*}; done install -m 755 script/* $(DESTDIR)$(bindir) cp -R config/* $(DESTDIR)$(sysconfdir)/$(package_name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/dist/package/openSUSE-release-tools.spec new/openSUSE-release-tools-20171024.737d39a/dist/package/openSUSE-release-tools.spec --- old/openSUSE-release-tools-20171020.7d266d5/dist/package/openSUSE-release-tools.spec 2017-10-21 00:37:31.000000000 +0200 +++ new/openSUSE-release-tools-20171024.737d39a/dist/package/openSUSE-release-tools.spec 2017-10-24 06:32:14.000000000 +0200 @@ -192,6 +192,17 @@ %description totest-manager Manages product ToTest repository workflow and openQA interaction +%package pkglistgen +Summary: Generates package lists in 000product +Group: Development/Tools/Other +BuildArch: noarch +Requires: osclib = %{version} + +%description pkglistgen +Generates package lists based on 000package-groups and puts them +in 000product, resp 000release-packages + + %package -n osclib Summary: Supplemental osc libraries Group: Development/Tools/Other @@ -505,6 +516,13 @@ %{_datadir}/%{source_dir}/totest-manager.py %{_unitdir}/osrt-totest-manager@.service +%files pkglistgen +%defattr(-,root,root,-) +%{_bindir}/osrt-pkglistgen +%{_bindir}/osrt-pkglistgen-openSUSE:Leap:15.0.sh +%{_bindir}/osrt-pkglistgen-openSUSE:Leap:15.0:Rings.sh +%{_bindir}/osrt-pkglistgen-openSUSE:Leap:15.0:Staging.sh + %files -n osclib %defattr(-,root,root,-) %{_datadir}/%{source_dir}/osclib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/docs/pkglistgen.md new/openSUSE-release-tools-20171024.737d39a/docs/pkglistgen.md --- old/openSUSE-release-tools-20171020.7d266d5/docs/pkglistgen.md 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20171024.737d39a/docs/pkglistgen.md 2017-10-24 06:32:14.000000000 +0200 @@ -0,0 +1,29 @@ +# The package list generator + +## Sources + +The package list generator consists of two scripts: + +- pkglistgen.py - python script using libsolv to do the hard work +- pkglistgen.sh - shell script for the dirty work. It calls the product + converter locally and then splits the output. See existing scripts in script/ + for examples how to call it for Rings, Stagings etc. + +## Input and Output + +There is one input package and two output packages: + +- 000package-groups: This is the input. It contains the *.product files, as + well as release package templates (e.g openSUSE-release.spec.in). The special + files groups.yml is read by pkglistgen.py to output group files that are + meant to be included by the product files. +- 000product: This is the output container where resulting kiwi files are put +- 000release-packages: This is the output container for release package spec files. + +## The groups.yml file + +The groups.yml is the input for the solver. It contains dictionaries with lists +of packages. The special key OUTPUT contains a dictionary that lists the group +files to generate. + +FIXME: continue here diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/pkglistgen.py new/openSUSE-release-tools-20171024.737d39a/pkglistgen.py --- old/openSUSE-release-tools-20171020.7d266d5/pkglistgen.py 2017-10-21 00:37:31.000000000 +0200 +++ new/openSUSE-release-tools-20171024.737d39a/pkglistgen.py 2017-10-24 06:32:14.000000000 +0200 @@ -607,7 +607,7 @@ else: apiurl = 'https://api.suse.de/public' subprocess.call( - [bs_mirrorfull, '{}/build/{}/{}/{}'.format(apiurl, project, repo, arch), d]) + [bs_mirrorfull, '--nodebug', '{}/build/{}/{}/{}'.format(apiurl, project, repo, arch), d]) files = [os.path.join(d, f) for f in os.listdir(d) if f.endswith('.rpm')] fh = open(d + '.solv', 'w') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/pkglistgen.sh new/openSUSE-release-tools-20171024.737d39a/pkglistgen.sh --- old/openSUSE-release-tools-20171020.7d266d5/pkglistgen.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20171024.737d39a/pkglistgen.sh 2017-10-24 06:32:14.000000000 +0200 @@ -0,0 +1,129 @@ +#!/bin/bash + +set -e +shopt -s nullglob + +self=$(readlink $(type -p "$0")) + +: ${project:=openSUSE:Factory} +: ${api:=api.opensuse.org} +: ${repos:=$project/standard} + +groups="000package-groups" +product="000product" +releases="000release-packages" + +cachedir=${XDG_CACHE_HOME:-~/.cache}/opensuse-packagelists/$api/$project +todo=("$product" "$groups") + +_osc=`type -p osc` +osc() +{ + "$_osc" -A "https://$api" "$@" +} + +checkin() { + if [ -n "$dryrun" ]; then + osc diff + else + osc addremove + osc ci -m "Automatic update" + fi +} + +if ! osc api "/source/$project/" | grep -q "$product" ; then + osc undelete -m revive "$project/$product" + # FIXME: build disable it + echo "$product undeleted, skip dvd until next cycle" + exit 0 +elif [ -z "$FORCE" ]; then + bs_status=`osc api "/build/$project/_result?package=$product&repository=standard"` + if echo "${bs_status}" | grep -q 'building\|dirty'; then + echo "$project build in progress, skipping." + exit 0 + fi +fi + +mkdir -p "$cachedir" +cd "$cachedir" + +if [ -z "$skip_releases" ]; then + todo+=("$releases") + if ! osc api "/source/$project/" | grep -q "$releases" ; then + osc undelete -m revive "$project/$releases" + echo "$releases undeleted, skip dvd until next cycle" + exit 0 + fi +fi +# update package checkouts +for i in "${todo[@]}"; do + if [ ! -e "$i" ]; then + osc co -c "$project/$i" + fi + pushd "$i" + if ! osc status; then + # merge conflict etc, try to check out new + popd + rm -rf "$i" + osc co -c "$project/$i" + else + osc up + popd + fi +done + +[ -z "$releases" ] || rm -f "$cachedir/$releases"/* +cd "$cachedir/$product" +rm -f -- * +cp .osc/_service . +cp "$cachedir/$groups"/* . +rm -f supportstatus.txt groups.yml package-groups.changes +for i in *.spec.in; do + mv -v $i "${i%.in}" +done +${self%.sh}.py -i "$cachedir/$groups" -r $repos -o . -a x86_64 update +${self%.sh}.py -i "$cachedir/$groups" -r $repos -o . -a x86_64 solve +for i in $delete_products; do + rm -vf -- "$i" +done +for i in *.product; do + /usr/lib/obs/service/create_single_product $PWD/$i $PWD $(cat .osc/_project) +done +for i in $delete_kiwis; do + rm -vf -- "$i" +done +if [ -z "$skip_releases" ]; then + mv -v *.spec "$cachedir/$releases" +else + rm -vf *.spec +fi +echo '<multibuild>' > _multibuild +for file in *.kiwi; do + container="${file##*/}" + container="${container%.kiwi}" + echo " <package>${container}</package>" >> _multibuild +done +echo '</multibuild>' >> _multibuild +cat << EOF > stub.kiwi +# prevent building single kiwi files twice +Name: stub +Version: 0.0 +EOF +checkin + +if [ -z "$skip_releases" ]; then + cd "$cachedir/$releases" + echo '<multibuild>' > _multibuild + for file in *.spec; do + container="${file##*/}" + container="${container%.spec}" + echo " <package>${container}</package>" >> _multibuild + done + echo '</multibuild>' >> _multibuild + cat <<-EOF > stub.spec + # prevent building single spec files twice + Name: stub + Version: 0.0 + EOF + checkin +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/script/osrt-pkglistgen-openSUSE:Leap:15.0.sh new/openSUSE-release-tools-20171024.737d39a/script/osrt-pkglistgen-openSUSE:Leap:15.0.sh --- old/openSUSE-release-tools-20171020.7d266d5/script/osrt-pkglistgen-openSUSE:Leap:15.0.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20171024.737d39a/script/osrt-pkglistgen-openSUSE:Leap:15.0.sh 2017-10-24 06:32:14.000000000 +0200 @@ -0,0 +1,5 @@ +#!/bin/bash +self=$(readlink $(type -p "$0")) +export project=openSUSE:Leap:15.0 +export repos=$project/standard +osrt-pkglistgen diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/script/osrt-pkglistgen-openSUSE:Leap:15.0:Rings.sh new/openSUSE-release-tools-20171024.737d39a/script/osrt-pkglistgen-openSUSE:Leap:15.0:Rings.sh --- old/openSUSE-release-tools-20171020.7d266d5/script/osrt-pkglistgen-openSUSE:Leap:15.0:Rings.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20171024.737d39a/script/osrt-pkglistgen-openSUSE:Leap:15.0:Rings.sh 2017-10-24 06:32:14.000000000 +0200 @@ -0,0 +1,12 @@ +#!/bin/bash +main=openSUSE:Leap:15.0 +export delete_kiwis="openSUSE-ftp-ftp-x86_64.kiwi openSUSE-cd-mini-x86_64.kiwi" + +export project=$main:Rings:1-MinimalX +export repos=$project/standard,$main:Rings:0-Bootstrap/standard +osrt-pkglistgen + +export project=$main:Rings:2-TestDVD +export repos=$main:Rings:2-TestDVD/standard,$repos +export skip_releases=1 +osrt-pkglistgen diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20171020.7d266d5/script/osrt-pkglistgen-openSUSE:Leap:15.0:Staging.sh new/openSUSE-release-tools-20171024.737d39a/script/osrt-pkglistgen-openSUSE:Leap:15.0:Staging.sh --- old/openSUSE-release-tools-20171020.7d266d5/script/osrt-pkglistgen-openSUSE:Leap:15.0:Staging.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20171024.737d39a/script/osrt-pkglistgen-openSUSE:Leap:15.0:Staging.sh 2017-10-24 06:32:14.000000000 +0200 @@ -0,0 +1,19 @@ +#!/bin/bash +self=$(readlink $(type -p "$0")) +main=openSUSE:Leap:15.0 +: ${letter:=A B C D E} + +export delete_kiwis="openSUSE-ftp-ftp-x86_64.kiwi openSUSE-cd-mini-x86_64.kiwi" +for l in $letter; do + export project=$main:Staging:$l + export repos=$project/standard + if [ "$l" != A -a "$l" != B ]; then + repos="$repos,$project/bootstrap_copy" + fi + osrt-pkglistgen + + export project=$project:DVD + export repos=$project/standard,$repos + export skip_releases=1 + osrt-pkglistgen +done ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.AePjtW/_old 2017-10-24 22:24:35.884991562 +0200 +++ /var/tmp/diff_new_pack.AePjtW/_new 2017-10-24 22:24:35.884991562 +0200 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20171020.7d266d5 -mtime: 1508539051 -commit: 7d266d5d0aa854d83814c0483ac4f339f81a9aef +version: 20171024.737d39a +mtime: 1508819534 +commit: 737d39a1db0a2718b4d50d34d6e7d0cbd2cb08f6