diff options
author | jstebbins <[email protected]> | 2010-04-12 18:01:01 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2010-04-12 18:01:01 +0000 |
commit | 788762ec1d905d4783a62de27863ec8ebf66d284 (patch) | |
tree | 4fd54d66f2aa539677971ead01188bc52b31d73c | |
parent | 1a466338ea91528105f73681f85238be96670b2a (diff) |
LinGui: improved rpm building
Resulting rpms have fewer warnings and no errors according to rpmlint.
No need to pre-build binaries. Just configure and "make pkg.create.rpm"
Standard fedora rpms can be found in:
build/stage/rpm/RPMS and SRPMS
Binary packages are renamed according to handbrake naming convention in:
build/pkg
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3220 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | gtk/ghb.spec | 41 | ||||
-rw-r--r-- | gtk/module.rules | 4 | ||||
-rw-r--r-- | make/include/main.rules | 1 | ||||
-rw-r--r-- | pkg/linux/module.defs | 11 | ||||
-rw-r--r-- | pkg/linux/module.rules | 35 | ||||
-rw-r--r-- | test/module.rules | 5 |
6 files changed, 65 insertions, 32 deletions
diff --git a/gtk/ghb.spec b/gtk/ghb.spec index 5b838531c..009cccfc1 100644 --- a/gtk/ghb.spec +++ b/gtk/ghb.spec @@ -1,5 +1,3 @@ -%define name HandBrake -%define release 1 Name: %{name} Version: %{version} @@ -7,17 +5,19 @@ Release: %{release}%{?dist} Summary: A program to transcode DVDs and other sources to MPEG-4 Group: Applications/Multimedia -License: GPL +License: GPLv2 URL: http://handbrake.fr/ -Vendor: The HandBrake Project Source0: %{name}-%{version}.tar.bz2 Prefix: %{_prefix} -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Requires: glib2 >= 2.16, gtk2 >= 2.12, hal-libs, webkitgtk, gstreamer -Requires: gstreamer-plugins-base +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildRequires: glib2-devel, gtk2-devel, hal-devel, webkitgtk-devel +BuildRequires: gstreamer-devel, gstreamer-plugins-base-devel +Requires: gtk2, coreutils + +%define debug_package %{nil} %description -HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded +HandBrake is an open-source, GPL-licensed, multi-platform, multi-threaded transcoder, available for MacOS X, Linux and Windows. %package gui @@ -29,34 +29,31 @@ Summary: A program to transcode DVDs and other sources to MPEG-4 Group: Applications/Multimedia %description gui -HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded +HandBrake is an open-source, GPL-licensed, multi-platform, multi-threaded transcoder, available for MacOS X, Linux and Windows. %description cli -HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded +HandBrake is an open-source, GPL-licensed, multi-platform, multi-threaded transcoder, available for MacOS X, Linux and Windows. %prep -%setup -n %{name}-%{version} -D -T -#%setup -q -#cd %{_builddir}/%{name}-%{version} +%setup -q +cd %{_builddir}/%{name}-%{version} %build -#./configure --prefix=%{_prefix} -#make -C build +./configure --debug=std --prefix=%{_prefix} +make %{?_smp_mflags} -C build %install -#rm -rf $RPM_BUILD_ROOT -# I don't want to rebuild the world, so just install what I've prebuilt -make -C $RPM_BUILD_ROOT/../.. DESTDIR=$RPM_BUILD_ROOT install +make -C build DESTDIR=$RPM_BUILD_ROOT install-strip ## blow away stuff we don't want /bin/rm -f $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/icon-theme.cache %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %post gui touch --no-create %{_datadir}/icons/hicolor @@ -73,7 +70,7 @@ fi %files gui %defattr(-,root,root,-) %doc NEWS AUTHORS CREDITS THANKS COPYING -%{_datadir}/icons +%{_datadir}/icons/hicolor %{_datadir}/applications %{_bindir}/ghb @@ -83,7 +80,7 @@ fi %{_bindir}/HandBrakeCLI %changelog -* Sat May 31 2008 John Stebbins <[email protected]> -- Initial release +* Sun Apr 11 2010 John Stebbins <[email protected]> - svn +- Snapshot release diff --git a/gtk/module.rules b/gtk/module.rules index c5de20ea8..e7d93e752 100644 --- a/gtk/module.rules +++ b/gtk/module.rules @@ -2,6 +2,7 @@ $(eval $(call import.MODULE.rules,GTK)) build: hgtk.build gtk.build install: gtk.install +install-strip: gtk.install-strip uninstall: gtk.uninstall clean: hgtk.clean gtk.clean xclean: hgtk.clean gtk.xclean @@ -34,6 +35,9 @@ gtk.build: | $(GTK.build/) gtk.build: $(GTK.CONFIGURE.stamp) $(LIBHB.a) +$(MAKE) -C $(GTK.build/) +gtk.install-strip: + $(MAKE) -C $(GTK.build/) prefix=$(PREFIX) install-strip + gtk.install: $(MAKE) -C $(GTK.build/) prefix=$(PREFIX) install diff --git a/make/include/main.rules b/make/include/main.rules index 132567c1e..5a8d8acfb 100644 --- a/make/include/main.rules +++ b/make/include/main.rules @@ -21,6 +21,7 @@ endif build: clean: install: +install-strip: uninstall: xclean: contrib.xclean clean doc: diff --git a/pkg/linux/module.defs b/pkg/linux/module.defs index 8b91f2d3d..93d686ced 100644 --- a/pkg/linux/module.defs +++ b/pkg/linux/module.defs @@ -1,5 +1,11 @@ PKG.deb.machine = `dpkg --print-architecture` PKG.rpm.machine = `rpm -E "%_target_cpu"` +PKG.release = 1 +PKG.rpm.dist = `rpm -E "%dist"` + +PKG.rpm.src.tar.bz2 = $(STAGE.out.src/)rpm/$(PKG.basename).tar.bz2 +STAGE.out.rpm.src/ = $(STAGE.out.src/)rpm/ + PKG.debian = $(PKG.in/)linux/debian PKG.cli.deb = $(PKG.out/)$(HB.name)-$(HB.version)-Ubuntu_CLI_$(BUILD.machine).deb PKG.gui.deb = $(PKG.out/)$(HB.name)-$(HB.version)-Ubuntu_GUI_$(BUILD.machine).deb @@ -7,6 +13,11 @@ PKG.gui.deb = $(PKG.out/)$(HB.name)-$(HB.version)-Ubuntu_GUI_$(BUILD.machine).de PKG.cli.tmp.deb = $(PKG.out/)handbrake-cli_$(HB.version)_$(PKG.deb.machine).deb PKG.gui.tmp.deb = $(PKG.out/)handbrake-gtk_$(HB.version)_$(PKG.deb.machine).deb +PKG.native.rpm.stamp = $(RPM.out/).rpm.stamp + +PKG.gui.native.rpm = $(RPM.out/)RPMS/$(PKG.rpm.machine)/$(HB.name)-gui-$(HB.version)-$(PKG.release)$(PKG.rpm.dist).$(PKG.rpm.machine).rpm +PKG.cli.native.rpm = $(RPM.out/)RPMS/$(PKG.rpm.machine)/$(HB.name)-cli-$(HB.version)-$(PKG.release)$(PKG.rpm.dist).$(PKG.rpm.machine).rpm + PKG.cli.rpm = $(PKG.out/)$(HB.name)-$(HB.version)-Fedora_CLI_$(BUILD.machine).rpm PKG.gui.rpm = $(PKG.out/)$(HB.name)-$(HB.version)-Fedora_GUI_$(BUILD.machine).rpm RPM.out = $(STAGE.out/)rpm diff --git a/pkg/linux/module.rules b/pkg/linux/module.rules index c3346be5b..dcc387020 100644 --- a/pkg/linux/module.rules +++ b/pkg/linux/module.rules @@ -1,20 +1,35 @@ -pkg.create.deb:: pkg.create $(PKG.gui.deb) $(PKG.cli.deb) -pkg.create.rpm:: pkg.create $(PKG.gui.rpm) $(PKG.cli.rpm) +pkg.create.deb:: $(PKG.gui.deb) $(PKG.cli.deb) +pkg.create.rpm:: $(PKG.gui.rpm) -$(PKG.gui.rpm) $(PKG.cli.rpm): | $(dir $(PKG.gui.rpm) $(PKG.cli.rpm)) -$(PKG.gui.rpm) $(PKG.cli.rpm): +$(PKG.rpm.src.tar.bz2): | $(STAGE.out.rpm.src/) + $(TAR.exe) cjf $@ -C $(STAGE.out.rpm.src/) $(PKG.basename) + +$(STAGE.out.rpm.src/): +# -$(MKDIR.exe) -p $(STAGE.out.rpm.src/)$(PKG.basename) +# tar c --exclude build ../* | tar x -C $(STAGE.out.rpm.src/)$(PKG.basename) + svn co -r$(HB.repo.rev) $(HB.repo.url) $@/$(PKG.basename) + -$(MKDIR.exe) $(STAGE.out.rpm.src/)$(PKG.basename)/download + $(CP.exe) $(SRC/)download/*.tar.* $(STAGE.out.rpm.src/)$(PKG.basename)/download + +$(PKG.native.rpm.stamp): $(PKG.rpm.src.tar.bz2) -$(MKDIR.exe) -p $(RPM.out/)SOURCES -$(MKDIR.exe) -p $(RPM.out/)SPECS -$(MKDIR.exe) -p $(RPM.out/)BUILD -$(MKDIR.exe) -p $(RPM.out/)RPMS -$(MKDIR.exe) -p $(RPM.out/)SRPMS -$(MKDIR.exe) -p $(RPMROOT.out/) - $(CP.exe) $(GTK.src/)ghb.spec $(RPM.out/)SPECS - $(CP.exe) $(PKG.src.tar.bz2) $(RPM.out/)SOURCES - $(TAR.exe) -xf $(PKG.src.tar.bz2) -C $(RPM.out/)BUILD - rpmbuild --define="version $(HB.version)" --define="_topdir $(PWD)/$(RPM.out)" --buildroot $(RPMROOT.out) -ba $(GTK.src/)ghb.spec - $(CP.exe) $(RPM.out/)RPMS/$(PKG.rpm.machine)/$(HB.name)-cli-$(HB.version)*.rpm $(PKG.cli.rpm) - $(CP.exe) $(RPM.out/)RPMS/$(PKG.rpm.machine)/$(HB.name)-gui-$(HB.version)*.rpm $(PKG.gui.rpm) + echo "%define name $(HB.name)" > $(RPM.out/)SPECS/ghb.spec + echo "%define release 1" >> $(RPM.out/)SPECS/ghb.spec + echo "%define version $(HB.version)" >> $(RPM.out/)SPECS/ghb.spec + cat $(GTK.src/)ghb.spec >> $(RPM.out/)SPECS/ghb.spec + $(CP.exe) $(PKG.rpm.src.tar.bz2) $(RPM.out/)SOURCES + rpmbuild --define="_topdir $(PWD)/$(RPM.out)" --buildroot $(RPMROOT.out) -ba $(RPM.out/)SPECS/ghb.spec + $(TOUCH.exe) $(PKG.native.rpm.stamp) + +$(PKG.gui.rpm): | $(dir $(PKG.gui.rpm)) +$(PKG.gui.rpm): $(PKG.native.rpm.stamp) + $(CP.exe) $(PKG.gui.native.rpm) $(PKG.gui.rpm) + $(CP.exe) $(PKG.cli.native.rpm) $(PKG.cli.rpm) $(PKG.gui.deb): | $(dir $(PKG.gui.deb)) $(PKG.gui.deb): diff --git a/test/module.rules b/test/module.rules index c51068901..5f41d4d2f 100644 --- a/test/module.rules +++ b/test/module.rules @@ -24,12 +24,17 @@ clean: test.clean ## skip install/uninstall on darwin ifneq ($(BUILD.system),darwin) +test.install-strip: | $(dir $(TEST.install.exe)) + $(CP.exe) $(TEST.exe) $(TEST.install.exe) + $(STRIP.exe) $(TEST.install.exe) + test.install: | $(dir $(TEST.install.exe)) $(CP.exe) $(TEST.exe) $(TEST.install.exe) test.uninstall: $(RM.exe) -f $(TEST.install.exe) +install-strip: test.install-strip install: test.install uninstall: test.uninstall |