diff options
author | Martin Herkt <lachs0r@srsfckn.biz> | 2018-05-19 19:43:15 +0200 |
---|---|---|
committer | Martin Herkt <lachs0r@srsfckn.biz> | 2018-05-19 19:55:44 +0200 |
commit | 8c9abd8c7914b71562e2d81faad76015526a9f8e (patch) | |
tree | e18803e1bce2525b2470f7e1a458a0bccbbb0ae5 | |
parent | cd8832585c96b450598e2fe8ebad006345e8e51d (diff) | |
download | mpv-build-8c9abd8c7914b71562e2d81faad76015526a9f8e.tar.bz2 mpv-build-8c9abd8c7914b71562e2d81faad76015526a9f8e.tar.xz |
Remove Debian scripts
What’s so special about this distro that we not only have a repository
with scripts to compensate for the inability of its maintainers to
package and distribute software to our users, but also have to deal
with their incredibly bad tooling?
Also, the instructions don’t work and only waste users’ time. If these
“only exist for users who want to hurt themselves” then perhaps we
shouldn’t have them in the first place, even if “wants to hurt
themselves” practically describes the majority of Debian users.
Closes #106.
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | README.rst | 65 | ||||
-rw-r--r-- | debian/README.debian | 95 | ||||
-rw-r--r-- | debian/changelog.TEMPLATE | 5 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 86 | ||||
-rw-r--r-- | debian/copyright | 10 | ||||
-rw-r--r-- | debian/dirs | 2 | ||||
-rw-r--r-- | debian/mime | 20 | ||||
-rwxr-xr-x | debian/rules | 121 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/source/options | 2 | ||||
-rwxr-xr-x | scripts/debian-update-versions | 23 | ||||
-rwxr-xr-x | update | 7 |
14 files changed, 0 insertions, 445 deletions
@@ -4,11 +4,4 @@ /mpv /build_libs /ffmpeg_build -*.deb -/debian/changelog -/debian/files -/debian/mpv.debhelper.log -/debian/mpv.postinst.debhelper -/debian/mpv.postrm.debhelper -/debian/mpv.substvars /config/ @@ -12,8 +12,6 @@ OSX. Generic Instructions ==================== -(For Debian/Ubuntu see `Instructions for Debian and Ubuntu`_) - Make sure git is installed. Also check that the dependencies listed in the next section are installed. @@ -88,67 +86,6 @@ Do this in the mpv-build top-level directory (the same that contains the build scripts and this readme file). It must be done prior running ./build or ./rebuild. -Instructions for Debian and Ubuntu -================================== - -**Warning**: DO NOT USE THESE INSTRUCTIONS UNLESS YOU KNOW WHAT YOU ARE DOING. - These scripts are fragile (probably rather Debian's fault than ours). They - will often fail with weird errors that are hard to solve. They only exist - for users who want to hurt themselves. Use the generic instructions, unless - you really insist on having a Debian package as result. - -Install some fundamental packages with the command: - - apt-get install git devscripts equivs - -Now, to checkout the build repo, run: - - git clone https://github.com/mpv-player/mpv-build.git - - cd mpv-build - -To make sure that everything is up to date: - - ./update - -Install the dependencies with: - - rm -f mpv-build-deps_*_*.deb - - mk-build-deps -s sudo -i - -This will generate and install a dummy package that depends on the -required packages. The rm -f command makes sure there are no previous -versions of the build-deps package lying around that may otherwise -confuse mk-build-deps. - -If you don't want to use sudo, you can also try: - - mk-build-deps - - su -c 'dpkg -i mpv-build-deps_*_*.deb || apt-get install -f' - -You can now build a full mpv Debian package with the following command: - - dpkg-buildpackage -uc -us -b -j4 - -"4" is the number of jobs running in parallel - change it to match -your number of processors. The file mpv_<version>_<architecture>.deb -will be created in the parent directory. Install it with - - sudo dpkg -i ../mpv_<version>_<architecture>.deb - -where you must replace <version> with the version of mpv you just -built (as indicated in debian/changelog) and <architecture> with your -architecture. As with the mpv-build-deps package, you should ensure -you are installing the correct package and not one you previously -compiled. - -To recompile a new package based on the latest sources, repeat the -above steps starting with and including ``./update``. - -For further information regarding the Debian package, see -debian/README.Debian. Local changes to the git repositories ===================================== @@ -211,8 +148,6 @@ You can enable building libmpv by enabling the configure option: Note that this will make the mpv-build scripts also enable PIC for all used libraries. For this reason, be sure to run ``./clean`` before rebuilding. -The Debian packaging scripts do not support libmpv yet. - Contact ======= diff --git a/debian/README.debian b/debian/README.debian deleted file mode 100644 index 00ea1fb..0000000 --- a/debian/README.debian +++ /dev/null @@ -1,95 +0,0 @@ -mpv for Debian -============== - -This is the Debian package produced by the mpv-build scripts. It -contains a statically linked libass and ffmpeg (vs. libav contained in -Debian) from upstream. It is not an official part of the Debian -distribution. Instructions for building this package can be found in -the README.rst file in the mpv-build directory, or equivalently at [1]. - -[1] https://github.com/mpv-player/mpv. - -Differences with distribution packages -============================================ - -Debian testing/unstable already has a separate official package for mpv, which -closely tracks the current upstream releases. Debian stable, the latest Ubuntu -and Ubuntu LTS all also have official mpv packages, however these range from -outdated to extremely outdated. This pacakge can be compiled on all of these -platforms and offers either the most recent mpv release or git master. - -This pacakge statically links against the latest release or git master of ffmpeg. -Older Debian and Ubuntu use the libav fork of ffmpeg, and therefore that's what their -official mpv packages link against. However, ffmpeg is preferred for building -mpv as it enables more features. This situation is however changing as the -Debian testing version is now built against ffmpeg. - -Since the release cycle of libass is quite slow, even the "release" version of -this package links against the libass git master. Debian unstable uses the -latest libass release, while Debian stable, the latest Ubuntu and Ubuntu LTS all -use buggy and outdated libass releases. - -In order to maintain this interoperability between distributions, this -package must necessarily disable some features by default which are not -universally supported. These include Wayland support and libfdk for high -quality AAC encoding. These can hoewver be trivially enabled provided -sufficiently recent libraries as described below. - -On the other hand, this package enables native smb support (to play smb:// -URLs), video4linux2 (for web cams and video capture) and caca (for silly ascii -art output) which is not present in the official Debian package. - -Due to a persistent packaging bug, the official Ubuntu Trusty mpv is missing lua -support (therefore no on-screen controller). - -There are several other features that are disabled in both this -package as well as the official Debian package because they are not -widely needed or used. These include openal output, portaudio output, -rsound/libroar/sndio input/output, sdl1/sdl2, joystick, videoio.h/libpt. If -you find any of these useful, please open an issue at [3] explaining -why you think the feature in question should be enabled, and we can -try and include it in this package. - -[3] https://github.com/mpv-player/mpv-build/issues - -Building from git master -======================== -In addition to the default of building the latest released -version of mpv, this package can also trivially be built from the -latest git master of mpv (as well as ffmpeg and libass). As described -in README.rst [1], this is achieved by calling - - ./update --master - -prior to building this Debian package. - -Additional ffmpeg features -========================== - -All relevant and free ffmpeg features/codecs should be enabled. If -something is missing, it is a bug, and should be reported at [3]. -Features for which distribution packages are not universally available -are the exception. To enable the non-free Fraunhofer FDK AAC codec: - - apt-get install libfdk-aac-dev - echo --enable-nonfree --enable-libfdk-aac >> ffmpeg_options - -This must be done prior to building the package. - -Wayland support -=============== - -According to wayland.freedesktop.org, "Wayland is intended as a -simpler replacement for X, easier to develop and maintain". It is very -much a work in progress, so adequate functionality requires recent -version of the relevant libraries. At present, this not possible on -Debian Wheezy. To maintain interoperability, this package therefore -does not build with Wayland support by default. - -If you want Wayland support, you will need to manually install the -necessary packages before building: - - apt-get install libwayland-dev libxkbcommon-dev libegl1-mesa-dev - -The mpv build will then automatically detect and link to them if they are new -enough. diff --git a/debian/changelog.TEMPLATE b/debian/changelog.TEMPLATE deleted file mode 100644 index 9640e56..0000000 --- a/debian/changelog.TEMPLATE +++ /dev/null @@ -1,5 +0,0 @@ -mpv (1:1.0noversion) UNRELEASED; urgency=medium - - * local build - - -- Local User <localuser@localhost> Sat, 08 Feb 2014 03:47:26 -0800 diff --git a/debian/compat b/debian/compat deleted file mode 100644 index ec63514..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -9 diff --git a/debian/control b/debian/control deleted file mode 100644 index b96df7d..0000000 --- a/debian/control +++ /dev/null @@ -1,86 +0,0 @@ -Source: mpv -Section: misc -Priority: optional -Maintainer: Kevin Mitchell <kevmitch@gmail.com> -Standards-Version: 3.9.3 -Build-Depends: - autoconf, - automake, - c-compiler | gcc, - debhelper (>= 7), - ladspa-sdk, - libasound2-dev [linux-any], - libbluray-dev, - libbs2b-dev, - libcaca-dev, - libcdio-paranoia-dev, - libdvdnav-dev, - libdvdread-dev, - libegl1-mesa-dev, - libfontconfig-dev, - libfreetype6-dev, - libfribidi-dev, - libgl1-mesa-dev, - libgbm-dev, - libgme-dev, - libgnutls-dev | libgnutls28-dev, - libgsm1-dev, - libharfbuzz-dev, - libjack-jackd2-dev | libjack-dev, - libjpeg-dev, - liblcms2-dev, - liblircclient-dev, - liblua5.2-dev | liblua5.1-0-dev, - libmodplug-dev, - libmp3lame-dev, - libopenal-dev, - libopus-dev, - libopencore-amrnb-dev, - libopencore-amrwb-dev, - libpulse-dev, - librtmp-dev, - librubberband-dev, - libsmbclient-dev, - libssh-dev, - libsoxr-dev, - libspeex-dev, - libtheora-dev, - libtool, - libtwolame-dev, - libuchardet-dev, - libv4l-dev [!hurd-any], - libva-dev [!hurd-any], - libvdpau-dev, - libvorbis-dev, - libvo-amrwbenc-dev, - libvpx-dev, - libwavpack-dev, - libx264-dev, - libx11-dev, - libxext-dev, - libxinerama-dev, - libxrandr-dev, - libxss-dev, - libxv-dev, - libxvidcore-dev, - pkg-config, - python, - python-docutils, - x11proto-core-dev, - yasm, - zlib1g-dev - -Package: mpv -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Recommends: - libgl1-mesa-dri, - i965-va-driver | libva-intel-vaapi-driver | va-driver, - mesa-vdpau-drivers | nvidia-vdpau-driver | nvidia-driver-binary | nvidia-current | vdpau-driver -Suggests: libaacs0 -Description: mplayer/mplayer2 based video player - MPV is a versatile CLI movie player, based on mplayer and mplayer2. - . - This package is not part of Debian. It was created by mpv-build scripts with - statically linked ffmpeg (not libav) and libass from upstream. -Homepage:https://github.com/mpv-player/mpv-build diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index 80691e8..0000000 --- a/debian/copyright +++ /dev/null @@ -1,10 +0,0 @@ -Current maintainership mostly handled by Kevin Mitchell <kevmitch@gmail.com> -Thu, 27 Mar 2014 16:39:11 -0700 - -This package was debianized by Wessel Dankers <wsl@fruit.je> on -Sun, 06 Jan 2013 13:44:11 +0100. - -Original source can be found at: https://github.com/mpv-player - -Copyrighted by various authors. Licensed under the terms of GNU GPL. -See /usr/share/common-licenses/GPL for details. diff --git a/debian/dirs b/debian/dirs deleted file mode 100644 index 98d1583..0000000 --- a/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/man/man1 diff --git a/debian/mime b/debian/mime deleted file mode 100644 index e405227..0000000 --- a/debian/mime +++ /dev/null @@ -1,20 +0,0 @@ -application/x-ogg; mpv %s; description="Ogg Stream" -application/ogg; mpv %s; description="Ogg Stream" -audio/mpeg; mpv %s; description="MPEG Audio" -audio/x-mpegurl; mpv %s; description="Icecast Playlist" -audio/x-ms-wax; mpv %s; description="Windows Media Audio" -audio/x-ms-wma; mpv %s; description="Windows Media Audio" -audio/x-pls; mpv %s; description="MP3 ShoutCast/IceCast Playlist" -audio/x-scpls; mpv %s; description="Shoutcast Playlist" -audio/x-wav; mpv %s; description="WAV Audio" -video/mpeg; mpv %s; description="MPEG Video"; -video/quicktime; mpv %s; description="Apple QuickTime Video"; -video/x-mpeg; mpv %s; description="MPEG Video"; -video/x-mpeg2; mpv %s; description="MPEG-2 Video"; -video/x-msvideo; mpv %s; description="MS Video (AVI)"; -video/x-ms-afs; mpv %s; description="Microsoft ASF Video"; -video/x-ms-asf; mpv %s; description="Microsoft ASF Video"; -video/x-ms-wma; mpv %s; description="Windows Media Audio"; -video/x-ms-wmv; mpv %s; description="Windows Media Video"; -video/x-ms-wmx; mpv %s; description="Windows Media Video"; -video/x-ms-wvx; mpv %s; description="Windows Media Video"; diff --git a/debian/rules b/debian/rules deleted file mode 100755 index ea53758..0000000 --- a/debian/rules +++ /dev/null @@ -1,121 +0,0 @@ -#! /usr/bin/make -f - -export DEB_BUILD_MAINT_OPTIONS:=hardening=+all - -# To enable parallel building: -# You can either set DEB_BUILD_OPTIONS=paralell=<num-procs> in your build environment -# or provide the -j<numprocs> option to debuild or dpkg-buildpackage, which -# ammounts to the same thing. -ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) -# use MFLAGS, rather than MAKEFLAGS as the latter is used by make internally - MFLAGS += -j$(NUMJOBS) - WAFFLAGS += -j$(NUMJOBS) -endif - -# make .PHONY all the targets that have name collisions with the scripts -# see http://www.debian.org/doc/manuals/maint-guide/dreq.en.html#rules -.PHONY: clean build install -# Apparently, the above isn't enough because of the "%" target. Make the problematic targets explicit -clean: - exec dh $@ -build: - exec dh $@ -install: - exec dh $@ -# Handle all other targets in the usual way. -# The --parallel flag to dh doesn't seem to have the intended effect -# so leave it out. -%: - exec dh $@ - -libass_config: - scripts/libass-config - -libass_build: libass_config - scripts/libass-build $(MFLAGS) - -# depend on libass_build in case the user specified --enable-libass in ffmpeg_options -ffmpeg_config: libass_build - scripts/ffmpeg-config \ - --enable-gnutls \ - --enable-libgme \ - --enable-libgsm \ - --enable-libmodplug \ - --enable-libmp3lame \ - --enable-libopus \ - --enable-libpulse \ - --enable-libsoxr \ - --enable-libspeex \ - --enable-libssh \ - --enable-libtheora \ - --enable-libtwolame \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libwavpack \ - --enable-ladspa \ - --enable-libbs2b \ - --enable-gpl --enable-libxvid --enable-libx264 \ - --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc - -ffmpeg_build: ffmpeg_config - scripts/ffmpeg-build $(MFLAGS) - -# put the config in the right place and drop the local/ since it's package managed now -override_dh_auto_configure: ffmpeg_build libass_build - scripts/mpv-config --prefix=/usr --confdir=/etc/mpv \ - --enable-openal \ - --enable-dvdread \ - --enable-dvdnav \ - --enable-cdda \ - --enable-libsmbclient \ - --enable-zsh-comp - -override_dh_auto_build: - scripts/mpv-build $(WAFLAGS) - - -DOCSOURCE=mpv/DOCS -TOOLSSOURCE=mpv/TOOLS -DOCDEST=debian/mpv/usr/share/doc/mpv -TOOLSDEST=$(DOCDEST)/TOOLS -# call waf to install to the debian packageing dir -override_dh_auto_install: - cd mpv && python waf -v install --destdir=../debian/mpv - - find "$(DOCSOURCE)" -mindepth 1 -type d \ - -not -regex '.*man.*' \ - -not -regex '.*client_api_examples.*' \ - -printf "%P\0" | \ - xargs -0i /usr/bin/install -d "$(DOCDEST)/{}" - - find "$(DOCSOURCE)" -mindepth 1 -type f \ - -not -regex '.*man.*' \ - -not -regex '.*client_api_examples.*' \ - -not -name 'tech-overview.txt' \ - -not -name 'waf-buildsystem.rst' \ - -not -name 'crosscompile-mingw.md' \ - -not -name 'coding-style.md' \ - -printf "%P\0" | \ - xargs -0i /usr/bin/install -m644 "$(DOCSOURCE)/{}" "$(DOCDEST)/{}" - - find "$(TOOLSSOURCE)" -mindepth 1 -type d \ - -not -regex '.*osxbundle.*' \ - -printf "%P\0" | \ - xargs -0i /usr/bin/install -d "$(TOOLSDEST)/{}" - - find "$(TOOLSSOURCE)" -mindepth 1 -type f \ - -not -regex '.*osxbundle.*' \ - -not -name 'gen-x11-icon.sh' \ - -not -name 'file2string.pl' \ - -not -name 'uncrustify.cfg' \ - -printf "%P\0" | \ - xargs -0i /usr/bin/install -m644 "$(TOOLSSOURCE)/{}" "$(TOOLSDEST)/{}" - -# for manually installed dependencies -override_dh_shlibdeps: - dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info - -# call all the cleans -override_dh_auto_clean: - ./clean diff --git a/debian/source/format b/debian/source/format deleted file mode 100644 index 89ae9db..0000000 --- a/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (native) diff --git a/debian/source/options b/debian/source/options deleted file mode 100644 index 659f59c..0000000 --- a/debian/source/options +++ /dev/null @@ -1,2 +0,0 @@ -compression = xz -compression-level = best diff --git a/scripts/debian-update-versions b/scripts/debian-update-versions deleted file mode 100755 index af59632..0000000 --- a/scripts/debian-update-versions +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -get_version() -{ - ( - cd $1 > /dev/null - VERSION=1:$(git name-rev --name-only --tags HEAD | sed -e 's/^[^0-9]*//' -e 's/\^0$//') - if [ "$VERSION" = "1:" ]; then - TIMESTAMP=$(git log -1 --date=short --format=%cd | sed 's/-/./g') - COMMIT=$(git rev-parse --short HEAD) - VERSION="2:${TIMESTAMP}.${COMMIT}" - fi - echo ${VERSION} - ) -} - -do_subst() { - sed -e "0,/^mpv (.*)/s/(.*)/($1)/" \ - -e "s/^ \* local build.*/ \* local build with ffmpeg $2, libass $3/" \ - -e"s/\(^ -- Local User <localuser@localhost>\).*/\1 $(date -R)/" debian/changelog.TEMPLATE > debian/changelog -} - -do_subst $(get_version mpv) $(get_version ffmpeg) $(get_version libass) @@ -104,11 +104,6 @@ do_bootstrap() scripts/mpv-bootstrap } -do_update_debian_versions() -{ - scripts/debian-update-versions $1 -} - if [ x"$1" != x"--skip-selfupdate" ]; then ( set -ex @@ -141,6 +136,4 @@ esac checkout_all -do_update_debian_versions - do_bootstrap |