chopping down ncurses shared libraries for the boot floppy
Michael,
The following patch adds yet another binary package, "ncurses3.0-pic", to
the ncurses family. It installs archives of PIC objects
(/usr/lib/lib{ncurses,form,menu,panel}3.0_pic.a) used for developing
subsets of the shared ncurses libraries. This is necessary to build a
chopped-down shared ncurses library for the boot floppy (where space is
at a premium), and is also useful for building embedded systems, etc.
Please add this patch to your ncurses source. Siggy is installing a similar
patch for libc5.
Thanks
Bruce Perens
*** ncurses-1.9.8a.orig/debian.control-pic Wed Dec 31 16:00:00 1969
--- ncurses-1.9.8a/debian.control-pic Tue Feb 20 20:18:11 1996
***************
*** 0 ****
--- 1,10 ----
+ PACKAGE: ncurses=A-pic
+ DESCRIPTION: Video terminal manipulation: Shared-library subset kit.
+ This is used to develop subsets of the ncurses shared libraries for use
+ on custom installation floppies and in embedded systems. Unless you're
+ making one of those, you won't need this package.
+ MAINTAINER: Michael Alan Dorman <mdorman@lor49.med.miami.edu>
+ VERSION: =V-=D
+ DEPENDS: ncurses=A, ncurses=A-dev, libc5-dev
+ CONFLICTS:
+ PROVIDES: ncurses-pic
diff -cNr ncurses-1.9.8a.orig/debian.rules ncurses-1.9.8a/debian.rules
*** ncurses-1.9.8a.orig/debian.rules Thu Dec 14 06:27:04 1995
--- ncurses-1.9.8a/debian.rules Tue Feb 20 20:32:00 1996
***************
*** 112,118 ****
clean:
# Undoes the effect of `make -f debian.rules build'.
! rm -f stamp-build
-$(MAKE) distclean
rm -rf $B $D $L $P $T *~ ./#*# */*~
find . \( -name '*~' -o -name '*#*' -o -name '*.orig' \) -print0 | \
--- 112,118 ----
clean:
# Undoes the effect of `make -f debian.rules build'.
! rm -f -R stamp-build pic-tmp
-$(MAKE) distclean
rm -rf $B $D $L $P $T *~ ./#*# */*~
find . \( -name '*~' -o -name '*#*' -o -name '*.orig' \) -print0 | \
***************
*** 229,234 ****
--- 229,235 ----
mv $L.deb ../$(p)$(ABI_VERSION)-$(v)-$(d).deb
mv $P.deb ../$(p)-bin-$(v)-$(d).deb
mv $T.deb ../$(p)-term-$(v)-$(d).deb
+ make -f debian.rules pic
source:
# Makes a source package.
***************
*** 269,271 ****
--- 270,289 ----
$(DIRECTORIES):
install -d -g root -o root -m 755 $@
chmod g-s $@
+
+ pic:
+ test -f stamp-build || make -f debian.rules build
+ rm -f -r pic-tmp
+ mkdir -p -m 755 pic-tmp pic-tmp/DEBIAN pic-tmp/usr/lib \
+ pic-tmp/usr/doc/copyright
+ sed -e 's/=V/$(v)/' -e 's/=D/$(d)/' -e 's/=A/$(ABI_VERSION)/g' \
+ < debian.control-pic > pic-tmp/DEBIAN/control
+ install -g root -m 644 -o root debian.README \
+ pic-tmp/usr/doc/copyright/$(p)-pic
+ sh pic_libraries.sh $(ABI_VERSION)
+ chmod 644 pic-tmp/DEBIAN/control
+ chmod -R g-w,a-w pic-tmp
+ chown -R root.root pic-tmp
+ dpkg --build pic-tmp
+ mv pic-tmp.deb ../$(p)$(ABI_VERSION)-pic-$(v)-$(d).deb
+ rm -f -r pic-tmp
diff -cNr ncurses-1.9.8a.orig/pic_libraries.sh ncurses-1.9.8a/pic_libraries.sh
*** ncurses-1.9.8a.orig/pic_libraries.sh Wed Dec 31 16:00:00 1969
--- ncurses-1.9.8a/pic_libraries.sh Tue Feb 20 20:26:25 1996
***************
*** 0 ****
--- 1,31 ----
+ #! /bin/sh
+
+ set -e
+
+ form_objects=""
+ menu_objects=""
+ ncurses_objects=""
+ panel_objects=""
+
+ for i in `sed '/^#/d' < ncurses/modules | cut -f 1`; do
+ ncurses_objects=$ncurses_objects" obj_s/"$i".o "
+ done
+
+ for i in `sed '/^#/d' < form/modules | cut -f 1`; do
+ form_objects=$form_objects" obj_s/"$i".o "
+ done
+
+ for i in `sed '/^#/d' < menu/modules | cut -f 1`; do
+ menu_objects=$menu_objects" obj_s/"$i".o "
+ done
+
+ for i in `sed '/^#/d' < panel/modules | cut -f 1`; do
+ panel_objects=$panel_objects" obj_s/"$i".o "
+ done
+
+ ar cqv pic-tmp/usr/lib/libform$1_pic.a $form_objects
+ ar cqv pic-tmp/usr/lib/libmenu$1_pic.a $menu_objects
+ ar cqv pic-tmp/usr/lib/libncurses$1_pic.a $ncurses_objects
+ ar cqv pic-tmp/usr/lib/libnpanel$1_pic.a $panel_objects
+
+ exit 0
Reply to: