1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369
|
#!/usr/bin/make -f
# derived from:
# Sample debian.rules file - for GNU Hello (1.3).
# Copyright 1994,1995 by Ian Jackson.
# I hereby give you perpetual unlimited permission to copy,
# modify and relicense this file, provided that you do not remove
# my name from the file itself. (I assert my moral right of
# paternity under the Copyright, Designs and Patents Act 1988.)
# This file may have to be extensively modified
# There used to be `source' and `diff' targets in this file, and many
# packages also had `changes' and `dist' targets. These functions
# have been taken over by dpkg-source, dpkg-genchanges and
# dpkg-buildpackage in a package-independent way, and so these targets
# are obsolete.
package=xview
buildarch=$(shell dpkg --print-architecture)
gnuarch=$(shell dpkg --print-gnu-build-architecture)
libc5prefix=usr/$(gnuarch)-linuxlibc1
ifdef LD_LIBRARY_PATH
COMMON_LD_LIBRARY_PATH := :$(LD_LIBRARY_PATH)
endif
export LIBC5_LD_LIBRARY_PATH := $(shell pwd)/debian/libc5libs-tmp$(COMMON_LD_LIBRARY_PATH)
export LIBC6_LD_LIBRARY_PATH := $(shell pwd)/lib/libxview:$(shell pwd)/lib/libolgx$(COMMON_LD_LIBRARY_PATH)
# If your architecture needs libc1 compat support build, add it to this list
# and fix the control file as well
COMPAT_ARCHS = i386 m68k sparc
ifneq (,$(findstring $(buildarch), $(COMPAT_ARCHS)))
DOBUILDCOMPAT := build-libc5libs
DOBINARYCOMPAT := binary-libc5libs
endif
# The next section may have to be extensively modified
build: $(DOBUILDCOMPAT) build-libs build-clients build-contrib build-olvwm
build-libc5libs:
$(checkdir)
$(clean)
BUILDPREFIX=/$(libc5prefix) bash Build-LinuxXView.bash libs
mkdir debian/libc5libs-tmp
mv lib/libxview/libxview.* lib/libolgx/libolgx.* debian/libc5libs-tmp
bash Build-LinuxXView.bash clean
touch build-libc5libs
build-libs:
$(checkdir)
bash Build-LinuxXView.bash libs
touch build-libs
build-clients: build-libs
$(checkdir)
bash Build-LinuxXView.bash clients
touch build-clients
build-contrib: build-libs
$(checkdir)
bash Build-LinuxXView.bash contrib
touch build-contrib
build-olvwm: build-libs
$(checkdir)
bash Build-LinuxXView.bash olvwm
touch build-olvwm
define clean
-rm -f build-libc5libs build-libs build-clients build-contrib build-olvwm
bash Build-LinuxXView.bash clean
-rm -rf debian/tmp debian/libc5libs-tmp debian/files debian/*substvars debian/*~
endef
clean:
$(checkdir)
$(clean)
binary-indep: checkroot build
$(checkdir)
# There are no architecture-independent files to be uploaded
# generated by this package. If there were any they would be
# made here.
binary-arch: $(DOBINARYCOMPAT) binary-libs binary-clients binary-contrib binary-olvwm
tmpdir=debian/tmp
shareddir=$(tmpdir)/shared
devdir=$(tmpdir)/dev
clientsdir=$(tmpdir)/clients
olwmdir=$(tmpdir)/olwm
binary-libc5libs: checkroot build-libc5libs build-libs
$(checkdir)
-rm -rf $(tmpdir)
install -d $(shareddir)/DEBIAN $(devdir)/DEBIAN
# Prepare package xview
# Create directories
install -d $(shareddir)/usr/lib/libc5-compat $(shareddir)/usr/doc
# Install shared libraries
install -m 644 debian/libc5libs-tmp/lib*.so.*.*.* $(shareddir)/usr/lib/libc5-compat
cp -d debian/libc5libs-tmp/lib*.so.* $(shareddir)/usr/lib/libc5-compat
# Install documentation
ln -s xviewg $(shareddir)/usr/doc/xview
# Package management control files
install -m 755 debian/postinst.xview $(shareddir)/DEBIAN/postinst
install -m 755 debian/postrm.xview $(shareddir)/DEBIAN/postrm
install -m 644 debian/shlibs.local-libc5 $(shareddir)/DEBIAN/shlibs
# Prepare package xview-altdev
# Create directories
for dir in $(libc5prefix)/lib $(libc5prefix)/include/X11 usr/doc; do \
install -d $(devdir)/$$dir || exit 1; \
done
# Install libraries
install -m 644 debian/libc5libs-tmp/lib*.a $(devdir)/$(libc5prefix)/lib
cd debian/libc5libs-tmp && for lib in lib*.so; do \
libdest=`echo $$lib.*.*.*`; \
ln -s ../../lib/libc5-compat/$$libdest \
../../$(devdir)/$(libc5prefix)/lib/$$lib || exit 1; \
done
# Install links for header file directories except for bitmaps, because
# /usr/*-linuxlibc1/include/X11/bitmaps is already owned by xlib6-altdev,
# so we can't install a link
cd build/include && for dir in *; do \
if [ -d $$dir ] && [ $$dir != bitmaps ]; then \
ln -s ../../../X11R6/include/$$dir \
../../$(devdir)/$(libc5prefix)/include/X11/$$dir || exit 1; \
fi; \
done
mkdir $(devdir)/$(libc5prefix)/include/X11/bitmaps
cp build/include/bitmaps/txt* build/include/bitmaps/wierd_size $(devdir)/$(libc5prefix)/include/X11/bitmaps
# Install documentation
ln -s xviewg $(devdir)/usr/doc/xview-altdev
# Finish packages xview and xview-altdev
dh_strip -P$(shareddir) -pxview
dh_strip -P$(devdir) -pxview-altdev
chown -R root.root $(tmpdir)
chmod -R a+rX,u+w,go-w $(tmpdir)
LD_LIBRARY_PATH=$(LIBC5_LD_LIBRARY_PATH) dh_shlibdeps -P$(shareddir) -pxview \
-u-Ldebian/shlibs.local-libc5
# Remove recursive dependency on xview
sh debian/fixdeps xview debian/xview.substvars
dh_gencontrol -P$(shareddir) -pxview
dh_md5sums -P$(shareddir) -pxview
dh_builddeb -P$(shareddir) -pxview
dh_gencontrol -P$(devdir) -pxview-altdev
dh_md5sums -P$(devdir) -pxview-altdev
dh_builddeb -P$(devdir) -pxview-altdev
binary-libs: checkroot build-libs
$(checkdir)
-rm -rf $(tmpdir)
install -d $(shareddir)/DEBIAN $(devdir)/DEBIAN
DESTDIR="`pwd`/$(tmpdir)" bash Build-LinuxXView.bash instlibs
# Prepare package xviewg
# Create directories
for dir in etc/X11/xview usr/doc/xviewg usr/X11R6/lib/help usr/X11R6/include \
usr/X11R6/man/man7 usr/X11R6/bin; do \
install -d $(shareddir)/$$dir || exit 1; \
done
ln -s X11R6 $(shareddir)/usr/openwin
# Move config files to /etc/X11/xview
for cfg in text_extras_menu textswrc ttyswrc; do \
mv $(tmpdir)/usr/openwin/lib/.$$cfg $(shareddir)/etc/X11/xview/$$cfg || exit 1; \
mv $(tmpdir)/usr/openwin/lib/$$cfg $(shareddir)/usr/X11R6/lib || exit 1; \
ln -s /etc/X11/xview/$$cfg $(shareddir)/usr/X11R6/lib/.$$cfg || exit 1; \
done
# Install documentation, cut off first part of xview-info, which is obsolete nowadays
mv $(tmpdir)/usr/openwin/share/doc/xview/whats_new.ps $(shareddir)/usr/doc/xviewg
awk '/^XView Programmer/ { dump=1 } (dump) { print $$0 }' \
$(tmpdir)/usr/openwin/share/doc/xview/xview-info \
> $(shareddir)/usr/doc/xviewg/xview-info
install -m 644 debian/copyright $(shareddir)/usr/doc/xviewg
cat LEGAL_NOTICE >> $(shareddir)/usr/doc/xviewg/copyright
install -m 644 debian/changelog $(shareddir)/usr/doc/xviewg/changelog.Debian
mv $(tmpdir)/usr/openwin/man/man1/xview.1x $(shareddir)/usr/X11R6/man/man7/xview.7x
# Install shared libraries
# Make sure to do the following move in 2 steps so we get the libraries before
# the links in the archive
mv $(tmpdir)/usr/openwin/lib/lib*.so.*.*.* $(shareddir)/usr/X11R6/lib
mv $(tmpdir)/usr/openwin/lib/lib*.so.* $(shareddir)/usr/X11R6/lib
chmod a-x $(shareddir)/usr/X11R6/lib/lib*.so.*.*.*
# Install online-help files for XView
for info in textsw ttysw xview; do \
mv $(tmpdir)/usr/openwin/lib/help/$$info.info \
$(shareddir)/usr/X11R6/lib/help/$$info.info || exit 1; \
done
# Install bitmaps that might be used by XView programs at runtime
mv $(tmpdir)/usr/openwin/include/bitmaps $(tmpdir)/usr/openwin/include/images \
$(shareddir)/usr/X11R6/include
# Install some support-programs
for prog in capitalize insert_brackets remove_brackets shift_lines; do \
install -m 755 contrib/misc/$$prog $(shareddir)/usr/X11R6/bin || exit 1; \
done
# Package management control files
install -m 755 debian/postinst.xview $(shareddir)/DEBIAN/postinst
install -m 755 debian/postrm.xview $(shareddir)/DEBIAN/postrm
install -m 644 debian/conffiles.xview $(shareddir)/DEBIAN/conffiles
install -m 644 debian/shlibs.local $(shareddir)/DEBIAN/shlibs
# Prepare package xviewg-dev
mv $(tmpdir)/usr $(devdir)
mv $(devdir)/usr/X11R6/lib/X11 $(devdir)/usr/openwin/lib
rm -fr $(devdir)/usr/X11R6
mv $(devdir)/usr/openwin $(devdir)/usr/X11R6
install -d $(devdir)/usr/doc/xviewg $(devdir)/usr/X11R6/lib/xview
# Install documentation
ln -s xviewg $(devdir)/usr/doc/xviewg-dev
mv $(devdir)/usr/X11R6/share/doc/xview/*api* $(devdir)/usr/doc/xviewg
# Install scripts for SunView->XView conversion
mv $(devdir)/usr/X11R6/bin/*.sed $(devdir)/usr/X11R6/lib/xview
# Rename xgettext and msgfmt to avoid confusion (I guess nobody is using them anyway)
cd $(devdir)/usr/X11R6/bin && \
mv xgettext xview_xgettext && mv msgfmt xview_msgfmt
cd $(devdir)/usr/X11R6/man/man1 && \
mv xgettext.1 xview_xgettext.1 && mv msgfmt.1 xview_msgfmt.1
# Clean up
rm -fr $(devdir)/usr/X11R6/lib/help $(devdir)/usr/X11R6/share
# Finish packages xviewg and xviewg-dev
dh_strip -P$(shareddir) -pxviewg
dh_compress -P$(shareddir) -pxviewg
dh_strip -P$(devdir) -pxviewg-dev
dh_compress -P$(devdir) -pxviewg-dev
chown -R root.root $(tmpdir)
chmod -R a+rX,u+w,go-w $(tmpdir)
LD_LIBRARY_PATH=$(LIBC6_LD_LIBRARY_PATH) dh_shlibdeps -P$(shareddir) -pxviewg
# Remove recursive dependency on xviewg
sh debian/fixdeps xviewg debian/substvars
dh_gencontrol -P$(shareddir) -pxviewg
dh_md5sums -P$(shareddir) -pxviewg
dh_builddeb -P$(shareddir) -pxviewg
dh_gencontrol -P$(devdir) -pxviewg-dev
dh_md5sums -P$(devdir) -pxviewg-dev
dh_builddeb -P$(devdir) -pxviewg-dev
binary-clients: checkroot build-clients
$(checkdir)
-rm -rf $(tmpdir)
install -d $(olwmdir)/DEBIAN $(clientsdir)/DEBIAN
DESTDIR="`pwd`/$(tmpdir)" bash Build-LinuxXView.bash instclients
# Prepare package olwm
for dir in etc/X11/olwm etc/menu-methods usr/lib/menu usr/doc/olwm \
usr/X11R6/bin usr/X11R6/lib/help usr/X11R6/man/man1; do \
install -d $(olwmdir)/$$dir || exit 1; \
done
mv $(tmpdir)/usr/openwin/bin/olwm* $(olwmdir)/usr/X11R6/bin
mv $(tmpdir)/usr/openwin/man/man1/olwm* $(olwmdir)/usr/X11R6/man/man1
mv $(tmpdir)/usr/openwin/lib/help/olwm* $(tmpdir)/usr/openwin/lib/help/workspace.info \
$(olwmdir)/usr/X11R6/lib/help
mv $(tmpdir)/usr/openwin/lib/openwin-menu* $(olwmdir)/etc/X11/olwm
install -m 644 debian/copyright $(olwmdir)/usr/doc/olwm
cat clients/olwm/LEGAL_NOTICE >> $(olwmdir)/usr/doc/olwm/copyright
install -m 644 debian/changelog $(olwmdir)/usr/doc/olwm/changelog.Debian
install -m 644 debian/README.olwm $(olwmdir)/usr/doc/olwm/README.debian
# Install config files/menu support
mv $(olwmdir)/etc/X11/olwm/openwin-menu $(olwmdir)/etc/X11/olwm/openwin-menu.orig
install -m 644 debian/openwin-menu.olwm $(olwmdir)/etc/X11/olwm/openwin-menu
install -m 644 debian/menu-methods.olwm $(olwmdir)/etc/menu-methods/olwm
install -m 644 debian/menu.olwm $(olwmdir)/usr/lib/menu/olwm
# Package management control files
install -m 644 debian/conffiles.olwm $(olwmdir)/DEBIAN/conffiles
install -m 755 debian/postinst.olwm $(olwmdir)/DEBIAN/postinst
install -m 755 debian/postrm.olwm $(olwmdir)/DEBIAN/postrm
# Prepare package xview-clients
for dir in doc X11R6/share/locale/C/props lib/menu; do \
install -d $(clientsdir)/usr/$$dir || exit 1; \
done
rm -fr $(tmpdir)/usr/openwin/share $(tmpdir)/usr/openwin/man/man1/xview.1x
mv $(tmpdir)/usr/openwin/* $(clientsdir)/usr/X11R6
install -m 755 contrib/misc/owplaces $(clientsdir)/usr/X11R6/bin
install -m 644 contrib/misc/props-locale.C $(clientsdir)/usr/X11R6/share/locale/C/props/C
install -m 644 contrib/misc/props-locale.basic_setting $(clientsdir)/usr/X11R6/share/locale/C/props/basic_setting
ln -s xviewg $(clientsdir)/usr/doc/xview-clients
install -m 644 debian/menu.clients $(clientsdir)/usr/lib/menu/xview-clients
install -m 755 debian/postinst.clients $(clientsdir)/DEBIAN/postinst
install -m 755 debian/postrm.clients $(clientsdir)/DEBIAN/postrm
# Finish packages xview-clients and olwm
dh_strip -P$(clientsdir) -pxview-clients
dh_compress -P$(clientsdir) -pxview-clients
dh_strip -P$(olwmdir) -polwm
dh_compress -P$(olwmdir) -polwm
chown -R root.root $(tmpdir)
chmod -R a+rX,u+w,go-w $(tmpdir)
LD_LIBRARY_PATH=$(LIBC6_LD_LIBRARY_PATH) dh_shlibdeps -P$(clientsdir) -pxview-clients
dh_gencontrol -P$(clientsdir) -pxview-clients
dh_md5sums -P$(clientsdir) -pxview-clients
dh_builddeb -P$(clientsdir) -pxview-clients
LD_LIBRARY_PATH=$(LIBC6_LD_LIBRARY_PATH) dh_shlibdeps -P$(olwmdir) -polwm
dh_gencontrol -P$(olwmdir) -polwm
dh_md5sums -P$(olwmdir) -polwm
dh_builddeb -P$(olwmdir) -polwm
binary-contrib: checkroot build-contrib
$(checkdir)
-rm -rf $(tmpdir)
# Prepare package xview-examples
install -d $(tmpdir)/DEBIAN
DESTDIR="`pwd`/$(tmpdir)" bash Build-LinuxXView.bash instcontrib
install -d $(tmpdir)/usr/doc/xviewg
ln -s xviewg $(tmpdir)/usr/doc/xview-examples
ln -s ../examples/xview $(tmpdir)/usr/doc/xviewg/examples
mv $(tmpdir)/usr/openwin/share/src/xview $(tmpdir)/usr/doc/examples
mv $(tmpdir)/usr/doc/examples/examples $(tmpdir)/usr/doc/examples/xview
chmod a+rx $(tmpdir)/usr/doc/examples/xview/bin/*
rm -fr $(tmpdir)/usr/openwin
# Finish package xview-examples
dh_strip -P$(tmpdir) -pxview-examples
chown -R root.root $(tmpdir)
chmod -R a+rX,u+w,go-w $(tmpdir)
LD_LIBRARY_PATH=$(LIBC6_LD_LIBRARY_PATH) dh_shlibdeps -P$(tmpdir) -pxview-examples
dh_gencontrol -P$(tmpdir) -pxview-examples
dh_md5sums -P$(tmpdir) -pxview-examples
dh_builddeb -P$(tmpdir) -pxview-examples
binary-olvwm: checkroot build-olvwm
$(checkdir)
-rm -rf $(tmpdir)
install -d $(tmpdir)/DEBIAN
# Prepare package olvwm
DESTDIR="`pwd`/$(tmpdir)" bash Build-LinuxXView.bash instolvwm
mv $(tmpdir)/usr/openwin $(tmpdir)/usr/X11R6
# Create directories
for dir in usr/doc/olvwm etc/X11/olvwm etc/menu-methods usr/lib/menu; do \
install -d $(tmpdir)/$$dir; \
done
# Install documentation
mv $(tmpdir)/usr/X11R6/man/man1/olwm.1x $(tmpdir)/usr/X11R6/man/man1/olwm.1olvwm
install -m 644 debian/copyright $(tmpdir)/usr/doc/olvwm
cat clients/olvwm-4.1/LEGAL_NOTICE >> $(tmpdir)/usr/doc/olvwm/copyright
install -m 644 debian/changelog $(tmpdir)/usr/doc/olvwm/changelog.Debian
install -m 644 debian/changelog.old.olvwm $(tmpdir)/usr/doc/olvwm/changelog.Debian-old
install -m 644 debian/README.olvwm $(tmpdir)/usr/doc/olvwm/README.debian
# Install config files/menu support
install -m 644 debian/openwin-menu.olvwm $(tmpdir)/etc/X11/olvwm/openwin-menu
install -m 644 debian/menu-methods.olvwm $(tmpdir)/etc/menu-methods/olvwm
install -m 644 debian/menu.olvwm $(tmpdir)/usr/lib/menu/olvwm
# Package management control files
install -m 644 debian/conffiles.olvwm $(tmpdir)/DEBIAN/conffiles
install -m 755 debian/postinst.olvwm $(tmpdir)/DEBIAN/postinst
install -m 755 debian/postrm.olvwm $(tmpdir)/DEBIAN/postrm
# Finish package olvwm
dh_strip -P$(tmpdir) -polvwm
dh_compress -P$(tmpdir) -polvwm
chown -R root.root $(tmpdir)
chmod -R a+rX,u+w,go-w $(tmpdir)
LD_LIBRARY_PATH=$(LIBC6_LD_LIBRARY_PATH) dh_shlibdeps -P$(tmpdir) -polvwm
# Concatenate olvwm's and XView's version number to make both dpkg and our users happy :-)
dh_gencontrol -P$(tmpdir) -polvwm \
-u-v"4.1.`dpkg-parsechangelog | grep '^Version: ' | cut -d' ' -f2`"
dh_md5sums -P$(tmpdir) -polvwm
dh_builddeb -P$(tmpdir) -polvwm
define checkdir
test -f debian/rules
endef
# Below here is fairly generic really
binary: binary-indep binary-arch
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
checkroot:
$(checkdir)
test root = "`whoami`"
.PHONY: binary binary-arch binary-indep clean checkroot
|