Wrote an ebuild to install i2p to /opt/i2p. It's far from perfect, but works after some configuration effort. Reproducible: Always
Created attachment 213577 [details] ebuild for net-p2p/i2p This is the ebuild I hacked together to install i2p. It's far from perfect, but at least does it's job.
Hello, The Gentoo Team would like to firstly thank you for your ebuild submission. We also apologize for not being able to accommodate you in a timely manner. There are simply too many new packages. Allow me to use this opportunity to introduce you to Gentoo Sunrise. The sunrise overlay[1] is a overlay for Gentoo which we allow trusted users to commit to and all users can have ebuilds reviewed by Gentoo devs for entry into the overlay. So, the sunrise team is suggesting that you look into this and submit your ebuild to the overlay where even *you* can commit to. =) Thanks, On behalf of the Gentoo Sunrise Team, Justin. [1]: http://www.gentoo.org/proj/en/sunrise/ [2]: http://overlays.gentoo.org/proj/sunrise/wiki/SunriseFaq
Created attachment 230163 [details] ebuild for net-p2p/i2p I haven't been able to track down the problems I got with compiling the latest version of i2p, i. e., sometimes it works, sometimes not. That's why I used a while-loop in the ebuild. Greets Andreas
(In reply to comment #2) Thanks for pointing me to sunrise, I hope that I can improve my time management to contribute to the overlay. But first of all I put an ebuild for the latest version of i2p, which isn't perfect but at least works, as I've already mentioned. Greets Andreas
Created attachment 231615 [details] net-p2p/i2p-0.7.13, new version Fixed some mistakes (like never-dying and fetching file in compile stage) Added support for init.d script (will be attached next)
Created attachment 231617 [details] init.d script
Created attachment 236717 [details] Copied over the improved ebuild by Oleg Popov to reflect that there's a new version available.
Thanks for your efforts, actually I wanted to add similar changes for the new version today, but I see that you've already written a much cleaner and improved ebuild for version 0.7.13, so I copied it over to the latest version. As I prefer to run i2p as normal user, I'm not sure about the /opt/i2p/home directory. But it's a matter of taste, I suppose. Greets Andreas
Created attachment 252461 [details] New ebuild making the use of a new user/group and initscript optional via the local useflag initscript.
(In reply to comment #9) > Created an attachment (id=252461) [details] > New ebuild making the use of a new user/group and initscript optional via the > local useflag initscript. > Why do you fetch files in pkg_setup instead of using SRC_URI?
Created attachment 252819 [details] New revision of the 0.8 ebuild: Following Oleg's hint and i put the needed jetty version into SRC_URI.
Created attachment 252823 [details] metadata.xml to display information about the local useflag.
(In reply to comment #10) > (In reply to comment #9) > > Created an attachment (id=252461) [details] [details] > > New ebuild making the use of a new user/group and initscript optional via the > > local useflag initscript. > > > > Why do you fetch files in pkg_setup instead of using SRC_URI? > Thanks for your hint, i simply forgot to change this in the new ebuild.
I'm trying to emerge i2p with "initscript" USE-flag, but i get message: "/var/tmp/portage/net-misc/i2p-0.8-r1/temp/environment: line 4215: einitscript: command not found" and there is no initscript in init.d But i2p emerged successfully. Is it requires portage-2.2 ?
(In reply to comment #14) > I'm trying to emerge i2p with "initscript" USE-flag, but i get message: > "/var/tmp/portage/net-misc/i2p-0.8-r1/temp/environment: line 4215: einitscript: > command not found" > > and there is no initscript in init.d > > But i2p emerged successfully. > > Is it requires portage-2.2 ? > No, it doesn't require portage-2.2. But you need to download the initscript from above and put it into <path-to-your-local-portage-tree>/net-p2p/i2p/files/. Hope this helps. Greets Andreas
Nope. I got a i2p/files/i2p init-script in my local portage tree. My problem is an absence of einitscript. Is it some special eclass from some overlay? I do "find /usr/portage -type f -print0| xargs -0 grep einitscript" and see nothing. I mean, "einitscript" does not used in official portage tree.
(In reply to comment #16) > Nope. I got a i2p/files/i2p init-script in my local portage tree. > > My problem is an absence of einitscript. > Is it some special eclass from some overlay? I do > "find /usr/portage -type f -print0| xargs -0 grep einitscript" and see nothing. > I mean, "einitscript" does not used in official portage tree. > (In reply to comment #16) > Nope. I got a i2p/files/i2p init-script in my local portage tree. > > My problem is an absence of einitscript. > Is it some special eclass from some overlay? I do > "find /usr/portage -type f -print0| xargs -0 grep einitscript" and see nothing. > I mean, "einitscript" does not used in official portage tree. > In fact, i use paludis as package manager and use i2p without initscript that's why i'm kind of clueless at the moment. Maybe Oleg can shed light into this matter, because it seems to be related to this line in the ebuild: einitscript i2p -1 -1 /opt/i2p/home/ i2p -m Nevertheless, i2p should run with the initscript, if you just copy the existing initscript into /etc/init.d/i2p. Greets Andreas
Created attachment 253185 [details] i2p ebuild I have change 'einitscript i2p -1 -1 /opt/i2p/home/ i2p -m' to 'newinitd "${FILESDIR}"/i2p i2p' and return line with 'enewuser ${PN} -1 -1 /opt/i2p/home/ ${PN} -m'
Created attachment 255349 [details] ebuild for the latest version of i2p Thanks to Oleg's and Kirin's cooperation the ebuild looks much cleaner now.
Created attachment 258433 [details] ebuild for the latest version of i2p
Due to the fact that i2p's build system is somewhat strange, the sunrise guys on irc pointed me to the java overlay. Anyway, one needs the jetty distribution file in order to get i2p to compile, which reduces the chances for the i2p ebuild being accepted in its current form by any overlay, I suppose. For the time being I will update to the latest versions of i2p within this bug report. Maybe I can upgrade the ebuild to a more acceptable form after I will have talked to the i2p devs.
Created attachment 261671 [details] ebuild for the latest version of i2p
Created attachment 264073 [details] hardened-aware version Added pax-mark to make ebuild usable on Hardened
Created attachment 264613 [details] new version...
Created attachment 270017 [details] i2p-0.8.4.ebuild hi folk can you test new ebuild?
Created attachment 270019 [details] metadata.xml longlong description moved from ebuild to longdescription field of metadata
Created attachment 270023 [details] i2p-0.8.4.ebuild added symlink to eepget
Created attachment 271105 [details] new ebuild for version 0.8.5 Hi gtlinuxman, copied your version of the over to the latest version of net-p2p/i2p-0.8.5 and tested the ebuild. i2p seems to work, but I noticed a permission denied error during the compilation: "Execute failed: java.io.IOException: Cannot run program "mtn" (in directory "/var/tmp/paludis/net-p2p-i2p-0.8.5/work/i2p-0.8.5/apps/streaming/java"): java.io.IOException: error=13, Permission denied" I'm not sure, what exactly happens there. Kind regards, Andreas
I also don't know, what happens there. but the jar compiles successfully without the execution of 'mtn': jar: [exec] Execute failed: java.io.IOException: Cannot run program "mtn" (in directory "/var/tmp/portage/net-p2p/i2p-0.8.5/work/i2p-0.8.5/apps/i2psnark/java"): java.io.IOException: error=2, No such file or directory [jar] Building jar: /var/tmp/portage/net-p2p/i2p-0.8.5/work/i2p-0.8.5/apps/i2psnark/java/build/i2psnark.jar wtf mtn? :) I am not so familiar with the ant build system, sorry. But I am believe that java-ant-2.eclass depends on all really needed packages of ant, and eant is doing all necessary things to properly build a new packages.
Created attachment 274571 [details] ebuild for version 0.8.6
Created attachment 279977 [details] ebuild for version 0.8.7 Some path adjustments were necessary...
Created attachment 286635 [details] ebuild for version 0.8.8
0.8.9 needs to change JAVA_HOME in wrapper.conf Otherwise it is unable to start (for me).
Created attachment 292375 [details] ebuild for version 0.8.11 Added wrapper.java.command=/etc/java-config-2/current-system-vm/bin/java to wrapper.config.
Well, any progress in including this to the upstream? The latest attachment works great with 0.8.12 (last releas) also.
Created attachment 299921 [details] ebuild for latest release
Created attachment 304547 [details] ebuild for latest release
Created attachment 311347 [details] Latest ebuild for version 0.9
*** Bug 396681 has been marked as a duplicate of this bug. ***
(In reply to comment #39) > *** Bug 396681 has been marked as a duplicate of this bug. *** My ebuild in the above bug has a working initscript and uses normal filesystem locations instead of /opt. It also builds the java wrapper from source instead of using the bundled binaries.
It was suggested by Michael to merge my ebuild with the one in this bug. As it happens, my version was originally derived from an earlier version of this ebuild. Currently, the only thing missing is the initscript USEFLAG since my version installs an initscript unconditionally. Since I have i2p running under it's own user, with logging in /var/log/i2p, configuration in /etc/i2p and uses /var/i2p (/var/www equivalent) I don't really see a use case for not installing the initscript.
Sorry for not having answered for so long. First of all, please, feel free to add your version of the ebuild to this bug report. The reason why I added the use initscript use flag was partly out of curiosity for ebuild development (to see if it works) and partly, because I'm not familiar with a separate user for a specific program. But I suppose, you're right, that there's no reason of not adding an initscript and a user, because one doesn't have to use it. Regards Andreas
Hello there I tried i2p-0.9.1 from here: http://gpo.zugaina.org/net-p2p/i2p but have no luck to build it :( build.log http://bpaste.net/show/42484/ emerge --info http://bpaste.net/show/42487/ what's wrong?
Created attachment 322454 [details] Ebuild for latest version
(In reply to comment #43) > Hello there > I tried i2p-0.9.1 from here: http://gpo.zugaina.org/net-p2p/i2p > but have no luck to build it :( > > build.log > http://bpaste.net/show/42484/ > > emerge --info > http://bpaste.net/show/42487/ > > > what's wrong? You could try my latest ebuild or use (In reply to comment #43) > Hello there > I tried i2p-0.9.1 from here: http://gpo.zugaina.org/net-p2p/i2p > but have no luck to build it :( > > build.log > http://bpaste.net/show/42484/ > > emerge --info > http://bpaste.net/show/42487/ > > > what's wrong? Hi Andrey, you could try my latest ebuild that I've just submitted and you could also try Steven's version which is more FHS compliant. See: https://bugs.gentoo.org/attachment.cgi?id=314061 Regards Andreas
>>> Hi Andrey, >>> you could try my latest ebuild that I've just submitted and you could also try Steven's version which is more FHS compliant. Thanks, but have no success either... 1. Steven's version https://bugs.gentoo.org/attachment.cgi?id=314061 build.log http://bpaste.net/show/42517/ 2. Yours one https://bugs.gentoo.org/attachment.cgi?id=322454 build.log http://bpaste.net/show/42518/ any ideas?
(In reply to comment #46) > >>> Hi Andrey, > > >>> you could try my latest ebuild that I've just submitted and you could also try Steven's version which is more FHS compliant. > > > Thanks, but have no success either... > > 1. Steven's version > https://bugs.gentoo.org/attachment.cgi?id=314061 > build.log > http://bpaste.net/show/42517/ > > 2. Yours one > https://bugs.gentoo.org/attachment.cgi?id=322454 > build.log > http://bpaste.net/show/42518/ > > any ideas? Maybe it has something to do with icedtea. So you could download the i2p sources and build it without using an ebuild...
>>>So you could download the i2p sources and build it without using an ebuild... Have tried. The compilation error is the same (as with your ebuild): http://bpaste.net/show/42518/ >>> Maybe it has something to do with icedtea. Like what? I can try to update icedtea to latest version, but no fact this will help. By the way, i2p is open source, and the error reason can be found. Maybe upstream developers will help. How can I contact them? Homepage http://www.i2p.net/ doesn't work for me...
(In reply to comment #48) > How can I contact them? > Homepage http://www.i2p.net/ doesn't work for me... Looking at URL in this bug it is http://www.i2p2.de
(In reply to comment #49) > (In reply to comment #48) > > How can I contact them? > > Homepage http://www.i2p.net/ doesn't work for me... > > Looking at URL in this bug it is http://www.i2p2.de http://www.i2p2.de doesn't work for me too. I don't know why... Meybe there is e-mail or jabber?
(In reply to comment #50) > (In reply to comment #49) > > (In reply to comment #48) > > > How can I contact them? > > > Homepage http://www.i2p.net/ doesn't work for me... > > > > Looking at URL in this bug it is http://www.i2p2.de > > http://www.i2p2.de doesn't work for me too. I don't know why... > Meybe there is e-mail or jabber? You could try to contact the irc channel on freenode.
Ok, will try. Thanks to all!
Built successful! Have to be more attentive. In my last build.log http://bpaste.net/show/42518/ can be seen, that few lines above word 'BUILD FAILED' there is some note: [echo] See the file "build.properties" if this step fails. Well, I saw that file, and, according to that compiling fails on section 'doBuildEXE', I clap my eyes on last two lines: # Uncomment the next line to prevent building EXEs (changing it to false will have no impact) #noExe=true So, I did uncomment 'noExe=true' (I am linux user, and don't need win's EXEs), restarted compilation... and have seen BUILD SUCCESSFUL That's it. Well, the ebuild must contain USE flag such as 'noexe' or something like that, which will enable or disable 'noExe=true' option in build.properties file. Next. README.txt file (in the root of sources) contain this: To build: On x86 systems do: ant pkg On non-x86, use one of the following instead: ant installer-linux ant installer-freebsd ant installer-osx I don't sure about meaning of this. AFAIK x86/non-x86 relates to architecture of CPU, but not operating system. So, if I have 'Intel Pentium D' (32-bit processor, x86 arch) I have to run ant pkg Or if I have Intel Itanium (ia-64, non-x86) I have to run (for linux) ant installer-linux BUT if I have any 64-bit CPU wich is compatible with x86 (other words - x86_64) which command have I to run? What will be the correct way? I ask about that because kernel also has the option: CONFIG_IA32_EMULATION which can be disabled on amd64 for security reasons. And our Gentoo itselfs has two variants of x86_64 arch: no-multilib and default (with 32-bit libs). Which also can be switched to first for security. So, the ebuild has to contain several appropriate build commands depending on CPU type and system profile. Correct me if I'm wrong. ps Sorry for 'many letters' :)
(In reply to comment #44) > Created attachment 322454 [details] > Ebuild for latest version Andreas Gick, I added the line below: echo noExe=true >> build.properties; to src_compile (prior to 'eant pkg || die') ection of your last ebuild, and the emerge work out with no problems. This action prevents to make windows's EXE. I think we (gentoo users) don't need ones, at least in ebuild (if anybody wants, then he can realize it by USE flag, however building of EXE require 32-bit libs installed in system, and will not compile on 'no-multilib' systems, like mine). Good luck to all.
Thanks for your efforts. Regards Andreas
Created attachment 325016 [details] ebuild for version 0.9.2
Created attachment 329340 [details] ebuild for version 0.9.3 Hi, the latest ebuild reflects that the jetty files aren't needed anymore to build i2p and that the configuration variables need to be set manually, because upstream expects that one uses their installer (See i2prouter script.). Note that I set the variable HOME_USER to /home/$USER, otherwise i2p complains to not being able to find HOME_USER. This is ok, when not using an initscript, but I'm not sure, how to solve this for starting i2p through /etc/init.d... If somebody has suggestion, please let me know One of the reasons why the svn maintainers rejected the ebuild was that SRC_URI contained two sources. By now it is possible to have only source in SRC_URI, it may enhance chances to include i2p into sunrise. I also tried to use Steven's ebuild without building another wrapper, but ran into a bunch of errors. I did that because the source of the wrapper is also included in SRC_URI, which should only contain one source. So maybe an extra ebuild for the wrapper would be appropriate. Anyway, this time I sticked with installing i2p into /opt/i2p. Best regards, Andreas
Created attachment 329352 [details] i2p-0.9.3-r1.ebuild corrected ebuild
Comment on attachment 329352 [details] i2p-0.9.3-r1.ebuild corrected ebuild Please apologize the inconvenience, but I found some config errors which should now be corrected.
Andreas, thanks a lot!
Created attachment 332804 [details] i2p-0.9.4.ebuild
3 years have passed, and we still don't have this ebuild in the main tree. Is there any chance it will be pushed to upstream?
Created attachment 335166 [details] i2p-0.9.4.ebuild Hi folks! I have rewrote the ebuild and the init file. Could you check and test, please?
Created attachment 335170 [details] Init script
Created attachment 335180 [details] i2p-0.9.4.ebuild With some minor fixes. Thx to gentoo devs
Created attachment 336744 [details] initscript This version of the initscript contains a raised timeout so /etc/init.d/i2p stop doesn't reply with "Service refused to stop" and the service exits shortly after. Diff to the previous version: --- - 2013-01-24 19:08:42.076406755 +0100 +++ i2p 2013-01-24 19:04:56.000000000 +0100 @@ -31,7 +31,7 @@ stop() { ebegin "Stopping I2P" # /opt/i2p/i2prouter stop - start-stop-daemon --stop -u i2p --pidfile "$PIDFILE" --quiet --exec $WRAPPER_CMD + start-stop-daemon --stop -u i2p --pidfile "$PIDFILE" --quiet --exec $WRAPPER_CMD -R SIGTERM/20 SIGKILL/20 -P eend $?
Created attachment 336746 [details] i2p-0.9.4-r1.ebuild This ebuild fixes a broken eepget as well as a possibly broken runplain.sh. --- - 2013-01-24 19:10:35.361215686 +0100 +++ ../i2p-0.9.4-r1.ebuild 2013-01-24 16:58:35.000000000 +0100 @@ -39,13 +39,15 @@ USER_HOME="$HOME"\ SYSTEM_java_io_tmpdir="$USER_HOME/.i2p"' \ i2prouter || die - sed -i "/appropriate\ paths/a\ + sed -i "/appropriate\ path/a\ INSTALL_PATH=\"${EROOT}opt/i2p\""\ - i2prouter || die + i2prouter runplain.sh || die sed -i 's:%USER_HOME:$USER_HOME:g' \ i2prouter || die sed -i 's:%INSTALL_PATH:$INSTALL_PATH:g' \ - eepget i2prouter runplain.sh || die + i2prouter runplain.sh || die + sed -i 's:%INSTALL_PATH:'${EROOT}opt/i2p':g' \ + eepget sed -i 's:%SYSTEM_java_io_tmpdir:$SYSTEM_java_io_tmpdir:g' \ i2prouter runplain.sh|| die sed -i s:'$INSTALL_PATH':"${EROOT}opt/i2p":g \
Created attachment 341832 [details] i2p-0.9.5.ebuild Bump to 0.9.5. I added lots of logic to avoid re-installing libs that are available via portage. Those are: jrobin jakarta-jstl java-service-wrapper commons-logging commons-el also adding gmp to the depend makes i2p build against it. PS: please review and comment. i'm an utter noob regarding java vs. ebuilds.
Created attachment 341838 [details] ./files/i2p (initscript) the initscript required for my 0.9.5.ebuild ps: those two are available in my tbc-overlay via layman.
Created attachment 341946 [details] i2p-0.9.5-r1.ebuild looks like my approach to replacing commons-el.jar and commons-logging.jar didn't work out and broke the built-in jetty server. this -r1 keeps commons-el and commons-logging still as dependencies but doesn't rely on them. if someone is able to work out a way to replace them - i'm open for suggestions.
(In reply to comment #70) > Created attachment 341946 [details] > i2p-0.9.5-r1.ebuild > > looks like my approach to replacing commons-el.jar and commons-logging.jar > didn't work out and broke the built-in jetty server. > this -r1 keeps commons-el and commons-logging still as dependencies but > doesn't rely on them. if someone is able to work out a way to replace them - > i'm open for suggestions. There were some encoding errors during compilation with the 0.9.5-r1 ebuild. With the older version - last used in this bug report 0.9.3 - installation succeeded. These are the errors: listChangedFiles: jar: [jar] Building jar: /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/sam/java/build/sam.jar buildSusiMail: compile: [mkdir] Created dir: /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/WEB-INF/classes [javac] Compiling 27 source files to /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/WEB-INF/classes Error: * In program cave perform install --hooks --managed-output --output-exclusivity with-others =net-p2p/i2p-0.9.5-r1:0::x-portage --destination installed --replacing =net-p2p/i2p-0.9.4:0::installed --x-of-y 4 of 4: * When installing 'net-p2p/i2p-0.9.5-r1:0::x-portage' replacing { 'net-p2p/i2p-0.9.4:0::installed' }: * When running an ebuild command on 'net-p2p/i2p-0.9.5-r1:0::x-portage': * Install failed for 'net-p2p/i2p-0.9.5-r1:0::x-portage' (paludis::ActionFailedError) [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:297: unmappable character for encoding ASCII [javac] "From: Sm??rebr??d <smoerebroed@mail.i2p>\r\n" + [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:297: unmappable character for encoding ASCII [javac] "From: Sm??rebr??d <smoerebroed@mail.i2p>\r\n" + [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:297: unmappable character for encoding ASCII [javac] "From: Sm??rebr??d <smoerebroed@mail.i2p>\r\n" + [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:297: unmappable character for encoding ASCII [javac] "From: Sm??rebr??d <smoerebroed@mail.i2p>\r\n" + [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:298: unmappable character for encoding ASCII [javac] "To: ???????? <lalala@mail.i2p>\r\n"; [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:298: unmappable character for encoding ASCII [javac] "To: ???????? <lalala@mail.i2p>\r\n"; [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:298: unmappable character for encoding ASCII [javac] "To: ???????? <lalala@mail.i2p>\r\n"; [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:298: unmappable character for encoding ASCII [javac] "To: ???????? <lalala@mail.i2p>\r\n"; [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:298: unmappable character for encoding ASCII [javac] "To: ???????? <lalala@mail.i2p>\r\n"; [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:298: unmappable character for encoding ASCII [javac] "To: ???????? <lalala@mail.i2p>\r\n"; [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:298: unmappable character for encoding ASCII [javac] "To: ???????? <lalala@mail.i2p>\r\n"; [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:298: unmappable character for encoding ASCII [javac] "To: ???????? <lalala@mail.i2p>\r\n"; [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:301: unmappable character for encoding ASCII [javac] System.out.println( hl.encode( "test ??????" ) ); [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:301: unmappable character for encoding ASCII [javac] System.out.println( hl.encode( "test ??????" ) ); [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:301: unmappable character for encoding ASCII [javac] System.out.println( hl.encode( "test ??????" ) ); [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:301: unmappable character for encoding ASCII [javac] System.out.println( hl.encode( "test ??????" ) ); [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:301: unmappable character for encoding ASCII [javac] System.out.println( hl.encode( "test ??????" ) ); [javac] ^ [javac] /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java:301: unmappable character for encoding ASCII [javac] System.out.println( hl.encode( "test ??????" ) ); [javac] ^ [javac] 18 errors BUILD FAILED /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/build.xml:93: The following error occurred while executing this line: /var/tmp/paludis/net-p2p-i2p-0.9.5-r1/work/i2p-0.9.5/apps/susimail/build.xml:18: Compile failed; see the compiler error output for details. Total time: 2 minutes 8 seconds !!! ERROR in net-p2p/i2p-0.9.5-r1::x-portage: !!! In eant at line 1044 !!! eant failed !!! Call stack: !!! * eant (/var/tmp/paludis/net-p2p-i2p-0.9.5-r1/temp/loadsaveenv:1044) !!! * java-pkg-2_src_compile (/var/tmp/paludis/net-p2p-i2p-0.9.5-r1/temp/loadsaveenv:3362) !!! * src_compile (/var/tmp/paludis/net-p2p-i2p-0.9.5-r1/temp/loadsaveenv:5665) !!! * ebuild_f_compile (/usr/libexec/paludis/2/src_compile.bash:56) !!! * ebuild_main (/usr/libexec/paludis/ebuild.bash:668) !!! * main (/usr/libexec/paludis/ebuild.bash:691) diefunc: making ebuild PID 22664 exit with error die trap: exiting with error Btw., sooner or later I'd like to give i2p another try to reach at least the sunrise overlay. After that it will hopefully be included into the main tree. What's the main advantage of your approach?
Which jdk are you using? `emerge --info` might be helpful, too. And the main advantage of my approach is that there are no duplicates of packages from the tree stored on the system. It is, however, a rather fragile attempt since not intended/supported by upstream.
Created attachment 342216 [details, diff] encoding.patch i hacked up this quickfix. please apply it to your ebuild and see if it works.
Created attachment 345582 [details] Obsoleted attachments for which the author has attached a newer version.
Created attachment 350120 [details] i2p-0.9.6.ebuild
Created attachment 353670 [details] i2p-0.9.7.ebuild
Created attachment 354154 [details] error building i2p-0.9.7 Running into build errors while compiling susimail. Seems to have to do with encoding problems. Tried to compile with IcedTea JDK 6.1.12.6 and Oracle JDK 1.7.0.25. Btw. thanks for keeping the ebuild up to date. Greets Andreas
Please notice that i2p compiled after unpacking the sources and running "ant pkg". Anyway, I appreciate the newer ebuild-versions(In reply to Andreas Gick from comment #77) > Created attachment 354154 [details] > error building i2p-0.9.7 > > Running into build errors while compiling susimail. Seems to have to do with > encoding problems. Tried to compile with IcedTea JDK 6.1.12.6 and Oracle JDK > 1.7.0.25. Btw. thanks for keeping the ebuild up to date. > > Greets Andreas Sorry for the false alarm, I was able to install i2p with M.B.'s encoding-patch. I didn't realize that I had reported the same error some time ago. I just wonder why the encoding issue doesn't cause any error on other machines, because I had the same effects with either icedtea or oracle jdk. If I find the time this weekend, I'll talk to the sunrise-devs again to see, if i2p can be included into sunrise. Regards Andreas
>>> http://www.i2p2.i2p/release-0.9.7 >>> As we think the last release fixed the experimental >>> update-via-torrent bugs, 3% of routers should update >>> over in-network bittorrent this cycle. So, perhaps updating ebuild is no longer needed.
Created attachment 356712 [details] i2p-0.9.7.1.ebuild Version bump.
(In reply to Andrey Aleksandrovich from comment #79) > >>> http://www.i2p2.i2p/release-0.9.7 > >>> As we think the last release fixed the experimental > >>> update-via-torrent bugs, 3% of routers should update > >>> over in-network bittorrent this cycle. > > So, perhaps updating ebuild is no longer needed. Unless someone is trying to install I2P for the first time, in which case they would probably still need an ebuild, no? Anyway, 0.9.7.1 was released 12 days ago and includes a security fix, and other fixes detailed at http://www.i2p2.de/release-0.9.7.1 Attaching a version-bump ebuild.
Current init-script doesn't work because directory /var/lib/i2p/.i2p/ doesn't exists. It should be created by .ebuild or init-script OR you just should set I2P_CONFIG_DIR="$USER_HOME" - I mean, directory /var/lib/i2p/ doesn't used for anything except keeping .i2p subdirectory, so why we need .i2p subdir at all? Also, I didn't like to keep log-files (wrapper.log and logs/*) in app directory - they should be moved to /var/log/i2p/ - is it possible to configure this?
(In reply to Andrey Aleksandrovich from comment #79) > So, perhaps updating ebuild is no longer needed. Why is that? You think i2p will auto-update itself? I don't think that's possible, because i2p actually run as a service using "i2p" account (or using some user's account when started manually), while it files installed into /usr/share/i2p/ are owned by root.
To update to 0.9.8.1 it's enough to rename ebuild. Btw, it would be nice to speedup it: 1) avoid generating translations for all languages (use $LINGUAS) 2) (if possible) build in parallel on all CPU/Cores
Created attachment 369434 [details] ebuild for version 0.9.10 Had to adjust SRC_URI to reflect the new location of the source file.
Last version is 0.9.13 as of now.
Created attachment 381294 [details] i2p-0.9.13.ebuild Made a couple of changes regarding dependencies. * dropped dependency on jakarta-jstl (apparently isn't needed anymore?) * switched back to using provided jrobin (not keyworded for ~arm) * depending on current java-service-wrapper (for arm compatibility) * builds on arm now (with icedtea-6), keyworded for ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 --- i2p-0.9.12.ebuild 2014-07-15 15:41:49.721577049 +0200 +++ i2p-0.9.13.ebuild 2014-07-21 12:26:10.376431589 +0200 @@ -1,5 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the WTFPL +# Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="4" @@ -12,13 +12,11 @@ HOMEPAGE="http://www.i2p2.de/" SLOT="0" -KEYWORDS="~x86 ~amd64 ~x86-fbsd" +KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86" LICENSE="Apache-2.0 BSD GPL-2 GPL-3 IJG LGPL-2.1 LGPL-3 MIT MPL-1.1 public-domain" IUSE="initscript" DEPEND=">=virtual/jdk-1.6 - dev-java/jakarta-jstl dev-java/java-service-wrapper - dev-java/jrobin dev-libs/gmp sys-devel/gettext" RDEPEND="${DEPEND}" @@ -93,6 +91,7 @@ javax.servlet \ jbigi \ jetty* \ + jrobin \ mstreaming \ org.mortbay.* \ router* \
The ebuild is also available from my overlay (tbc). And I would like to volunteer for proxy-maintaining it, so we finally get that thing in the tree.
(In reply to M. B. from comment #88) > The ebuild is also available from my overlay (tbc). And I would like to > volunteer for proxy-maintaining it, so we finally get that thing in the tree. Please, add systemd support (like in ebuild from "nektoo" overlay)
Created attachment 381350 [details] i2p.service
According to news about 0.9.14.1, quote: > We've restored the ability to install plugins via the console, but you must first edit your router.config file (in ~/.i2p/ or /var/lib/i2p/i2p-config/ or %APPDATA%\I2P\) to add the line routerconsole.enablePluginInstall=true. we should use I2P_CONFIG_DIR="$USER_HOME/i2p-config" in initscript. Also it might make sense to allow auto-updates for i2p by: chown -R i2p:i2p /usr/share/i2p (probably this should be done only in -9999 version of ebuild) or at least mention this possibility in ebuild's ewarn/einfo.
Anything particularly wrong with latest ebuild version?
actually, yes. several input forms (especially in the torrent client) are apparently buggy. 0.9.14.1 should fix that.
@alex efros: auto-updates are generally a bad idea. why? i2p would just dump its files and potentially drop them out of control of portage. If you wanted to install i2p outside of portage you can still do it by hand using its own installer. But the whole sense of using portage is to provide just that control over its files.
(In reply to M. B. from comment #94) > @alex efros: auto-updates are generally a bad idea. Sure. But i2p is security tool and it isn't in portage yet. It's better to have security tool updated, no matter how, than use outdated version - if you bother about security, of course. If i2p will be added into portage and ebuild will be updated timely enough - auto-updates should be disabled. BTW, there are some other tools which update themselves - for example `rkhunter --update` and dropbox (and it take a lot of my time to disable dropbox auto-updates). > If you wanted to install i2p outside of portage you can still do it by hand > using its own installer. But the whole sense of using portage is to provide > just that control over its files. That sounds right, in theory. In practice, it's much easier to install i2p in Gentoo using attached ebuild. Also, auto-update will change files only inside /usr/share/i2p, so it's enough to remove this directory after unmerging ebuild to cleanly uninstall it (notice about this can be added into ebuild). So, yeah, auto-updates are generally a bad idea. But in this case it's only available option if you bother about i2p security - and I suppose most i2p users should bother about it, otherwise they won't install i2p at all. But ebuild with enabled auto-updates probably should have -999 version.
Created attachment 389340 [details] i2p-0.9.16.ebuild - added nls useflag; disabling nls cuts build-time to ~10%. - included building a native jbigi, which should especially benefit arm.
(In reply to M. B. from comment #96) > - included building a native jbigi, which should especially benefit arm. There are a couple of problems. 1) Emerge fails if you didn't have java installed prior to emerging this ebuild: ERROR: Cannot find jni.h! Looked in "/include/jni.h" Please set JAVA_HOME to a java home that has the JNI * ERROR: net-p2p/i2p-0.9.16::local failed (compile phase): * building native gmp library failed One need to logout and login again. 2) After that, emerge still fails: Please set the environment variable $I2P to run tests. I2P installation not found We looked in Not running tests against I2P installation without knowing where it is. Please set the environment variable I2P to the location of your I2P installation (so that $I2P/lib/i2p.jar works). If you do so, this script will run two tests to compare your installed jbigi with the one here you just compiled to see if there is a marked improvement. * ERROR: net-p2p/i2p-0.9.16::local failed (compile phase): * building native gmp library failed
(In reply to M. B. from comment #87) > * dropped dependency on jakarta-jstl (apparently isn't needed anymore?) Another problem: jakarta-jstl IS needed or you get a number of runtime errors like: HTTP ERROR 500 Problem accessing /susidns/addressbook. Reason: Server Error Caused by: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag HTTP ERROR 500 Problem accessing /susidns/addressbook. Reason: Server Error Caused by: java.lang.NoClassDefFoundError: org/apache/taglibs/standard/tag/rt/core/ForEachTag
Also ECDSA support is mandatory since 0.9.18, so probably dev-java/bcprov needs to be added to dependencies due to bug #528338.
Created attachment 397348 [details] i2p-0.9.18.ebuild My ebuild for 0.9.18 (I've also bumped dev-java/bcprov to 1.51 in my overlay).
I fixed this ebuild up and added it to the tree. The current version available is 0.9.18. Thanks for your contributions, everyone!