# epatch_user nimmt falschen Pfad [solved]

## bbgermany

Hallo Leute,

ich versuche gerade einen Patch für hostapd ein zu spielen über die Benutzerpatchfunktion von Portage. Leider schlägt das immer fehl und im Log nutzt er scheinbar den falschen Pfad. Anbei die nötigen Infos:

Patchfile /etc/portage/patches/net-wireless/hostapd-2.5/hostapd-2.5_40MHz.patch

```

--- a/src/ap/ieee802_11_ht.c    2016-05-19 07:44:20.000492867 +0200

+++ b/src/ap/ieee802_11_ht.c    2016-05-19 07:42:22.810491288 +0200

@@ -282,7 +282,7 @@

        wpa_printf(MSG_DEBUG, "is_ht40_allowed=%d num_sta_ht40_intolerant=%d",

                   is_ht40_allowed, iface->num_sta_ht40_intolerant);

+       /* if (!is_ht40_allowed &&

-       if (!is_ht40_allowed &&

            (iface->drv_flags & WPA_DRIVER_FLAGS_HT_2040_COEX)) {

                if (iface->conf->secondary_channel) {

                        hostapd_logger(hapd, mgmt->sa,

@@ -306,7 +306,6 @@

                                   delay_time);

                }

        }

+       */

 }

--- a/src/ap/hw_features.c      2016-05-19 07:43:21.340492077 +0200

+++ b/src/ap/hw_features.c      2016-05-19 07:42:31.400491403 +0200

@@ -316,7 +316,7 @@

                           iface->conf->channel,

                           iface->conf->channel +

                           iface->conf->secondary_channel * 4);

+               /* iface->conf->secondary_channel = 0; */

-               iface->conf->secondary_channel = 0;

                if (iface->drv_flags & WPA_DRIVER_FLAGS_HT_2040_COEX) {

                        /*

                         * TODO: Could consider scheduling another scan to check

```

/var/tmp/portage/net-wireless/hostapd-2.5/temp/hostapd-2.5_40MHz.patch-24088.out

```

***** hostapd-2.5_40MHz.patch *****

PWD: /var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/hostapd

PATCH TOOL: patch -> /usr/bin/patch

VERSION INFO:

GNU patch 2.7.5

Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.

Copyright (C) 1988 Larry Wall

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

Written by Larry Wall and Paul Eggert

===================================

PATCH COMMAND:  patch -p0 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/etc/portage/patches//net-wireless/hostapd-2.5/hostapd-2.5_40MHz.patch'

===================================

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- a/src/ap/ieee802_11_ht.c   2016-05-19 07:44:20.000492867 +0200

|+++ b/src/ap/ieee802_11_ht.c   2016-05-19 07:42:22.810491288 +0200

--------------------------

No file to patch.  Skipping patch.

patch: **** malformed patch at line 20: @@ -316,7 +316,7 @@

patch program exited with status 2

===================================

PATCH COMMAND:  patch -p1 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/etc/portage/patches//net-wireless/hostapd-2.5/hostapd-2.5_40MHz.patch'

===================================

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- a/src/ap/ieee802_11_ht.c   2016-05-19 07:44:20.000492867 +0200

|+++ b/src/ap/ieee802_11_ht.c   2016-05-19 07:42:22.810491288 +0200

--------------------------

No file to patch.  Skipping patch.

patch: **** malformed patch at line 20: @@ -316,7 +316,7 @@

patch program exited with status 2

===================================

PATCH COMMAND:  patch -p2 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/etc/portage/patches//net-wireless/hostapd-2.5/hostapd-2.5_40MHz.patch'

===================================

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- a/src/ap/ieee802_11_ht.c   2016-05-19 07:44:20.000492867 +0200

|+++ b/src/ap/ieee802_11_ht.c   2016-05-19 07:42:22.810491288 +0200

--------------------------

No file to patch.  Skipping patch.

patch: **** malformed patch at line 20: @@ -316,7 +316,7 @@

patch program exited with status 2

===================================

PATCH COMMAND:  patch -p3 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/etc/portage/patches//net-wireless/hostapd-2.5/hostapd-2.5_40MHz.patch'

===================================

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- a/src/ap/ieee802_11_ht.c   2016-05-19 07:44:20.000492867 +0200

|+++ b/src/ap/ieee802_11_ht.c   2016-05-19 07:42:22.810491288 +0200

--------------------------

No file to patch.  Skipping patch.

patch: **** malformed patch at line 20: @@ -316,7 +316,7 @@

patch program exited with status 2

===================================

PATCH COMMAND:  patch -p4 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/etc/portage/patches//net-wireless/hostapd-2.5/hostapd-2.5_40MHz.patch'

===================================

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- a/src/ap/ieee802_11_ht.c   2016-05-19 07:44:20.000492867 +0200

|+++ b/src/ap/ieee802_11_ht.c   2016-05-19 07:42:22.810491288 +0200

--------------------------

No file to patch.  Skipping patch.

patch: **** malformed patch at line 20: @@ -316,7 +316,7 @@

patch program exited with status 2

```

