strategy is to leave alone the install targets sprinkled all over
the Makefiles and instead to two thigns:
(1) Define new INST_* variants of BINDIR, ETCDIR, MODULEDIR, etc.
that are the "final" installation locations, and thus may be
hardcoded into the program.
(2) Modify the definitions of BINDIR, ETCDIR, MODULEDIR, etc. to
point to $(DESTDIR)$(INST_*). These variables can be used in
the _install targets without any changes.
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
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".
2004-07-29
* Added one missing set_previous_of call.
* Ensure FD_CLOEXEC is set on all the file descriptors that we keep open for a longer time.
2004-06-19
* Fixed linking problems in the de module.
* Export WScreen.set_managed_offset.
2004-06-05
* Added Xinerama sanity check.
Changes:
* Changed default install program to install-sh.
* Removed 'exec' from /bin/sh call to execute command so that more
complex commands can be entered.
* Merged dock kde systray support patch.
* Fixed couple XFree calls in dock module.
* WM_COLORMAP_WINDOWS handling fixes. (Does something still use
this/bother supporting indexed colour models at all?)
* Fixed stippled tab font when -i18n was not set.
* Only kill active grab when esc is pressed, not released.
* Oops, there was an off-by-one bug in _NET_VIRTUAL_ROOTS setting.
of PKG_SYSCONFDIR. Thanks to Amitai Schlair.
Changes:
* Added a kludge to deal with waitrelease when modifiers have
already been released.
* Fixed assert-crash when attempting to split a frame not managed
by a WIonWS.
* Don't put input method failure complaints in startup error log.
* Client window unmap handling fixes (?).
* Made drawing engine objects inheritable and initialisation code
reusable.
* Improvements and fixes in keyboard mapping changes handling.
* Slightly reduce flicker with apps that update title too often by
removing a redundant change notify call.
* Added a check in layout loading code to detect corrupt files with
multiple instances of the same client window.
* Updated Mozilla Firebird entries in menu configuration files to
Mozilla Firefox.
* Added important missing function WFloatWS.attach.
* Take gravity better into account when reparenting windows on
exit.
* Made some goto_* routines return the region that will be focused
and added asynchronity notices in documentation.
* Some tab drag&drop fixes.
* Startup errorlog display fixed when we didn't even open the
display.
* WIonWS load routines better handle corrupt sizes in layout
savefile.
* Object/proxy cache references to proxies weren't being cleared
when objects were destroyed.
* Added exported function to get line editor 'mark'.
* Man pages fixes
* Fixed toggle_tab on floatframes.
* Move/resize display was never showing position.
* Completions display wasn't being refreshed, if its size wasn't
changed between completions.
* Oops, warping on workspace switch had been broken at some point.
* Some autoconf script portability and other fixes.
* The function floatws_current was not being exported as
WFloatWS.current.
* Client window focusing routine was not setting "awaiting focus"
status.
* Removed superfluous debugging message.
* querylib.query_renameworkspace documentation was out-of-date.
* Mod1+Enter full screen toggle was not mentioned on the manual
page.
Ion, two years after the last one!
It is actually an update of ion-devel, which will then disappear before
a new development branch is created for Ion.
Most notable changes (since import of ion-devel, see ChangeLog in the
distribution for a full listing):
* Integration of the dock module
* Workspace query asks for type of workspace when creating new.
* Previous frame geometry (for maximize and shade) is saved in the
workspaces save file.
* Support changes in X keyboard map.
* Autoconf script
* The dock no longer gets focused when the pointer enters it.
* Fill _NET_SUPPORTED root window property with the supported
features (_NET_WM_FULLSCREEN, _NET_WM_NAME, _NET_VIRTUAL_ROOTS).
* Transient size calculation fixed.
* Creating frame for a transient on a floatws will raise the frame
containing the transient_for window.
* Minor memory leak removed: drawing engine colour group name.
"Package Makefiles should refer to PKG_SYSCONFBASEDIR instead of
PKG_SYSCONFBASE when they want PKG_SYSCONFDIR stripped of
PKG_SYSCONFSUBDIR. This makes PKG_SYSCONFBASE=/etc work with pkgviews by
installing all config files into /etc/packages/<pkg> instead of
occasionally putting some directly into /etc."
Changes:
- s/USE_X11BASE/USE_X11/, there is no need to install this package
into X11BASE
- update HOMEPAGE and MASTER_SITES
2002-02-06
==========
- Added 'split_top "dir"' command.
- Updated doc/function.txt
- Applied the patch to implement input handlers, shortcuts and
a vi-like command mode.
- Updated the LICENSE file to the clarified version of the artistic
license. (The license used to be the original artistic license.)
2002-02-04
==========
- Command sequences fixed to use the proper frame when switching
workspaces.
- Old behaviour with respect to client-requested window size restored
(i.e. force to frame size).
- Added set_width/height/widthq/heightq commands. The versions with
the q postfix take a value in [0,1] and the others take an integer
value. The behaviour is obvious.
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
to ${X11BASE} in the header and library search paths into references to
${LOCALBASE}/share/x11-links. These packages should now be strongly-
buildlinked regardless of whether xpkgwedge is installed.
Changes well-tested on NetBSD-1.5X/i386 with and without xpkgwedge and
lightly-tested on NetBSD-1.5.1/alpha without xpkgwedge.
Changelog:
2001-04-25:
* Added missing functions to documentation
2001-04-19:
* switch_ws_next/prev wrap around
* Fixed a problem with some programs' popups
2001-04-01:
* Unmap;map race condition fix.
o also set USE_BUILDLINK_ONLY
Ion is a window manager dividing the screen into frames rather than having
overlapping windows, much like the windows in Emacs. Navigation between
clients can be done solely using the keyboard without need for a mouse.
Package provided by Daniel Lundin <daniel@codefactory.se> in pkg/12719