summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2014-01-27 23:14:59 +0000
committerjstebbins <[email protected]>2014-01-27 23:14:59 +0000
commitbb11d6a3e708a6208b09cdd79bf34e43b4c6d6ea (patch)
tree2927a75d2cee7d3aef0f9085822b95247c0fa825
parent3a5019a7ed8cc7eb68be713aabf1ad676d080fbf (diff)
build: add parsing of version info from version.txt file
This makes it possible to have proper version numbers in the build when the source tree does not come from svn (e.g. a tarball). Also, automatically adds version.txt to our source tar that is created with "make pkg.create". git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6005 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--make/configure.py28
-rw-r--r--pkg/linux/debian/control.precise2
-rw-r--r--pkg/linux/debian/control.quantal2
-rw-r--r--pkg/linux/debian/control.raring2
-rw-r--r--pkg/linux/debian/control.saucy2
-rw-r--r--pkg/linux/module.rules15
-rw-r--r--pkg/module.rules4
7 files changed, 43 insertions, 12 deletions
diff --git a/make/configure.py b/make/configure.py
index 7cf99ca2e..22bdce59f 100644
--- a/make/configure.py
+++ b/make/configure.py
@@ -247,6 +247,7 @@ class Action( object ):
self._dumpSession( cfg.infof )
cfg.errln( 'unable to continue' )
self._dumpSession( cfg.verbosef )
+ self._failSession()
else:
cfg.infof( '(%s) %s\n', self.msg_pass, self.msg_end )
self._dumpSession( cfg.verbosef )
@@ -261,6 +262,9 @@ class Action( object ):
def _parseSession( self ):
pass
+ def _failSession( self ):
+ pass
+
def run( self ):
if self.run_done:
return
@@ -743,6 +747,30 @@ class RepoProbe( ShellProbe ):
self.msg_end = self.url
+ def _failSession( self ):
+ # Look for svn info in version file.
+ #
+ # Version file would be created manually by source packager.
+ # e.g.
+ # $ svn info HandBrake > HandBrake/version.txt
+ # $ tar -czf handbrake-source.tgz --exclude .svn HandBrake
+ cfg.infof( 'probe: version.txt...' )
+ try:
+ hvp = os.path.join( cfg.src_dir, 'version.txt' )
+ if os.path.isfile( hvp ) and os.path.getsize( hvp ) > 0:
+ file = open( hvp, 'r' )
+ self.session = file.readlines()
+ file.close()
+ if self.session:
+ self._parseSession()
+ if self.rev != 0:
+ cfg.infof( '(pass)\n' )
+ else:
+ cfg.infof( '(fail)\n' )
+
+ except:
+ cfg.infof( '(fail)\n' )
+
###############################################################################
##
## project object.
diff --git a/pkg/linux/debian/control.precise b/pkg/linux/debian/control.precise
index 8886e68c8..d4dd62062 100644
--- a/pkg/linux/debian/control.precise
+++ b/pkg/linux/debian/control.precise
@@ -2,7 +2,7 @@ Source: handbrake
Section: graphics
Priority: optional
Maintainer: John Stebbins <[email protected]>
-Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev, wget, subversion, python (>= 2.6), libappindicator-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
+Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev, wget, python (>= 2.6), libappindicator-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
Standards-Version: 3.8.4
Homepage: http://www.handbrake.fr/
diff --git a/pkg/linux/debian/control.quantal b/pkg/linux/debian/control.quantal
index 4fff9a296..c11361983 100644
--- a/pkg/linux/debian/control.quantal
+++ b/pkg/linux/debian/control.quantal
@@ -2,7 +2,7 @@ Source: handbrake
Section: graphics
Priority: optional
Maintainer: John Stebbins <[email protected]>
-Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, wget, subversion, python (>= 2.6), libappindicator3-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
+Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, wget, python (>= 2.6), libappindicator3-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
Standards-Version: 3.8.4
Homepage: http://www.handbrake.fr/
diff --git a/pkg/linux/debian/control.raring b/pkg/linux/debian/control.raring
index 4fff9a296..c11361983 100644
--- a/pkg/linux/debian/control.raring
+++ b/pkg/linux/debian/control.raring
@@ -2,7 +2,7 @@ Source: handbrake
Section: graphics
Priority: optional
Maintainer: John Stebbins <[email protected]>
-Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, wget, subversion, python (>= 2.6), libappindicator3-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
+Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, wget, python (>= 2.6), libappindicator3-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
Standards-Version: 3.8.4
Homepage: http://www.handbrake.fr/
diff --git a/pkg/linux/debian/control.saucy b/pkg/linux/debian/control.saucy
index 4fff9a296..c11361983 100644
--- a/pkg/linux/debian/control.saucy
+++ b/pkg/linux/debian/control.saucy
@@ -2,7 +2,7 @@ Source: handbrake
Section: graphics
Priority: optional
Maintainer: John Stebbins <[email protected]>
-Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, wget, subversion, python (>= 2.6), libappindicator3-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
+Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, yasm (>= 1.1.0), libbz2-dev, zlib1g-dev, libgtk-3-dev, libwebkitgtk-3.0-dev, libnotify-dev, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, wget, python (>= 2.6), libappindicator3-dev, libfribidi-dev (>= 0.19.0), libxml2-dev, libogg-dev, libtheora-dev, libvorbis-dev, libsamplerate0-dev, libfreetype6-dev, libfontconfig1-dev, libass-dev
Standards-Version: 3.8.4
Homepage: http://www.handbrake.fr/
diff --git a/pkg/linux/module.rules b/pkg/linux/module.rules
index bea174cd3..c65fd0b08 100644
--- a/pkg/linux/module.rules
+++ b/pkg/linux/module.rules
@@ -28,7 +28,8 @@ $(STAGE.out.rpm.src/): GNUmakefile
# tar c --exclude build ../* | tar x -C $(STAGE.out.rpm.src/)$(PKG.basename)
-$(RM.exe) -rf $(STAGE.out.src/)
make contrib.fetch
- svn co -r$(HB.repo.rev) $(HB.repo.url) $@/$(PKG.basename)
+ svn export -r$(HB.repo.rev) $(HB.repo.url) $@/$(PKG.basename)
+ svn info $(HB.repo.url)@$(HB.repo.rev) > $@/$(PKG.basename)/version.txt
-$(MKDIR.exe) $(STAGE.out.rpm.src/)$(PKG.basename)/download
$(CP.exe) $(SRC/)download/*.tar.* $(STAGE.out.rpm.src/)$(PKG.basename)/download
@@ -84,7 +85,8 @@ pkg.push.src.deb:: $(PKG.src.deb.stamp)
$(PKG.src.deb.stamp): GNUmakefile
-$(RM.exe) -rf $(STAGE.out.src/)
make contrib.fetch
- svn co -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)saucy/$(PKG.deb.basename)
+ svn export -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)saucy/$(PKG.deb.basename)
+ svn info $(HB.repo.url)@$(HB.repo.rev) > $(STAGE.out.src/)saucy/$(PKG.deb.basename)/version.txt
$(CP.exe) -a $(SRC/)download $(STAGE.out.src/)saucy/$(PKG.deb.basename)
cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)saucy/$(PKG.deb.basename)
$(CP.exe) $(STAGE.out.src/)saucy/$(PKG.deb.basename)/debian/control.saucy $(STAGE.out.src/)saucy/$(PKG.deb.basename)/debian/control
@@ -96,7 +98,8 @@ $(PKG.src.deb.stamp): GNUmakefile
echo " -- John Stebbins <[email protected]> Sun, 11 Apr 2010 9:51:07 -0800" >> $(STAGE.out.src/)saucy/$(PKG.deb.basename)/debian/changelog
$(TAR.exe) czf $(STAGE.out.src/)saucy/$(PKG.src.deb.tar) -C $(STAGE.out.src/)saucy $(PKG.deb.basename)
(cd $(STAGE.out.src/)saucy/$(PKG.deb.basename) && debuild -S -kjstebbins.hb)
- svn co -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)raring/$(PKG.deb.basename)
+ svn export -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)raring/$(PKG.deb.basename)
+ svn info $(HB.repo.url)@$(HB.repo.rev) > $(STAGE.out.src/)raring/$(PKG.deb.basename)/version.txt
$(CP.exe) -a $(SRC/)download $(STAGE.out.src/)raring/$(PKG.deb.basename)
cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)raring/$(PKG.deb.basename)
$(CP.exe) $(STAGE.out.src/)raring/$(PKG.deb.basename)/debian/control.raring $(STAGE.out.src/)raring/$(PKG.deb.basename)/debian/control
@@ -108,7 +111,8 @@ $(PKG.src.deb.stamp): GNUmakefile
echo " -- John Stebbins <[email protected]> Sun, 11 Apr 2010 9:51:07 -0800" >> $(STAGE.out.src/)raring/$(PKG.deb.basename)/debian/changelog
$(TAR.exe) czf $(STAGE.out.src/)raring/$(PKG.src.deb.tar) -C $(STAGE.out.src/)raring $(PKG.deb.basename)
(cd $(STAGE.out.src/)raring/$(PKG.deb.basename) && debuild -S -kjstebbins.hb)
- svn co -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)quantal/$(PKG.deb.basename)
+ svn export -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)quantal/$(PKG.deb.basename)
+ svn info $(HB.repo.url)@$(HB.repo.rev) > $(STAGE.out.src/)quantal/$(PKG.deb.basename)/version.txt
$(CP.exe) -a $(SRC/)download $(STAGE.out.src/)quantal/$(PKG.deb.basename)
cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)quantal/$(PKG.deb.basename)
$(CP.exe) $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/control.quantal $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/control
@@ -120,7 +124,8 @@ $(PKG.src.deb.stamp): GNUmakefile
echo " -- John Stebbins <[email protected]> Sun, 11 Apr 2010 9:51:07 -0800" >> $(STAGE.out.src/)quantal/$(PKG.deb.basename)/debian/changelog
$(TAR.exe) czf $(STAGE.out.src/)quantal/$(PKG.src.deb.tar) -C $(STAGE.out.src/)quantal $(PKG.deb.basename)
(cd $(STAGE.out.src/)quantal/$(PKG.deb.basename) && debuild -S -kjstebbins.hb)
- svn co -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)precise/$(PKG.deb.basename)
+ svn export -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)precise/$(PKG.deb.basename)
+ svn info $(HB.repo.url)@$(HB.repo.rev) > $(STAGE.out.src/)precise/$(PKG.deb.basename)/version.txt
$(CP.exe) -a $(SRC/)download $(STAGE.out.src/)precise/$(PKG.deb.basename)
cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)precise/$(PKG.deb.basename)
$(CP.exe) $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/control.precise $(STAGE.out.src/)precise/$(PKG.deb.basename)/debian/control
diff --git a/pkg/module.rules b/pkg/module.rules
index da46620f1..9c0457e3b 100644
--- a/pkg/module.rules
+++ b/pkg/module.rules
@@ -18,9 +18,7 @@ $(PKG.src.tar.bz2): | $(STAGE.out.src/)
$(STAGE.out.src/):
svn export -r$(HB.repo.rev) $(HB.repo.url) $@/$(PKG.basename)
- sed 's/\(self.rev.*=.*\)0/\1$(HB.repo.rev)/' \
- $@/$(PKG.basename)/make/configure.py > $@/$(PKG.basename)/make/configure.py.tmp
- $(MV.exe) $@/$(PKG.basename)/make/configure.py.tmp $@/$(PKG.basename)/make/configure.py
+ svn info $(HB.repo.url)@$(HB.repo.rev) > $@/$(PKG.basename)/version.txt
$(PKG.src-contrib.tar.bz2):
$(TAR.exe) cjf $@ -C $(CONTRIB.download/) \