Created attachment 298059 [details, diff] patch for rpm2targz-9.0.0.4g Changes in the ebuild are straight forward, the memmem patch has been in prefix for a year and it's only used for MacOs, Solaris and Interix.
Created attachment 298061 [details, diff] add memmem for OS's which mssing it
Comment on attachment 298061 [details, diff] add memmem for OS's which mssing it you've got indentation errors in this. please only use tabs. also, cuddle up the braces on everything but the func def.
Comment on attachment 298059 [details, diff] patch for rpm2targz-9.0.0.4g ebuild changes look fine
Created attachment 308813 [details, diff] add memmem for OS's which mssing it (In reply to comment #2) > Comment on attachment 298061 [details, diff] [details, diff] > add memmem for OS's which mssing it > > you've got indentation errors in this. please only use tabs. > > also, cuddle up the braces on everything but the func def. Done
http://git.overlays.gentoo.org/gitweb/?p=proj/rpm2targz.git;a=commitdiff;h=a9f55f411d42fc5f60c099d7d9bc432f0be3852d
Reopened! prefix=$(EPREFIX) still needs to be an argument for the install.
the ebuild uses `default`
Still does not work on prefix without modification due to rpm2targz's buildsystem. As default uses Makefile of rpm2targz, which defines bindir as '$(prefix)/bin' and prefix as '/usr'. emake install DESTDIR="${D}" prefix="${EPREFIX}/usr" instead of default should do the job.
Since we (base-system) control the source code, you code patch the Makefile if you wish too. "sed -i '/^prefix =/s:=.*:= '"${EPREFIX}"'/usr:' Makefile" - then you could use 'default' in src_install.
(In reply to comment #9) > Since we (base-system) control the source code, you code patch the Makefile > if you wish too. "sed -i '/^prefix =/s:=.*:= '"${EPREFIX}"'/usr:' Makefile" > - then you could use 'default' in src_install. That sounds also good, let's do whatever SpanKY prefers.
(In reply to comment #8) i'm not seeing the problem here. ED is $DESTDIR/$EPREFIX, so things that normally go into /usr/bin go into $EPREFIX/usr/bin. since `default` installs with DESTDIR=$ED, the fact that prefix is hardcoded to /usr is irrelevant -- it is prefixed with $ED by way of $DESTDIR.
(In reply to comment #11) > (In reply to comment #8) > > i'm not seeing the problem here. ED is $DESTDIR/$EPREFIX, so things that > normally go into /usr/bin go into $EPREFIX/usr/bin. since `default` > installs with DESTDIR=$ED, the fact that prefix is hardcoded to /usr is > irrelevant -- it is prefixed with $ED by way of $DESTDIR. Hi. Will you please show me where default is defined? (I seriously want to learn.) All I can really find is _eapi4_src_install() in phase-helpers.sh _eapi4_src_install() { if [[ -f Makefile || -f GNUmakefile || -f makefile ]] ; then emake DESTDIR="${D}" install fi <snip> } Is that "default" ?
(In reply to comment #11) > (In reply to comment #8) > > i'm not seeing the problem here. ED is $DESTDIR/$EPREFIX, so things that > normally go into /usr/bin go into $EPREFIX/usr/bin. since `default` > installs with DESTDIR=$ED, the fact that prefix is hardcoded to /usr is > irrelevant -- it is prefixed with $ED by way of $DESTDIR. If the code stores somewhere the prefix argument (being /usr) for runtime use, it means that even though it should look in /a/usr, it will look in /usr. (config files for example) If you are on a platform that stores absolute path references to dependent libraries, you get a reference to /usr/lib/libX.*, iso /a/usr/lib/libX.*. Therefore, get the input right, such that the default "DESTDIR=${D}" installs stuff in the right place.
(In reply to comment #13) > (In reply to comment #11) > > (In reply to comment #8) > > > > i'm not seeing the problem here. ED is $DESTDIR/$EPREFIX, so things that > > normally go into /usr/bin go into $EPREFIX/usr/bin. since `default` > > installs with DESTDIR=$ED, the fact that prefix is hardcoded to /usr is > > irrelevant -- it is prefixed with $ED by way of $DESTDIR. > > If the code stores somewhere the prefix argument (being /usr) for runtime > use, it means that even though it should look in /a/usr, it will look in > /usr. (config files for example) > > If you are on a platform that stores absolute path references to dependent > libraries, you get a reference to /usr/lib/libX.*, iso /a/usr/lib/libX.*. > > Therefore, get the input right, such that the default "DESTDIR=${D}" > installs stuff in the right place. Ping @ SpanKY: adding 'emake install DESTDIR="${D}" prefix="${EPREFIX}/usr"' seems to be the cleanest and easiest solution. If you like, I can also write a small autotools buildsystem for tpm2targz, so that autotools-utils can take care of everything.
should be all set now in the tree; thanks for the report! Commit message: Need to specify DESTDIR=$ED manually http://sources.gentoo.org/app-arch/rpm2targz/rpm2targz-9.0.0.5g.ebuild?r1=1.1&r2=1.2