probe for build deps
Some checks failed
PikaOS Package Build Only (Canary) (i386) / build (push) Failing after 16s

This commit is contained in:
Ward from fusion-voyager-3 2024-08-09 22:03:03 +03:00
parent f473bc4b2b
commit 231992b00a
23 changed files with 691 additions and 90 deletions

View File

@ -1 +1 @@
1
2

6
debian/changelog vendored
View File

@ -1,5 +1,5 @@
upstream-name (1.0-101pika1) pika; urgency=medium
wine-staging (9.14-101pika1) pika; urgency=low
* Initial release. (Closes: #nnnn) <nnnn is the bug number of your ITP>
* version number update by debtransform
-- ferreo <harderthanfire@gmail.com> Wed, 18 Jan 2023 21:48:14 +0000
-- debtransform <build@opensuse.org> Sun, 28 Jul 2024 23:57:21 +0000

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
11

234
debian/control vendored
View File

@ -1,19 +1,219 @@
Source: upstream-name
Section: admin
Source: wine-staging
Section: otherosfs
Priority: optional
Maintainer: name <email>
Standards-Version: 4.6.1
Build-Depends: debhelper-compat (= 13)
Rules-Requires-Root: no
Maintainer: Rosanne DiMesio <dimesio@earthlink.net>, Marcus Meissner <meissner@suse.com>
XSBC-Original-Maintainer: WineHQ Builds <webmaster@fds-team.de>
Build-Depends: autotools-dev,
autoconf,
bison,
docbook-to-man,
docbook-utils,
docbook-xsl,
flex,
fontforge,
gawk,
gcc,
gettext,
libacl1-dev,
libasound2-dev,
libavcodec-dev,
libcups2-dev,
libdbus-1-dev,
libfontconfig1-dev | libfontconfig-dev,
libfreetype6-dev,
libgl1-mesa-dev,
libglu1-mesa-dev,
libgnutls30-dev | libgnutls28-dev | libgnutls-dev,
libgphoto2-dev | libgphoto2-6-dev | libgphoto2-2-dev (>= 2.4.6),
libgstreamer1.0-dev,
libgstreamer-plugins-base1.0-dev,
libgtk-3-dev,
libice-dev,
libkrb5-dev,
libncurses6-dev | libncurses5-dev | libncurses-dev,
libosmesa6-dev,
libpcap-dev,
libpulse-dev,
libsane-dev,
libsdl2-dev,
libssl-dev,
libstdc++6-4.5-dev | libstdc++-dev,
libudev-dev,
libv4l-dev,
libva-dev,
libx11-dev,
libx11-xcb-dev,
libxcomposite-dev,
libxcursor-dev,
libxext-dev,
libxi-dev,
libxinerama-dev,
libxrandr-dev,
libxrender-dev,
libxt-dev,
libxxf86vm-dev,
linux-libc-dev,
patch,
perl,
sharutils,
unixodbc-dev,
x11proto-xinerama-dev
Standards-Version: 3.9.5
Package: pkgname1
Architecture: linux-any
# Delete any of these lines if un-used
Depends: ${misc:Depends}, depends
Recommends: high priority optdepends
Conflicts: conflicts
Suggests: low priority optdepends
Breaks: also conflicts!?
Provides: provides
#
Description: pkgdesc
Package: wine-staging-i386
Architecture: i386
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
libasound2-plugins,
libncurses6 | libncurses5 | libncurses
Recommends: libcairo2,
libcap2-bin,
libcups2,
libdbus-1-3,
libfontconfig1,
libfreetype6,
libglu1-mesa | libglu1,
libgnutls30 | libgnutls-deb0-28 |libgnutls26,
libgssapi-krb5-2,
libgtk-3-0,
libkrb5-3,
libodbc2 |libodbc1,
libosmesa6,
libpcap0.8,
libsane | libsane1,
libsdl2-2.0-0,
libv4l-0,
libva-drm2 | libva-drm1,
libva-x11-2 | libva-x11-1,
libva2 | libva1,
libxcomposite1,
libxcursor1,
libxfixes3,
libxi6,
libxinerama1,
libxrandr2,
libxrender1,
libxxf86vm1
Section: otherosfs
Priority: optional
Description: WINE Is Not An Emulator - runs MS Windows programs
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix.
.
This package contains the files needed to support 32-bit Windows
programs.
Package: wine-staging-amd64
Architecture: amd64
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
libasound2-plugins,
libncurses6 | libncurses5 | libncurses,
Recommends: libcairo2,
libcap2-bin,
libcups2,
libdbus-1-3,
libfontconfig1,
libfreetype6,
libglu1-mesa | libglu1,
libgnutls30 | libgnutls-deb0-28 |libgnutls26,
libgssapi-krb5-2,
libgtk-3-0,
libkrb5-3,
libodbc2 |libodbc1,
libosmesa6,
libpcap0.8,
libsane | libsane1,
libsdl2-2.0-0,
libv4l-0,
libva-drm2 | libva-drm1,
libva-x11-2 | libva-x11-1,
libva2 | libva1,
libxcomposite1,
libxcursor1,
libxfixes3,
libxi6,
libxinerama1,
libxrandr2,
libxrender1,
libxxf86vm1
Section: otherosfs
Priority: optional
Description: WINE Is Not An Emulator - runs MS Windows programs
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix.
.
This package contains the files needed to support 64-bit Windows
programs.
Package: wine-staging
Architecture: i386 amd64
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends},
wine-staging-i386 (= ${binary:Version}) [i386 amd64],
wine-staging-amd64 (= ${binary:Version}) [amd64],
Recommends: libcap2-bin,
Section: otherosfs
Priority: optional
Description: WINE Is Not An Emulator - runs MS Windows programs
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix. It
consists of a program loader which loads and executes a Microsoft
Windows binary, and a library (called Winelib) that implements Windows
API calls using their Unix or X11 equivalents. The library may also
be used for porting Win32 code into native Unix executables.
Package: wine-staging-dev
Architecture: i386 amd64 armhf
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: libc6-dev,
${shlibs:Depends},
wine-staging-i386 (= ${binary:Version}) [i386 amd64],
wine-staging-amd64 (= ${binary:Version}) [amd64],
Section: libdevel
Priority: optional
Description: WINE Is Not An Emulator - runs MS Windows programs
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix.
.
This package contains the libraries and header files needed to
develop programs which make use of Wine.
Package: wine-staging-dbg
Architecture: i386 amd64
Multi-Arch: same
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
wine-staging-i386 (= ${binary:Version}) [i386 amd64],
wine-staging-amd64 (= ${binary:Version}) [amd64],
Section: debug
Priority: optional
Description: WINE Is Not An Emulator - runs MS Windows programs
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix.
.
This package includes debugging symbols useful for reporting crashes
and other failures.
Package: winehq-staging
Architecture: i386 amd64
Depends: wine-staging (= ${binary:Version}), ${misc:Depends}
Section: otherosfs
Priority: optional
Replaces: wine, wine1.4, wine1.5, wine1.6, wine1.7, wine-i386, wine1.4-i386,
wine1.5-i386, wine1.6-i386, wine1.7-i386, wine-amd64, wine1.4-amd64,
wine1.5-amd64, wine1.6-amd64, wine1.7-amd64, wine32, wine64
Conflicts: wine, wine-i386, wine-amd64
Provides: wine, wine1.4, wine1.5, wine1.6, wine1.7, wine-i386, wine1.4-i386,
wine1.5-i386, wine1.6-i386, wine1.7-i386, wine-amd64 [amd64],
wine1.4-amd64 [amd64], wine1.5-amd64 [amd64], wine1.6-amd64 [amd64],
wine1.7-amd64 [amd64], wine32, wine64 [amd64]
Description: WINE Is Not An Emulator - runs MS Windows programs
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix.
.
This compatibility package allows to use wine-staging system-wide as
the default Wine version.

139
debian/copyright vendored
View File

@ -0,0 +1,139 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Wine Staging
Source: https://www.winehq.org
Files: *
Copyright: 1993-2024, the Wine project authors
2014-2024, the Wine Staging project authors
License: LGPL-2.1
Files: patches/fonts-Missing_Fonts/0001-fonts-Add-Liberation-Sans-as-an-Arial-replacement.patch
Copyright: 2007, Red Hat
License: LiberationFontLicense
Files: patches/fonts-Missing_Fonts/0002-fonts-Add-Liberation-Serif-as-an-Times-New-Roman-rep.patch
Copyright: 2007, Red Hat
License: LiberationFontLicense
Files: patches/fonts-Missing_Fonts/0003-fonts-Add-Liberation-Mono-as-an-Courier-New-replacem.patch
Copyright: 2007, Red Hat
License: LiberationFontLicense
Files: patches/fonts-Missing_Fonts/0004-fonts-Add-WenQuanYi-Micro-Hei-as-a-Microsoft-Yahei-r.patch
Copyright: 2008-2009, WenQuanYi Board of Trustees
2007, Google Corporation
2003-2004, Electronic Font Open Laboratory
1990-2003, Wada Laboratory, the University of Tokyo
License: Apache-2 or GPL-3+ with font embedding exceptions
License: LGPL-2.1
This software 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 program 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.
.
On Debian systems, the complete text of the GNU Library General Public
License can be found in /usr/share/common-licenses/LGPL-2.1 file.
License: LiberationFontLicense
LICENSE AGREEMENT AND LIMITED PRODUCT WARRANTY
LIBERATION FONT SOFTWARE
.
This agreement governs the use of the Software and any updates to the Software,
regardless of the delivery mechanism. Subject to the following terms, Red Hat,
Inc. ("Red Hat") grants to the user ("Client") a license to this work pursuant
to the GNU General Public License v.2 with the exceptions set forth below and
such other terms as our set forth in this End User License Agreement.
.
1.The Software and License Exception. LIBERATION font software (the "Software")
consists of TrueType-OpenType formatted font software for rendering LIBERATION
typefaces in sans serif, serif, and monospaced character styles. You are licensed
to use, modify, copy, and distribute the Software pursuant to the GNU General
Public License v.2 with the following exceptions:
(a)As a special exception, if you create a document which uses this font, and
embed this font or unaltered portions of this font into the document, this font
does not by itself cause the resulting document to be covered by the GNU General
Public License. This exception does not however invalidate any other reasons why
the document might be covered by the GNU General Public License. If you modify
this font, you may extend this exception to your version of the font, but you
are not obligated to do so. If you do not wish to do so, delete this exception
statement from your version.
(b)As a further exception, any distribution of the object code of the Software
in a physical product must provide you the right to access and modify the source
code for the Software and to reinstall that modified version of the Software in
object code form on the same physical product on which you received it.
2.Intellectual Property Rights. The Software and each of its components,
including the source code, documentation, appearance, structure and organization
are owned by Red Hat and others and are protected under copyright and other laws.
Title to the Software and any component, or to any copy, modification, or merged
portion shall remain with the aforementioned, subject to the applicable license.
The "LIBERATION" trademark is a trademark of Red Hat, Inc. in the U.S. and other
countries. This agreement does not permit Client to distribute modified versions
of the Software using Red Hat's trademarks. If Client makes a redistribution of
a modified version of the Software, then Client must modify the files names to
remove any reference to the Red Hat trademarks and must not use the Red Hat
trademarks in any way to reference or promote the modified Software.
3.Limited Warranty. To the maximum extent permitted under applicable law, the
Software is provided and licensed "as is" without warranty of any kind,
expressed or implied, including the implied warranties of merchantability,
non-infringement or fitness for a particular purpose. Red Hat does not warrant
that the functions contained in the Software will meet Client's requirements or
that the operation of the Software will be entirely error free or appear
precisely as described in the accompanying documentation.
4.Limitation of Remedies and Liability. To the maximum extent permitted by
applicable law, Red Hat or any Red Hat authorized dealer will not be liable to
Client for any incidental or consequential damages, including lost profits or
lost savings arising out of the use or inability to use the Software, even if
Red Hat or such dealer has been advised of the possibility of such damages.
5.General. If any provision of this agreement is held to be unenforceable, that
shall not affect the enforceability of the remaining provisions. This agreement
shall be governed by the laws of the State of North Carolina and of the United
States, without regard to any conflict of laws provisions, except that the
United Nations Convention on the International Sale of Goods shall not apply.
Copyright © 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark
of Red Hat, Inc.
License: GPL-3+ with font embedding exceptions
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This program 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 General Public License for more details.
.
As a special exception, if you create a document which uses this font,
and embed this font or unaltered portions of this font into the
document, this font does not by itself cause the resulting document to
be covered by the GNU General Public License. This exception does not
however invalidate any other reasons why the document might be covered
by the GNU General Public License. If you modify this font, you may
extend this exception to your version of the font, but you are not
obligated to do so. If you do not wish to do so, delete this exception
statement from your version.
.
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in /usr/share/common-licenses/GPL-3 file.
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the complete text of the Apache License 2.0 can be
found in /usr/share/common-licenses/Apache-2.0 file.

170
debian/rules vendored
View File

@ -1,67 +1,109 @@
#! /usr/bin/make -f
#!/usr/bin/make -f
## See debhelper(7) (uncomment to enable).
## Output every command that modifies files on the build system.
export DH_VERBOSE = 1
export PIKA_BUILD_ARCH = $(shell cat ../pika-build-arch)
export DEB_CFLAGS_MAINT_STRIP = -fstack-protector-strong -fcf-protection=full
export DEB_BUILD_MAINT_OPTIONS = optimize=-lto hardening=-relro
## === the chain of command ===
## debuild runs a chain of dh functions in the following order:
## dh_testdir
## dh_clean
## dh_auto_clean
## dh_update_autotools_config
## dh_autoreconf
## dh_auto_configure
## dh_prep
## dh_build
## dh_auto_build
## dh_install
## dh_auto_install
## dh_installdocs
## dh_installchangelogs
## dh_perl
## dh_link
## dh_strip_nondeterminism
## dh_compress
## dh_fixperms
## dh_missing
## dh_dwz
## dh_strip
## dh_makeshlibs
## dh_shlibdeps
## dh_installdeb
## dh_gencontrol
## but you are most likely to only need to override the following:
## dh_clean
## dh_auto_configure
## dh_build
## dh_install
## === End end of region ===
## === overriding dh functions ===
## by default all dh functions will run a specific command based on the build system selected by "dh $@"
## if you have a makefile that does everything you need this is fine,
## but most likely you have no MakeFile and you want to add your own commands
## Note : overrides must be places above %:
## So here's a few examples:
## overriding dh_clean to make it not delete rust vendor files:
#override_dh_clean:
# echo "disabled"
## overriding dh_auto_configure to add custom configs:
#override_dh_auto_configure:
# $(srcdir)/configure -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_DATADIR=/usr/share -DCMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu -DBUILD_PLUGIN=OFF
## overriding dh_install to install files to a package:
#override_dh_auto_configure:
# mkdir -p debian/pikman/usr/bin
# cp pikman debian/pikman/usr/bin/
## === End end of region ===
## This here will start the build:
# Prefer gcc-4.5, then 4.7, then 4.9 - otherwise fallback to gcc.
export CC = $(shell for _cc in gcc-4.5 gcc-4.7 gcc-4.9 gcc false; do \
if which "$$_cc" >/dev/null 2>&1; then echo "$$_cc"; break; fi; done)
%:
dh $@
dh $@ --parallel
# dh $@ --max-parallel=1
override_dh_auto_configure:
# Run configure
ifeq ($(DEB_BUILD_ARCH), amd64)
./configure --prefix=/opt/wine-staging \
--libdir=\$${prefix}/lib64 \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--enable-win64 \
--disable-tests \
--with-gstreamer \
--with-xattr \
$(CONFFLAGS)
else
./configure --prefix=/opt/wine-staging \
--libdir=\$${prefix}/lib \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--disable-tests \
--with-gstreamer \
--with-xattr \
$(CONFFLAGS)
endif
override_dh_auto_test:
# Wine's test suite does not pass on build daemons, skip it for now
override_dh_installdocs:
dh_installdocs --link-doc=wine-staging
override_dh_install:
dh_install --fail-missing
# These files will end up in multiple packages otherwise
rm -f debian/wine-staging/opt/wine-staging/bin/wine
rm -f debian/wine-staging/opt/wine-staging/bin/wine-preloader
rm -f debian/wine-staging/opt/wine-staging/bin/wine64
rm -f debian/wine-staging/opt/wine-staging/bin/wine64-preloader
# Compat symlinks for bindir
mkdir -p debian/winehq-staging/usr/bin
for _file in $$(ls "debian/wine-staging/opt/wine-staging/bin"); do \
ln -s "/opt/wine-staging/bin/$$_file" "debian/winehq-staging/usr/bin/$$_file"; \
done
for _file in wine wine-preloader; do \
ln -s "/opt/wine-staging/bin/$$_file" "debian/winehq-staging/usr/bin/$$_file"; \
done
ifeq ($(DEB_HOST_ARCH),amd64)
for _file in wine64 wine64-preloader; do \
ln -s "/opt/wine-staging/bin/$$_file" "debian/winehq-staging/usr/bin/$$_file"; \
done
endif
# Compat symlinks for desktop file
mkdir -p "debian/winehq-staging/usr/share/applications"
for _file in $$(ls "debian/wine-staging/opt/wine-staging/share/applications"); do \
ln -s "/opt/wine-staging/share/applications/$$_file" "debian/winehq-staging/usr/share/applications/$$_file"; \
done
# Compat manpages
for _dir in man1 de.UTF-8/man1 fr.UTF-8/man1 pl.UTF-8/man1; do \
mkdir -p "debian/winehq-staging/usr/share/man/$$_dir"; \
if [ -d "debian/wine-staging/opt/wine-staging/share/man/$$_dir" ]; then \
for _file in $$(ls "debian/wine-staging/opt/wine-staging/share/man/$$_dir"); do \
ln -s "/opt/wine-staging/share/man/$$_dir/$$_file" "debian/winehq-staging/usr/share/man/$$_dir/$$_file"; \
done; \
fi; \
ln -s "/opt/wine-staging/share/man/$$_dir/wine.1" "debian/winehq-staging/usr/share/man/$$_dir/wine.1"; \
done
# Generate list of recommendations
# ifeq ($(DEB_HOST_ARCH),amd64)
# ./debian/recommendations.sh "-m64" "include/config.h" "debian/wine-staging-amd64.substvars"
# else ifeq ($(DEB_HOST_ARCH),armhf)
# ./debian/recommendations.sh "-m32" "include/config.h" "debian/wine-staging-arm.substvars"
# else
# ./debian/recommendations.sh "-m32" "include/config.h" "debian/wine-staging-i386.substvars"
# endif
override_dh_strip:
dh_strip -Xwine-pthread -Xwine-kthread --dbg-package=wine-staging-dbg
override_dh_shlibdeps:
ifeq ($(DEB_HOST_ARCH),amd64)
dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-staging/lib64/
else
dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-staging/lib/
endif

