Automatic conversion of the NetBSD pkgsrc CVS module, use with care
Find a file
adam bd9d2b192c py-alembic: updated to 1.7.5
1.7.5
Released: November 11, 2021
bug

[bug] [tests]
Adjustments to the test suite to accommodate for error message changes occurring as of SQLAlchemy 1.4.27.
1.7.4
Released: October 6, 2021
bug

[bug] [regression]
Fixed a regression that prevented the use of post write hooks on python version lower than 3.9
[bug] [environment]
Fixed issue where the MigrationContext.autocommit_block() feature would fail to function when using a SQLAlchemy engine using 2.0 future mode.

1.7.3
Released: September 17, 2021
bug

[bug] [mypy]
Fixed type annotations for the “constraint_name” argument of operations create_primary_key(), create_foreign_key(). Pull request courtesy TilmanK.

1.7.2
Released: September 17, 2021
bug

[bug] [typing]
Added missing attributes from context stubs.

[bug] [mypy]
Fixed an import in one of the .pyi files that was triggering an assertion error in some versions of mypy.

[bug] [ops] [regression]
Fixed issue where registration of custom ops was prone to failure due to the registration process running exec() on generated code that as of the 1.7 series includes pep-484 annotations, which in the case of end user code would result in name resolution errors when the exec occurs. The logic in question has been altered so that the annotations are rendered as forward references so that the exec() can proceed.

1.7.1
Released: August 30, 2021
bug

[bug] [installation]
Corrected “universal wheel” directive in setup.cfg so that building a wheel does not target Python 2. The PyPi files index for 1.7.0 was corrected manually. Pull request courtesy layday.

[bug] [pep484]
Fixed issue in generated .pyi files where default values for Optional arguments were missing, thereby causing mypy to consider them as required.

[bug] [batch] [regression]
Fixed regression in batch mode due to 883 where the “auto” mode of batch would fail to accommodate any additional migration directives beyond encountering an add_column() directive, due to a mis-application of the conditional logic that was added as part of this change, leading to “recreate” mode not being used in cases where it is required for SQLite such as for unique constraints.

1.7.0
Released: August 30, 2021
changed

[changed] [installation]
Alembic 1.7 now supports Python 3.6 and above; support for prior versions including Python 2.7 has been dropped.
[changed] [installation]
Make the python-dateutil library an optional dependency. This library is only required if the timezone option is used in the Alembic configuration. An extra require named tz is available with pip install alembic[tz] to install it.

[changed] [installation]
The dependency on pkg_resources which is part of setuptools has been removed, so there is no longer any runtime dependency on setuptools. The functionality has been replaced with importlib.metadata and importlib.resources which are both part of Python std.lib, or via pypy dependency importlib-metadata for Python version < 3.8 and importlib-resources for Python version < 3.9 (while importlib.resources was added to Python in 3.7, it did not include the “files” API until 3.9).

feature

[feature] [environment]
Enhance version_locations parsing to handle paths containing spaces. The new configuration option version_path_separator specifies the character to use when splitting the version_locations string. The default for new configurations is version_path_separator = os, which will use os.pathsep (e.g., ; on Windows).

[feature] [tests]
Created a “test suite” similar to the one for SQLAlchemy, allowing developers of third-party dialects to test their code against a set of Alembic tests that have been specially selected to exercise back-end database operations. At the time of release, third-party dialects that have adopted the Alembic test suite to verify compatibility include CockroachDB and SAP ASE (Sybase).

[feature] [general]
pep-484 type annotations have been added throughout the library. Additionally, stub .pyi files have been added for the “dynamically” generated Alembic modules alembic.op and alembic.config, which include complete function signatures and docstrings, so that the functions in these namespaces will have both IDE support (vscode, pycharm, etc) as well as support for typing tools like Mypy. The files themselves are statically generated from their source functions within the source tree.
usecase

