This changes the package to download from PyPI (using pypi.mk) and
removes the incorrect PKG_CPE_ID.
The CPE id was for Debian's python-dns package which contains PyDNS
("pydns" on PyPI). This package contains "dnspython" from PyPI.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Remove preinst, the default prerm script will stop the service
* Use default Python package filespec and shebang fix
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This updates the package to use the default Python package build recipe,
adds a src package, and changes to download from PyPI (using pypi.mk).
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Python will record the values of CC, CXX, AR, and READELF (and other
configure options) used during compilation. pip will use these programs
when asked to compile extension modules on the target device.
* If ccache is used during build, CC and CXX will be ccache_cc and
ccache_cxx, respectively, which are not available on-device (#11912).
* If an external toolchain is used during build, the values of these
variables will contain the external toolchain prefix, which may not be
available on target.
* If the normal toolchain is used during build, AR and READELF will
contain the toolchain prefix, but the names of ar and readelf
on-device do not contain the prefix; they are named "ar" and
"readelf".
This changes the values of these variables in Python's files to match
the names available on-device, and without any toolchain prefix.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This also updates all package metadata (it appears this information was
not updated when the package switched from packaging "gnupg" from PyPI
to "python-gnupg"), updates the package to use the default Python
package build recipe, and adds a src package.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
python-django1-common was added to allow both Python 2 and 3 versions of
Django 1.11 to be installed at the same time. With the removal of Python
2, this package is no longer necessary.
This removes this common package and updates the CONFLICTS value for the
django package.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
The previous maintainer has removed himself from his other packages
(#11612). This package appears to have been omitted by mistake.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This removes:
* Python 3 variants (VARIANT:=python3)
* "for Python3" from package titles
* Package selection condition from package dependencies, e.g.
+PACKAGE_python3-six:python3-light replaced with +python3-light
* "Default" package information sections, e.g.
Package/python-six/Default removed and package details merged into
Package/python3-six
* "(Variant for Python3)" from package descriptions
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
PYTHON_VERSION is a holdover from Python 2; all Python 3 variables are
prefixed with PYTHON3 (or some variation with "3").
This updates all uses of PYTHON_VERSION to PYTHON3_VERSION.
This also sets PYTHON3_PKG_BUILD:=0 before python3-package.mk is
included in the python3 Makefile.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This removes Python build variants and adds PYTHON3_PKG_BUILD:=0 (where
appropriate) for the Seafile packages.
This also updates the way the Python bindings packages are packaged,
using automake installation instead of manual install recipes.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This removes Python-related build variants, and adds
PYTHON3_PKG_BUILD:=0 and minor build adjustments (where appropriate),
for non-Python packages. There should be no changes to build output.
This also updates some include paths for python3-package.mk and/or
python3-host.mk to be relative to the package Makefile.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This replaces the use of BUILD_VARIANT with PYTHON3_PKG_BUILD to opt
in/out of the default Python package build recipe (Py3Build/Compile).
PYTHON3_PKG_BUILD defaults to true (1), i.e. if a package includes
python3-package.mk, then by default it will set the package's
Build/Compile to Py3Build/Compile.
If PYTHON3_PKG_BUILD is set to 0 before python3-package.mk is included,
then Build/Compile will not be modified.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
There are no bug reports or other evidence to suggest Python is not
compatible with MIPS16 compilation.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Remove PYTHON3_BIN_DIR, it isn't used anywhere in the repo
* Rephrase *-src package description
* Reduce Py3Package/$(1)/install indentation
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This extracts filespec export and processing into
Py3Package/ProcessFilespec.
This also allows the filespec variable to be explicitly set to an empty
value, to bypass filespec processing. (The default filespec is also
available as Py3Package/filespec/Default to be explicitly assigned to
the filespec variable.)
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This moves functionality from python-package-install.sh into
python3-package.mk, so that they can be reused separate from filespec
processing.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Group Python3/* recipes together, group Py3Package and Py3Build
together.
This also adds headings and whitespace to separate major sections.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This renames "internal" recipes to use the Python3/ prefix and clarifies
the names (RunTarget to Run, Mod to ModSetup, Shebang to FixShebang).
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This changes the recipe name prefix from Build/Compile/HostPy3 to
HostPython3, and clarifies some of the names (RunHost to Run, Mod to
ModSetup).
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
HostPython3 only adds a few environment variables before running host
Python. It has only two users, Build/Compile/HostPy3RunHost and
Build/Compile/HostPy3RunTarget.
HostPython3 also accesses $(PYTHON3PATH), even though python3-host.mk
does not include python3-package.mk, where the variable is defined.
This removes HostPython3 and has its two users run host Python directly.
This also combines the environment variables of HostPython3 and the two
users into HOST_PYTHON3_VARS and PYTHON3_VARS.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds PYTHON3_PKG_BUILD:=0, to disable the default Python package
build recipe. There should be no changes to build output.
This also updates include paths for python3-package.mk to be relative to
the package Makefile.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Since it only defines variables and canned recipes, it is safe to
include python3-host.mk more than once.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Upstream changed the v3.2.0 tag. Previously it referred to
haiwen/libsearpc@23f581b39f; now it refers
to haiwen/libsearpc@d1fd7518a2.
This changes the packaged version to the "new" v3.2.0 and switches to
using the git download method (technically the github_archive method),
since the codeload filenames of the previous and current versions are
the same but the files have different hashes.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Since cffi is installed by HOST_PYTHON3_PACKAGE_BUILD_DEPENDS, it
shouldn't be necessary to clear setup_requirements anymore.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Currently, python3-pip installs the same script as pip3 and pip3.8 to
usr/bin. This changes pip3 to be a symlink to pip3.8.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Replace the Python 2 pending removal notice/schedule with a brief
message about the removal
* Replace mentions of "Python & Python 3" with just "Python" (references
to the version number are kept only in cases where it is necessary)
* Update Makefile example code to use Python 3 conventions/names
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
These are either libraries that backport Python 3 features for Python 2
programs, or libraries that have not had Python 3 variants added to them
by anyone.
These packages will be added to the abandoned packages feed.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This version of yunbridge will cease to function once Python 2 is
removed from the feed. It does not appear[1] that upstream will be
updated with a version that uses Python 3.
This package will be added to the abandoned packages feed.
[1]: https://github.com/arduino/YunBridge/issues/31
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This version of obfsproxy will cease to function once Python 2 is
removed from the feed. Upstream has indicated[1] that this package will
not be updated to use Python 3.
This package will be added to the abandoned packages feed.
[1]: https://trac.torproject.org/projects/tor/ticket/31057
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This version of mailman will cease to function once Python 2 is removed
from the feed. There does not appear to be any interest in updating this
package to a current version that uses Python 3.
This package will be added to the abandoned packages feed.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
It was pointed out in #11504 that the code in python_init_once.patch is
incorrect; the patch does not prevent newtInit() from being called more
than once (in fact it is called twice the first time initScreen() is
called).
Testing without the patch, using the example code from the corresponding
Debian bug report[1], did not result in any segfaults.
This removes the patch from the package build.
Supersedes #11504.
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=557960#5
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Package scripts that are shipped by upstream in their binary download
* Includes setup scripts (setup-seafile.sh to use SQLite,
setup-seafile-mysql.{sh,py} to use MySQL) and control scripts
(seafile.sh, seahub.sh)
* Does not include seafile-admin, which is not shipped in upstream's
binary download. Combined with the fact that it hasn't been updated
to Python 3 suggests the script has been abandoned.
* Replace previous init scripts with a simplified script
* Previous init scripts (seafile.init, seahub.init) were modified from
older versions of seafile.sh and seahub.sh, but they haven't kept up
with changes to upstream's scripts
* New init script (seafile-server.init) start/stops both Seafile and
Seahub (there is no need to control them separately) by calling
upstream's control scripts
* Replace previous package config file with new config file
* Options in previous config file (seafile.conf) were mainly for using
Seahub in FastCGI mode. FastCGI was deprecated in Django 1.7 and
removed in 1.9; upstream's control script will only start Seahub
using Gunicorn. (Options for Gunicorn including port number can be
changed by editing /etc/seafile/conf/gunicorn.conf.py.)
* New config file (seafile-server.config) has one option that controls
where the Seafile/Seahub data directories are stored
* Patch scripts/binaries to use standard, system-wide directory
locations
* Script files (wrappers for binaries) in /usr/bin
* Binaries (not meant to be run directly by the user) in /usr/libexec
* Config files in /etc/seafile
* Pid/socket files in /var/run/seafile
* Logs in /var/log/seafile
* Include a new script to create the first admin account
* With upstream's original scripts, the user is required to
interactively create the first admin account when Seahub is started
for the first time
* The user will now use the new script (create-seafile-admin.sh) to
create the first admin account after setup (using setup-seafile.sh
or setup-seafile-mysql.sh) and before starting Seafile/Seahub
* seahub.sh is patched to only check if there is at least one admin
account and exit with an error if there is no admin account
* Remove build config options and add seafile-server-fuse package
* The console option controls whether the console window is shown when
Seafile server is run on Windows. It has no use on Linux.
* The fuse option controls whether seaf-fuse is built. (seaf-fuse is a
FUSE implementation that allows the Seafile database/file system to
be mounted to a local directory.) seaf-fuse is now always built and
is available in a separate package (seafile-server-fuse).
* Add myself as a maintainer
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Other changes include:
* Package Python bytecode in seafile-seahub, add source code package
(seafile-seahub-src)
* Instead of changing default settings, custom settings will be added to
/etc/seafile/conf/seahub_settings.py during seafile-server setup
* Use SEAFILE_UCI_DATA_DIR, which will be added to seafile-server
* Clean up Makefile formatting
* Add myself as a maintainer
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Update package to 7.1.2
* Add Python 3 bindings package. The Python dependency is moved from
seafile-ccnet to python3-seafile-ccnet.
* Refresh patches. The path to valac does not need to be patched in
010-Makefile.patch because $(STAGING_DIR_HOSTPKG)/bin is already in
the path during package build.
* Use SEAFILE_UCI_LOG_DIR and SEAFILE_UCI_SOCKET_DIR, which will be
added to seafile-server
* Install binaries to /usr/libexec instead of /usr/bin, to mirror an
upcoming change in seafile-server
* Clean up Makefile formatting
* Add myself as a maintainer
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This also moves the Python dependency from libsearpc to python3-searpc,
and adds myself as a maintainer.
Patches:
* 001-fix-memory-leak-GH-48.patch: This is (at this time) the only
difference between the tags v3.2.0 and v3.2-latest.
* 002-no-future-import.patch: The future package is only needed for
Python 2 compatibility; all of the functions/symbols it provides are
available in Python 3.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Previously, this packaged "django-jsonfield" on PyPI.
The only (in-tree) package that depends on this package is
django-postoffice.
django-post-office actually depends on "jsonfield" on PyPI.[1][2]
This changes the packaged project from "django-jsonfield" to
"jsonfield".
The version packaged here is not the latest available update, but the
last version compatible with Django 1.11 / Python 2.
[1]: https://github.com/ui/django-post_office/blob/v3.2.1/setup.py#L45
[2]: https://github.com/ui/django-post_office/issues/182
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This patches Django to load byte-compiled (.pyc) db migration scripts,
since Python scripts are often distributed in byte-compiled form in
OpenWrt packages.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds a Python 3 version of the django1 package.
This also adds a python-django1-common package that contains a
django-admin script based on the one in Debian[1]. This allows
python-django1 and python3-django1 to be installed at the same time.
python3-django conflicts with python-django1 (via python-django1-common)
and python3-django1.
This also updates older Python 3 Django plugin packages to depend on
python3-django1, and newer plugin packages to depend on "django", which
both python3-django and python3-django1 provide.
Because of this dependency on either version of Django, the MDEPENDS for
Python 3 Django plugin packages no longer functions correctly and has
been removed.
[1]: https://salsa.debian.org/python-team/modules/python-django/blob/debian/buster/debian/django-admin
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Move more environment variables into GoPackage/Environment
* Split GoPackage/Environment into target and build sections
* Do not set GOROOT_FINAL for Go packages (setting it should only affect
the Go compiler and not Go packages)
* Set CGO_LDFLAGS to $(TARGET_LDFLAGS)
* Move GO_TARGET_* variables from golang-values.mk, and GO_VERSION_*
variables from golang-version.mk, into golang/Makefile
This also updates runc, containerd, and docker-ce to reflect the changes
in GoPackage/Environment.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Set GOENV=off when building Go compiler and packages, to ignore user's
environment configuration file
* Set GOCACHE when building host Go
* Unset GOTMPDIR, to use the buildroot temp directory instead of temp
directories in build_dir
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Replace $(PKG_NAME) with package name in call, define, and eval lines
* Remove extra "define" in $(call define Package/.../description)
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
New patches (both for SConstruct):
* Do not import from distutils. Since Python support/modules are not
built, there is no need to import from distutils. (Importing from
distutils may prevent the package from being built on systems without
a full distutils module, e.g. Debian with python3-minimal.)
I have added back the import in places where it may be helpful to
have, if scons is run manually.
Fixes#10993.
* Do not check the size of time_t. The way this is done is to compile
and run a test program; this fails when cross-compiling[1].
This doesn't appear to affect any functionality (other than missing a
compile-time warning that things will fail in 2038 if time_t is too
small).
[1]: https://gitlab.com/gpsd/gpsd/issues/48
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Install the standalone (scons-local) version
Advantages:
- The regular version of SCons requires distutils during installation;
the standalone version does not have this requirement
Disadvantages:
- The scons-local package is not available from the Fossies mirror
- The patch will need to be manually updated with each version update
* Install files to $(STAGING_DIR_HOSTPKG) instead of $(STAGING_DIR_HOST)
* Write the correct shebang into scripts instead of using the wrapper
* Update to 3.1.2
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
The ASLR PIE option was changed to a tristate option
(openwrt/openwrt@19cbac7d26). This updates
the Go compiler package and golang-package.mk to account for this
change.
This also adds warning messages for when the user has selected PIE but
Go does not have PIE support for the chosen target.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>