10
debian/wine-staging-amd64.config vendored Normal file
View File

@ -0,0 +1,10 @@
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
db_input low wine/setcaps || true
db_go
exit 0

4
debian/wine-staging-amd64.install vendored Normal file
View File

@ -0,0 +1,4 @@
/opt/wine-staging/lib64/wine/x86_64-unix
/opt/wine-staging/lib64/wine/x86_64-windows
/opt/wine-staging/bin/wine64
/opt/wine-staging/bin/wine64-preloader

View File

@ -0,0 +1,3 @@
# Wine preloader needs static linking to reserve memory and work properly, see
# the comments at loader/preloader.c for a fuller explanation
wine-staging-amd64 binary: statically-linked-binary /opt/wine-staging/bin/wine64-preloader

37
debian/wine-staging-amd64.postinst vendored Normal file
View File

@ -0,0 +1,37 @@
#!/bin/sh
set -e
# Alternatively this check can be disabled by preseeding:
# echo "wine/setcaps boolean false" | debconf-set-selections
. /usr/share/debconf/confmodule
case "$1" in
configure)
if command -v setcap > /dev/null; then
db_get wine/setcaps
# Allow dpkg-reconfigure to remove caps
if test "$RET" = "true"; then
if ! setcap "cap_net_raw=epi" /opt/wine-staging/bin/wine64-preloader; then
echo "Setcap failed on /opt/wine-staging/bin/wine64-preloader, applications that need to send/receive raw IP packets will not work" >&2
fi
else
# setcap -r fails if the xattr is not present
if getcap /opt/wine-staging/bin/wine64-preloader | grep -qs "/opt/wine-staging/bin/wine64-preloader"; then
if ! setcap "-r" /opt/wine-staging/bin/wine64-preloader; then
echo "Setcap -r failed on /opt/wine-staging/bin/wine64-preloader, could not remove capabilities" >&2
fi
fi
fi
fi
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

