pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
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.
Problems found locating distfiles:
Package modular-xorg-server: missing distfile xorg-server-1.17.4.tar.bz2
Package py-qt4: missing distfile PyQt-mac-gpl-4.11.1.tar.gz
Package xservers: missing distfile xservers-3.3.6.5.tar.bz2
Package xview-clients: missing distfile xview3.2p1-X11R6.tar.gz
Package xview-lib: missing distfile xview3.2p1-X11R6.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
had actually been ignoring LTCONFIG_OVERRIDE anyway and just using
the default LIBTOOL_OVERRIDE to replace libtool scripts in packages.
This just formalizes the fact that LTCONFIG_OVERRIDE is not used
meaningfully by pkgsrc.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
-additions:
-GtkPlot: display grids on top/below data
New function gtk_plot_set_pc
New signal "tick_label" to retrieve axes tick labels
New functions to handle axes labels
-GtkPlotDT: delaunay triangulization algorithm
-GtkSheet: New function gtk_sheet_get_entry_widget
Background colors and grid handling
-GtkPlotPC: New function gtk_plot_pc_set_viewport
-GtkPlotData: New alternative to retrieve data points trough a callback
function
Scale points size
New functions to autoscale gradient according to field
gtk_plot_data_get_point() to retrieve values
Data markers
-GtkPlotSurface: Use new Delaunay triangulization algorithm
New functions to colour the surface using a gradient
proportional to the height field
-GtkPlotCSurface: Gradient with sublevels
-GtkPlotCanvas: New child: CANVAS_MARKERS
New selection stretegy
New function gtk_plot_set_pc
gtk_plot_canvas_freeze/thaw methods
-fixes:
-build system
-memory leaks
-etc
-add a buildlink.mk
Changes:
New widgets: gtkcharselection and gtkplotpixmap.
Background images in gtkplot, and pixmaps in gtkplotcanvas. Much faster
gtkiconfilesel, with gtkdirtree optional. Enhancements in WYSIWYG and
postscript output, which can export images.
BugFixes.
Changelog:
- New plot subclasses for 3D and polar plots: GtkPlot3d and GtkPlotPolar.
GtkPlot3D has its own API, but GtkPlotPolar can be casted as a GtkPlot
considering the equivalence x->r, y->angle.
- GtkPlotData is a widget. The API is almost the same. You may have to
cast the widget using data = GTK_PLOT_DATA(gtk_plot_data_new());
- The other Data subclasses are Bar, Box, Flux, Surface and
CSurface.
- I added new arguments to the datasets (z, dz, a, da): z is obviously for
3d plots. However, it is used in GtkPlotBox to specify the size of the boxes.
"a" is used to determine the size of the symbols, and "da", the color.
- The color of the symbols, when "da" is specified, is detemined using the
gradient. the gradient has (min, max) values, and corresponding colors. The
symbol's color is interpolated between these values using hue/saturation/value
depending on the gradient_mask.
- GtkOrientation was replaced with GtkPlotOrientation
(GTK_PLOT_AXIS_X/Y/Z)
- the fields xticks and yticks were removed from gtkplot.
- GtkPlotSymbol has a new field GtkPlotLine border and you set/get the
attributes with gtk_plot_data_set/get_symbol
- I removed the symbol type: GTK_PLOT_SYMBOL_BAR, because this is a new
data subclass. I added TRIANGLE_LEFT/RIGHT and DOT.
- After gtk_plot_canvas_paint, you have to use gtk_plot_canvas_refresh to
refresh the pixmap in the window. This is because paint can be
used to print or save plots in other formats, depending on the GtkPlotPC
you are using (see below).
- The drawing engine, called GtkPlotPC has been rewritten. Now
it's a GtkObject, and you can derive subclasses as GtkPlotGdk and
GtkPlotPS in our case (You can define your own if you want to use a
different library to draw your plots!).
How does it work:
1) Instead of creating a GdkGC, you create either a GtkPlotGdk or
GtkPlotPS.
2) you do the following replacements:
gdk_gc_set_foreground -> gtk_plot_pc_set_color
gdk_gc_set_dash -> gtk_plot_pc_set_dash
gdk_gc_set_line_attributes -> gtk_plot_pc_set_lineattr
gdk_gc_draw_... -> gtk_plot_pc_draw_...
The output will be either on a drawable or a file according to the
GtkPlotPC you chose.
All the redundant code for the PS output in gtkplotprint was eliminated!
Elegant, isn't it?
- I also added a new widget: gtktogglecombo, a gtkcombobox subclass (See it
in action in testgtksheet)
- New demos are included.
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.