diff --git a/build-deb.sh b/build-deb.sh index ca4e799..d771e06 100755 --- a/build-deb.sh +++ b/build-deb.sh @@ -1,11 +1,334 @@ #!/bin/sh -export PATH=$PATH:/opt/bliss/conda/venv/dahu/bin -rm -rf deb_dist/ -/usr/bin/python3 -m pip wheel . --no-cache-dir -wheel2deb default --output-dir deb_dist --exclude numpy* -cd deb_dist/python3-dahu*_amd64 -dpkg-buildpackage -r -uc -us -cd .. -sudo dpkg -i python3-dahu*.deb -cd .. +# +# Project: PyFAI Input/Output +# https://github.com/silx-kit/pyFAI +# +# Copyright (C) 2015-2025 European Synchrotron Radiation Facility, Grenoble, France +# +# Principal author: Jérôme Kieffer (Jerome.Kieffer@ESRF.eu) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE +# Script that builds a debian package from this library + +project=dahu +source_project=dahu +version=$(python3 -c"import version; print(version.version)") +echo version $version +strictversion=$(python3 -c"import version; print(version.strictversion)") +echo strictversion $strictversion +debianversion=$(python3 -c"import version; print(version.debianversion)") +echo debianversion $debianversion + +deb_name=$(echo "$source_project" | tr '[:upper:]' '[:lower:]') + +# target system +if [ -f /etc/debian_version ] +then + debian_version=$(cat /etc/debian_version | cut -d. -f1 | grep -o '[0-9]*') + if [ -z $debian_version ] + then + #we are probably on a ubuntu platform + debian_version=$(< /etc/debian_version cut -d/ -f1) + case $debian_version in + squeeze) + debian_version=6 + ;; + wheezy) + debian_version=7 + ;; + jessie) + debian_version=8 + ;; + stretch) + debian_version=9 + ;; + buster) + debian_version=10 + ;; + bullseye) + debian_version=11 + ;; + bookworm) + debian_version=12 + ;; + trixie) + debian_version=13 + ;; + sid) + debian_version=13 + ;; + esac + fi + +else + debian_version=0 +fi +target_system=debian${debian_version} + +project_directory="`dirname \"$0\"`" +project_directory="`( cd \"$project_directory\" && pwd )`" # absolutized +dist_directory=${project_directory}/dist/${target_system} +build_directory=${project_directory}/build/${target_system} + +if [ -d /usr/lib/ccache ]; +then + export PATH=/usr/lib/ccache:$PATH + export CCACHE_DIR=${HOME}/.ccache +fi + +usage="usage: $(basename "$0") [options] + +Build the Debian ${debian_version} package of the ${project} library. + +If the build succeed the directory dist/debian${debian_version} will +contains the packages. + +optional arguments: + --help Show this help text + --install Install the packages generated at the end of + the process using 'sudo dpkg' + --stdeb-py3 Build using stdeb for python3 + --debian9 Simulate a debian 9 Stretch system + --debian10 Simulate a debian 10 Buster system + --debian11 Simulate a debian 11 Bullseye system + --debian12 Simulate a debian 12 Bookworm system +" + +install=0 +use_stdeb=0 +stdeb_all_python=0 + +while : +do + case "$1" in + -h | --help) + echo "$usage" + exit 0 + ;; + --install) + install=1 + shift + ;; + --stdeb-py2) + use_stdeb=1 + stdeb_all_python=0 + shift + ;; + --stdeb-py2.py3) + use_stdeb=1 + stdeb_all_python=1 + shift + ;; + --debian9) + debian_version=9 + target_system=debian${debian_version} + dist_directory=${project_directory}/dist/${target_system} + build_directory=${project_directory}/build/${target_system} + shift + ;; + --debian10) + debian_version=10 + target_system=debian${debian_version} + dist_directory=${project_directory}/dist/${target_system} + build_directory=${project_directory}/build/${target_system} + shift + ;; + --debian11) + debian_version=11 + target_system=debian${debian_version} + dist_directory=${project_directory}/dist/${target_system} + build_directory=${project_directory}/build/${target_system} + shift + ;; + --debian12) + debian_version=12 + target_system=debian${debian_version} + dist_directory=${project_directory}/dist/${target_system} + build_directory=${project_directory}/build/${target_system} + shift + ;; + -*) + echo "Error: Unknown option: $1" >&2 + echo "$usage" + exit 1 + ;; + *) # No more options + break + ;; + esac +done + +clean_up() +{ + echo "Clean working dir:" + # clean up previous build + rm -rf ${build_directory} + # create the build context + mkdir -p ${build_directory} +} + +build_deb() { + echo "Build for debian 9 or newer using actual packaging" + tarname=${project}_${debianversion}.orig.tar.gz + clean_up + if [ $debian_version -le 11 ] + then + python3 setup.py debian_src + directory=${project}-${strictversion} + else + python3 -m build -s + ln -s ${source_project}-${strictversion}.tar.gz dist/${tarname} + directory=${source_project}-${strictversion} + fi + cp -f dist/${tarname} ${build_directory} + if [ -f dist/${project}-testimages.tar.gz ] + then + cp -f dist/${project}-testimages.tar.gz ${build_directory} + fi + + cd ${build_directory} + tar -xzf ${tarname} + + + newname=${deb_name}_${debianversion}.orig.tar.gz + + #echo tarname $tarname newname $newname + if [ $tarname != $newname ] + then + if [ -h $newname ] + then + rm ${newname} + fi + ln -s ${tarname} ${newname} + fi + + if [ -f ${project}-testimages.tar.gz ] + then + if [ ! -h ${deb_name}_${debianversion}.orig-testimages.tar.gz ] + then + ln -s ${project}-testimages.tar.gz ${deb_name}_${debianversion}.orig-testimages.tar.gz + fi + fi + + cd ${directory} + cp -r ${project_directory}/package/${target_system} debian + cp ${project_directory}/copyright debian + + #handle test images + if [ -f ../${deb_name}_${debianversion}.orig-testimages.tar.gz ] + then + if [ ! -d testimages ] + then + mkdir testimages + fi + cd testimages + tar -xzf ../${deb_name}_${debianversion}.orig-testimages.tar.gz + cd .. + else + # Disable to skip tests during build + echo No test data + #export PYBUILD_DISABLE_python2=test + #export PYBUILD_DISABLE_python3=test + #export DEB_BUILD_OPTIONS=nocheck + fi + + case $debian_version in + 9) + debian_name=stretch + ;; + 10) + debian_name=buster + ;; + 11) + debian_name=bullseye + ;; + 12) + debian_name=bookworm + ;; + esac + + dch --force-distribution -v ${debianversion}-1 "upstream development build of ${project} ${version}" + dch --force-distribution -D ${debian_name}-backports -l~bpo${debian_version}+ "${project} snapshot ${version} built for ${target_system}" + #dch --bpo "${project} snapshot ${version} built for ${target_system}" + dpkg-buildpackage -r + rc=$? + + if [ $rc -eq 0 ]; then + # move packages to dist directory + echo Build succeeded... + rm -rf ${dist_directory} + mkdir -p ${dist_directory} + mv ${build_directory}/*.deb ${dist_directory} + mv ${build_directory}/*.x* ${dist_directory} + mv ${build_directory}/*.dsc ${dist_directory} + mv ${build_directory}/*.changes ${dist_directory} + cd ../../.. + else + echo Build failed, please investigate ... + exit "$rc" + fi +} + + +build_stdeb () { + echo "Build for debian using stdeb" + tarname=${project}-${strictversion}.tar.gz + clean_up + + python3 setup.py sdist + cp -f dist/${tarname} ${build_directory} + cd ${build_directory} + tar -xzf ${tarname} + cd ${project}-${strictversion} + + if [ $stdeb_all_python -eq 1 ] + then + echo Using Python 2+3 + python3 setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True --with-python3=True --no-python3-scripts=True build --no-cython bdist_deb + rc=$? + else + echo Using Python 3 + # bdist_deb feed /usr/bin using setup.py entry-points + python3 setup.py --command-packages=stdeb.command build --no-cython bdist_deb + rc=$? + fi + + # move packages to dist directory + rm -rf ${dist_directory} + mkdir -p ${dist_directory} + mv -f deb_dist/*.deb ${dist_directory} + + # back to the root + cd ../../.. +} + + +if [ $use_stdeb -eq 1 ]; then + build_stdeb +else + build_deb +fi + + +if [ $install -eq 1 ]; then + sudo su -c "dpkg -i ${dist_directory}/*.deb" +fi + +exit "$rc" diff --git a/package/debian13/changelog b/package/debian13/changelog new file mode 100644 index 0000000..8cb55cd --- /dev/null +++ b/package/debian13/changelog @@ -0,0 +1,6 @@ +dahu (2025.04-1) unstable; urgency=medium + + * New upstream version 2025.04 + + -- Picca Frédéric-Emmanuel Fri, 14 Mar 2025 09:48:01 +0100 + diff --git a/package/debian13/control b/package/debian13/control new file mode 100644 index 0000000..b94a063 --- /dev/null +++ b/package/debian13/control @@ -0,0 +1,73 @@ +Source: dahu +Maintainer: Debian PaN Maintainers +Uploaders: Debian Science Maintainers , + Jerome Kieffer , + Picca Frédéric-Emmanuel +Section: science +Priority: optional +Build-Depends: bitshuffle , + debhelper, + debhelper-compat (= 13), + dh-python, + dh-sequence-numpy3, + dh-sequence-python3, + pybuild-plugin-pyproject, + python-dev-is-python3, + python3-all-dev, + python3-fabio, + python3-h5py, + python3-hdf5plugin, + python3-matplotlib, + python3-mesonpy, + python3-numexpr, + python3-numpy, + python3-pip, + python3-pyopencl, + python3-scipy, + python3-silx, + python3-sphinx, + python3-tk, + xauth, + xvfb, +Build-Depends-Indep: dh-sequence-sphinxdoc , + help2man , + libjs-mathjax , + pandoc , + python3-nbsphinx , + python3-pydata-sphinx-theme , + python3-sphinx-rtd-theme , + python3-sphinxcontrib.programoutput +Standards-Version: 4.7.0 +Vcs-Browser: https://salsa.debian.org/science-team/dahu +Vcs-Git: https://salsa.debian.org/science-team/dahu.git +Homepage: https://github.com/kif/dahu +Rules-Requires-Root: no + +Package: dahu +Architecture: all +Depends: python3-dahu (>= ${source:Version}), + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Description: Dahu online data analysis server + +Package: python3-dahu +Architecture: any +Section: python +Depends: ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Description: Dahu online data analysis server - Python3 + . + This is the Python 3 version of the package. + +Package: python-dahu-doc +Architecture: all +Multi-Arch: foreign +Section: doc +Depends: libjs-mathjax, + ${misc:Depends}, + ${sphinxdoc:Depends} +Description: Dahu online data analysis server - Documentation + . + This is the common documentation package. diff --git a/package/debian13/copyright b/package/debian13/copyright new file mode 100644 index 0000000..8e7ae8a --- /dev/null +++ b/package/debian13/copyright @@ -0,0 +1,99 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: pyfai +Source: https://github.com/silx-kit/pyFAI + +Files: * +Copyright: 2011-2021, 2023 European Synchrotron Radiation Facility +License: Expat + +Files: debian/* +Copyright: 2012-2014 Jerome Kieffer + 2013-2017 Picca Frédéric-Emmanuel + 2015-2016 European Synchrotron Radiation Facility +License: Expat + +Files: src/pyFAI/app/calib2.py +Copyright: 2011-2021, 2024 European Synchrotron Radiation Facility +License: GPL-3+ + +Files: src/pyFAI/third_party/_local/transformations.py +Copyright: (c) 2006-2019, Christoph Gohlke + (c) 2006-2019, The Regents of the University of California +License: BSD-3-clause + +Files: src/pyFAI/resources/openCL/bitonic.cl +Copyright: Matthew Scarpino +License: Expat and/or public-domain + +Files: doc/source/mathjax.py +Copyright: 2007-2013 by the Sphinx team +License: BSD-3-clause + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +License: GPL-3+ + 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 software. If not, see . + . + On Debian systems, the full text of the GNU General Public + License version 3 can be found in the file + `/usr/share/common-licenses/GPL-3'. + +License: public-domain + You can use this free for any purpose. It's in the public domain. It + has no warranty diff --git a/package/debian13/gbp.conf b/package/debian13/gbp.conf new file mode 100644 index 0000000..c31be83 --- /dev/null +++ b/package/debian13/gbp.conf @@ -0,0 +1,3 @@ +[DEFAULT] +pristine-tar = True +debian-branch = master diff --git a/package/debian13/gitlab-ci.yml b/package/debian13/gitlab-ci.yml new file mode 100644 index 0000000..b50c0ce --- /dev/null +++ b/package/debian13/gitlab-ci.yml @@ -0,0 +1,6 @@ +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml + +variables: + RELEASE: 'experimental' diff --git a/package/debian13/py3dist-overrides b/package/debian13/py3dist-overrides new file mode 100644 index 0000000..2c65b5a --- /dev/null +++ b/package/debian13/py3dist-overrides @@ -0,0 +1 @@ +pyqt5 python3-pyqt5 diff --git a/package/debian13/python-pyfai-doc.doc-base b/package/debian13/python-pyfai-doc.doc-base new file mode 100644 index 0000000..78e6cf1 --- /dev/null +++ b/package/debian13/python-pyfai-doc.doc-base @@ -0,0 +1,9 @@ +Document: dahu-manual +Title: Dahu documentation manual +Author: Jérôme Kieffer +Abstract: Dahu online data analysis server +Section: Science/Data Analysis + +Format: HTML +Index: /usr/share/doc/python-dahu-doc/html/index.html +Files: /usr/share/doc/python-dahu-doc/html/* diff --git a/package/debian13/rules b/package/debian13/rules new file mode 100755 index 0000000..b42ce70 --- /dev/null +++ b/package/debian13/rules @@ -0,0 +1,43 @@ +#!/usr/bin/make -f + +export DH_VERBOSE=1 +export PYBUILD_NAME=dahu + +# temporaty until this bug is closed +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1077205 +DEB_CFLAGS_MAINT_APPEND = -Wno-error=incompatible-pointer-types +export DEB_CFLAGS_MAINT_APPEND + +PY3VER := $(shell py3versions -dv) + +# temporary until the 1/1/1970 issue is solved in debian stable +include /usr/share/dpkg/pkg-info.mk # sets SOURCE_DATE_EPOCH + +%: + dh $@ --buildsystem=pybuild + +execute_after_dh_clean: + rm -rf build/man + rm -rf *.egg-info + rm -f all_testimage.json fai_cfg.json lima_cfg.json profile.log + +override_dh_auto_build-arch: + PYBUILD_BUILD_ARGS="-Ccompile-args=--verbose" dh_auto_build + +override_dh_auto_build-indep: override_dh_auto_build-arch +ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS))) + env PYTHONPATH=$(shell pybuild --build -i $(PY3VER) -s custom --build-args 'echo {build_dir}') \ + SPHINXBUILD="$(PY3VER) -m sphinx" \ + SPHINXOPTS="-D mathjax_path=MathJax.js" \ + sphinx-build -N -bhtml doc/source build/html +endif + +# no test during build, only autopkgtest +override_dh_auto_test: + +execute_after_dh_auto_install: + dh_install -p dahu debian/python3-dahu/usr/bin /usr + rm -rf debian/python3-dahu/usr/bin + +execute_after_dh_installdocs: + dh_installdocs -p python-dahu-doc "build/html" diff --git a/package/debian13/source/format b/package/debian13/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/package/debian13/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/package/debian13/upstream/metadata b/package/debian13/upstream/metadata new file mode 100644 index 0000000..56d2f1f --- /dev/null +++ b/package/debian13/upstream/metadata @@ -0,0 +1,6 @@ +--- +Bug-Database: https://github.com/kif/dahu/issues +Bug-Submit: https://github.com/kif/dahu/issues/new +Repository: https://github.com/kif/dahu.git +Repository-Browse: https://github.com/kif/dahu +Security-Contact: https://github.com/kif/dahu/tree/HEAD/SECURITY.md diff --git a/package/debian13/upstream/signing-key.asc b/package/debian13/upstream/signing-key.asc new file mode 100644 index 0000000..e5a0f63 --- /dev/null +++ b/package/debian13/upstream/signing-key.asc @@ -0,0 +1,171 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFhBdK4BEADKerSWynw8GQzpKXJwLu9e/YylaVn3SwkC/ThiZn5/fsiPCNs7 +kSED0zIf9jo8Cqlk2Fp6zIOCOG3J8olaB8wqOiTzfY6KzAgTedbS12vLe0CX9L4V +TVVbbUipHTaktn0ZyULymdrwLUd5x7Hz6uhnUNnbk3xFM+N+jwEFEXFkRw72JtWH +K7X5/+DflNS7zLTA0zV13GG4K8/H/INq86ZSdN6oh3DLfvSxorM0acy+qGPz5C3K +9NCDpCOBvYrG2Kk2xTfx9fL9lmzSSzP3O3/LoVe1ylDJxJB6uC1v4beR3fTCQ9nZ +22tqKL9VB9F8S4MjmT48uvaOGTb2Ow82AL+1z+vVNa2MhdOCOhflls71x5ymsAbJ +5gZtNkDMobdqAYjcuIq3jtrPS8dzzpMkZ5yLGEjUb65PZp+GtYLRhRzNOOA2Xbzk +DU0RcLLjYFSkGEt2rxDXlUwO3N1Dv+smZIj0Ata23pJB6P1KIvJrdZo5X5c0ZWzy +SwKt/xnzdPlNc94Oi0priyUmPEKtEjCtKI/6yEriJTkvqqjBjLwDXR69jTWkPUip +FbUUNirXFKaTXg7B9NUV/2P/OB1qM0PWEqhpuGSwqdn3CG9ABmlxgfVOjZLZphHK +ami2x+GsTnWMLkjmIGH1L6ka1l79Xm9//iEseIXlLcbtf5fEzcTr/VoEuQARAQAB +tCdWYWxlbnRpbiBWYWxscyA8dmFsZW50aW4udmFsbHNAZXNyZi5mcj6JAj0EEwEI +ACcFAlhBdK4CGwMFCQWjmoAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQhSMf +2ZzDPpHI6RAAtJj90WAP31lNXGWYFPjynDosC6/4T0zsnNO2+9q/KDoN5Z1vILX4 +pJodN9DApyCZ4iZNVnwaaIH15MNmTM2YpO0vC32DniGd0cssiiBP2+WIc9pJKZJA +Sro8vUXoE12412KKrG+WqQLoOUP31fVo39UEzlMh/NxYCW/R8r0rFBR+8bve3fvn +nFLF1SpzFZ1Tr18bOT1vhmeOqSMShoDdfkXM+F/C0U+AGWbvxVZuT6jr83oR5XjR +RODs6F0yYKWPMyQBMzft4oYa7NAsjsGHJExiHyltJnCuKF3PineKiLDQYx0jdqkB +qKEA/0u0MWd6mQdYydyhReJHMXTxcaSM3+LFLlxHtO9+V5T1HgZdV4eFGNFhRYA6 +2+Id3EY2asc4t0i7oMW2qrrG3Z37DlNuUq5hdNuCWyCobP0MRoxwix5BfXuv3GhR +ldOWIt7kxOxv/F4c5fwWHgzj3k3hKiZRAymE7bJMhfPNWcaSvX6Hw+ajFnHN2LZu +Ip4xNn+CvH0qVNLU1W2W5fe2jMTuo+GbwoOIctUcX6zNhCzfBuhPN3/Yi966+z5k +oN0n9PxdZF6BBPUFXPvAYwOu1wZ5/TMfoJ4oLJWAEjlelce8DPhdofxcLOizXFQM +kv36oqZT2zUPUxIIVNalIPnl9KMfDgGOgPJkyfKI4h3iHVBXxjMHxFO5Ag0EWEF0 +rgEQANCo3SZJzEgGexGmA8N6BayTJZPAoO5AIKd5hh4HUwI1iaxQVH4ebWpmmNUj +eMsq17DEfvH8mHOwtI0A2cSs6rCk0UxIUfW8eda+0Wllvi3J4HLxA6oYept9MQgl +yvvQ1cCGn8wmMxijIHKujuDJSuydjzTeEMJEEqH9i50XJbTyl/eDBD8iDtGjGaEd +pLJMXBkSdoq0gmj0JWBWMkLDsd4puQv7qfcLAdOD8F8EudEAylk8jzP8Hr1tMUoM +WSyV9oGbUPzEH46M4ikHc05X4sdWOqMiIqP7JaprAZ1yVt9BCBttMHipFrzxXEp0 +NXkyRSjgr+cRSgtNDFBFYBaiaZC/Mg05nNI+VLsY6rw2UAU9bYHuJpLUEHWLaQrT +42RfuKGAeziP8MMsaE9f2B/mEG+ErQAdr0rB3zWiWN+fqnLNjKFYWyVqYll2PJGx +2ke49PwXVM/QPxUNUITMcFUugbzxfYNso7oQtEdngiH7i22ZDKBikPNZexUWrxJ8 +gLRAp/YZRKjnggVaPsMUymY5ykCDesREar9guCIwE92FMmmXpnG7Si2Z3zZ1Ytp4 +s5dZxTJrzlVOURp9LdjRuxIa5qHdj0PY3q4yKeyhg3TCI/5J2fYsLgrp4G62iEYa +KRZBmspjMl2+KlWGPQ6UEUmuwf0oNPd+9SjyOAyqoPstp9MHABEBAAGJAiUEGAEI +AA8FAlhBdK4CGwwFCQWjmoAACgkQhSMf2ZzDPpFnxhAArOpCa8m5JUyrqC5lsxBw +VGJC4fQ2GIlnnhDaQhhj/V6vcIeFHnRyeuzNPIpD6AxbXu3O4BjFWHyOFgbLoZLW +1Sgdh9QKdb69wfrxHMrCCuaKGZik8zaK7rCfz9I8dNsGvJF5vqXSZhcMR/dYSZjS +5ATUphABa+ylsqBepTIdxsYjt0oHlazr3gVm5flsF5SO8EOfcWaXFGCBP0Bi7iSD +XWwacVw62gCZigYKd93+CBeHMwsJc4VdVw99/ec+yGi8HRjNBGObqEdvTw9fwfYw +YTKzcQKiMMqmdSBUMI0bu98YLeWblt++b/tc3Ad9wnrhxjyRen3EcEqCCFioxHQ8 +iz+/3uGi9uVVfBZqz+hYZpJMuyazGMW1D3K509lChs22doFmzPxh8WybxBlLN4Jd +z5wi/ZtH3XSLEsWt5GucHjCNVajSBfVRAA98vHEOWAxzy2lRLkto7mjTYMIja543 +2vtylabs0mkIHYePDdy6KOCz7nag49DJENGAH1mxM1J6jnG8Tbxk9zsW7vaXAAIj +zKZDn8OLwKDZUOXbspUBJ/oSnVDZcLhS8M4r6tPgMUzVRo4iSIQfFszun5Lk3sjL +ZEA1Q3HESWtmLEdVZbXcShHMpHQgqRUsJmvMXl1TwfHetJhduhrjfixlFH8rhP8F +TznSEySHiOMLhFRyIocVgwmZAg0EToyjEQEQALHEyt9WaO6lzTZA58z6RshWy2iy +5fMZg1o2PEDLOE86B8PgY/5U/96k+k6WYbmxgjng8DUqSB+45z5OTugtkuSGtaA6 +vwjBlFEDnxMrlFRulXkRMO0ZLCVZLV4rj5AVXAuiYpS4t9LQVkZ9RSzvJLCxSzin +nYHgzmdbKatC6XPWuN1ZrUUam8b2yuFjLQNbPGFqGzi34ECyPK6By/MLcVXMnTVs +RMzH+6JjItDcOCT9hrSzxGCG6q8Zx62S8LYYWUI1Nz7W/o4HsBWnH+Fam6lxW16D +abyiL2UN4FPFRBU21RjZwY6nBpeUGVI52EZ4kgfnBxTRxboPXH00F+B6VPXGwh4c +plL0qMnt+B55cbsE9tFa3jwzxBNyyvFwSNqQNC/t6dSmccgB2LwON786OCauaK/7 +bbiJqkGOvLZKdYKSK1IEy0nF2HJOBuSQ5RgFf78w4WIIxBYa/9Dsz8qk0Vhgc9lq +9GbMXnjJUwHnQcK2IRMdbhEWmqXcemuRt09PdbVfwKHhg/6F97yFUl3Px7joHFex +bT/jCffS2n+BEFQ6gg4kU8y6U8bTi/05+dP6QQJbm4mlhQKos7443J4AWM8GmHSR +V07Pt2kAlHC2APwcNze+ApcmBR2CO/F1SfIJrr6C6Zge911sEFKsMr9k9eEFaAOo +sWfbrr+UIwSqtrMxABEBAAG0J0plcm9tZSBLaWVmZmVyIDxqZXJvbWUua2llZmZl +ckBlc3JmLmZyPokCNwQTAQgAIQUCToylBQIbAwULCQgHAwUVCgkICwUWAgMBAAIe +AQIXgAAKCRCeqHpMuMjOfMA3EACrXQ50mKZ+FoZVEGXl/URABw29ZeVnMi5gIpVY +hqowLnv3t4NhD3FwKAFcFevGYI32hhacL3pLHBlKF/6LlYacbjvXdMU9zLhNDdaz +5Q05Ak4w0Wy9PLhk0iLGNSusPnZ8IG+7lFUU8G0CCNLeMKeH0qy0F6vA5jTaJDFu +KNH3ARBnuqrDYwmQJDC3OmgDtMlWZ/P46S5ZkZvc9/XD45d/dmWcSeqgK3gSiSpn +bmS1+oGNyPDVQcSqGIcTy6kE2Q8Ea2yTn4g6uetNlKI7es5EqO06dMMHyAdDuHda +EEUvwGHYRXzUVpIjZP0rFpmrL+qMAKfQV2UXWl6AVYAr7l0/31lh2RUbv3g71byV +Iz3Y7ZNpcYgE0vwowHZ0QiQWEF52KzQd18VxA4SbVq+A/AxnaFCWn5H1tw979CsU +R7VztYOZUHv/OI/OtsFxX8rooO/mNAqV/RDmsg+hpcVBsd3TMDWGYx2YtqpKm5HC ++XFoDzqEhUoPPi+I68Kgf98v+AodyPsKTguNTc49tvVy6xyUpmtkQmIe7pcEPafZ +bZOUqD7TOGvYl+OGo3sfJgXge84dftf260LyaolxCjGV40Ec8HNRNJ65ka3O3FlJ +nsX/jtcOswSozg++ukCCKAAzZ0YwlPNlBTvakoVeE8PHtrBDJoqtAkI/D3GwF1kb +cr0PFrQoSmVyb21lIEtpZWZmZXIgPGplcm9tZUB0ZXJyZS1hZGVsaWUub3JnPokC +NwQTAQgAIQUCUm17MwIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRCeqHpM +uMjOfMetD/wKcqm0DqEsTKDI6vfGJTtPjQnVBshoDLJNXDQapM8Mk6pEyEtAef9u +6t6LDWBWXefHnIBn49+V2w3Jt1buiU39yVFtIulDPClkioxFcJ7gY87fsDDxLccX +SgVV+lU0ZldmvpBSEAWJ1s401JkHJ3ufj3wyUaxPrkxaVD7TfSOLe9Wno5miY64p +Gq7SYsx95yjBWeUWrFxMk2N+AHCnJplwSPCl2TNM+CQvO7HO27apGOmPHUs8pXGa +7A2tVshIdF2OxhnpkuFmDFFcYWRmRbkHRHUTQgaK+ZhPELvjvIBQjti9L1BJFnaF +IyoJIEOk49S9/t+Rph6E6QuTmNz84YQhccnZUf3oflm99zU9XJDkFQy+Cb9el2aG +5uMAcGn5vNKd1/igSxjK7m0Fh/Dc/K/GC2lafYylPXEwA2GT0SH4AZf96KyxtdPO +mqwgrov4IjIbtVG4LO3tZLut3qHPUzj2DHktgIUTUit6oeRxwhErIxoJToit8KZZ +kRWZX5b4QaswipCbaIafNBtvwrn9DWoNZrcuiEHm6u7D4MqAXasuw4DRk1s1d15r +Z+/lEb1IpHYnNfzvGEoCHBVRL3cdsjalWH4/JqeykJHyfV1io9/ivW9WInMEMYNs +6IqnzAh5k9rmuC9VPU61Px4W9L7/5lnQlmr3bDjnUMtIaGO6YzgrCbQqSmVyb21l +IEtpZWZmZXIgPHJvb3RAbGludGFpbGxlZmVyLmVzcmYuZnI+iQI4BBMBAgAiBQJP +M4TVAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCeqHpMuMjOfOFZEACJ +SCORD/nLECyJqc+blSWDKJc2jPrpU4AsZ+gvarGahBF4s4C5mYoOLfnruFILnp3f +llZ0HjswSBZ1jPRI2Ip77EEsGCJidVoawZN+vQpdgqcpHYRONPIwL0l3vFK28T5O +V0cFLScqeLIablTFclkhENDrCPAMhz876uqcVJLFGjZHgBqVOmd2pwDIBaWcpeKF +7/gNgc4VBL/NRunogkDobACO7zvloRW/fIb0+vGZ8jusHjjbQHZau4Kh2eaNDL/s +LBps/GV9QKfoOPS8xcFcFtnFtAVlc5RT1KUS24Fq6ozwTsf7/oEQVi6WIVKYGOGc +2WRlsYussyWBdb/DTCTIIueWyb4cVaCTZAlvayYIDfSElilqGJgb2dvOygM/NKoP +UdOayFYSvhAYNqLcOFJ//b5ftW/uid7sJqQGKMS0eozecJMDZJMwtP4UCKjM/irv +aIrW1vurTQ5BdTd+/qa3pwrTZTJQLajEA48T6VYPmpdHT8CmuI+MRFBClLrtfZjG +2eFgbzjHqvaoYBusVmZ6NP5eYMX7iiywQOzM7eN6gIK9XoYVxcoMEQT0OAIp2Hdy +V431d5tnIZH7C8RzQKg16TdkbAcIyNJtOvL+Nj/OyVuHSEhKh6OG2TjO1YNdy+TQ +JsXdHkJNYwVms1bdp0vxlBLBc0MQHnOflvhOkvzCUbQtSmVyb21lIEtpZWZmZXIg +PGtpZWZmZXJAbGludGFpbGxlZmVyLmVzcmYuZnI+iQI4BBMBAgAiBQJPMp6+AhsD +BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCeqHpMuMjOfF0hD/9blLcApbaE +fjdM+6JAJLk9mnq7rA4QviIgznt0HHlpikMGKLNIuG/CY0a1yph8mw+tFsOos9AA +SqtTeDiCBCVe6twPT7vMrinjHx7yQHOA2lblW52IT+CWNicA75Hz0G/bR30vEa1d +1JrlJG3/YIul0xK40+Om+91jSjOUn5l0klbxW/BdCU8n5fiED8WKzu0Cb0xktazz +FhSh4QB8wSU/CJajRMyiC9NLRhgeBtxPXFGQVMGNMnqHM9NHxshAAF0eqh0/gQ0J +bLd4f8A1xcmRBeU1Tao3SK5pSBp4eR8XUTQkWPnOuvzpeiWZvd/WvIkS446p6LI8 +7/aFltuVWPijTunMlN1S0SpFSoqJv03XHqaXQRvG5oz21FOcAvUZ4CZF+7hmturR +5h0SB0vWwwoRnbk62WZ/Ur0Dn6K5t6s2zZ/euZxPYAuc1fqqcKuidU9VExPhu/oc +IERoU7KE0uvA0gDV6Ty738UEF46QJFXY4fCsSsKA+3ThK6uB9g5GTdXnXB4X4axd +km7Mspfrni3pYClFysUVAulB4deaZT9mgtG4VTps16OAvGGnXEzxt728vEQaQ6nv +iLK8+ttMwxiqk12J7rbKuFqgDHfGHVPE2WXLekVHQ+zocjiVKi+6p+xn9ASXCb8G +1k7VT0IhoxIvUVRdTCFcZizKpWHVX0Ohp7QwSmVyb21lIEtpZWZmZXIgPGplcm9t +ZS5raWVmZmVyQHRlcnJlLWFkZWxpZS5vcmc+iQI3BBMBCAAhBQJOjKMRAhsDBQsJ +CAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEJ6oeky4yM586sMP+wYmazSUvWYlo0o2 +3lVydoN/ekk7TO2cOCQ+eogQfG3ZFLjDY9RgylJV31YbvK2gxUNEHj2La1mhxxhn +omW4uIBnIM8TXBMHIYQDZt32B9+tkC+5i6EvRTRtrZdlCWOyVA4uMa5eKyRpDvlZ +ZWfGqSevT6GsZuWaZ0gHrItSg6c7MkWwVMWfpCYY1hpko6IBV73Zt5Z2XnV9Kgel +SwbE/5En3gNztJnpGFoqHmTbqXJB8UmlFa4tsSajL7dQJdJKlizQmSEIRl2CeljT +ghwIPvYXyrSJcPyjvlQGt2ofH+y8JB6ZS5DD+KH1da+xgK7CjyLMOJ4WJMtlvhIH +GfxfL5oIDz2Uny7/Etr2IWLLIzVCewk84YH8ALruKAp39bU1v8SxKdOib7+rQPyt +i9KnmE5OZ2aQbo1/aC7/uYoV6j3+43hqbo1Ya2MPNy4tkxllg/GfWY+kBSMoZklR +wt5RyYvkga05zONjBZSJ0NbxAyxC1ZPq/OHxeOc5fFIGoLZ0bqbRs3y2SmrvNxP4 +eACvRU3FYKIl/313TyaGy+/lIjK8exHFkSGCvb3hsX3OSn3S29Z008hkW6TBBPP0 +8hM+QmNklHpu7sfWpDg+Hx04xzCy/PY/P+XXgyyyn7slwtfj2MXohF+bpZggkE2y +lLeRrUVPpdw2xzuridh6yJtdUJyhuQINBE6MoxEBEACjs2LVUReiEzytqb36yiDf +Sr3FKCeWcwhWxNLAerYrTpncFLeJbo2mG3J4ZFZ1ps35Xs8MtR3KZswshKtLIOlF +mFdeF0vbA5cO8CgSUBEu+u6Kuvu5UVDDNkhk8xevVdj99+plv/KDvpUw7ssDd8un +NSnRObpvs68I1MEryEUy8hwlI9+BMEqYJQPO+1EcRxxJwxagK8PRvCVKm7JFnUth +y0zJC89G/8eOjavGiUP4MTSt8XfhBMaeul+8m41j/qZYEEzmtWKZbBVLuxndsUVd +mCzk951ZbjtzfcnddCOREupV8SDArlyHoQTUdyhyFV9dd/gdJhsl+5a627afzlP5 +AIDxIU5BIP/Qodc0K/D0BP2fcqzrqGPyCgwTKEHLmoXNpJ65WggXROi+1E63Y9tZ +BO6Aa/50Nn9hyOIICLOnTOFV+9ThsSoLoIda91P81suXrXcZsuNuj4lX8hU0GyxC +jeqJM8tQGlFEbJuS2XvMkIlDEnaxt3XS2HhXHfwV8EpMxJuPQ9Ud7LuaGS4IR761 +lHsX18anIVd5quiI1xth2s8XgNunbNsYOocbT8onu7EdQLeg9IaNvDUfqiIpBrAJ +2QaPuSbeQ2DLF3OEJz4d7d0zjwfDyzr02o2QLMMO+oZ8FyjmXHxniy+U0ZAg11dr +7KHZYpztKahN+BGP0IkLaQARAQABiQIfBBgBCAAJBQJOjKMRAhsMAAoJEJ6oeky4 +yM58eHcP/1VzMm+qmKu9FRZGWYhLwdXJobTA+4JG8a+W9xWu49pZFQiiWEAnCyus +lny+y4aB9lfB7UaSnjz4mQP3AQx65Av8CZ75t57BBjjXz6RZGWzkfUFRToB3RNv3 +bNKsipkyRt+7LmcoJs5Z/Enxy3KQWVZAeA+XjCU9HWzqs0JJ/IY9U9HVb2fKNfvo +3tHLRp7lqyUB0nuDDoq2Sv2aV3AzY2KbkXXYFDtX5aP0juZuXbsU2FANctcTCOJ8 +s/Rn35ndW6Wf6asiJRKy6ZLLolrpFeHaCIlY42tZnY5SwgV2AfwpWPG31rV8xw+R +5RirlpfFp6TGuYq0cNIrkZf7tozavl7XIo1fqJawBvSKKHroqVSCDYu69z4XHQmh +SMJCBdAdAdHWRGpunRL6In8gM89K8QyVfCmF07mL6+YXnu48saZPGKtPnlTiu/zX +5vzxFvfx1oPsaJC8L3biA0BpAkeSG8PKS0Al9J3AZEGZNglJOzJRa8kiwxQQw5GH +iiU+RxeI9P4RBLdX8l4y1ZqOd3PNfpzUKtwFVDtY0ckKKNVzQL+0LIGUqeOvZZR8 +EHqbxdNayZ/bQh8UA8sLN1UcqWm1l9rSjPDofnPp9NBk82uaWCGJX8zYOw4HWDfH +T7beDZkDAAPScz7tdyr3UYuKyCQF+23P1fNjv654trnN9PJ3xZ5EuQINBE6MpVkB +EACWUuK5hbVFwJj/YdcMGt8B7NSeANdaFBJzoZt5W52qq50M3K4vd82zjsnTcmuZ +Uidxqr8bU4mCkqdpUis+dJ95liFsbgAGWqQavl+wHErDngdofuPgqRqw648GeaOQ +oHZOYgyXqvV3qjq8EqbMHmV4kJAa2B4LyW3Hg8pV75pjwOcvB+/0Ph0w0XxjPVxG +Zv0xWdPSqo/WhzquIGJSiR97tRsOOYMFj9LAszHfnvPkQs6c0qBYs06sPiUu0cJL +TAQJUy8xXnoB/s6UGe4jxzpg1VXCDzb4xWb9Q0NwzSVDI+j6Gz2NjDxEZXGLArzU +1tJBE22d1KvjcC4Y6Ze7T0qlT+If4+dRF+IChVrqw+G7TNk7NVYKyUOqpRQmnnoc +MmvqnVdzdV7xqcVQxMvJWaA6dgCUgfKAOxO1rw4sPNiLvEhxnEDgrRMgrXmIW24s +OS9uRgADmOpU5Yo7/37Z/cX9aDNeLJuiwL5cK6rX8dEEtno1oF2eMlHaQSinEEjF +wW/sJlCfIJupuVIxTE6fRTOd0ncXsDBjPhIplzx+0Y/olhf4vcGRE2yX8JtKGFjp +lathMVnVGK2glohwWpTkImKHhGekcSSv0j9yjW8nIrOtOYvIAB0e9F1DYfG5E5xe ++oVy3SsQdZKGmrjc4D04JIAYKx2q60ew2nJbqgR076dBOQARAQABiQIfBBgBCAAJ +BQJOjKVZAhsMAAoJEJ6oeky4yM58GRMP/jbAnw9W7YpSlJOPADNm1Q6XD1gEkPly +NvHY33IitJdYX4WcI8SScD7rVCVl+ZOVGIiL8mpERZJFbMQHZ3iBRBfuAWgifuW7 +JxdbrrtXlzVezcjEXwSBt66xd+ewLgjFzIQfM4GkV+V3DCmaTOlMMIVWCrq5xbeO +MViiGBiqnA+pddMwZF2EzxqWnr8dP1wp8JSkNKdYyw3Zv4QhTkDdYuWxp5UQZuoT +EY6/m7K83LBJX30nWSbKgpLgCSozR53QLrs7IzEFru13gN2Kiz/MnoL5POPR6FVG +CrenTKOmlzZgDZhBfyAKZ1jZIuSuh7GLkoONXaXEi4a/DbBAQYrPQWaA1pMO9cTY +gK0dHOcFH9IGRvE3RnqC2bpy3sSPQGUwMEOuIma7HWiY4AiPf2erJsuxta1qUtpt +qfzAcJ0GboEzuNNv9Z2BsfI25KO60vucDZBdYv795r1NdcQDAb0ZYnADEGLpZ5mm +9diVvQMuJqhnD0C46WasTSxR8PryxmbPxm0S3WMN2X2iaz6rDEr928XybAKKNACf +ZFAjcvCBMRntfEHb8scTSKeR1crUfrCkz9wgHEuTW+CaO3z4+/tomD5wKBW8VqjU +Vk1IoD+aNXSQbZYWOluTRu8I9H1ZtMvDx05wkFFonGBu1eOhW94NvZeEldNfYHv+ +2lciT2MpZb1o +=buYp +-----END PGP PUBLIC KEY BLOCK----- diff --git a/package/debian13/upstream/upstream/metadata b/package/debian13/upstream/upstream/metadata new file mode 100644 index 0000000..44b60d3 --- /dev/null +++ b/package/debian13/upstream/upstream/metadata @@ -0,0 +1,3 @@ +Registry: + - Name: conda:conda-forge + Entry: pyfai diff --git a/package/debian13/watch b/package/debian13/watch new file mode 100644 index 0000000..f1c7442 --- /dev/null +++ b/package/debian13/watch @@ -0,0 +1,4 @@ +version=4 + +opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%@PACKAGE@-$1.tar.gz%" \ + https://github.com/silx-kit/pyFAI//tags (?:.*?/)?v?@ANY_VERSION@@ARCHIVE_EXT@ diff --git a/version.py b/version.py index b6513f0..df605fc 100755 --- a/version.py +++ b/version.py @@ -27,9 +27,11 @@ * version_info = named tuple (1,2,3,"beta",4) * hexversion: 0x010203B4 * strictversion = "1.2.3b4 +* debianversion = "1.2.3~beta4" +* calc_hexversion: the function to transform a version_tuple into an integer -This is called hexversion since it only really looks meaningful when viewed as the -result of passing it to the built-in hex() function. +This is called hexversion since it only really looks meaningful when viewed as the +result of passing it to the built-in hex() function. The version_info value may be used for a more human-friendly encoding of the same information. The hexversion is a 32-bit number with the following layout: @@ -48,37 +50,41 @@ __contact__ = "Jerome.Kieffer@ESRF.eu" __license__ = "MIT" __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "21/02/2025" -__status__ = "producton" +__date__ = "13/03/2025" +__status__ = "production" __docformat__ = 'restructuredtext' +__all__ = ["date", "version_info", "strictversion", "hexversion", "debianversion", + "calc_hexversion", "citation"] + RELEASE_LEVEL_VALUE = {"dev": 0, "alpha": 10, "beta": 11, - "gamma": 11, - "rc": 12, + "gamma": 12, + "rc": 13, "final": 15} MAJOR = 2025 -MINOR = 2 -MICRO = 1 +MINOR = 4 +MICRO = 0 RELEV = "dev" # <16 SERIAL = 0 # <16 date = __date__ from collections import namedtuple + _version_info = namedtuple("version_info", ["major", "minor", "micro", "releaselevel", "serial"]) version_info = _version_info(MAJOR, MINOR, MICRO, RELEV, SERIAL) -debianversion = strictversion = version = "%d.%d.%d" % version_info[:3] - +strictversion = version = debianversion = "%d.%d.%d" % version_info[:3] if version_info.releaselevel != "final": version += "-%s%s" % version_info[-2:] debianversion += "~adev%i" % version_info[-1] if RELEV == "dev" else "~%s%i" % version_info[-2:] - prerel = "a" if RELEASE_LEVEL_VALUE.get(version_info[3], 0) < 10 else "b" - if prerel not in "ab": - prerel = "a" + #prerel = "a" if RELEASE_LEVEL_VALUE.get(version_info[3], 0) < 10 else "b" + prerel = "."+version_info[3] + #if prerel not in "ab": + # prerel = "a" strictversion += prerel + str(version_info[-1]) _PATTERN = None