Package: xscreensaver
Severity: wishlist
Tags: patch

Hi,

There has been some discussion in an Ubuntu bug on Launchpad about how
to more easily maintain a diff between Ubuntu and Debian, allowing
different screen savers to be shipped by default in each distro. [0]
On Tormod Volden's suggestion, I am attaching a patch against
collab-maint/xscreensaver.git which will make an Ubuntu delta just be
one-liners for each hack that is moved.

It creates files named data, data-extra, gl, and gl-extras listing the
hacks that belong in each package. It also creates a install-hacks.sh
script called from debian/rules which installs the hacks to the
appropriate package.

Please let me know if this seems to be something worth perusing, and
any suggestions you might have.

- Andrew Starr-Bochicchio

[0] https://bugs.edge.launchpad.net/ubuntu/+bug/385850
diff --git a/debian/data b/debian/data
new file mode 100644
index 0000000..81df91c
--- /dev/null
+++ b/debian/data
@@ -0,0 +1,17 @@
+abstractile
+cwaves
+deco
+distort
+fiberlamp
+fuzzyflakes
+galaxy
+m6502
+metaballs
+penrose
+popsquares
+ripples
+shadebobs
+slidescreen
+sonar
+swirl
+xlyap
diff --git a/debian/data-extra b/debian/data-extra
new file mode 100644
index 0000000..cac21ce
--- /dev/null
+++ b/debian/data-extra
@@ -0,0 +1,103 @@
+anemone
+anemotaxis
+apollonian
+apple2
+attraction
+barcode
+blaster
+blitspin
+bouboule
+boxfit
+braid
+bsod
+bumps
+ccurve
+celtic
+cloudlife
+compass
+coral
+crystal
+cynosure
+decayscreen
+deluxe
+demon
+discrete
+drift
+epicycle
+eruption
+euler2d
+fadeplot
+fireworkx
+flame
+flow
+fluidballs
+fontglide
+goop
+grav
+greynetic
+halftone
+halo
+helix
+hopalong
+hyperball
+hypercube
+ifs
+imsmap
+interaggregate
+interference
+intermomentary
+juggle
+julia
+kaleidescope
+kumppa
+lcdscrub
+ljlatest
+loop
+maze
+memscroller
+moire
+moire2
+mountain
+munch
+nerverot
+noseguy
+pacman
+pedal
+penetrate
+petri
+phosphor
+piecewise
+polyominoes
+pong
+pyro
+qix
+rd-bomb
+rocks
+rorschach
+rotzoomer
+sierpinski
+slip
+speedmine
+spotlight
+squiral
+starfish
+strange
+substrate
+thornbird
+triangle
+truchet
+twang
+vermiculate
+vidwhacker
+wander
+webcollage
+webcollage-helper
+whirlwindwarp
+wormhole
+xanalogtv
+xflame
+xjack
+xmatrix
+xrayswarm
+xspirograph
+zoom
diff --git a/debian/gl b/debian/gl
new file mode 100644
index 0000000..7920287
--- /dev/null
+++ b/debian/gl
@@ -0,0 +1,43 @@
+antinspect
+antspotlight
+atunnel
+blinkbox
+bubble3d
+circuit
+cubestorm
+endgame
+engine
+flipflop
+flipscreen3d
+flyingtoasters
+gears
+gflux
+glblur
+glcells
+gleidescopev
+glknots
+glmatrix
+glschool
+glslideshow
+glsnake
+gltext
+hypertorus
+jigglypuff
+lavalite
+lockward
+mirrorblob
+moebius
+moebiusgears
+molecule
+morph3d
+pipes
+polyhedra
+polytopes
+pulsar
+queens
+sierpinski3d
+spheremonics
+stonerview
+superquadrics
+topblock
+voronoi
diff --git a/debian/gl-extra b/debian/gl-extra
new file mode 100644
index 0000000..d2b7a5d
--- /dev/null
+++ b/debian/gl-extra
@@ -0,0 +1,36 @@
+antmaze
+atlantis
+blocktube
+boing
+bouncingcow
+boxed
+cage
+carousel
+crackberg
+cube21
+cubenetic
+dangerball
+extrusion
+fliptext
+glhanoi
+glplanet
+juggler3d
+klein
+lament
+menger
+noof
+photopile
+pinion
+providence
+rubik
+sballs
+sproingies
+stairs
+starwars
+tangram
+timetunnel
+cubicgrid
+hypnowheel
+skytentacles
+jigsaw
+flurry
diff --git a/debian/install-hacks.sh b/debian/install-hacks.sh
new file mode 100755
index 0000000..3c53224
--- /dev/null
+++ b/debian/install-hacks.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+DATA_FILES=$(cat debian/data)
+DATA_EXTRA_FILES=$(cat debian/data-extra)
+GL_FILES=$(cat debian/gl)
+GL_EXTRA_FILES=$(cat debian/gl-extra)
+
+move_files ()
+{
+    for hacks in $*; do \
+      dh_install debian/tmp/usr/lib/xscreensaver/$hacks \
+        -p$PACKAGE
+      dh_install debian/tmp/usr/share/man/man6/$hacks.6x \
+        -p$PACKAGE
+      dh_install debian/tmp/usr/share/xscreensaver/config/$hacks.xml \
+        -p$PACKAGE
+      dh_install debian/tmp/usr/share/applications/screensavers/$hacks.desktop \
+        -p$PACKAGE
+    done
+}
+
+PACKAGE="xscreensaver-data"
+move_files $DATA_FILES
+
+PACKAGE="xscreensaver-data-extra"
+move_files $DATA_EXTRA_FILES
+
+PACKAGE="xscreensaver-gl"
+move_files $GL_FILES
+
+PACKAGE="xscreensaver-gl-extra"
+move_files $GL_EXTRA_FILES
diff --git a/debian/rules b/debian/rules
index 0018795..6fd7b96 100755
--- a/debian/rules
+++ b/debian/rules
@@ -106,6 +106,7 @@ binary-arch:	build
 	   debian/tmp/usr/share/man/man1/xscreensaver-gl-helper.1
 	# Change man header section from 6 to 1
 	sed -i '1s/6x/1/' debian/tmp/usr/share/man/man1/xscreensaver-gl-helper.1