9
debian/wine-staging-amd64.templates vendored Normal file
View File

@ -0,0 +1,9 @@
Template: wine/setcaps
Type: boolean
Default: false
Description: Allow ordinary users to run applications in Wine that send/receive raw IP packets?
Some applications need to send/receive raw IP packets, which on Linux requires
either a privileged user or the CAP_NET_RAW capability.
By answering yes to this question, the Wine binaries will be installed with CAP_NET_RAW
capability enabled. This will allow the applications that need it to function correctly,
but is a potential security risk.

1
debian/wine-staging-dev.install vendored Normal file
View File

@ -0,0 +1 @@
/opt/wine-staging/include

10
debian/wine-staging-i386.config vendored Normal file
View File

@ -0,0 +1,10 @@
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
db_input low wine/setcaps || true
db_go
exit 0

8
debian/wine-staging-i386.install vendored Normal file
View File

@ -0,0 +1,8 @@
/opt/wine-staging/lib/wine/i386-unix
/opt/wine-staging/lib/wine/i386-windows
/opt/wine-staging/bin/wine
/opt/wine-staging/bin/wine-preloader
/opt/wine-staging/share/man/man?/wine.?*
/opt/wine-staging/share/man/de.UTF-8/man?/wine.?*
/opt/wine-staging/share/man/fr.UTF-8/man?/wine.?*
/opt/wine-staging/share/man/pl.UTF-8/man?/wine.?*