[usecase] [batch]
Named CHECK constraints are now supported by batch mode, and will automatically be part of the recreated table assuming they are named. They also can be explicitly dropped using op.drop_constraint(). For “unnamed” CHECK constraints, these are still skipped as they cannot be distinguished from the CHECK constraints that are generated by the Boolean and Enum datatypes.
Note that this change may require adjustments to migrations that drop or rename columns which feature an associated named check constraint, such that an additional op.drop_constraint() directive should be added for that named constraint as there will no longer be an associated column for it; for the Boolean and Enum datatypes, an existing_type keyword may be passed to BatchOperations.drop_constraint as well.
See also Changing the Type of Boolean, Enum and other implicit CHECK datatypes
Including CHECK constraints

bug

[bug] [operations]
Fixed regression due to 803 where the .info and .comment attributes of Table would be lost inside of the DropTableOp class, which when “reversed” into a CreateTableOp would then have lost these elements. Pull request courtesy Nicolas CANIART.

[bug] [batch] [sqlite]
Batch “auto” mode will now select for “recreate” if the add_column() operation is used on SQLite, and the column itself meets the criteria for SQLite where ADD COLUMN is not allowed, in this case a functional or parenthesized SQL expression or a Computed (i.e. generated) column.

[bug] [commands]
Re-implemented the python-editor dependency as a small internal function to avoid the need for external dependencies.

[bug] [postgresql]
Fixed issue where usage of the PostgreSQL postgresql_include option within a Operations.create_index() would raise a KeyError, as the additional column(s) need to be added to the table object used by the construct internally. The issue is equivalent to the SQL Server issue fixed in 513. Pull request courtesy Steven Bronson.

1.6.5
Released: May 27, 2021
bug

[bug] [autogenerate]
Fixed issue where dialect-specific keyword arguments within the DropIndex operation directive would not render in the autogenerated Python code. As support was improved for adding dialect specific arguments to directives as part of 803, in particular arguments such as “postgresql_concurrently” which apply to the actual create/drop of the index, support was needed for these to render even in a drop index operation. Pull request courtesy Jet Zhou.

1.6.4
Released: May 24, 2021
bug

[bug] [op directives] [regression]
Fixed regression caused by just fixed 844 that scaled back the filter for unique=True/index=True too far such that these directives no longer worked for the op.create_table() op, this has been fixed.

1.6.3
Released: May 21, 2021
bug

[bug] [autogenerate] [regression]
Fixed 1.6-series regression where UniqueConstraint and to a lesser extent Index objects would be doubled up in the generated model when the unique=True / index=True flags were used.

[bug] [autogenerate]
Fixed a bug where paths defined in post-write hook options would be wrongly escaped in non posix environment (Windows).

[bug] [regression] [versioning]
Fixed regression where a revision file that contained its own down revision as a dependency would cause an endless loop in the traversal logic.

1.6.2
Released: May 6, 2021
bug

[bug] [regression] [versioning]
Fixed additional regression nearly the same as that of 838 just released in 1.6.1 but within a slightly different codepath, where “alembic downgrade head” (or equivalent) would fail instead of iterating no revisions.

1.6.1
Released: May 6, 2021
bug

[bug] [regression] [versioning]
Fixed regression in new revisioning traversal where “alembic downgrade base” would fail if the database itself were clean and unversioned; additionally repairs the case where downgrade would fail if attempting to downgrade to the current head that is already present.

1.6.0
Released: May 3, 2021
feature

[feature] [autogenerate]
Fix the documentation regarding the default command-line argument position of the revision script filename within the post-write hook arguments. Implement a REVISION_SCRIPT_FILENAME token, enabling the position to be changed. Switch from str.split() to shlex.split() for more robust command-line argument parsing.

[feature]
Implement a .cwd (current working directory) suboption for post-write hooks (of type console_scripts). This is useful for tools like pre-commit, which rely on the working directory to locate the necessary config files. Add pre-commit as an example to the documentation. Minor change: rename some variables from ticket 819 to improve readability.

bug