/var/tmp/portage/net-wireless/hostapd-2.5/temp/build.log

```

 * Package:    net-wireless/hostapd-2.5

 * Repository: gentoo

 * Maintainer: gurligebis@gentoo.org

 * USE:        abi_x86_64 amd64 crda elibc_glibc ipv6 kernel_linux logwatch netlink ssl userland_GNU wps

 * FEATURES:   distcc preserve-libs sandbox userpriv usersandbox

 * Package:    net-wireless/hostapd-2.5

 * Repository: gentoo

 * Maintainer: gurligebis@gentoo.org

 * USE:        abi_x86_64 amd64 crda elibc_glibc ipv6 kernel_linux logwatch netlink ssl userland_GNU wps

 * FEATURES:   distcc preserve-libs sandbox userpriv usersandbox

>>> Unpacking source...

>>> Unpacking hostapd-2.5.tar.gz to /var/tmp/portage/net-wireless/hostapd-2.5/work

>>> Source unpacked in /var/tmp/portage/net-wireless/hostapd-2.5/work

 * Applying user patches from /etc/portage/patches//net-wireless/hostapd-2.5 ...

 *   hostapd-2.5_40MHz.patch ...

 * Failed Patch: hostapd-2.5_40MHz.patch !

 *  ( /etc/portage/patches//net-wireless/hostapd-2.5/hostapd-2.5_40MHz.patch )

 *

 * Include in your bugreport the contents of:

 *

 *   /var/tmp/portage/net-wireless/hostapd-2.5/temp/hostapd-2.5_40MHz.patch.out

 * ERROR: net-wireless/hostapd-2.5::gentoo failed (prepare phase):

 *   Failed Patch: hostapd-2.5_40MHz.patch!

 *

 * Call stack:

 *     ebuild.sh, line 133:  Called pre_src_prepare

 *        bashrc, line   8:  Called epatch_user

 *   environment, line 766:  Called epatch

 *   environment, line 739:  Called die

 * The specific snippet of code:

 *               die "Failed Patch: ${patchname}!";

 *

 * If you need support, post the output of `emerge --info '=net-wireless/hostapd-2.5::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=net-wireless/hostapd-2.5::gentoo'`.

 * The complete build log is located at '/var/tmp/portage/net-wireless/hostapd-2.5/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-wireless/hostapd-2.5/temp/environment'.

 * Working directory: '/var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/hostapd'

 * S: '/var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/hostapd'

```

emerge --info