View File

@ -0,0 +1,3 @@
# Wine preloader needs static linking to reserve memory and work properly, see
# the comments at loader/preloader.c for a fuller explanation
wine-staging-i386 binary: statically-linked-binary /opt/wine-staging/bin/wine-preloader

37
debian/wine-staging-i386.postinst vendored Normal file
View File

@ -0,0 +1,37 @@
#!/bin/sh
set -e
# Alternatively this check can be disabled by preseeding:
# echo "wine/setcaps boolean false" | debconf-set-selections
. /usr/share/debconf/confmodule
case "$1" in
configure)
if command -v setcap > /dev/null; then
db_get wine/setcaps
# Allow dpkg-reconfigure to remove caps
if test "$RET" = "true"; then
if ! setcap "cap_net_raw=epi" /opt/wine-staging/bin/wine-preloader; then
echo "Setcap failed on /opt/wine-staging/bin/wine-preloader, applications that need to send/receive raw IP packets will not work" >&2
fi
else
# setcap -r fails if the xattr is not present
if getcap /opt/wine-staging/bin/wine-preloader | grep -qs "/opt/wine-staging/bin/wine-preloader"; then
if ! setcap "-r" /opt/wine-staging/bin/wine-preloader; then
echo "Setcap -r failed on /opt/wine-staging/bin/wine-preloader, could not remove capabilities" >&2
fi
fi
fi
fi
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

9
debian/wine-staging-i386.templates vendored Normal file
View File

@ -0,0 +1,9 @@
Template: wine/setcaps
Type: boolean
Default: false
Description: Allow ordinary users to run applications in Wine that send/receive raw IP packets?
Some applications need to send/receive raw IP packets, which on Linux requires
either a privileged user or the CAP_NET_RAW capability.
By answering yes to this question, the Wine binaries will be installed with CAP_NET_RAW
capability enabled. This will allow the applications that need it to function correctly,
but is a potential security risk.

10
debian/wine-staging.config vendored Normal file
View File

@ -0,0 +1,10 @@
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
db_input low wine/setcaps || true
db_go
exit 0

4
debian/wine-staging.docs vendored Normal file
View File

@ -0,0 +1,4 @@
documentation/README*
ANNOUNCE.md
AUTHORS
README.md

28
debian/wine-staging.install vendored Normal file
View File