[bug] [autogenerate]
Refactored the implementation of MigrateOperation constructs such as CreateIndexOp, CreateTableOp, etc. so that they no longer rely upon maintaining a persistent version of each schema object internally; instead, the state variables of each operation object will be used to produce the corresponding construct when the operation is invoked. The rationale is so that environments which make use of operation-manipulation schemes such as those those discussed in Fine-Grained Autogenerate Generation with Rewriters are better supported, allowing end-user code to manipulate the public attributes of these objects which will then be expressed in the final output, an example is some_create_index_op.kw["postgresql_concurrently"] = True.
Previously, these objects when generated from autogenerate would typically hold onto the original, reflected element internally without honoring the other state variables of each construct, preventing the public API from working.

[bug] [environment]
Fixed regression caused by the SQLAlchemy 1.4/2.0 compatibility switch where calling .rollback() or .commit() explicitly within the context.begin_transaction() context manager would cause it to fail when the block ended, as it did not expect that the transaction was manually closed.

[bug] [autogenerate]
Improved the rendering of op.add_column() operations when adding multiple columns to an existing table, so that the order of these statements matches the order in which the columns were declared in the application’s table metadata. Previously the added columns were being sorted alphabetically.

[bug] [versioning]
The algorithm used for calculating downgrades/upgrades/iterating revisions has been rewritten, to resolve ongoing issues of branches not being handled consistently particularly within downgrade operations, as well as for overall clarity and maintainability. This change includes that a deprecation warning is emitted if an ambiguous command such as “downgrade -1” when multiple heads are present is given.
In particular, the change implements a long-requested use case of allowing downgrades of a single branch to a branchpoint.
Huge thanks to Simon Bowly for their impressive efforts in successfully tackling this very difficult problem.