```

Portage 2.2.28 (python 3.4.3-final-0, default/linux/amd64/13.0, gcc-4.9.3, glibc-2.22-r4, 4.6.0-gentoo x86_64)

=================================================================

System uname: Linux-4.6.0-gentoo-x86_64-Intel-R-_Core-TM-2_CPU_T7200_@_2.00GHz-with-gentoo-2.2

KiB Mem:     2055872 total,   1470828 free

KiB Swap:    2097148 total,   2097148 free

Timestamp of repository gentoo: Thu, 19 May 2016 02:00:02 +0000

sh bash 4.3_p42-r1

ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1

distcc 3.2rc1 x86_64-pc-linux-gnu [enabled]

app-shells/bash:          4.3_p42-r1::gentoo

dev-lang/perl:            5.20.2::gentoo

dev-lang/python:          2.7.10-r1::gentoo, 3.4.3-r1::gentoo

dev-util/cmake:           3.3.1-r1::gentoo

dev-util/pkgconfig:       0.28-r2::gentoo

sys-apps/baselayout:      2.2::gentoo

sys-apps/openrc:          0.19.1::gentoo

sys-apps/sandbox:         2.10-r1::gentoo

sys-devel/autoconf:       2.69::gentoo

sys-devel/automake:       1.14.1::gentoo, 1.15::gentoo

sys-devel/binutils:       2.25.1-r1::gentoo

sys-devel/gcc:            4.9.3::gentoo

sys-devel/gcc-config:     1.7.3::gentoo

sys-devel/libtool:        2.4.6::gentoo

sys-devel/make:           4.1-r1::gentoo

sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)

sys-libs/glibc:           2.22-r4::gentoo

Repositories:

gentoo

    location: /usr/portage

    sync-type: rsync

    sync-uri: rsync://rsync.gentoo.org/gentoo-portage

    priority: -1000

    sync-rsync-extra-opts: -4

RPI

    location: /usr/local/portage

    masters: gentoo

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=core2 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-march=core2 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs config-protect-if-modified distcc distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LANG="de_DE.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j9"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_EXTRA_OPTS="-4"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"

PORTAGE_TMPDIR="/var/tmp"

USE="acl amd64 berkdb bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 logwatch mmx mmxext modules multilib ncurses nls nptl openmp pam pcre readline seccomp session sse sse2 ssl tcpd unicode xattr zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_core authn_dbm authn_file authz_core authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias authz_dbd authn_dbd auth_digest" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" SANE_BACKENDS="hp hp3500 hp3900 hp4200 hp5400 hp5590 hpljm1005 hs2p net plustek avision" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON

```

Vielleicht hat jemand von euch ein Idee, wo mein Fehler liegt.

Vielen Dank schon.mal im Voraus.

MfG. Stefan

----------

## toralf

vielleicht sollte der Patch noch das Präfix "hostapd-2.5/" enthalten ?

----------

## py-ro

Und a bzw. b gehört nicht in die Pfade.

----------

## bbgermany

 *toralf wrote:*   

> vielleicht sollte der Patch noch das Präfix "hostapd-2.5/" enthalten ?

 

Da ich nicht ganz so firm bin in der Portageprogrammierung und Namensgebung, wäre ich für einen Tipp was du meinst sehr dankbar  :Wink: 

 *py-ro wrote:*   

> Und a bzw. b gehört nicht in die Pfade.

 

Selbst wenn ich weder a und b noch irgendwelche Pfade, nur die Dateien, die gepatched werden sollen da drin habe, nutzt er immer

```

PWD: /var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/hostapd 

```

Die Dateien, die gepatched werden sollen sind aber in /var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/src/ap  :Sad:  (nach dem Entpacken).

MfG. Stefan

----------

## toralf

 *py-ro wrote:*   

> Und a bzw. b gehört nicht in die Pfade.

 ui, kommen die nicht von patch ? *bbgermany wrote:*   