@ -0,0 +1,28 @@
/opt/wine-staging/bin
/opt/wine-staging/share/applications
/opt/wine-staging/share/wine
/opt/wine-staging/share/man/de.UTF-8/man?/winemaker.?*
/opt/wine-staging/share/man/de.UTF-8/man?/wineserver.?*
/opt/wine-staging/share/man/fr.UTF-8/man?/winemaker.?*
/opt/wine-staging/share/man/fr.UTF-8/man?/wineserver.?*
/opt/wine-staging/share/man/man?/msiexec.?*
/opt/wine-staging/share/man/man?/notepad.?*
/opt/wine-staging/share/man/man?/regedit.?*
/opt/wine-staging/share/man/man?/regsvr32.?*
/opt/wine-staging/share/man/man?/widl.?*
/opt/wine-staging/share/man/man?/wineboot.?*
/opt/wine-staging/share/man/man?/winebuild.?*
/opt/wine-staging/share/man/man?/winecfg.?*
/opt/wine-staging/share/man/man?/wineconsole.?*
/opt/wine-staging/share/man/man?/winecpp.?*
/opt/wine-staging/share/man/man?/winedbg.?*
/opt/wine-staging/share/man/man?/winedump.?*
/opt/wine-staging/share/man/man?/winefile.?*
/opt/wine-staging/share/man/man?/wineg++.?*
/opt/wine-staging/share/man/man?/winegcc.?*
/opt/wine-staging/share/man/man?/winemaker.?*
/opt/wine-staging/share/man/man?/winemine.?*
/opt/wine-staging/share/man/man?/winepath.?*
/opt/wine-staging/share/man/man?/wineserver.?*
/opt/wine-staging/share/man/man?/wmc.?*
/opt/wine-staging/share/man/man?/wrc.?*

37
debian/wine-staging.postinst vendored Normal file
View File

@ -0,0 +1,37 @@
#!/bin/sh
set -e
# Alternatively this check can be disabled by preseeding:
# echo "wine/setcaps boolean false" | debconf-set-selections
. /usr/share/debconf/confmodule
case "$1" in
configure)
if command -v setcap > /dev/null; then
db_get wine/setcaps
# Allow dpkg-reconfigure to remove caps
if test "$RET" = "true"; then
if ! setcap "cap_net_raw=epi" /opt/wine-staging/bin/wineserver; then
echo "Setcap failed on /opt/wine-staging/bin/wineserver, applications that need to send/receive raw IP packets will not work" >&2
fi
else
# setcap -r fails if the xattr is not present
if getcap /opt/wine-staging/bin/wineserver | grep -qs "/opt/wine-staging/bin/wineserver"; then
if ! setcap "-r" /opt/wine-staging/bin/wineserver; then
echo "Setcap -r failed on /opt/wine-staging/bin/wineserver, could not remove capabilities" >&2
fi
fi
fi
fi
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

9
debian/wine-staging.templates vendored Normal file
View File

@ -0,0 +1,9 @@
Template: wine/setcaps
Type: boolean
Default: false
Description: Allow ordinary users to run applications in Wine that send/receive raw IP packets?
Some applications need to send/receive raw IP packets, which on Linux requires
either a privileged user or the CAP_NET_RAW capability.
By answering yes to this question, the Wine binaries will be installed with CAP_NET_RAW
capability enabled. This will allow the applications that need it to function correctly,
but is a potential security risk.

10
main.sh
View File

@ -6,15 +6,15 @@ set -e
echo "$PIKA_BUILD_ARCH" > pika-build-arch
VERSION="1.0"
VERSION="9.14"
# Clone Upstream
mkdir -p ./src-pkg-name
cp -rvf ./debian ./src-pkg-name/
cd ./src-pkg-name/
mkdir -p ./wine-staging
cp -rvf ./debian ./wine-staging/
cd ./wine-staging/
# Get build deps
LOGNAME=root dh_make --createorig -y -l -p src-pkg-name_"$VERSION" || echo "dh-make: Ignoring Last Error"
LOGNAME=root dh_make --createorig -y -l -p wine-staging_"$VERSION" || echo "dh-make: Ignoring Last Error"
apt-get build-dep ./ -y
# Build package