python3-gunicorn-19.7.1-150000.3.7.1<>,Ŝf%"p9|?92@Ԗ)f Y@ ^@.87 iD]l)^_} 2h qC<&x(1&%T2>۰GvI4%4-OdUrVcphYz6' baj\7fj]'0x:xp)EE>\KWJ48Qs YJ;5$<3Tw%Wy4XdN[6Mx0kfx'} 4FJagEڑ>B8?(d ' A  9Z^ to    L + +.01346L6` 6 7` (787 97 :8u >r@rFrGrHu4IwxXx Yx\x$]zh^vb[cdefluvwXxyzz$Cpython3-gunicorn19.7.1150000.3.7.1WSGI HTTP Server for UNIXGunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork worker model ported from Ruby's Unicorn_ project. The Gunicorn server is broadly compatible with various web frameworks.f%"h03-ch2cSUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Languages/Pythonhttp://gunicorn.orglinuxnoarch update-alternatives --install /usr/bin/gunicorn gunicorn /usr/bin/gunicorn-3.6 36 update-alternatives --install /usr/bin/gunicorn_paster gunicorn_paster /usr/bin/gunicorn_paster-3.6 36 if [ ! -e "/usr/bin/gunicorn-3.6" ]; then update-alternatives --quiet --remove "gunicorn" "/usr/bin/gunicorn-3.6" fi if [ ! -e "/usr/bin/gunicorn_paster-3.6" ]; then update-alternatives --quiet --remove "gunicorn_paster" "/usr/bin/gunicorn_paster-3.6" fi! :, yyB)B)55****CCVcVcGG-!-!"NVx922::CC## %O%Or -@F5Xn 5J5jaR=uu  ""##"/LpAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤f% f% f% f% f% f% f% f% f% f% f% f% f% f% XЖf% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% XЍTf% XЍTf% f% f% f% f% f% f% f% f% XЍTXЍTXЍTXЍTXЍTf@XЍTXЍTXЍTf% XЍTf% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% XЍTf@f@f@XЍTXЍTf@f% XЍTf% f% f% f% f% XЍTXЍTXЍTXЍTXЍTXЍTXЍTXЍTf% XЍTf% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% f% XЍTXЍTf@XЍTXЍTXЍTXЍTXЍTXЍTXЍTf%!X122058d9ac849494bdddf67c83becbe0c93633d23c6f189cd7bd8db79df6738b6d742f006cb5fb398645043aef4afffa17935bfb7845521c98adc9809d5dd3e9e93cdffb5c6c6abbe5e55df86cc3b2cb8f71ac6629f10f46d39c04e857824270be5e73207d14b38e7c75bc8a6b1a8323f47f9069ee8c825691b0f5dd0156a98501ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b5de14834a45d4942b02706954a894edb83ee57f61e3bbd48305fab3ab6b924ef01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b71d31a6b6ca1c5bf1da3e5a2a18f6a4475027f07f9e58ced8f04029dc6889e815661c9c82b501b3233f7332d7aacf942be28ddf6bb15c6cb112a5cdbfa0952cea1c12f036702a49a7d8ac4edcc59b62d0ece80ab32097159650d4e3dbc72e0c0b6120cf8c0d1eab46584093dbded62ed2fdea6bae5a619613556ed328ca28353c54e9f8ceeb0f0cabe384eb4ea37413b74b02c255e0be032dc747f8e246005dbf6b1540221cae05964097b5f614b7db1369ba6d7ee678e00831f21f3a26971872d4d79c40645beb22382abdfc274512e53a111c45c185abd149daa252763de369c1321219016a2935456251ad2e03bb4c73f71d8151348fb23e4e4b8afebf9354e0d2cf4c54c8d0a2f02b9e78202ee2f0d1216e10e852fa78b6ddb4bbc30837de3208f9ea17caf70a5f0aa003d543d914f63775235be78aa1975d5ab1394f6852080e4180b655c0f7d8b43705451e16d1067066e610d7e45bc11de0c155bb7cbef89a566c7c2823de7c5ecc00cd0adb8b62197e33d0afb5f86949c122125d9a9503b6d92a6a4e21d793389f6ef9c1ac168f678c7fe488c940c74964605f07b86940375d2ff970d3ac3759ba7909b3daa02233641210c715a4a4c76348c1dedd20c4d7bfb13f633921b6c2f5bae588eecb609156f811dcd8f3073be9115ff1d430c4d7bfb13f633921b6c2f5bae588eecb609156f811dcd8f3073be9115ff1d433672daf807e90cb2f0597f46a9aa42c78e2410900aa097794383ad4bd1ccc946e432f2f6ddea71141e15c894724af76e19493f9b539926ac84408dda5033a775f91872dca106350e4b6a54099c83f07bda940b6eceecad3a43cd63f78897595f1acf2c3e8aab4b176eb48f3ef4fa74dae55671cc41d80dde88d7655139ab42f285839109c89fccfba4973e6dc7716da0807d7bf8c1031a8d9f59701b96a92c404715ad22fea46515f489d2d1ddac7a29ce4f378a88dca319fd8dfaec1c4a5f7e9f2d99d8a8d9f05f46a9be6e607747711e4a570974423228a95b58030728eed74e13706fa18a90fa1508758be944eb022d7832d76e38d2ab54b632fb7e38144090694fe12af1958c0796e782fb15ab2f7dc800278d168274219ffe8ef382f6c2bfe028d9568ad41c50fa4a02ef85c00954c1e6d60db4989fcfb2f435eb16a3dc1795be9613bc940d9e892ae3eaedf5f89df4ba304f9084440960303cf38689ffd5df93d6def6930d2c987572144da20ec23ff24f57fa3a5a24a099697d908b21f64447dcae5146de74f2c22b0e638532bee98d208c6e5a799ebe85b6c2ed36faf64447dcae5146de74f2c22b0e638532bee98d208c6e5a799ebe85b6c2ed36fa49cb28d67137b7d833111fd208f034c536d0b6b993f852c12b3e628686d44f2f2578d9bc93c5eb5dac681f92ebd6c8e3df76b2ff4efd4c50a54e5854a1ce0cec2200032c339b72f29c4161318ea9b85e058d50b8708a07c10bbbbcb5dfb136a41aeaacb6a7648b3795e0745b77c6863019f443c2033b2454d7030c36a35ee466130020b583c01c9f0d436953c3a3b20b1ecbceeeb8ef9bb85bbc13ed9f8bdcb4130020b583c01c9f0d436953c3a3b20b1ecbceeeb8ef9bb85bbc13ed9f8bdcb4272d4abaefb92dde3f39b0fd3f37660c915b18d4c158173b51eea77e32e0a06e42d8e71acf0e34a8e215d06057180766597d9aea11b7467487891af9e6ad5fcd54fdb63b5ee76a62630e0f3f6721a62aebc74b69247d5b856a729e590adee45c09521a4456a481937e077cd48a36e22de863d91457a71b25c26ce50bd4c7b25f43c075fb33dd87dbf4eed25daf85374186d30720c02311ab9147573a4ffc4c5a1b62e2107261dc7330919cffaa06cb153de4dd33f43240f0466a56df3c47e5b3cb0f15b7c0ddbf3d36e2b6064c91b9bd05ba0ace3b1a1c0321cb221398ec81fad39ad19db8ff502fafa6f5284ab8a17bb5dec2d557b7b904b87a68d33b571d6f85ee2411809830ebc1f57d43a215d767b57713bab727efa4d82d4a7a2cb3a03acfda7cfd4ece4967696ae33881535331d7bd1cb48b172f2ca877ad269620d41582c1c31b0a380522561dd89a117cb4126afde8d282d0b0d898ae6707b3c4f107a5f58b1d4839719347b0a4d07b86206727cc604d6160a43a850781bc80d84e8ef73da2e7d2df10b622dd5bdbc32ac829ecd8ad0ba8c1502c59f48b648ef94c3208db4eee17c176a2400e81323c6304da44d6f107319545a6980d4d7ce109bd2461f86be8afaa5243e6ef2594fa906c15732bdabcf90345f55505e2ce47a921036f84c5df1e45d1560e3d339e358c11191d4460705a3cc85944ca0d7ae0f9fa7d9473de8a650f9ce532cd990e3aa0ecd336e7b4527055c2b4d7175a31970fc9e39473de8a650f9ce532cd990e3aa0ecd336e7b4527055c2b4d7175a31970fc9e30a1b1a1b9d5f3c0449e1b93beaa5cca2e7fb22b89fca3819a0da64dcd24a37345676bbdf5b60dcb9fd1649e5ca24aab95dce0de05f2015a87509c584f14cdf01b52fea5fa9b33c6ad9451bb2b82aaf4707559db49975733260d3e5c574b92341ce501800886a866cf7a2c76450ab09236c3a1a48713bdbc4f4e33ef4b01c03c7e81f913826a234274958db49465a6c15a6db19e5dc7c7eb64517c0903765897ee81f913826a234274958db49465a6c15a6db19e5dc7c7eb64517c0903765897e43b6e80974e8231302771d086977ba58a0ca130fc695f991d5da6a171178728eb55136a7f69c88f74699093226489b4bbbcf34cd160777152db988548363e263e195172732e8aff453ddaeda43a3be88b5b9792b5c1cc381ee3d07d3a84958431ee79b68fee0be0f9fe44b13ec92139e6611520d44faa0f0f5bff111e72497d46c0afbd8a414bf9095433aa514d148c1a4ee8e3a630af9ab4f1ba53b33da616d311c326b529709091f66cf07a7bfd49be9ba40f41a39957a79834af7a98e1ec5e8ee080a04025753821578816a321138ecbf7fef7f7452136d8fb36f9d7c1d6af6f3bc1506c4f8aca0887614e9cc2411e5350939aaf07a094e4d31bea43fbb4912a77eb371e5bcbbb27c68ea687fc993bd9c02d115f2142fe6d6f533502a7015956d6d79939aaca3cfd0cc26ab44598ac0c64bbff7d93b6e0108d94779ce8af689a77d2102ea79c1013860a15a81f6b91a0bd691bc7b9a2ee12cbfd26df338b1eedb27e6200bc19ba01b5cf0fac89bffc70acfad9690d76500ac4390e92de10d21132fa74bde3f8c0bf19e2f80d57bd823f274234f74d348cbdbbe0e50efbd2ad43f44dd00fc041902ac9e01bc80d47599e04f89fb4351fe5fe18ba85d7d893e6e00edbf5a3867a11bfdd2aaee3a21647dbe3405570ce54a26da34fae9ca5be5e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85503f52417cd6f54f92da9c60c511aeb22038bfc74356993fa3a01f0c5150f378a03f52417cd6f54f92da9c60c511aeb22038bfc74356993fa3a01f0c5150f378ad847d23e347a77ba62f68e8a227103d335fcd0ee3baf2d48da5e7ad26be0b2c28f14762687f3d0be2eae4975bc86ae76a031b861fc44a124c3b9afd42e7b85ea1a38987cd6307ce73c7f496119b685fcd4b18f80c8f0ee11c12afa093a7b11edffaf6db1f175687925accac97b6b07111a2f31db91072553bfdf66cbbc90f3be207b572e317143149398546773751e8416e302442c836ba2640f3b8ab7ac0983d78fd4112ae913701029758a79e0141bdbc14f3274c936031ad128eb13ad9436e8dfba44210d3df06d3293795268037c32a625e6db6ee3eefc393765ff27830c76009872dcfabdb410b3a3685ef701c4c0b09e91d754a410d51e0c204ee90f4a7df86fd7b71dbfe8437850098b578056d26c92455c895e9c414ef9436a2996a8bcfad77a3222e301d4747f9b857e9d8ad57d2a709cddcc1ba9e9e22f523541d3679ec6d568e7643086e760bc3e089717898a44aaa5bfcd5bd861e484e2623ba09267a177c5c2853ba19b8bdce876e9afacd50e50fdf51e38cd27ed16e0d835369267a177c5c2853ba19b8bdce876e9afacd50e50fdf51e38cd27ed16e0d83536a1d9f93b84fadb10ab1b728af72e02ddb5d65821eb9e0c680639bd9639406273d62702f0b9f83137325b906e4f32ddf7fd8c0466dafb9d45e97911fcbcc47da3a4174f38f1b118751c0d5e50c7e1741546401f9646375a0607280f87b073572bb646e757290350ab0c61c44cfcdc55dc537a8b89776c0f477171c2f867099376b24f1921abf6a9cfc9085223f706f4def133bfe6465804e3cd8b2e186000d4fd97a3bd4aaeaae723e4a6a2eb958cb34e0b44695ec25c49bac848e75869f1d92848438232a21096d113943e57a5d3dcfda5b99f1b55747815c7478df28033a99a48438232a21096d113943e57a5d3dcfda5b99f1b55747815c7478df28033a99aa5cd76dedc4c6bef08392005e26da4222e90778da40c43b51d1b001b664b1cac6b4c646ad6e6cd0a1a30341f41bd5c44e97c15d4f186b20310ea4834a522754f688b96605cb05017aaf2157778c3440e71113e7984402367c84d755d3b09a17e41ca98216112108f75658744227d1d49a5dc2b6e6840cd8fde3ed902fc693549cca8623e15bb58057280a5b878e7f6661436820c7a6d4e5379aec7c5a8122cca73ccde23cfa4ef8c46f6cda570632697ec523b015bb577069e253cea31d6b012e08731e9ceef6846fcf6ff11515002936ec2774794a26a187407dc6312d7079197a0f2087930f72ca61335b145ac266f7d0ccb5fae8ccfb2f410fe31e30127870772c1d6665d006c690c45578abe4141d08db796c6108151e9cbf11be8fcca0ad6565b22899e8a9acd5f9336fb96aaf77c43a964e94f4a811ef3b6e2eec9e53c323a524144359fbae97e3fe992540faec8b5f2ea1e841e505038a881e6d33fbdfc605564dfbb38fcc42a7eb7833b8eb4b898d07f80edc6082800648f82c7fce20852a2c8b36a5aa7a6843bc3a2f6fe26a3114cc373e74819530c0ea488eba47ce785644b74bfc2b143eefde32278457e478185a3e757950df9cbbe8b93285e47aefc039ba65f3844a7351771c5aefca1a9a4ad6c202561ffbec1ea410af5bd21188911f409f2699f1bd4fb7b22ddf98882ba10fc1ed8949482de79bbb9f0f6aa156971dedb8d7b9af8c731152e8f4aabc920237f57ed9c94edf833f788c89d96c1eef49428a2c87c1a5bbe64a8ce3428eb17ec52b266246f8d3d843d138ab7977f3ff586c41687160aa490d68b7d21c275e7d0747c4bfa508ac293c12c5b902eb34c16d3d9cb8f9b16982b938e53ba5cafebded87b97682e74c94027fbf80885fef7752404cd2c6e0c809a693491b9296048ccb198a91ce1100415cfd1f5d4b2e9020d3c1aeb88bbdece0902fe172538e7972e2fe8c0cb7f48e03928f10837e0fd1b80fdebce419ee1f3813ab3929be2f71fc909d25917ea186925b6e0e78360/etc/alternatives/gunicorn/etc/alternatives/gunicorn_paster@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-gunicorn-19.7.1-150000.3.7.1.src.rpmpython3-gunicorn@@     /bin/sh/bin/sh/usr/bin/python3python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)update-alternativesupdate-alternatives3.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1f@Ycl@YTUJ@T@R@Ri P@P@OE@mmachova@suse.comjengelh@inai.detbechtold@suse.combenoit.monin@gmx.fraxel.braun@gmx.dep.drouand@gmail.comspeilicke@suse.comp.drouand@gmail.comp.drouand@gmail.comsuse@ammler.ch- Add patch CVE-2024-1135.patch (bsc#1222950) - Skip python2 as the changes are incompatible- Ensure neutrality of description.- update to 19.7.1: - fix: continue if SO_REUSEPORT seems to be available but fails (:issue:`1480`) - fix: support non-decimal values for the umask command line option (:issue:`1325`) - The previously deprecated ``gunicorn_django`` command has been removed. Use the :ref:`gunicorn-cmd` command-line interface instead. - The previously deprecated ``django_settings`` setting has been removed. Use the :ref:`raw-env` setting instead. - The default value of :ref:`ssl-version` has been changed from ``ssl.PROTOCOL_TLSv1`` to ``ssl.PROTOCOL_SSLv23``. - fix: initialize the group access list when initgroups is set (:issue:`1297`) - add environment variables to gunicorn access log format (:issue:`1291`) - add --paste-global-conf option (:issue:`1304`) - fix: print access logs to STDOUT (:issue:`1184`) - remove upper limit on max header size config (:issue:`1313`) - fix: print original exception on AppImportError (:issue:`1334`) - use SO_REUSEPORT if available (:issue:`1344`) - `fix leak `_ of duplicate file descriptor for bound sockets. - add --reload-engine option, support inotify and other backends (:issue:`1368`, :issue:`1459`) - fix: reject request with invalid HTTP versions - add ``child_exit`` callback (:issue:`1394`) - add support for eventlets _AlreadyHandled object (:issue:`1406`) - format boot tracebacks properly with reloader (:issue:`1408`) - refactor socket activation and fd inheritance for better support of SystemD (:issue:`1310`) - fix: o fds are given by default in gunicorn (:issue:`1423`) - add ability to pass settings to GUNICORN_CMD_ARGS environnement variable which helps in container world (:issue:`1385`) - fix: catch access denied to pid file (:issue:`1091`) - many additions and improvements to the documentation - improvement of the binary upgrade behaviour using USR2: remove file locking (:issue:`1270`) - add the ``--capture-output`` setting to capture stdout/stderr tot the log file (:issue:`1271`) - Allow disabling ``sendfile()`` via the ``SENDFILE`` environment variable (:issue:`1252`) - fix reload under pycharm (:issue:`1129`) - fix: make sure to remove the signal from the worker pipe (:issue:`1269`) - fix: **gthread** worker, handle removed socket in the select loop - fix: Ensure response to HEAD request won't have message body - fix: lock domain socket and remove on last arbiter exit (:issue:`1220`) - improvement: use EnvironmentError instead of socket.error (:issue:`939`) - add: new ``FORWARDDED_ALLOW_IPS`` environment variable (:issue:`1205`) - fix: infinite recursion when destroying sockets (:issue:`1219`) - fix: close sockets on shutdown (:issue:`922`) - fix: clean up sys.exc_info calls to drop circular refs (:issue:`1228`) - fix: do post_worker_init after load_wsgi (:issue:`1248`) - fix access logging in gaiohttp worker (:issue:`1193`) - eventlet: handle QUIT in a new coroutine (:issue:`1217`) - gevent: remove obsolete exception clauses in run (:issue:`1218`) - tornado: fix extra "Server" response header (:issue:`1246`) - fix: unblock the wait loop under python 3.5 in sync worker (:issue:`1256`) - fix: log message for listener reloading (:issue:`1181`) - Let logging module handle traceback printing (:issue:`1201`) - improvement: Allow configuring logger_class with statsd_host (:issue:`1188`) - fix: traceback formatting (:issue:`1235`) - fix: print error logs on stderr and access logs on stdout (:issue:`1184`) - Simplify installation instructions in gunicorn.org (:issue:`1072`) - Fix URL and default worker type in example_config (:issue:`1209`) - update django doc url to 1.8 lts (:issue:`1213`) - fix: miscellaneous wording corrections (:issue:`1216`) - Add PSF License Agreement of selectors.py to NOTICE (:issue: `1226`) - document LOGGING overriding (:issue:`1051`) - put a note that error logs are only errors from Gunicorn (:issue:`1124`) - add a note about the requirements of the threads workers under python 2.x (:issue:`1200`) - add access_log_format to config example (:issue:`1251`) - Use more pytest.raises() in test_http.py - fix: NameError fileno in gunicorn.http.wsgi (:issue:`1178`) - fix: check if a fileobject can be used with sendfile(2) (:issue:`1174`) - doc: be more descriptive in errorlog option (:issue:`1173`) - fix: don't check if a file is writable using os.stat with SELINUX (:issue:`1171`) - improvement: handle HaltServer in manage_workers (:issue:`1095`) - fix: Do not rely on sendfile sending requested count (:issue:`1155`) - fix: claridy --no-sendfile default (:issue:`1156`) - fix: LoggingCatch sendfile failure from no file descriptor (:issue:`1160`) - fix: Always send access log to syslog if syslog is on - fix: check auth before trying to own a file (:issue:`1157`) - fix: Fix Slowloris broken link. (:issue:`1142`) - Tweak markup in faq.rst - fix: gaiohttp test (:issue:`1164`) - fix tornado worker (:issue:`1154`) - fix: make sure that a user is able to access to the logs after dropping a privilege (:issue:`1116`) - improvement: inherit the `Exception` class where it needs to be (:issue:`997`) - fix: make sure headers are always encoded as latin1 RFC 2616 (:issue:`1102`) - improvement: reduce arbiter noise (:issue:`1078`) - fix: don't close the unix socket when the worker exit (:issue:`1088`) - improvement: Make last logged worker count an explicit instance var (:issue:`1078`) - improvement: prefix config file with its type (:issue:`836`) - improvement: pidfile handing (:issue:`1042`) - fix: catch OSError as well as ValueError on race condition (:issue:`1052`) - improve support of ipv6 by backporting urlparse.urlsplit from Python 2.7 to Python 2.6. - fix: raise InvalidRequestLine when the line contains malicious data (:issue:`1023`) - fix: fix argument to disable sendfile - fix: add gthread to the list of supported workers (:issue:`1011`) - improvement: retry socket binding up to five times upon EADDRNOTAVAIL (:issue:`1004`) - **breaking change**: only honor headers that can be encoded in ascii to comply to the RFC 7230 (See :issue:`1151`). - add new parameters to access log (:issue:`1132`) - fix: make sure that files handles are correctly reopened on HUP (:issue:`627`) - include request URL in error message (:issue:`1071`) - get username in access logs (:issue:`1069`) - fix statsd logging support on Python 3 (:issue:`1010`) - use last version of mock. - many fixes in Travis CI support - miscellaneous improvements in tests - fix: Fix self.nr usage in ThreadedWorker so that auto restart works as expected (:issue:`1031`) - fix quit signal handling (:issue:`1128`) - add support for Python 3 (:issue:`1066`) - fix: make graceful shutdown thread-safe (:issue:`1032`) - fix ssl options (:issue:`1146`, :issue:`1135`) - don't check timeout when stopping gracefully (:issue:`1106`) - add SSL support (:issue:`1105`) - fix link to proc name setting (:issue:`1144`) - fix worker class documentation (:issue:`1141`, :issue:`1104`) - clarify graceful timeout documentation (:issue:`1137`) - don't duplicate NGINX config files examples (:issue:`1050`, :issue:`1048`) - add `web.py` framework example (:issue:`1117`) - update Debian/Ubuntu installations instructions (:issue:`1112`) - clarify `pythonpath` setting description (:issue:`1080`) - tweak some example for python3 - clarify `sendfile` documentation - miscellaneous typos in source code comments (thanks!) - clarify why REMOTE_ADD may not be the user's IP address (:issue:`1037`) - fix: reloader should survive SyntaxError (:issue:`994`) - fix: expose the reloader class to the worker. - convert to singlespec - fix Sourc url- update to version 19.3.0: * fix: issue 978 make sure a listener is inheritable * add check_config class method to workers * fix: issue 983 fix select timeout in sync worker with multiple connections * allows workers to access to the reloader. close issue 984 * raise TypeError instead of AssertionError * make Logger.loglevel a classs attribute * fix: issue 988 fix syntax errors in examples/gunicorn_rc - additional changes from version 19.2.1: * expose loglevel in the Logger class * fix issue 977 fix initial crash * document security mailing-list in the contributing page - additional changes from version 19.2: * optimize the sync workers when listening on a single interface * add –sendfile settings to enable/disable sendfile. fix issue 856 * add the selectors module to the code base. issue 886 * add –max-requests-jitter setting to set the maximum jitter to add to the max-requests setting * fix issue 899 propagate proxy_protocol_info to keep-alive requests * fix issue 863 worker timeout: dynamic timeout has been removed * fix: Avoid world writable file * fix issue 941 set logconfig default to paster more trivially * add statsd-prefix config setting: set the prefix to use when emitting statsd metrics * issue 832 log to console by default * fix issue 908 make sure the worker can continue to accept requests * fix issue 867 Fix eventlet shutdown to actively shut down the workers - remove python-nose from BuildRequires: unneeded - add python-mock and python-pytest-cov as test dependencies - add python-unittest2 as test dependencies for SLE11 - remove version pinning for test requirements with sed - reenable the tests - move documentation files under the main package docdir- update to version 19.1.1 fix #835: display correct pid of already running instance fix : fix PyTest class in setup.py. fix #838: statsd logegr, send statsd timing metrics in milliseconds fix #839: statsd logger, allows for empty log message while pushing metrics and restore worker number in DEBUG logs fix #850: add timezonw to logging fix #853: Respect logger_class setting unless statsd is on fix #830 make sure gaiohttp worker is shipped with gunicorn. fix #785: handle binary type address given to a client socket address fix graceful shutdown. make sure QUIT and TERMS signals are switched everywhere. support loading config from module (#799) fix check for file-like objects (#805) fix #815 args validation in WSGIApplication.init fix #787 check if we load a pyc file or not. fix #771: support tornado 4.0 fix #783: x_headers error. The x-forwarded-headers option has been removed in c4873681299212d6082cd9902740eef18c2f14f1. The discussion is available on #633. fix: fetch all body in input. fix #803 fix: don’t install the worker if python < 3.3 fix #822: Support UNIX sockets in gaiohttp worker fix #790 StopIteration shouldn’t be catched at this level. add statsd logging handler fix #748 fix #809 Set global logging configuration from a Paste config. fix RuntimeError in gunicorn.reloader (#807) update faq: put a note on how watch logs in the console since many people asked for it. details see http://docs.gunicorn.org/en/19.1.1/news.html#id1 - remove test- Update to version 18.0 + new: add -e/--env command line argument to pass an environment variables to gunicorn + new: add --chdir command line argument to specified directory before apps loading. - new: add wsgi.file_wrapper support in async workers + new: add --paste command line argument to set the paster config file + deprecated: the command gunicorn_django is now deprecated. You should now run your application with the WSGI interface installed with your project (see https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/gunicorn/) for more infos. + deprecated: the command gunicorn_paste is deprecated. You now should use the new --paste argument to set the configuration file of your paster application. + fix: Removes unmatched leading quote from the beginning of the default access log format string + fix: null timeout + fix: gevent worker + fix: don’t reload the paster app when using pserve + fix: after closing for error do not keep alive the connection + fix: responses 1xx, 204 and 304 should not force the connection to be closed - Changes from 17.5 + new: add signals documentation + new: add post_worker_init hook for workers + new: try to use gunicorn.conf.py in current folder as the default config file. + fix graceful timeout with the Eventlet worker + fix: don’t raise an error when closing the socket if already closed + fix: fix –settings parameter for django application and try to find the django settings when using the gunicorn command. + fix: give the initial global_conf to paster application + New versionning: With this release, the versionning of Gunicorn is changing. Gunicorn is stable since a long time and there is no point to release a “1.0” now. It should have been done since a long time. 0.17 really meant it was the 17th stable version. From the beginning we have only 2 kind of releases: - major release: releases with major changes or huge features added services releases: fixes and minor features added So from now we will apply the following versionning .. For example 17.5 is a service release. - Changes from 0.17.4 + fix unix socket address parsing - Changes from 0.17.3 + add systemd sockets support + add python -m gunicorn.app.wsgiapp support + improve logger class inheritance + exit when the config file isn’t found + add the -R option to enable stdio inheritance in daemon mode + don’t close file descriptors > 3 in daemon mode + improve STDOUT/STDERR logging + fix pythonpath option + fix pidfile creation on Python 3 + fix gevent worker exit + fix ipv6 detection when the platform isn’t supporting it- Require python-setuptools instead of distribute (upstreams merged)- Initial python3 support- Update to 0.17.2: * optimize readline() * make import errors more visible * don't pass ssl_options if there are any * don't accept str or unicode in the body - Build documentation from source with python-Sphinx - Remove duplicate files with fdupes- update to version 0.14.3 - improvement: performance of http.body.Body.readline() - improvement: log HTTP errors in access log like Apache - improvment: display traceback when the worker fails to boot - improvement: makes gunicorn work with gevent 1.0 - examples: websocket example now supports hybi13 - fix: reopen log files after initialization - fix: websockets support - fix: django1.4 support - fix: only load the paster application 1 time/bin/sh/bin/shh03-ch2c 1722950946  !"#$%&'()*++-./0123356789:;<=>?@ABCDEFGGIJKLMMOPQRSTUVWXYZ[\]^_`aacdefghijklmnopprstuvwxxz{|}~19.7.1-150000.3.7.1   gunicorngunicorn_pastergunicorngunicorn-3.6gunicorn_pastergunicorn_paster-3.6gunicorngunicorn-19.7.1-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtnot-zip-safetop_level.txt__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_compat.cpython-36.opt-1.pyc_compat.cpython-36.pycarbiter.cpython-36.opt-1.pycarbiter.cpython-36.pycargparse_compat.cpython-36.opt-1.pycargparse_compat.cpython-36.pycconfig.cpython-36.opt-1.pycconfig.cpython-36.pycdebug.cpython-36.opt-1.pycdebug.cpython-36.pycerrors.cpython-36.opt-1.pycerrors.cpython-36.pycglogging.cpython-36.opt-1.pycglogging.cpython-36.pycpidfile.cpython-36.opt-1.pycpidfile.cpython-36.pycreloader.cpython-36.opt-1.pycreloader.cpython-36.pycselectors.cpython-36.opt-1.pycselectors.cpython-36.pycsix.cpython-36.opt-1.pycsix.cpython-36.pycsock.cpython-36.opt-1.pycsock.cpython-36.pycsystemd.cpython-36.opt-1.pycsystemd.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pyc_compat.pyapp__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycpasterapp.cpython-36.opt-1.pycpasterapp.cpython-36.pycwsgiapp.cpython-36.opt-1.pycwsgiapp.cpython-36.pycbase.pypasterapp.pywsgiapp.pyarbiter.pyargparse_compat.pyconfig.pydebug.pyerrors.pyglogging.pyhttp__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_sendfile.cpython-36.opt-1.pyc_sendfile.cpython-36.pycbody.cpython-36.opt-1.pycbody.cpython-36.pycerrors.cpython-36.opt-1.pycerrors.cpython-36.pycmessage.cpython-36.opt-1.pycmessage.cpython-36.pycparser.cpython-36.opt-1.pycparser.cpython-36.pycunreader.cpython-36.opt-1.pycunreader.cpython-36.pycwsgi.cpython-36.opt-1.pycwsgi.cpython-36.pyc_sendfile.pybody.pyerrors.pymessage.pyparser.pyunreader.pywsgi.pyinstrument__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycstatsd.cpython-36.opt-1.pycstatsd.cpython-36.pycstatsd.pypidfile.pyreloader.pyselectors.pysix.pysock.pysystemd.pyutil.pyworkers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_gaiohttp.cpython-36.opt-1.pyc_gaiohttp.cpython-36.pycasync.cpython-36.opt-1.pycasync.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycgaiohttp.cpython-36.opt-1.pycgaiohttp.cpython-36.pycgeventlet.cpython-36.opt-1.pycgeventlet.cpython-36.pycggevent.cpython-36.opt-1.pycggevent.cpython-36.pycgthread.cpython-36.opt-1.pycgthread.cpython-36.pycgtornado.cpython-36.opt-1.pycgtornado.cpython-36.pycsync.cpython-36.opt-1.pycsync.cpython-36.pycworkertmp.cpython-36.opt-1.pycworkertmp.cpython-36.pyc_gaiohttp.pyasync.pybase.pygaiohttp.pygeventlet.pyggevent.pygthread.pygtornado.pysync.pyworkertmp.pypython3-gunicornLICENSE/etc/alternatives//usr/bin//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/gunicorn-19.7.1-py3.6.egg-info//usr/lib/python3.6/site-packages/gunicorn//usr/lib/python3.6/site-packages/gunicorn/__pycache__//usr/lib/python3.6/site-packages/gunicorn/app//usr/lib/python3.6/site-packages/gunicorn/app/__pycache__//usr/lib/python3.6/site-packages/gunicorn/http//usr/lib/python3.6/site-packages/gunicorn/http/__pycache__//usr/lib/python3.6/site-packages/gunicorn/instrument//usr/lib/python3.6/site-packages/gunicorn/instrument/__pycache__//usr/lib/python3.6/site-packages/gunicorn/workers//usr/lib/python3.6/site-packages/gunicorn/workers/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python3-gunicorn/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:35104/SUSE_SLE-15_Update/a74f0f539158fa896296b900feeb7bac-python-gunicorn.SUSE_SLE-15_Updatedrpmxz5noarch-suse-linuxemptyPython script, ASCII text executabledirectoryASCII textpython 3.6 byte-compiledUTF-8 Unicode text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRⷚ޶Futf-8583f44c79958ccf9f3c27645b1b7121ac7b583b2bd9db7b407660d95a0833f22?7zXZ !t/-]"k%) `> %Laʢ¼T,<@a[π!@!uY(3:iOy t X9,QH`o3CfB 'Z;f%+²x\EmG)V"ulWx3I tz~RSni4>[\ ܒV0Ri &UFw]|q*Оa/ e v-v-|KP J͝T*,J~䶢!x&X}@ XqevSg\.'ݺ= 2=LjiYY!$^5RM d@:$1'JR0w'}oKG*wFnA+q@UIdn*6|ת"@$.әi9{"Ա{j,~bTMs~:|$̫e]ĉ6n);JO[KG|3Ĥ~W>! %k£)OO+O0!pPb)s߅s5亁4$C3?V,rN}:H۰+ˑyK\;cA6.tm( [xlxR>7éT]##T$KZ86۹cɅ2v/kXnN^6CJ6J0YÕl|(TE4 LV%7͘kUI!xZP$sgDPيyJA7RԲ[hC6hȪJܩՆaV| c,lK ɩI bMPsM+dyPöK \x9ĩlkBύ_rR%jM X(h_>l2HT2uI+eQ/6sȿ,j uJnQ 6%1"N-ӣq&c35ר/ΰ/qlˏe2zd̛NΣUܳ7Nl!Ce`{e,^?84=갴{GC[s' j o}=:rR;Q%a8?P܄ґ`mplָJaynT$d䳳*GI@n(E"F_""U7-VW<3(Ҿ:Opc峗O-) )|?|5jS#T[#y ucUOX}+ [lѐ ڤ+ 8zO d߭zAz 5̥0CS3Ym8FwT=^;gݔ=c@xd_SPTKssVo=[ԗ q?2|(ި]*BP(6a/ž%@V儩uz2/˨pWyo};@cqWé<õg3d Kp^NݎA쇜4w(قZo>&uKTa*~.s]SyUϢ\8 mSN&b';I5C@ZAG)95BX ߹y@Ue)/+m5Ƃ)SK}φ:$ T+EgJ澞iG$)~<ԓGOWttZ赳WʳЋ&V6矇‘$Vk4Ajd?}M/RL׆̢o;YhRisK@lvdY"y(<>A9C%ܠ QqCy DEt6мl[jGH4Kӧ\Fw,sWb_g/b˞I,A8sEI5-x*%nzq#vZ=d wP3y;?n]JUnAj:2|sk DjkW^.k21-.k(停Cؤ8 \hSΌVq6 &xvL֐5p+kp`h7 ߡN^0.L$[qG_p1 "^cO!cP# ܟpbC_6))܀sHjKK {#9Dݳߘ!}-,>y*}`ཀ)<0Jǧep0h}#9pJ 4AQku=p? 13 F ZE _ vۮ?ňxlG $ Wލ]A'E}h5ٞ>2@4j64>ˤ'WJEӯ6";zNJ1z c!\⡐[x%e/wcWYGFL 0hTG5ƆL܅R5L [^ƃpŽVC1n#TZ`h^>upkDM/~(2d=ġyrh㹳e'I&jΆq%äJjm%P࠵}i˷G>cL8_{WUU^3Tffږd޳O;ЄF x՘g0}HRE*5循!Lؑ^;o3#& ~?_ -[wX OȀk\JC U'HeIYؖ!cb Hfۏgb9G&($ZGŋ6[c9}(]F}wC.mmMDlx}=B"7jx$$+D$\3s 3҄w).V*IOXg> N]Sh6:dw?,AO=t@/x N_[lWE;LY5Jhs#c#VCIVSBgt?; &ΐ$֣×O*.@whMaOܿLbIO&'rQp6s^ZΣߢY{IH -饰FJݑ:bB~em߃$.%GY(Jv_rUy*J( ['.( F$gZnźt4u!:zKsk4-/ 7-[w@CqLȽ՟XW BO7oqLwƜl\((/zL4at0t!<?QIT1[˂)nwm&(J"D0 ,p ҸloWӆ)=R^߮=S,vTY1}s3'G?Pv1eig(Iw@~Wj>h_]bzy)5򹇮ھ>O=Vi9'$.m+D=\wG@@ӒŖakBUS7)Gh_`!݋>'r<=ȝ| |{G,(%yd`2}`ǍE|hhEbI  CFe8 ?hkX7y.<b?{V ό1Y!ȖɃoqTjj1̪ڠu=@Yzr^!3#(X侩hLy'/N)3@uj9o4ry5@6,8oT1C(A(0m:@? azrh+&bn)&<1xQY̩9SVtl ӄ#AqA BnA.r}`n|˽C'UiQsŤzRuhVWEFl~ԿC%Xڲ&^ J&JChO ?).!7n#*Ds2h9hu"s*yV5%}JNfzRAK+'C^:\V;LǙяv3x+K"+$HY̶D6s{XJ1UVƅ>Lm^$ K hsDD]k kp<20CIzT=Vw!aZ(Mzպt\-1NEB$Оby~c%f?N1.x ifY'er\8|;m۲Q Y+}xfY7$7=^7q 5f::zk(}Aږ=-~6Gȍ {).+r8a6]+I9Ix v?sBIzR&}l7uVrYÄ˿R-/tx=8i ;Tc촌\6J/bS 75fPЪoy~gǍbq紺qj| g8\($h1tmJZfg QީC  Vw}ۓgJ4#L_*hn] aP1˄%1+/P{?i/C/qr٭W9Gn5WFTC/rI05GHG= :&z̛┻V¦0EybkC_T;9{ХRU}S\hN =,JeŖÐF -W&Z]t>n4mrydb@"vO@x./OpP{4Hu[[TLY&Jq#Ϛ9)WvG:'p>ZycԒUvMIʁPeX/]I]í=`R{̎_Y:c(MiɊXQB tuޛtHcfY?5X L{T81%6s&eB젉`=H"p!ffHmz}\y[ef[E40spd&v=%{vYXf88\ wm˴>vyڏZd4<۔P_Ee~C/"sJXҔXE* ~ ذVNkfx\ٺK^,:[;_:=CA(3Ց&1r`o7o}AQrt$= <#ɟOU_S1NH=_-kdm9^o9C̚! f\I6@01ȉtYgKAV=jw4+GwޗA)Ui}уs2T."ߍ/ 2H2%a{!-΀VwI+VkV!"ڲl'1,psz0_Ojh+, Uv>w4ᢘݫ ѧ [m`laJ^ =EL[d Y&7b1!s[xϑVn\V\eu\Q=q6MHB.T`L1 k}s={FN"I"(}-i(%$^K4nX{='\HU\OꗢXj>1p/)B۹*ϔ -]=)h8}gEQQVd:7\t!s k y_?@/}N8p5h xdv >s߆Lg34F Fw*QfBl8&_1{s,GUZ~^qBE{aznS!1ՐGJ]jDˬ(/dKC@OSG(k41 C% =5t.[+B_澴+.wիCJn#)v"}?j+ u U;fBD]5d9\R0zdzW1R)xOD'bjx /%A-nryO])ICx &aȐJM$8 |0~[ol߁zkL#qqXsK =:9pVnji92Fѐ /6=:4mF76nHKVjVW؇ 1Q# NRƿOgyBtQTjCW; æG2䉄KXop K=%ݬ'"@l !pz81 8 \} rX6! SI'-{Iqz<2QEޜr,u e)}uR;*0G.=OCġ5UR?ЂiVN[o|ɇWՏ\FE1k!cKkPw4h KhTr{&){|JEyܤ5Pn&n\IFVkb}b-j厖goUdPwh7,į=dSS1m"UQv<]y-1DR_"&=m(z΄=ԑvN ~ ?fJⅼFb~Qs{buZ>+kFʣR"T14-HB5pI|)"šڕ5!iv2cb;%O~KECx=WCSx0$ S^(L庤6),Ķ6~4H=h_9F@{&8,r43MnY Sbr}=,T%!G}lp4mt@Sv}i8q\?ù)}bG#jUŰ L]%1æNE_/Si雇f :P2۠rV`&oW0@VFIHD&`J@QaJQ&KjS/ax>usGSV(A?A2=NzxHOb*hA jo8Tڊ!s>#_{{3EBf1{Fni[ \ɏؓ0ڮX(dV9&h&O#`WN#ZꀂaCO,T h_J6j{(V-aX/C +{S+(~Qi+Ilz|*u) ed+Rh ə8Ғk>)Vt~Sc4Ԧ-Ju4,YeJ2Fk 3KRx…m3D-q4u]Tsc -Q{{Vs#t u>0-Uw_l /zqIQ̪ǥϑ#$6Dž[ccyclz1ޒbdhC(7` kIoQ)h"D TvQ劔HM>k{X7`JM3#evp|%'E'5@ߝS $"@eLL۾OnJޡG.24=rչ!|UDr)LDh}{B M"!jN8Y3?sRAM%UA;>t褺;mi[SPQ6G<?ss E+8h4=6D[Lf.vgI)ٷM/{vomQF\fNZ|l͛Z=WsZ@*vɿaMk8g˿ F)'ރڛf.,zn O p=]lnZQZख़ʍKRu1 =`^27BwQ.+#᎚u>Ď#IBet:0W-K|-n1H4my9s:YGoo}5Kp˰y"eP>Rz`ϐʝ$k%;`V̤)[yj!e}$eBMJ-z+El+6h{J\]Đ[ӎMbl<0?e~۞p)lEc#y1.ؿQP)RPi>u.}/jx~YK,? EoZG pKz½JE:Y 8`}I_)\Ք1E馨!cR?OB. {yMfc Gt! hָWO."mwK2`(C'`BL֌Eo!,?匇D~EW?"/sԥfߪ)X8=/ɧ#!-D'v;>~60#(șm5enqUC,Bġc['/RaJEyBy#ysLc̒J`V@{;&Y M,CHG^E,{)UݙLhKC=ꔾ҅c_&?̃fa7^[^=Tm.1 Tbo/tКݔSx6k[?,k9Q(Rqg:H`CA43yM28(20 @BҾ=QԢ7Gq0ѽOxM 2jf{\ Rl4nF-vTYO"M7 6k[lD5UK3?G72'Ύ'0U?ě(M+hSqUlfY yJ~>akct귽_)0b\ϻ[ɦG_$&Ѥ]o$W2]J/4rLAy>#7q~k>a0Ju(ϐ _c0vA E2W΅Gu06I{*\[S[KyKPRJ|?ɦ0dwć-1hzm3 +d^ՅT*]gE^e~pc\t[Jy\_s YZ