Skip to content

Commit

Permalink
make deb support
Browse files Browse the repository at this point in the history
  • Loading branch information
wang-bin committed Mar 15, 2013
1 parent 5ad38b5 commit 4bbbbc0
Show file tree
Hide file tree
Showing 18 changed files with 529 additions and 18 deletions.
8 changes: 8 additions & 0 deletions QtAV.pro
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,11 @@ qtCompileTest(portaudio)|warning("PortAudio is not available. No audio output in
qtCompileTest(direct2d)
qtCompileTest(gdiplus)
#qtCompileTest(openal)



PACKAGE_VERSION = 1.1.11
PACKAGE_NAME= QtAV

include(pack.pri)
#packageSet(1.1.11, QtAV)
54 changes: 54 additions & 0 deletions deploy.pri
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
isEmpty(PROJECTROOT): PROJECTROOT = $$PWD
INSTALL_PREFIX = /usr/local
INSTALL_FOLDER = lib
isEqual(TEMPLATE, app): INSTALL_FOLDER = bin

share.files = $$PROJECTROOT/qtc_packaging/common/changelog \
$$PROJECTROOT/qtc_packaging/common/copyright \
$$PROJECTROOT/qtc_packaging/common/README
share.path = /usr/share/doc/$${TARGET}

isEqual(TEMPLATE, app) {
unix:!symbian {
!isEmpty(MEEGO_VERSION_MAJOR) {
DEFINES += CACHE_APPDIR
INSTALL_PREFIX = /opt/$${TARGET}
desktopfile.files = $$PROJECTROOT/qtc_packaging/debian_harmattan/$${TARGET}.desktop
desktopfile.path = /usr/share/applications
icon.files = $$PROJECTROOT/qtc_packaging/debian_harmattan/$${TARGET}.png
icon.path = /usr/share/icons/hicolor/80x80/apps
#debian.files = $$PROJECTROOT/qtc_packaging/harmattan/control
} else:maemo5 {
INSTALL_PREFIX = /opt/$${TARGET}
desktopfile.files = $$PROJECTROOT/qtc_packaging/debian_fremantle/$${TARGET}.desktop
desktopfile.path = /usr/share/applications/hildon
icon.files = $$PROJECTROOT/qtc_packaging/debian_fremantle/$${TARGET}.png
icon.path = /usr/share/icons/hicolor/64x64/apps
#debian.files = $$PROJECTROOT/qtc_packaging/fremantle/control
} else {
desktopfile.files = $$PROJECTROOT/qtc_packaging/debian_generic/$${TARGET}.desktop
desktopfile.path = /usr/share/applications
icon.files = $$PROJECTROOT/qtc_packaging/debian_generic/$${TARGET}.png
icon.path = /usr/share/icons/hicolor/64x64/apps
#debian.files = $$PROJECTROOT/qtc_packaging/generic/control
}
INSTALLS += desktopfile icon
#debian.path = /DEBIAN
}
} else {
unix:!symbian {
sdkheaders.files = $$SDK_HEADERS
isEmpty(SDK_HEADERS) {
sdkheaders.files = $$HEADERS
}
sdkheaders.path = /usr/local/include/$$SDK_INCLUDE_FOLDER
INSTALLS += sdkheaders
}
}

target.path = $${INSTALL_PREFIX}/$${INSTALL_FOLDER}
INSTALLS += target share




1 change: 1 addition & 0 deletions examples/simpleplayer/simpleplayer.pro
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ SOURCES += main.cpp
HEADERS +=


include($$PROJECTROOT/deploy.pri)
80 changes: 80 additions & 0 deletions pack.pri
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
##TODO: Why use function to add makefile target failed
# add a make command
defineReplace(mcmd) {
return($$escape_expand(\\n\\t)$$1)
}

#defineTest(packageSet) {
# isEmpty(1): warning("packageSet(version [, name]")
# PACKAGE_VERSION = $$1
# isEmpty(2): PACKAGE_NAME = $$basename(_PRO_FILE_PWD_)
# else: PACKAGE_NAME = $$2


symbian {
TARGET.UID3 = 0xea6f847b
# TARGET.CAPABILITY +=
TARGET.EPOCSTACKSIZE = 0x14000
TARGET.EPOCHEAPSIZE = 0x020000 0x800000
}


OTHER_FILES += README.md TODO \
qtc_packaging/common/README \
qtc_packaging/common/copyright \
qtc_packaging/common/changelog \
qtc_packaging/debian_harmattan/manifest.aegis \
qtc_packaging/debian_harmattan/control \
qtc_packaging/debian_harmattan/rules \
qtc_packaging/debian_harmattan/compat \
qtc_packaging/debian_harmattan/$${PACKAGE_NAME}.desktop \
qtc_packaging/debian_fremantle/control \
qtc_packaging/debian_fremantle/rules \
qtc_packaging/debian_fremantle/compat \
qtc_packaging/debian_fremantle/$${PACKAGE_NAME}.desktop \
qtc_packaging/debian_generic/control \
qtc_packaging/debian_generic/$${PACKAGE_NAME}.desktop

#export(OTHER_FILES)

unix {

# Add files and directories to ship with the application
# by adapting the examples below.
# file1.source = myfile
# dir1.source = mydir
#lang.files = i18n
#DEPLOYMENTFOLDERS = lang# file1 dir1
#include(deployment.pri)
#qtcAddDeployment()
#TODO: add other platform packaging

!isEmpty(MEEGO_VERSION_MAJOR): PLATFORM = harmattan #armMEEGO_VERSION_MAJORel
else:maemo5: PLATFORM = fremantle
else: PLATFORM = generic

ARCH = `dpkg --print-architecture`
*maemo*: ARCH = $$QT_ARCH
#ARCH = $$QT_ARCH #what about harmattan?

fakeroot.target = fakeroot
fakeroot.depends = FORCE
fakeroot.commands = rm -rf fakeroot && mkdir -p fakeroot/usr/share/doc/$$PACKAGE_NAME && mkdir -p fakeroot/DEBIAN
fakeroot.commands += $$mcmd(chmod -R 755 fakeroot) ##control dir must be 755

deb.target = deb
deb.depends += fakeroot
deb.commands += $$mcmd(make install INSTALL_ROOT=\$\$PWD/fakeroot)
deb.commands += $$mcmd(cd fakeroot; md5sum `find usr -type f |grep -v DEBIAN` > DEBIAN/md5sums; cd -)
deb.commands += $$mcmd(cp $$PWD/qtc_packaging/debian_$${PLATFORM}/control fakeroot/DEBIAN)
deb.commands += $$mcmd(sed -i \"s/%arch%/$${ARCH}/\" fakeroot/DEBIAN/control)
deb.commands += $$mcmd(sed -i \"s/%version%/$${PACKAGE_VERSION}/\" fakeroot/DEBIAN/control)
deb.commands += $$mcmd(gzip -9 fakeroot/usr/share/doc/$$PACKAGE_NAME/changelog)
deb.commands += $$mcmd(dpkg -b fakeroot $${PACKAGE_NAME}_$${PACKAGE_VERSION}_$${PLATFORM}_$${ARCH}.deb)

#message("deb.commands: $$deb.commands")
QMAKE_EXTRA_TARGETS += fakeroot deb
#export(QMAKE_EXTRA_TARGETS)
#makeDeb($$PACKAGE_VERSION, $$PACKAGE_NAME)
}
#} #packageSet
1 change: 1 addition & 0 deletions qtc_packaging/common/README
1 change: 1 addition & 0 deletions qtc_packaging/common/changelog
38 changes: 38 additions & 0 deletions qtc_packaging/common/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
This package was debianized by Wang Bin <[email protected]> on
Fri, 15 Mar 2013 10:06:55 +0800.

It was downloaded from <https://sourceforge.net/projects/qtav>

Upstream Author(s):

Wang Bin(Lucas Wang) [email protected]

Copyright:

Copyright (C) 2013 Wang Bin(Lucas Wang)

License:

This package is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

On Debian systems, the complete text of the GNU Lesser General
Public License can be found in `/usr/share/common-licenses/LGPL'.

The Debian packaging is (C) 2013, Wang Bin <[email protected]> and
is licensed under the LGPL, see above.


# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
1 change: 1 addition & 0 deletions qtc_packaging/debian_fremantle/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7
14 changes: 14 additions & 0 deletions qtc_packaging/debian_fremantle/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Source: qtav
Section: user/hidden
Priority: optional
Maintainer: wbin <wbin@unknown>
Build-Depends: debhelper (>= 5), libqt4-dev
Standards-Version: 3.7.3
Homepage: <insert the upstream URL, if relevant>

Package: qtav
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
XB-Maemo-Display-Name: QtAV
91 changes: 91 additions & 0 deletions qtc_packaging/debian_fremantle/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1





configure: configure-stamp
configure-stamp:
dh_testdir
# qmake PREFIX=/usr# Uncomment this line for use without Qt Creator

touch configure-stamp


build: build-stamp

build-stamp: configure-stamp
dh_testdir

# Add here commands to compile the package.
# $(MAKE) # Uncomment this line for use without Qt Creator
#docbook-to-man debian/qtav.sgml > qtav.1

touch $@

clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp

# Add here commands to clean up after the build process.
$(MAKE) clean

dh_clean

install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs

# Add here commands to install the package into debian/qtav.
$(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/qtav install


# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_makeshlibs
dh_installdeb
# dh_shlibdeps # Uncomment this line for use without Qt Creator
dh_gencontrol
dh_md5sums
dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
13 changes: 13 additions & 0 deletions qtc_packaging/debian_generic/QtAV.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Name=QtAV player
GenericName=QtAV player
Comment=A media playing framework based on Qt and FFmpeg
Keywords=movie;video;player;multimedia;
Icon=QtAV
TryExec=player
Exec=player %U
Terminal=false
Homepage=https://github.com/wang-bin/QtAV
Categories=Qt;AudioVideo;Player;Video;Development;
MimeType=application/mxf;application/ogg;application/ram;application/sdp;application/smil;application/smil+xml;application/vnd.ms-wpl;application/vnd.rn-realmedia;application/x-extension-m4a;application/x-extension-mp4;application/x-flac;application/x-flash-video;application/x-matroska;application/x-netshow-channel;application/x-ogg;application/x-quicktime-media-link;application/x-quicktimeplayer;application/x-shorten;application/x-smil;application/xspf+xml;audio/3gpp;audio/ac3;audio/AMR;audio/AMR-WB;audio/basic;audio/midi;audio/mp2;audio/mp4;audio/mpeg;audio/mpegurl;audio/ogg;audio/prs.sid;audio/vnd.rn-realaudio;audio/x-aiff;audio/x-ape;audio/x-flac;audio/x-gsm;audio/x-it;audio/x-m4a;audio/x-matroska;audio/x-mod;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;audio/x-musepack;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-pn-wav;audio/x-pn-windows-acm;audio/x-realaudio;audio/x-real-audio;audio/x-sbc;audio/x-scpls;audio/x-speex;audio/x-tta;audio/x-wav;audio/x-wavpack;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-xm;image/vnd.rn-realpix;image/x-pict;misc/ultravox;text/google-video-pointer;text/x-google-video-pointer;video/3gpp;video/dv;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/msvideo;video/ogg;video/quicktime;video/vivo;video/vnd.divx;video/vnd.rn-realvideo;video/vnd.vivo;video/webm;video/x-anim;video/x-avi;video/x-flc;video/x-fli;video/x-flic;video/x-flv;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-ms-asf;video/x-ms-asx;video/x-msvideo;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-nsv;video/x-ogm+ogg;video/x-theora+ogg;video/x-totem-stream;x-content/video-dvd;x-content/video-vcd;x-content/video-svcd;x-scheme-handler/pnm;x-scheme-handler/mms;x-scheme-handler/net;x-scheme-handler/rtp;x-scheme-handler/rtsp;x-scheme-handler/mmsh;x-scheme-handler/uvox;x-scheme-handler/icy;x-scheme-handler/icyx;
13 changes: 13 additions & 0 deletions qtc_packaging/debian_generic/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Package: QtAV
Version: %version%
Architecture: %arch%
Maintainer: Wang Bin(Lucas Wang) <[email protected]>
Source: QtAV
Section: video
Priority: optional
Homepage: https://github.com/wang-bin/QtAV
Depends:
Description: A media playing framework based on Qt and FFmpeg
QtAV is a media playing framework based on Qt and FFmpeg. It can help you to write a player with less effort than ever before.


1 change: 1 addition & 0 deletions qtc_packaging/debian_generic/player.desktop
1 change: 1 addition & 0 deletions qtc_packaging/debian_harmattan/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7
21 changes: 21 additions & 0 deletions qtc_packaging/debian_harmattan/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Source: qtav
Section: user/other
Priority: optional
Maintainer: wbin <wbin@unknown>
Build-Depends: debhelper (>= 5), libqt4-dev
Standards-Version: 3.7.3
Homepage: <insert the upstream URL, if relevant>

Package: qtav
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
XSBC-Maemo-Display-Name: QtAV
XB-Maemo-Flags: visible
XB-MeeGo-Desktop-Entry-Filename: QtAV_harmattan
XB-MeeGo-Desktop-Entry:
[Desktop Entry]
Type=Application
Name=QtAV
Icon=/usr/share/icons/hicolor/80x80/apps/QtAV80.png
Loading

0 comments on commit 4bbbbc0

Please sign in to comment.