+	sh debian/install-hacks.sh
 	dh_movefiles -a
 	dh_install -a
 	# Lists anything that was installed but not packaged
diff --git a/debian/xscreensaver-data.files b/debian/xscreensaver-data.files
index aa83ba0..5d65eaa 100644
--- a/debian/xscreensaver-data.files
+++ b/debian/xscreensaver-data.files
@@ -7,68 +7,3 @@ usr/share/man/man1/xscreensaver-getimage-file.1
 usr/share/man/man1/xscreensaver-getimage-video.1
 usr/share/man/man1/xscreensaver-getimage.1
 usr/share/man/man1/xscreensaver-text.1
-usr/lib/xscreensaver/abstractile
-usr/lib/xscreensaver/cwaves
-usr/lib/xscreensaver/deco
-usr/lib/xscreensaver/distort
-usr/lib/xscreensaver/fiberlamp
-usr/lib/xscreensaver/fuzzyflakes
-usr/lib/xscreensaver/galaxy
-usr/lib/xscreensaver/m6502
-usr/lib/xscreensaver/metaballs
-usr/lib/xscreensaver/penrose
-usr/lib/xscreensaver/popsquares
-usr/lib/xscreensaver/ripples
-usr/lib/xscreensaver/shadebobs
-usr/lib/xscreensaver/slidescreen
-usr/lib/xscreensaver/sonar
-usr/lib/xscreensaver/swirl
-usr/lib/xscreensaver/xlyap
-usr/share/man/man6/abstractile.6x
-usr/share/man/man6/cwaves.6x
-usr/share/man/man6/deco.6x
-usr/share/man/man6/distort.6x
-usr/share/man/man6/fiberlamp.6x
-usr/share/man/man6/fuzzyflakes.6x
-usr/share/man/man6/galaxy.6x
-usr/share/man/man6/metaballs.6x
-usr/share/man/man6/penrose.6x
-usr/share/man/man6/ripples.6x
-usr/share/man/man6/shadebobs.6x
-usr/share/man/man6/slidescreen.6x
-usr/share/man/man6/sonar.6x
-usr/share/man/man6/swirl.6x
-usr/share/man/man6/xlyap.6x
-usr/share/xscreensaver/config/abstractile.xml
-usr/share/xscreensaver/config/cwaves.xml
-usr/share/xscreensaver/config/deco.xml
-usr/share/xscreensaver/config/distort.xml
-usr/share/xscreensaver/config/fiberlamp.xml
-usr/share/xscreensaver/config/fuzzyflakes.xml
-usr/share/xscreensaver/config/galaxy.xml
-usr/share/xscreensaver/config/m6502.xml
-usr/share/xscreensaver/config/metaballs.xml
-usr/share/xscreensaver/config/penrose.xml
-usr/share/xscreensaver/config/popsquares.xml
-usr/share/xscreensaver/config/ripples.xml
-usr/share/xscreensaver/config/shadebobs.xml
-usr/share/xscreensaver/config/slidescreen.xml
-usr/share/xscreensaver/config/sonar.xml
-usr/share/xscreensaver/config/swirl.xml
-usr/share/xscreensaver/config/xlyap.xml
-usr/share/applications/screensavers/abstractile.desktop
-usr/share/applications/screensavers/cwaves.desktop
-usr/share/applications/screensavers/deco.desktop
-usr/share/applications/screensavers/distort.desktop
-usr/share/applications/screensavers/fiberlamp.desktop
-usr/share/applications/screensavers/fuzzyflakes.desktop
-usr/share/applications/screensavers/galaxy.desktop
-usr/share/applications/screensavers/m6502.desktop
-usr/share/applications/screensavers/metaballs.desktop
-usr/share/applications/screensavers/penrose.desktop
-usr/share/applications/screensavers/ripples.desktop
-usr/share/applications/screensavers/shadebobs.desktop
-usr/share/applications/screensavers/slidescreen.desktop
-usr/share/applications/screensavers/sonar.desktop
-usr/share/applications/screensavers/swirl.desktop
-usr/share/applications/screensavers/xlyap.desktop
diff --git a/debian/xscreensaver-gl.files b/debian/xscreensaver-gl.files
index 85a00be..201f145 100644
--- a/debian/xscreensaver-gl.files
+++ b/debian/xscreensaver-gl.files
@@ -1,174 +1,2 @@
 usr/bin/xscreensaver-gl-helper
