The definitions from globaldata.go had been moved to pkgsrc.go. Having
these definitions twice led to compile errors.
While here, the file package_test.go doesn't need to be patched anymore
since it gets its @VERSION@ from the constants defined in pkglint.go.
Changes since 5.5.6:
* When pkglint warns about files that are accidentally executable, it
offers to fix the file permissions.
* Warn about ${HOMEPAGE:=repository/}, since the := modifier should
only be used with MASTER_SITES.
* When the distinfo file is missing, suggest setting NO_CHECKSUM.
* Several refactorings.
may exist in. i rebuilt the contents from the other xorg*proto
files here, which should make them functionally equivalent.
fixes builds of eg, devel/imake and devel/pango with native x11.
bump version to 1.09.
but is likely sufficient:
- add xorgproto support to x11-links, bump version
- add a builtin.mk for xorgproto. check for the list of packages
that xorgproto covers, eliding the few that native xsrc never
installed, and making sure xproto is last. use the
BUILTIN_VERSION_SCRIPT method to convert Version: 7.0.31 into
the necessary 2018.1.
the missing packages are a problem, but since we've never had a
report about it, it's not a big problem.
the things newer xorgproto has that are wanted may be a problem,
but probably only for X11_TYPE!=native builds that don't really
need these.
longer term native xsrc will get xorgproto (and maybe even for
netbsd-8), though i'm not sure it will help any unless we make
our native xsrc install a fake xorgproto.pc that pkgsrc can
find an use -- currently xorgproto installs .pc files for all
the replaced packages, but not one for itself, so the hack of
finding xproto version and switching may still be needed.
ok @wiz.
Changes since 5.5.5:
* Only offer explanations if an explainable diagnostic has actually
been logged.
* Clean up code.
* Improve a few diagnostics.
* In any Makefile, treat documented variables as used. This prevents
warning about defined but unused variables.
* Add support for some variables not previously known to pkglint.
Changes since 5.5.3:
- Removed check for PERL5_PACKLIST, since it was not fixable by the
package author.
- Completely rewrote the check for ordering variables in simple
package Makefiles. Now it reports the variables in the correct order
instead of just saying "this above that" for a few variables.
- Lots of code cleanup and documentation.
Changes since 5.5.2:
* Fixed lots of bugs regarding autofixing variable assignments in
continuation lines.
* Fixed checking of MESSAGE files, which also get fixed now.
* In variable assignments, commented assignments are aligned too.
* Fixed a crash when checking an empty patch file.
* The :Q modifier is only checked on predefined variables, to prevent
the --autofix mode from removing :Q from user-defined variables.
* Fixed lots of bugs in PLIST autofixing: relevant lines had been
removed, and the sorting was not correct.
Changes since 5.5.1:
* Fixed command line parsing for the --only option.
* Improved alignment of variable values in Makefiles.
* Code cleanup: better abstraction in the tests.
Changes since 5.5:
* Allow filtering log messages by keyword (--only)
* In --autofix and --show-autofix mode, show only fixable diagnostics
* When called with --source, show the source below the diagnostics
* Don't warn about USE_LANGUAGES in ../../mk/compiler.mk
* Fix autofix for .gz in PLIST
Changes since 5.4.26:
SUBST blocks are now checked correctly even if they contain conditionals
like .if ... .elif ... .endif.
AUTO_MKDIRS is only suggested for those directories that actually appear
in the PLIST since other directories are not affected by this variable.
Changes since 5.4.25:
* When autofixing a patch, fix the corresponding distinfo file as well.
* Properly parse ${VARNAME:[\#]};
the # was interpreted as a comment before.
* Don't add unnecessary :Q to PKG_OPTIONS and related variables.
* Don't warn about missing manual pages. While Debian and other
distributions do this work, pkgsrc keeps the packages as original as
possible.
* Autofix redundant ".gz" for manual pages in PLISTs.
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
Changes since 5.4.24:
* More specific warning for "exitcode with pipe shell commands"
* Don't warn that the echo in "echo | sed" could fail
* Allow packages to define custom make targets
* Don't warn about a misplaced LICENSE when a package doesn't define it
* Skip .git directories
* Reduce number of hicolor-icon-theme error messages in PLIST files
* Remove MKCRYPTO, USE_CRYPTO, CRYPTO variable definitions
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:
pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
Changes since 5.4.22:
Only autofix PLIST sorting in simple cases. Before this version, pkglint
sorted the PLIST even when it contained unresolved variable references like
${IMAKE_MAN_DIR}, which resulted in strange and unintuitive orders. These
complicated files are left for human inspection.
Changes since 5.4.21:
* Refactoring: moved packages line and linechecks back into main
* Fixed panic when autofixing package Makefiles
* Removed apache22
* Added a bit of inline documentation
expanding the macro with ++len for size meant our memset to zero was
one bigger than the above allocated size.
while here simplify the problematic macro - malloc+memset zero is calloc.
bump pkgrevision
pkgsrc changes:
- Use SUBST_VARS instead of SUBST_SED to adjust the several variables in
files/lintpkgsrc.pl and avoid some make contortionism in the remaining
SUBST_SED
Changes:
- PKG_SYSCONFDIR can be different to ${PREFIX}/etc, instruct lintpkgsrc
about that to possibly pick mk.conf when an /etc/mk.conf file is not
available
Discussed on pkgsrc-changes@ with <adam> and <jperkin>.
Thanks to both <adam> and <jperkin> for feedback, suggestions and review!
This configuration parameter is used when linking executables, through
cc(1) or ld(1) for instance.
This allows passing multiple arguments via the "append_executable"
option, like "-fPIC -pie" for instance.
Committing this before joerg@'s approval since a call for testing
PKGSRC_MKPIE has just been issued, and this helps with some packages.
Building relocatable and omagic files are now recognized. They were
previously recognized as executables, which may require a different
behaviour in some environments (like when enforcing PIE).
Committing this before joerg@'s approval since a call for testing
PKGSRC_MKPIE has just been issued, and this helps with some packages.
OpenSSL 1.1.0 makes xkusage and ex_flags opaque.
Use X509_check_ca rather than a custom and nearly identical implementation.
This is available since OpenSSL 0.9.8 (even in RHEL5).
This is also done because we cannot implement it identically under
OpenSSL 1.1.0 due to missing getters.
Test EXFLAG_XKUSAGE rather than zero xkusage test no usage to avoid openssl
1.1.0 getter returning a different code on this case.
Use getter for xkusage in the non-zero test case.
Provide fallback definitions for getters.
PR pkg/52298, PR pkg/52648
The distributed rc.d scripts are "barrier" scripts that are used
by other rc.d scripts to hook into different points of the startup
process by either using REQUIRE or BEFORE. The barrier scripts
should not depend on other, non-barrier scripts. This change makes
the distributed scripts usable by a simple "rcorder /etc/rc.d/*",
whereas it was failing before due to lack of "mountcritremote".
Bump the package version to 20171024.
Package configuration files should be found in ${PKG_SYSCONFDIR},
which can be modified by a user-settable variable. Look for the
default sandboxctl(8) configuration files in
${PKG_SYSCONFDIR.sandboxctl} if that variable is set, or else in
${PKG_SYSCONFBASE}/sandboxctl.
Fixes problem noted by Iain Hibbert on tech-pkg@.
Bump the PKGREVISION to 2 due to changes in the binary package if
PKG_SYSCONFDIR.pkg_comp is set to a non-default value.
Fix bug where "ocaml_findlib" and "shells" tasks were not
preserving the ownership and permissions of existing system files,
e.g., /etc/shells, when updating their contents.
This project uses BSD makefiles to build and install the binaries
and manpages. Add "MANDIR=..." to the flags passed to
"make install" so that the manpages are installed in the correct
location under ${PKGMANDIR}.
* Add a "icon_themes" task to cache GTK+ icon theme directories.
* Change the way that install-info(1) is invoked.
* Clarify the output from the "groups" and "users" tasks.
* Bug fixes.
go14 has no relro support AFAICT.
go-1.8.3 has if you use -buildmode=pie, but it claims it's not supported
on Linux.
Disable relro checking for go packages until bsiegert has time to
look at this.
- Add recursive handling of dependencies.
- Simplify updating pre-existing R packages.
- Improve handling of packages that conflict with base R packages.
Introduce Icon Theme cache handling framework
Icon Theme cache files are used by GTK+ and maintained with the
gtk-update-icon-cache tool. Each Icon Theme package duplicates
its own maintainance scripts: only the specified icon theme directory
differs. With this framework, if packages have ICON_THEMES=yes,
associated icon themes will be detected and their cache files will
be maintained automatically.
Change cache handling behaviour as follows:
* Icon theme caches will be updated if either gtk2+ or gtk3+
gtk-update-icon-cache tool is available.
* With installation of gtk2+ package, not only hicolor icon theme but
also any other icon theme cache files will be updated.
* Prevent removal of icon caches at deinstall, gtk3+ may be installed and
using them.
* Ditto with gtk3+, gtk2+ may not be installed now, so caches must be
maintained by gtk3+.
Add new configuration options {ap,pre}pend_{shared,executable} for
adding options when the operation mode is identified as linking.
Based loosely on patch from khorben.
pkgtasks is a shell script library to ease writing POSIX-compliant
shell scripts to handle common tasks during installation or removal
of a package, e.g.,
* creating groups and users needed by the package
* creating and removing directories with special permissions and
ownership,
* copying example config files to their final locations during
package installation, and removing them during package removal
if they don't differ from the example ones,
* reminding the user of files that may be customized after
package installation.
- Convert to libarchive 3.x interfaces, avoiding the legacy glue.
- Rename local copy of netpgpverify to match installed headers.
- Shuffle bootstrap code to reduce special cases in pkg_add.
- Always read/write file names in tar archives as binary. While they are
supposed to be UTF-8, locale conversion creates more problems than it
solves here.
- Fix const correctness in gpg_verify.
- Add format string annotation for xasprintf for GCC-like compilers.
- Restrict supported archive formats for binary packages to ar (signed
packages) and tar (actual content) with uncompressed/gzip/bzip2/xz as
compression choices. This reduces the exposed libarchive surface.
- The pkg-vulnerability file correspondingly supports only the same
compression choices.
Changes since 5.4.18:
* Added generated Go yacc source files to CVS, since starting with Go 1.8
the yacc tool is no longer part of the core distribution. The dependency
on yacc would pull in all the Go tools, which are quite a few, and some
of these do not currently build since they depend on go-crypto. See
https://mail-index.netbsd.org/tech-pkg/2017/03/17/msg017900.html
This package sets up periodic builds of binary packages using the
pkgtools/pkg_comp utility given minimal configuration. All that is
needed from the user is to determine which packages to build
automatically.
If you are on NetBSD, see also sysutils/sysbuild-user, which is the
perfect companion to this package to periodically build the base system.
**Released on 2017-02-17.**
This is the first release of the pkg_comp project as a standalone
package. This new release shares no code with previous versions and is
not compatible with them.
The following are the major differences between pkg_comp 2.0 and all
previous releases, which incidentally are the reasons that triggered
this rewrite:
* Support for multiple platforms.
* Use of pbulk to (re)build packages within the sandbox. This results
in more reliable incremental builds after pkgsrc updates.
* Support for bootstrap, generating binary kits as part of the builds.
* Better scriptability to allow running from cron(8) trivially.
This is to make room for pkg_comp 2.0, which is coming soon. The new release
is significantly different from the 1.x series in features (supports multiple
platforms, bootstrap, and pbulk) but also comes with a different configuration
syntax.
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
Changes since 5.4.15:
* updated vardefs from mk/defaults/mk.conf from v1.118 (2006) to v1.269
Gone:
* PKG_SUFX
* USETBL
* PKGSRC_SHOW_PATCH_ERRORMSG
* USE_XPKGWEDGE
* PKGVULNDIR
Adjusted:
* USE_GAMESGROUP
* BIN_INSTALL_FLAG -> BIN_INSTALL_FLAGS
* fixed license parsing to be more realistic
(the previous version didn't handle parentheses correctly)
* lots of housekeeping
* moved some code to separate packages, allowing re-use
* separated Line checks into LineChecker type
* separated MkLine checks into MkLineChecker type
* made Line an interface, for further refactorings
The getopt and pkgver code have been extracted to separate packages to make
them reusable.
Several other functions have been moved to make the structure easier to
understand:
* dir.go and main.go have been moved to pkglint.go
* utility functions from pkglint.go have been moved to mkline.go
Now pkglint.go contains only high-level code.
Introduce a separate client-prepare script. The default configuration
runs the renamed client_prepare_action for each scan/build client once,
dropping duplicates in the list. Clients are prepared in parallel, but
the master waits for all before starting the actual scan. Make
bulkbuild-restart re-prepare the clients, i.e. in case they have a
pkgsrc tree in a local tmpfs.