[issue34862] No longer builds on OpenBSD due to missing definition of convert_sched_param
Change by William Orr : -- keywords: +patch pull_requests: +9050 stage: -> patch review ___ Python tracker <https://bugs.python.org/issue34862> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue34862] No longer builds on OpenBSD due to missing definition of convert_sched_param
New submission from William Orr : [ worr on locke ] ( cpython ) % make -j15 [0] gcc -pthread -fno-strict-aliasing -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -O2 -pipe -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -I. -I./Include -fPIC -DPy_BUILD_CORE -c ./Modules/posixmodule.c -o Modules/posixmodule.o ./Modules/posixmodule.c:5164: warning: 'convert_sched_param' used but never defined gcc -pthread -c -fno-strict-aliasing -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -O2 -pipe -std=c99 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -I. -I./Include -fPIC -DPy_BUILD_CORE -DGITVERSION="\"`LC_ALL=C git --git-dir ./.git rev-parse --short HEAD`\"" -DGITTAG="\"`LC_ALL=C git --git-dir ./.git describe --all --always --dirty`\"" -DGITBRANCH="\"`LC_ALL=C git --git-dir ./.git name-rev --name-only HEAD`\"" -o Modules/getbuildinfo.o ./Modules/getbuildinfo.c if test libpython3.8m.so.1.0 != libpython3.8m.so; then gcc -pthread -shared -fPIC -Wl,-hlibpython3.8m.so.1.0 -o libpython3.8m.so.1.0 Modules/getbuildinfo.o Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/capsule.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/coreconfig.o Python/dynamic_annotations.o Python/errors.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/graminit.o Python/import.o Python/importdl.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/peephole.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/co ntext.o Python/hamt.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/dynload_shlib.o Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/_operator.o Modules/_collectionsmodule.o Modules/_abc.o Modules/itertoolsmodule.o Modules/atexitmodule.o Modules/signalmodule.o Modules/_stat.o Modules/timemodule.o Modules/_threadmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/faulthandler.o Modules/_tracemalloc.o Modules/ hashtable.o Modules/symtablemodule.o Modules/xxsubtype.o Python/frozen.o -lpthread -lutil -lm -lm ; ln -f libpython3.8m.so.1.0 libpython3.8m.so; else gcc -pthread -shared -fPIC -o libpython3.8m.so Modules/getbuildinfo.o Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genobject.o Objects/fileobject.
[issue12978] Figure out extended attributes on BSDs
William Orr added the comment: After a considerable amount of rework, I've gotten something worth submitting. All unit tests pass, and it handles some of the more unfortunate differences between FreeBSD's extended attribute syscalls and Linux's. One of the bigger changes is that I reworked the calls to getxattr and listxattr. These used to be called with a small buffer, and if the size of the extended attribute(s) exceeded the buffer length, we'd throw out that buffer and start again with a buffer of the maximum possible attribute size allocated. I threw this out, and opted for always making two calls - one to get the size of the buffer, and one to actually get the contents (or list of attributes). This works the same for both FreeBSD and Linux. FreeBSD's extattr_get_* and extattr_list_* unfortunately only return the number of bytes read, *not* the number of bytes in the attribute value or the list. That means that there's no real way to determine if we've read less data than there is in the attribute. This passes the unit tests (on FreeBSD 10.1). I'd be interested to see results from other users and comments. -- Added file: http://bugs.python.org/file40946/extattrs.patch ___ Python tracker <http://bugs.python.org/issue12978> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23852] Wrong computation of max_fd on OpenBSD
Changes by William Orr : Removed file: http://bugs.python.org/file39097/max_fd.patch ___ Python tracker <http://bugs.python.org/issue23852> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23852] Wrong computation of max_fd on OpenBSD
William Orr added the comment: Updated the patch based on review -- Added file: http://bugs.python.org/file39200/max_fd.patch ___ Python tracker <http://bugs.python.org/issue23852> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9246] os.getcwd() hardcodes max path len
William Orr added the comment: I've updated the patch with the comments from the review -- Added file: http://bugs.python.org/file39199/max_getcwd.patch ___ Python tracker <http://bugs.python.org/issue9246> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9246] os.getcwd() hardcodes max path len
Changes by William Orr : Removed file: http://bugs.python.org/file39154/max_getcwd.patch ___ Python tracker <http://bugs.python.org/issue9246> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9246] os.getcwd() hardcodes max path len
Changes by William Orr : Removed file: http://bugs.python.org/file39005/max_getcwd.patch ___ Python tracker <http://bugs.python.org/issue9246> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9246] os.getcwd() hardcodes max path len
William Orr added the comment: I've incorporated some of the feedback from the reviews into this new patch. I used the PyMem_Raw* functions to do allocation to avoid having to acquire the GIL and also avoid complciations from the builtin memory allocator, since I'm not using python objects. I have also fixed a memory leak in my original patch, as well as a case where OSes with a small MAX_PATH fail with ENAMETOOLONG -- Added file: http://bugs.python.org/file39154/max_getcwd.patch ___ Python tracker <http://bugs.python.org/issue9246> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23852] Wrong computation of max_fd on OpenBSD
William Orr added the comment: I've updated Cédric's patch to only run that portion on OpenBSD. -- Added file: http://bugs.python.org/file39097/max_fd.patch ___ Python tracker <http://bugs.python.org/issue23852> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20669] OpenBSD: socket.recvmsg tests fail with OSError: [Errno 40] Message too long
William Orr added the comment: Double checked on a FreeBSD box and confirmed. I missed the loop in the kernel source. I've attached a new patch, without the emsgsize change. -- Added file: http://bugs.python.org/file39096/recvmsg_linux_freebsd_only.patch ___ Python tracker <http://bugs.python.org/issue20669> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20669] OpenBSD: socket.recvmsg tests fail with OSError: [Errno 40] Message too long
Changes by William Orr : Removed file: http://bugs.python.org/file39028/recvmsg_trunc_emsgsize_cmsg_linux_only.patch ___ Python tracker <http://bugs.python.org/issue20669> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20669] OpenBSD: socket.recvmsg tests fail with OSError: [Errno 40] Message too long
Changes by William Orr : Removed file: http://bugs.python.org/file38990/recvmsg_trunc_emsgsize_cmsg_obsd_skip.patch ___ Python tracker <http://bugs.python.org/issue20669> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12978] Figure out extended attributes on BSDs
William Orr added the comment: Here's an initial attempt at implementing extended attribute support. Let me know if there's any interest. There's currently one deficiency, which is that the namespace isn't prepended to the attribute name when calling lsxattr. Let me know if my approach is good, so I can continue fixing lsxattr. All other unit tests pass. -- keywords: +patch nosy: +worr Added file: http://bugs.python.org/file39095/initial_freebsd_xattrs.patch ___ Python tracker <http://bugs.python.org/issue12978> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20669] OpenBSD: socket.recvmsg tests fail with OSError: [Errno 40] Message too long
William Orr added the comment: I'm adding another patch, as adding multiple cmsg's to a single message with sendmsg is a Linux-specific extension. This only enables the problematic patches on Linux. This solves the AIX failures in #20718 as well. -- Added file: http://bugs.python.org/file39028/recvmsg_trunc_emsgsize_cmsg_linux_only.patch ___ Python tracker <http://bugs.python.org/issue20669> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23949] Number of elements display in error message is wrong while unpacking in traceback
William Orr added the comment: I've updated the error message to just include the expected number of arguments. I think this makes it way more readable. -- keywords: +patch nosy: +worr Added file: http://bugs.python.org/file39010/maxvalueerror.patch ___ Python tracker <http://bugs.python.org/issue23949> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9246] os.getcwd() hardcodes max path len
William Orr added the comment: Revisiting this, I've updated python3 to calculate this and use gradual dynamic allocation like the python2 implementation. -- nosy: +worr versions: +Python 3.5 -Python 2.7, Python 3.2, Python 3.3 Added file: http://bugs.python.org/file39005/max_getcwd.patch ___ Python tracker <http://bugs.python.org/issue9246> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23852] Wrong computation of max_fd on OpenBSD
William Orr added the comment: Given that OpenBSD returns *bad* data via sysconf(3), I'm not sure that there's a good way to validate other than *only* calling getrlimit(3) on OpenBSD. Is that an acceptable approach? -- ___ Python tracker <http://bugs.python.org/issue23852> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20669] OpenBSD: socket.recvmsg tests fail with OSError: [Errno 40] Message too long
William Orr added the comment: In the case of EINVAL, OpenBSD returns this if multiple cmsghdrs are attached to a message with sendmsg(2). In this case, those tests should probably be skipped. I've attached the patch that combines haypo's patch with skips referencing this issue wrt. multiple cmsg failures -- nosy: +worr versions: +Python 3.5 -Python 3.4 Added file: http://bugs.python.org/file38990/recvmsg_trunc_emsgsize_cmsg_obsd_skip.patch ___ Python tracker <http://bugs.python.org/issue20669> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23852] Wrong computation of max_fd on OpenBSD
William Orr added the comment: Tested on OpenBSD 5.6/amd64. lgtm. -- nosy: +worr ___ Python tracker <http://bugs.python.org/issue23852> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21976] Fix test_ssl.py to handle LibreSSL versioning appropriately
New submission from William Orr: Currently, test_ssl.py requires the version information to match the OpenSSL format exactly, and to be less than 2.0. LibreSSL, a drop-in replacement for OpenSSL, has started its version numbers at 2.0.0, and reports it slightly differently. This patch addresses that. Tested on Exherbo Linux amd64 with LibreSSL portable 2.0.1. -- components: Tests files: libressl-tests.diff keywords: patch messages: 222996 nosy: worr priority: normal severity: normal status: open title: Fix test_ssl.py to handle LibreSSL versioning appropriately type: behavior versions: Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4, Python 3.5 Added file: http://bugs.python.org/file35949/libressl-tests.diff ___ Python tracker <http://bugs.python.org/issue21976> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com