-usr/lib/xscreensaver/antinspect
-usr/lib/xscreensaver/antspotlight
-usr/lib/xscreensaver/atunnel
-usr/lib/xscreensaver/blinkbox
-usr/lib/xscreensaver/bubble3d
-usr/lib/xscreensaver/circuit
-usr/lib/xscreensaver/cubestorm
-usr/lib/xscreensaver/endgame
-usr/lib/xscreensaver/engine
-usr/lib/xscreensaver/flipflop
-usr/lib/xscreensaver/flipscreen3d
-usr/lib/xscreensaver/flyingtoasters
-usr/lib/xscreensaver/gears
-usr/lib/xscreensaver/gflux
-usr/lib/xscreensaver/glblur
-usr/lib/xscreensaver/glcells
-usr/lib/xscreensaver/gleidescope
-usr/lib/xscreensaver/glknots
-usr/lib/xscreensaver/glmatrix
-usr/lib/xscreensaver/glschool
-usr/lib/xscreensaver/glslideshow
-usr/lib/xscreensaver/glsnake
-usr/lib/xscreensaver/gltext
-usr/lib/xscreensaver/hypertorus
-usr/lib/xscreensaver/jigglypuff
-usr/lib/xscreensaver/lavalite
-usr/lib/xscreensaver/lockward
-usr/lib/xscreensaver/mirrorblob
-usr/lib/xscreensaver/moebius
-usr/lib/xscreensaver/moebiusgears
-usr/lib/xscreensaver/molecule
-usr/lib/xscreensaver/morph3d
-usr/lib/xscreensaver/pipes
-usr/lib/xscreensaver/polyhedra
-usr/lib/xscreensaver/polytopes
-usr/lib/xscreensaver/pulsar
-usr/lib/xscreensaver/queens
-usr/lib/xscreensaver/sierpinski3d
-usr/lib/xscreensaver/spheremonics
-usr/lib/xscreensaver/stonerview
-usr/lib/xscreensaver/superquadrics
-usr/lib/xscreensaver/topblock
-usr/lib/xscreensaver/voronoi
-usr/share/man/man1/xscreensaver-gl-helper.1
-usr/share/man/man6/antinspect.6x
-usr/share/man/man6/antspotlight.6x
-usr/share/man/man6/atunnel.6x
-usr/share/man/man6/blinkbox.6x
-usr/share/man/man6/bubble3d.6x
-usr/share/man/man6/circuit.6x
-usr/share/man/man6/cubestorm.6x
-usr/share/man/man6/endgame.6x
-usr/share/man/man6/engine.6x
-usr/share/man/man6/flipflop.6x
-usr/share/man/man6/flipscreen3d.6x
-usr/share/man/man6/flyingtoasters.6x
-usr/share/man/man6/gears.6x
-usr/share/man/man6/gflux.6x
-usr/share/man/man6/glblur.6x
-usr/share/man/man6/glcells.6x
-usr/share/man/man6/gleidescope.6x
-usr/share/man/man6/glknots.6x
-usr/share/man/man6/glmatrix.6x
-usr/share/man/man6/glschool.6x
-usr/share/man/man6/glslideshow.6x
-usr/share/man/man6/glsnake.6x
-usr/share/man/man6/gltext.6x
-usr/share/man/man6/hypertorus.6x
-usr/share/man/man6/jigglypuff.6x
-usr/share/man/man6/lavalite.6x
-usr/share/man/man6/lockward.6x
-usr/share/man/man6/mirrorblob.6x
-usr/share/man/man6/moebius.6x
-usr/share/man/man6/moebiusgears.6x
-usr/share/man/man6/molecule.6x
-usr/share/man/man6/morph3d.6x
-usr/share/man/man6/pipes.6x
-usr/share/man/man6/polyhedra.6x
-usr/share/man/man6/polytopes.6x
-usr/share/man/man6/pulsar.6x
-usr/share/man/man6/queens.6x
-usr/share/man/man6/sierpinski3d.6x
-usr/share/man/man6/spheremonics.6x
-usr/share/man/man6/stonerview.6x
-usr/share/man/man6/superquadrics.6x
-usr/share/man/man6/topblock.6x
-usr/share/man/man6/voronoi.6x
-usr/share/xscreensaver/config/antinspect.xml
-usr/share/xscreensaver/config/antspotlight.xml
-usr/share/xscreensaver/config/atunnel.xml
-usr/share/xscreensaver/config/blinkbox.xml
-usr/share/xscreensaver/config/bubble3d.xml
-usr/share/xscreensaver/config/circuit.xml
-usr/share/xscreensaver/config/cubestorm.xml
-usr/share/xscreensaver/config/endgame.xml
-usr/share/xscreensaver/config/engine.xml
-usr/share/xscreensaver/config/flipflop.xml
-usr/share/xscreensaver/config/flipscreen3d.xml
-usr/share/xscreensaver/config/flyingtoasters.xml
-usr/share/xscreensaver/config/gears.xml
-usr/share/xscreensaver/config/gflux.xml
-usr/share/xscreensaver/config/glblur.xml
-usr/share/xscreensaver/config/gleidescope.xml
-usr/share/xscreensaver/config/glknots.xml
-usr/share/xscreensaver/config/glmatrix.xml
-usr/share/xscreensaver/config/glslideshow.xml
-usr/share/xscreensaver/config/glsnake.xml
-usr/share/xscreensaver/config/gltext.xml
-usr/share/xscreensaver/config/hypertorus.xml
-usr/share/xscreensaver/config/jigglypuff.xml
-usr/share/xscreensaver/config/lavalite.xml
-usr/share/xscreensaver/config/lockward.xml
-usr/share/xscreensaver/config/mirrorblob.xml
-usr/share/xscreensaver/config/moebius.xml
-usr/share/xscreensaver/config/moebiusgears.xml
-usr/share/xscreensaver/config/molecule.xml
-usr/share/xscreensaver/config/morph3d.xml
-usr/share/xscreensaver/config/pipes.xml
-usr/share/xscreensaver/config/polyhedra.xml
-usr/share/xscreensaver/config/polytopes.xml
-usr/share/xscreensaver/config/pulsar.xml
-usr/share/xscreensaver/config/queens.xml
-usr/share/xscreensaver/config/sierpinski3d.xml
-usr/share/xscreensaver/config/spheremonics.xml
-usr/share/xscreensaver/config/stonerview.xml
-usr/share/xscreensaver/config/superquadrics.xml
-usr/share/xscreensaver/config/glcells.xml
-usr/share/xscreensaver/config/glschool.xml
-usr/share/xscreensaver/config/topblock.xml
-usr/share/xscreensaver/config/voronoi.xml
-usr/share/applications/screensavers/antinspect.desktop
-usr/share/applications/screensavers/antspotlight.desktop
-usr/share/applications/screensavers/atunnel.desktop
-usr/share/applications/screensavers/blinkbox.desktop
-usr/share/applications/screensavers/bubble3d.desktop
-usr/share/applications/screensavers/circuit.desktop
-usr/share/applications/screensavers/cubestorm.desktop
-usr/share/applications/screensavers/endgame.desktop
-usr/share/applications/screensavers/engine.desktop
-usr/share/applications/screensavers/flipflop.desktop
-usr/share/applications/screensavers/flipscreen3d.desktop
-usr/share/applications/screensavers/flyingtoasters.desktop
-usr/share/applications/screensavers/gears.desktop
-usr/share/applications/screensavers/gflux.desktop
-usr/share/applications/screensavers/glblur.desktop
-usr/share/applications/screensavers/glcells.desktop
-usr/share/applications/screensavers/gleidescope.desktop
-usr/share/applications/screensavers/glknots.desktop
-usr/share/applications/screensavers/glmatrix.desktop
-usr/share/applications/screensavers/glschool.desktop
-usr/share/applications/screensavers/glslideshow.desktop
-usr/share/applications/screensavers/glsnake.desktop
-usr/share/applications/screensavers/gltext.desktop
-usr/share/applications/screensavers/hypertorus.desktop
-usr/share/applications/screensavers/jigglypuff.desktop
-usr/share/applications/screensavers/lavalite.desktop
-usr/share/applications/screensavers/lockward.desktop
-usr/share/applications/screensavers/mirrorblob.desktop
-usr/share/applications/screensavers/moebius.desktop
-usr/share/applications/screensavers/moebiusgears.desktop
-usr/share/applications/screensavers/molecule.desktop
-usr/share/applications/screensavers/morph3d.desktop
-usr/share/applications/screensavers/pipes.desktop
-usr/share/applications/screensavers/polyhedra.desktop
-usr/share/applications/screensavers/polytopes.desktop
-usr/share/applications/screensavers/pulsar.desktop
-usr/share/applications/screensavers/queens.desktop
-usr/share/applications/screensavers/sierpinski3d.desktop
-usr/share/applications/screensavers/spheremonics.desktop
-usr/share/applications/screensavers/stonerview.desktop
-usr/share/applications/screensavers/superquadrics.desktop
-usr/share/applications/screensavers/topblock.desktop
-usr/share/applications/screensavers/voronoi.desktop
+/usr/share/man/man1/xscreensaver-gl-helper.1

Reply via email to