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>
This adds support to compile position-independent executables for
packages that use golang-package.mk.
Go packages will have PIE enabled if:
* Go supports PIE on the target platform;
* CONFIG_PKG_ASLR_PIE is selected; and
* PKG_ASLR_PIE (for the package) is not set to 0
Go 1.13 supports PIE for x86 and arm targets; mips support is in
progress[1].
[1]: https://github.com/golang/go/issues/21222#issuecomment-542064462
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This fixes how GOARM is selected for arm platforms, based on support for
VFP/VFPv3 rather than CPU version.
Fixes#10967.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds support to compile host and target Go as position-independent
executables.
Host Go will have PIE enabled if Go supports PIE on the host platform.
Target Go will have PIE enabled if Go supports PIE on the target
platform and CONFIG_PKG_ASLR_PIE is selected.
Go 1.13 supports PIE for x86 and arm targets; mips support is in
progress[1].
[1]: https://github.com/golang/go/issues/21222#issuecomment-542064462
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This replaces conditional functions with conditional directives to make
golang-values.mk more readable.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds calls to the strip function in golang-package.mk when using
variables expected to be set by Go packages.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This changes the formatting of environment variable unexports in
golang-values.mk to be more maintainable, and to document the sources of
variables.
There should be no change to the actual list of variables unexported.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
go invokes the external linker by calling gcc, so -zxxx options in
TARGET_LDFLAGS (in golang-package.mk) need to be formatted as -Wl,z,xxx.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
go build/install supports multiple -ldflags arguments, but they are not
combined; for each package, the latest match on the command line is
used.[1]
Previously, the main executable would not be affected by the default
ldflags if GO_PKG_LDFLAGS or GO_PKG_LDFLAGS_X were set. (The default
ldflags instructs go to use the external linker.)
This fixes golang-package.mk so that the default ldflags take effect in
all cases.
[1]: https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This change:
* Removes building of Lua bindings. These bindings were already removed
upstream[1].
* Fixes building of Python bindings:
* Fix SWIG_DIR path (note that SWIG_VERSION will need to be updated
whenever the swig package is upgraded)
* Fix Python module paths and filenames
* Packages the Python bindings in a new package (python3-sysrepo) and
builds it by default, instead of depending on a config option.
[1]: https://github.com/sysrepo/sysrepo/pull/1429
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
While the filespec example is technically correct, the more likely
scenario is that the files to be omitted would be inside of a package
subdirectory.
This adds an example_package directory into the example to illustrate
this case.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds documentation on including pypi.mk and its required/optional
variables to the Python section readme.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
PKG_BUILD_DIR now takes variants into account
(openwrt/openwrt@e545fac8d9), so it should
not be necessary for Python packages to set these variables anymore.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This updates all Python packages that download their source from PyPi to
use pypi.mk.
This will allow future improvements/changes to pypi.mk to affect all
relevant packages.
This also makes it easier for future Python packages to start using
pypi.mk, when it's clear how it is used in existing packages.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds a new (optional) variable, PYPI_SOURCE_NAME, to pypi.mk.
For some PyPi packages (e.g. aiohttp_cors, click, django-compressor),
the name of the package and the source tarball name are slightly
different (usually by capitalisation or hyphen/underscore change).
This new variable is to make this difference explicit. PYPI_NAME is
meant for the "official" package name, whereas PYPI_SOURCE_NAME is meant
for the source tarball name.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>