[bug] [batch] ¶
Added missing batch_op.create_table_comment(), batch_op.drop_table_comment() directives to batch ops.
2021-11-14 18:42:37 +00:00
archivers gnome-autoar: Update archivers/gnome-autoar to 0.4.1 2021-11-13 09:18:47 +00:00
audio soundtouch: update to 2.3.1 2021-11-13 10:56:22 +00:00
benchmarks Doesn't run with MKPIE. Updated main web site. 2021-10-31 19:58:56 +00:00
biology *: Revbump for protobuf-3.19.0 2021-11-11 12:02:46 +00:00
bootstrap mk/bootstrap: Fix bits for SCO UnixWare 7. 2021-11-12 20:29:05 +00:00
cad cad: Replace RMD160 checksums with BLAKE2s checksums 2021-10-26 10:04:09 +00:00
chat *: Revbump for protobuf-3.19.0 2021-11-11 12:02:46 +00:00
comms add and enable asterisk19 2021-11-14 02:31:12 +00:00
converters bdf2psf: update to 1.207. 2021-11-05 11:17:45 +00:00
cross cross: Replace RMD160 checksums with BLAKE2s checksums 2021-10-26 10:07:50 +00:00
databases py-alembic: updated to 1.7.5 2021-11-14 18:42:37 +00:00
devel py-typed-ast: updated to 1.5.0 2021-11-14 15:26:49 +00:00
distfiles
doc doc: Added sysutils/felix version 0.2.8 2021-11-14 17:18:05 +00:00
editors emacs27: replace the shell of autogen.sh 2021-11-14 12:51:09 +00:00
emulators hercules4sdl: Fix syntax error. 2021-11-14 08:50:03 +00:00
filesystems fuse-pod: Use c++03. Fails with newer C++ standards. 2021-11-12 15:53:09 +00:00
finance py-stripe: updated to 2.62.0 2021-11-12 10:22:57 +00:00
fonts fonts/Makefile: add two. 2021-11-10 11:19:24 +00:00
games openrct2: Fix compilation on NetBSD/current. 2021-11-09 11:36:08 +00:00
geography *: Revbump for protobuf-3.19.0 2021-11-11 12:02:46 +00:00
graphics gpick: Update to 0.2.6. Builds again. 2021-11-12 16:17:20 +00:00
ham ham/chirp: Update to 20211105 2021-11-05 12:33:37 +00:00
inputmethod *: Revbump for protobuf-3.19.0 2021-11-11 12:02:46 +00:00
lang *: convert pip users to lang/python/versioned_dependencies.mk 2021-11-09 23:18:57 +00:00
licenses Add SMath Studio as math/smath-studio. 2021-06-29 14:28:12 +00:00
mail Update to 2.22 2021-11-12 02:21:01 +00:00
math Update to 1.999827 2021-11-12 04:27:16 +00:00
mbone mbone: Replace RMD160 checksums with BLAKE2s checksums 2021-10-26 10:57:00 +00:00
meta-pkgs bulk-test-boost: add gpick 2021-11-12 16:18:46 +00:00
misc *: Revbump for protobuf-3.19.0 2021-11-11 12:02:46 +00:00
mk On Linux with glibc, if libc.so.6 isn't executable, glean GLIBC_VERSION 2021-11-14 14:47:11 +00:00
multimedia libaom: update to 3.2.0 2021-11-13 11:27:34 +00:00
net yt-dlp: Update to 2021.11.10.1 2021-11-14 14:41:11 +00:00
news news: Replace RMD160 checksums with BLAKE2s checksums 2021-10-26 11:09:34 +00:00
packages
parallel parallel: Replace RMD160 checksums with BLAKE2s checksums 2021-10-26 11:10:35 +00:00
pkgtools pkgtools/url2pkg: update to 21.3.0 2021-11-14 09:20:15 +00:00
print cups-base: let the RC script work unprivileged 2021-11-08 00:56:35 +00:00
regress regress: fix space-tab in the indentation 2021-09-09 18:23:44 +00:00
security py-acme py-certbot*: updated to 1.21.0 2021-11-13 17:30:26 +00:00
shells standalone-tcsh: Add "bin" to INSTALLATION_DIRS 2021-11-13 06:53:10 +00:00
sysutils Add felix 2021-11-14 17:17:39 +00:00
templates templates: disable search bar until the results are better 2021-04-21 11:14:11 +00:00
textproc py-elementpath: updated to 2.4.0 2021-11-14 15:28:46 +00:00
time time/ruby-tzinfo-data: update to 1.2021.5 2021-11-09 15:17:01 +00:00
wm jwm: update to 2.4.0. 2021-11-14 18:42:27 +00:00
www Restore firefox78 mozilla-common.mk - needed by thunderbird. 2021-11-13 23:51:01 +00:00
x11 - fix build 2021-11-11 09:29:59 +00:00
_NetBSD-pkgdb _NetBSD-pkgdb: Use $@ insted of $* 2020-12-29 17:56:14 +00:00
Makefile
pkglocate
README.md README.md: Add trailing slash to the URI 2021-10-21 12:18:01 +00:00

pkgsrc

pkgsrc is a framework for building software for a variety of UNIX-like systems.

It produces binary packages, which can be managed with tools such as pkgin. pkgsrc is highly configurable, supporting building packages for an arbitrary installation prefix (the default is /usr/pkg), allowing multiple branches to coexist on one machine, a build options framework, and a compiler transformation framework, among other advanced features. Unprivileged use and installation is also supported.

pkgsrc is the default package manager for NetBSD and SmartOS. It's also supported as a first-class option in OmniOS CE and Oasis Linux.

Bootstrapping

To use pkgsrc on operating systems other than NetBSD, you first need to bootstrap:

cd pkgsrc/bootstrap
./bootstrap

Note that this is only for the most simple case, using pkgsrc's defaults.

Please consult bootstrap/README and bootstrap/README.OS for detailed information about bootstrapping.

Building packages

cd pkgsrc/category/package-name
$PREFIX/bin/bmake install

Where $PREFIX is where you've chosen to install packages (typically /usr/pkg)

On NetBSD, bmake is simply the built-in make tool.

To build packages in bulk, tools such as pkgtools/pbulk and pkgtools/pkg_comp can be used.

Community / Troubleshooting

Latest sources

To fetch the main CVS repository:

cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc

To work in the Git mirror, which is updated every few hours from CVS:

git clone https://github.com/NetBSD/pkgsrc.git