> Da ich nicht ganz so firm bin in der Portageprogrammierung und Namensgebung, wäre ich für einen Tipp was du meinst sehr dankbar[/

 Ändere mal in dem Patchfile die Zeichenketten "a/src" bzw "b/src" in "a/hostapd-2.5/src" bzw. "b/hostapd-2.5/src" ab.

----------

## bbgermany

 *toralf wrote:*   

>  *py-ro wrote:*   Und a bzw. b gehört nicht in die Pfade. ui, kommen die nicht von patch ? *bbgermany wrote:*   Da ich nicht ganz so firm bin in der Portageprogrammierung und Namensgebung, wäre ich für einen Tipp was du meinst sehr dankbar[/ Ändere mal in dem Patchfile die Zeichenketten "a/src" bzw "b/src" in "a/hostapd-2.5/src" bzw. "b/hostapd-2.5/src" ab.

 

Gleicher Fehler, egal ob mit oder ohne a/b in den Pfadangaben.

MfG. Stefan

----------

## py-ro

@toralf die kommen von git, portage erwartet dort den relativen pfad vom workdir aus.

----------

## bbgermany

Relativ ist schön, aber wenn PWD schon ein Pfad zu tief ist, wie bekomme ich das dann hin?

```

ap-host # ls -la /var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/

total 36

drwxr-xr-x  5 portage portage 4096 Sep 27  2015 .

drwx------  3 portage portage 4096 May 23 14:09 ..

-rw-r--r--  1 portage portage 6411 Sep 27  2015 CONTRIBUTIONS

-rw-r--r--  1 portage portage  965 Sep 27  2015 COPYING

-rw-r--r--  1 portage portage 2351 Sep 27  2015 README

drwxr-xr-x  3 portage portage 4096 Sep 27  2015 hostapd

drwxr-xr-x  2 portage portage 4096 Sep 27  2015 patches

drwxr-xr-x 20 portage portage 4096 Sep 27  2015 src

ap-host # ls -la /var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/src/ap/

total 1264

drwxr-xr-x  2 portage portage  4096 Sep 27  2015 .

drwxr-xr-x 20 portage portage  4096 Sep 27  2015 ..

-rw-r--r--  1 portage portage  1087 Sep 27  2015 Makefile

-rw-r--r--  1 portage portage 13122 Sep 27  2015 accounting.c

-rw-r--r--  1 portage portage  1139 Sep 27  2015 accounting.h

-rw-r--r--  1 portage portage 29137 Sep 27  2015 acs.c

-rw-r--r--  1 portage portage   652 Sep 27  2015 acs.h

-rw-r--r--  1 portage portage 24567 Sep 27  2015 ap_config.c

-rw-r--r--  1 portage portage 16717 Sep 27  2015 ap_config.h

-rw-r--r--  1 portage portage 22722 Sep 27  2015 ap_drv_ops.c

-rw-r--r--  1 portage portage 12105 Sep 27  2015 ap_drv_ops.h

-rw-r--r--  1 portage portage  6983 Sep 27  2015 ap_list.c

-rw-r--r--  1 portage portage  1532 Sep 27  2015 ap_list.h

-rw-r--r--  1 portage portage  5234 Sep 27  2015 ap_mlme.c

-rw-r--r--  1 portage portage  1007 Sep 27  2015 ap_mlme.h

-rw-r--r--  1 portage portage  6405 Sep 27  2015 authsrv.c

-rw-r--r--  1 portage portage   352 Sep 27  2015 authsrv.h

-rw-r--r--  1 portage portage 34465 Sep 27  2015 beacon.c

-rw-r--r--  1 portage portage  1090 Sep 27  2015 beacon.h

-rw-r--r--  1 portage portage  1642 Sep 27  2015 bss_load.c

-rw-r--r--  1 portage portage   376 Sep 27  2015 bss_load.h

-rw-r--r--  1 portage portage 13675 Sep 27  2015 ctrl_iface_ap.c

-rw-r--r--  1 portage portage  1033 Sep 27  2015 ctrl_iface_ap.h

-rw-r--r--  1 portage portage 27521 Sep 27  2015 dfs.c

-rw-r--r--  1 portage portage  1099 Sep 27  2015 dfs.h

-rw-r--r--  1 portage portage  3768 Sep 27  2015 dhcp_snoop.c

-rw-r--r--  1 portage portage   590 Sep 27  2015 dhcp_snoop.h

-rw-r--r--  1 portage portage 35677 Sep 27  2015 drv_callbacks.c

-rw-r--r--  1 portage portage  7869 Sep 27  2015 eap_user_db.c

-rw-r--r--  1 portage portage 34974 Sep 27  2015 gas_serv.c

-rw-r--r--  1 portage portage  2127 Sep 27  2015 gas_serv.h

-rw-r--r--  1 portage portage 75681 Sep 27  2015 hostapd.c

-rw-r--r--  1 portage portage 13785 Sep 27  2015 hostapd.h

-rw-r--r--  1 portage portage  4330 Sep 27  2015 hs20.c

-rw-r--r--  1 portage portage   650 Sep 27  2015 hs20.h

-rw-r--r--  1 portage portage 25617 Sep 27  2015 hw_features.c

-rw-r--r--  1 portage portage  1972 Sep 27  2015 hw_features.h

-rw-r--r--  1 portage portage 14698 Sep 27  2015 iapp.c

-rw-r--r--  1 portage portage   833 Sep 27  2015 iapp.h

-rw-r--r--  1 portage portage 80009 Sep 27  2015 ieee802_11.c

-rw-r--r--  1 portage portage  4549 Sep 27  2015 ieee802_11.h

-rw-r--r--  1 portage portage 17323 Sep 27  2015 ieee802_11_auth.c

-rw-r--r--  1 portage portage   904 Sep 27  2015 ieee802_11_auth.h

-rw-r--r--  1 portage portage 14492 Sep 27  2015 ieee802_11_ht.c

-rw-r--r--  1 portage portage 12416 Sep 27  2015 ieee802_11_shared.c

-rw-r--r--  1 portage portage  7899 Sep 27  2015 ieee802_11_vht.c

-rw-r--r--  1 portage portage 74314 Sep 27  2015 ieee802_1x.c

-rw-r--r--  1 portage portage  2444 Sep 27  2015 ieee802_1x.h

-rw-r--r--  1 portage portage  4353 Sep 27  2015 ndisc_snoop.c

-rw-r--r--  1 portage portage   838 Sep 27  2015 ndisc_snoop.h

-rw-r--r--  1 portage portage  2632 Sep 27  2015 p2p_hostapd.c

-rw-r--r--  1 portage portage   888 Sep 27  2015 p2p_hostapd.h

-rw-r--r--  1 portage portage 10632 Sep 27  2015 peerkey_auth.c

-rw-r--r--  1 portage portage 13756 Sep 27  2015 pmksa_cache_auth.c

-rw-r--r--  1 portage portage  2058 Sep 27  2015 pmksa_cache_auth.h

-rw-r--r--  1 portage portage  6626 Sep 27  2015 preauth_auth.c

-rw-r--r--  1 portage portage  1286 Sep 27  2015 preauth_auth.h

-rw-r--r--  1 portage portage 33352 Sep 27  2015 sta_info.c

-rw-r--r--  1 portage portage  8255 Sep 27  2015 sta_info.h

-rw-r--r--  1 portage portage  2840 Sep 27  2015 tkip_countermeasures.c

-rw-r--r--  1 portage portage   451 Sep 27  2015 tkip_countermeasures.h

-rw-r--r--  1 portage portage  2343 Sep 27  2015 utils.c

-rw-r--r--  1 portage portage 24929 Sep 27  2015 vlan_init.c

-rw-r--r--  1 portage portage  1262 Sep 27  2015 vlan_init.h

-rw-r--r--  1 portage portage  4547 Sep 27  2015 vlan_util.c

-rw-r--r--  1 portage portage   382 Sep 27  2015 vlan_util.h

-rw-r--r--  1 portage portage 10161 Sep 27  2015 wmm.c

-rw-r--r--  1 portage portage   653 Sep 27  2015 wmm.h

-rw-r--r--  1 portage portage 17487 Sep 27  2015 wnm_ap.c

-rw-r--r--  1 portage portage   863 Sep 27  2015 wnm_ap.h

-rw-r--r--  1 portage portage 96474 Sep 27  2015 wpa_auth.c

-rw-r--r--  1 portage portage 11294 Sep 27  2015 wpa_auth.h

-rw-r--r--  1 portage portage 49676 Sep 27  2015 wpa_auth_ft.c

-rw-r--r--  1 portage portage 18481 Sep 27  2015 wpa_auth_glue.c

-rw-r--r--  1 portage portage   443 Sep 27  2015 wpa_auth_glue.h

-rw-r--r--  1 portage portage  7655 Sep 27  2015 wpa_auth_i.h

-rw-r--r--  1 portage portage 25052 Sep 27  2015 wpa_auth_ie.c

-rw-r--r--  1 portage portage  1290 Sep 27  2015 wpa_auth_ie.h

-rw-r--r--  1 portage portage 53505 Sep 27  2015 wps_hostapd.c

-rw-r--r--  1 portage portage  2856 Sep 27  2015 wps_hostapd.h

-rw-r--r--  1 portage portage  3289 Sep 27  2015 x_snoop.c

-rw-r--r--  1 portage portage  1326 Sep 27  2015 x_snoop.h

ap-host # ls -la /var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/hostapd/

total 596

drwxr-xr-x 3 portage portage  4096 Sep 27  2015 .

drwxr-xr-x 5 portage portage  4096 Sep 27  2015 ..

-rw-r--r-- 1 portage portage 19842 Sep 27  2015 Android.mk

-rw-r--r-- 1 portage portage 55368 Sep 27  2015 ChangeLog

-rw-r--r-- 1 portage portage 21562 Sep 27  2015 Makefile

-rw-r--r-- 1 portage portage 16745 Sep 27  2015 README

-rw-r--r-- 1 portage portage 14361 Sep 27  2015 README-WPS

-rw-r--r-- 1 portage portage  5678 Sep 27  2015 android.config

-rw-r--r-- 1 portage portage 97315 Sep 27  2015 config_file.c

-rw-r--r-- 1 portage portage   475 Sep 27  2015 config_file.h

-rw-r--r-- 1 portage portage 76876 Sep 27  2015 ctrl_iface.c

-rw-r--r-- 1 portage portage   998 Sep 27  2015 ctrl_iface.h

-rw-r--r-- 1 portage portage 10918 Sep 27  2015 defconfig

-rw-r--r-- 1 portage portage  3209 Sep 27  2015 eap_register.c

-rw-r--r-- 1 portage portage   309 Sep 27  2015 eap_register.h

-rw-r--r-- 1 portage portage  2581 Sep 27  2015 eap_testing.txt

-rw-r--r-- 1 portage portage   332 Sep 27  2015 hapd_module_tests.c

-rw-r--r-- 1 portage portage 25554 Sep 27  2015 hlr_auc_gw.c

-rw-r--r-- 1 portage portage   909 Sep 27  2015 hlr_auc_gw.milenage_db

-rw-r--r-- 1 portage portage  3249 Sep 27  2015 hlr_auc_gw.txt

-rw-r--r-- 1 portage portage  1505 Sep 27  2015 hostapd.8

-rw-r--r-- 1 portage portage   276 Sep 27  2015 hostapd.accept

-rw-r--r-- 1 portage portage 77283 Sep 27  2015 hostapd.conf

-rw-r--r-- 1 portage portage   144 Sep 27  2015 hostapd.deny

-rw-r--r-- 1 portage portage  4368 Sep 27  2015 hostapd.eap_user

-rw-r--r-- 1 portage portage   624 Sep 27  2015 hostapd.eap_user_sqlite

-rw-r--r-- 1 portage portage   142 Sep 27  2015 hostapd.radius_clients

-rw-r--r-- 1 portage portage   409 Sep 27  2015 hostapd.sim_db

-rw-r--r-- 1 portage portage   282 Sep 27  2015 hostapd.vlan

-rw-r--r-- 1 portage portage   549 Sep 27  2015 hostapd.wpa_psk

-rw-r--r-- 1 portage portage  1853 Sep 27  2015 hostapd_cli.1

-rw-r--r-- 1 portage portage 34823 Sep 27  2015 hostapd_cli.c

drwxr-xr-x 2 portage portage  4096 Sep 27  2015 logwatch

-rw-r--r-- 1 portage portage 19764 Sep 27  2015 main.c

-rw-r--r-- 1 portage portage   922 Sep 27  2015 nt_password_hash.c

-rw-r--r-- 1 portage portage  1152 Sep 27  2015 wired.conf

-rwxr-xr-x 1 portage portage  9966 Sep 27  2015 wps-ap-nfc.py

ap-host #

```

EDIT: Und nein, die kommen nicht von GIT, ich hab das selber raus gesucht und via diff -u erstellt. Danach alle möglichen Pfadangaben versucht, bevor ich hier gepostet habe.

MfG. Stefan

----------

## py-ro

Korrekt wäre entweder von work/hostapd-2.5 oder direkt work, ich meine ersteres.

----------

## firefly

 *py-ro wrote:*   

> Korrekt wäre entweder von work/hostapd-2.5 oder direkt work, ich meine ersteres.

 

Also in keine der patches in portage tree, das ich kenne, hat work/ als pfad im patch file drinn stehen.

z.b. im patch für qtdebus 5.6.0

 */usr/portage/dev-qt/qtdbus/files/qtdbus-5.6.0-deadlock.patch wrote:*   

> --- a/src/dbus/qdbusintegrator.cpp
> 
> +++ b/src/dbus/qdbusintegrator.cpp
> 
> 

 

ich denke eher das epatch_user hier nen fehler macht und im falschen working dir versucht den patch anzuwenden.

Oder mit falschen parametern wird das programm "patch" aufgerufen.

Zu mindestens bei den patches, welche von ebuilds verwendet werden, wird das programm "patch" mit unterschiedlichen parametern aufgerufen (hauptsächlich unterschiedliche werte für den parameter -p<num>)

Der gibt an wieviel von der pfadangabe zur patchenden Datei entfernt werden soll

z.b. beim oben gezigten pfad macht der -p1 parameter den pfad zu "src/dbus/qdbusintegrator.cpp" -> er schneidet "a/" bzw "b/" weg

----------

## firefly

@bbgermany: wie hast du epatch_user "konfiguriert"?

Denn laut der wiki seite bezüglich epatch_user unterstützen nicht alle ebuilds von haus aus epatch_user

https://wiki.gentoo.org/wiki//etc/portage/patches

----------

## bbgermany

 *firefly wrote:*   

> @bbgermany: wie hast du epatch_user "konfiguriert"?
> 
> Denn laut der wiki seite bezüglich epatch_user unterstützen nicht alle ebuilds von haus aus epatch_user
> 
> https://wiki.gentoo.org/wiki//etc/portage/patches

 

Genau diese bashrc-Datei habe ich genommen. Aber wahrscheinlich hast du recht, dass das ebuild damit ein Problem hat  :Sad:  und ja, epatch_user scheint wirklich den falschen Arbeitspfad zu verwenden.

Naja, dann werde ich wohl damit leben müssen, dass ich das per Hand machen muss  :Wink: 

Vielen Dank an alle, ich dachte schon ich stelle mich zu dämlich an  :Very Happy: 

MfG. Stefan

----------

## firefly

Eventuell hilft dir der forums thread dazu mehr:

https://forums.gentoo.org/viewtopic-t-791464.html

Ich kann es selbst nicht testen, da ich paludis statt portage verwende und dort scheint der autopatch hook besser implementiert zu sein.

Lol scheinbar ist das beispiel script im wiki fehler haft.

Habe eine andere seite gefunden: http://blog.yjl.im/2014/05/using-epatchuser-to-patch-gentoo.html

dort wird vor dem aufruf von epatch_user ein cd "${S}" gemacht um das working passend zu setzen.

Und das machen auch die ebuilds die selbst patches anwenden. Die wechseln vorher ins source dir und dann werden die patches angewendet.

----------

## bbgermany

 *firefly wrote:*   

> ...
> 
> Lol scheinbar ist das beispiel script im wiki fehler haft.
> 
> Habe eine andere seite gefunden: http://blog.yjl.im/2014/05/using-epatchuser-to-patch-gentoo.html
> ...

 

Das war der Trick. Nun muss ich nur das Patchfile grade biegen. Danke!!!

MfG. Stefan

EDIT: cd ${S} war noch nicht ganz ausreichend, da das wieder versucht nach "/var/tmp/portage/net-wireless/hostapd-2.5/work/hostapd-2.5/hostapd" zu wechseln. Aber ein zusätzliches "cd .." ging dann  :Wink: . Nicht ganz sauber, aber egal. Hier der ganze Code:

/etc/portage/env/net-wireless/hostapd-2.5

```

post_src_prepare() {

    if type epatch_user &> /dev/null ; then

            cd ${S}

            cd ..

            epatch_user

    fi

}

```

/etc/portage/patches/net-wireless/hostapd-2.5/hostapd-2.5_40MHz.patch

```

--- src/ap/ieee802_11_ht.c      2016-05-24 11:56:57.084346590 +0200

+++ src/ap/ieee802_11_ht.c      2016-05-24 11:55:54.064345740 +0200

@@ -282,7 +282,7 @@

        wpa_printf(MSG_DEBUG, "is_ht40_allowed=%d num_sta_ht40_intolerant=%d",

                   is_ht40_allowed, iface->num_sta_ht40_intolerant);

-       if (!is_ht40_allowed &&

+       /*if (!is_ht40_allowed &&

            (iface->drv_flags & WPA_DRIVER_FLAGS_HT_2040_COEX)) {

                if (iface->conf->secondary_channel) {

                        hostapd_logger(hapd, mgmt->sa,

@@ -305,7 +305,7 @@

                                   "Reschedule HT 20/40 timeout to occur in %u seconds",

                                   delay_time);

                }

-       }

+       }*/

 }

--- src/ap/hw_features.c        2016-05-24 11:59:12.014348409 +0200

+++ src/ap/hw_features.c        2016-05-24 11:58:39.324347968 +0200

@@ -316,7 +316,7 @@

                           iface->conf->channel,

                           iface->conf->channel +

                           iface->conf->secondary_channel * 4);

-               iface->conf->secondary_channel = 0;

+               /*iface->conf->secondary_channel = 0;*/

                if (iface->drv_flags & WPA_DRIVER_FLAGS_HT_2040_COEX) {

                        /*

                         * TODO: Could consider scheduling another scan to check

```

----------

## py-ro

Mit EAPI6 wurde das ganze geändert und jedes Ebuild mit dieser Version kann das.

Aber hostapd ist EAPI4... und hat kein Patch Support drin... hätte man dran denken können.   :Embarassed: 

----------

## bbgermany

Wenn ich Ahnung hätte, würde ich mich ja ransetzen und das ändern... Aber die Ahnung halt  :Very Happy: 

MfG. Stefan

----------

## wols

 *firefly wrote:*   

> z.b. beim oben gezigten pfad macht der -p1 parameter den pfad zu "src/dbus/qdbusintegrator.cpp" -> er schneidet "a/" bzw "b/" weg

 

Vielen Dank Ihr habt mir hier den Abend gerettet!

Ich hab einen "alten" Patch eines lokalen Ebuild bei EAPI6 nicht mehr rein bekommen.

In meinem Fall musste ich a/ und b/ davor setzen - jetzt gehts auch mit nem neuen Ebuild - Danke!

----------

