Created attachment 402796 [details] new ebuild file for classified ads version 0.07 Dear Sirs, I'm attaching an ebuild file for "Classified ads" in a hope that others too will find it useful. It is my own attempt to handle human-to-human communications inside internet, from end-users perspective. As a long-time internet-user this is to-day more or less the way I see how messaging should happen. Features of the program include, but are not limited to: * Sending and retrieving messages public and private, between humans or inside groups * No need for server-side support of any kind * Minimal hassle for the end-user * No need for contracts with any service-operators, not counting your ISP * Identification of message senders while allowing some withdrawal of personal details * Text-based search of public posting * Unfortunately no text-based or mobile UI yet, only Qt. * Early stage of development ; while basic functions seem to be all right there is surely bugs, "features" and 2 million fatal errors. As developer and user of the program I naturally could maintain it for gentoo too. In attached (incomplete) metadata.xml the maintainer section is empty. -- Antti Järvinen, Oulu, Finland
Created attachment 402798 [details] metadata file for classified ads
CC'ing proxy-maintainers as the poster is the program author. Perhaps you can work with them to get this in portage.
yes, once the author declares an interest in being proxy maintainer, well that's what the proxy-maint herd is here for. It appears to be who will make the first move. Currently the status of assignee is maintainer-wanted@gentoo.org and that's a very deep hole. As an author he all but qualifies as a credible candidate.
Created attachment 404238 [details] build log On running the ebuild with deps emerged: $ ebuild classified-ads-0.07.ebuild clean compile yields several lines of error pointing mainly to the header /usr/include/natpmp.h [I] net-libs/libnatpmp Available versions: 20110808-r1 20130911 (~)20131126 (~)20140401-r1 {static-libs} Installed versions: 20140401-r1(11:50:56 29/05/15)(-static-libs) 2014 04 01 is over a year old now. I suspect this library has moved on and you have probably utilised the source form the repo. If so, this libnatpmp requires either a release or a new snapshot. The maintainer of this package is blueness@gentoo.org.
Created attachment 404908 [details] Version of the ebuild with clearer dependencies Please test this new version of the ebuild file. This is exactly same version than previously, it builds the same sw version but now it requires same versions of libnatpmp and miniupnpc that I have in my box (where the sw is compiling and working as expected). If you experience problems like reported by Ian above, please attach contents of the files /usr/include/miniupnpc/declspec.h and /usr/include/declspec.h into your comment because mismatch between these files is suspected cause for previously reported compilation woes. Thanks in advance, -- Antti Järvinen
between net-libs/libnatpmp Available versions: 20130911 (~)20131126 (~)20140401-r1 the package builds with 20130911 (~)20131126 making a need for a bordering of < 20140401-r1, optionally ! 20140401-r1 =net-libs/libnatpmp-20130911 <net-libs/libnatpmp-20140401 While this is adequate to add to portage as is, by your own hand, you have included a doc build and a testsuite. I normally commit fully prepared and equipped ebuilds to provide all a package offers. Can you prepare a test phase for classified-ads-0.07/test> The running of testca.pro for me yielded ./testca.pro: line 1: SOURCES: command not found ./testca.pro: line 21: HEADERS: command not found ./testca.pro: line 42: CONFIG: command not found ./testca.pro: line 43: CONFIG: command not found ./testca.pro: line 44: QT: command not found ./testca.pro: line 45: LIBS: command not found ./testca.pro: line 46: unix:INCLUDEPATH: command not found ./testca.pro: line 47: QMAKE_CXXFLAGS: command not found and the required qmake-qt4 is not present in my system. I am not versed in qt. Likely I missed where it says how to run the testsuite but I expected what I did try to work. Similarly there is a doc build by doxygen. work/classified-ads-0.07/doc Doxyfile ads-search.png interactions.txt profilecomment.png scenarios.txt. If you REALLY don't wish for these to be made part of the ebuild, your call, otherwise I would work to have them added.
Created attachment 405204 [details] Ebuild with support for test suite and doxygen-generated documentation Test suite and docs definitely make sense, please find attached ebuild-version that lets you USE="doc" and have FEATURES="test". Miniupnpc versions are now limited at both ends. This is tested with libnatpmp-20140401-r1 and miniupnpc-1.8.
(In reply to Antti Järvinen from comment #7) > Created attachment 405204 [details] > Ebuild with support for test suite and doxygen-generated documentation > > Test suite and docs definitely make sense, indeed > please find attached ebuild-version that lets you USE="doc" and have > FEATURES="test". Miniupnpc > versions are now limited at both ends. This is tested with > libnatpmp-20140401-r1 and miniupnpc-1.8. Ok well done for getting a working ebuild. Now follows the critique, however, do consider it a learning exercise. As a total beginner you are expected to have the following require 'correction'. The corrections are mostly to have it comply with the protocol of ebuild writing gentoo style. \ 1. The SRC_URI. It need be split to 2 lines. It is far too long for a single line which are preferred to keep to >=80 chars or so. SRC_URI="https://github.com/operatornormal/classified-ads/archive/${PV}.tar.gz -> classified-ads-${PV}.tar.gz https://github.com/operatornormal/classified-ads/blob/graphics/preprocessed.tar.gz?raw=true -> classified-ads-graphics-${PV}.tar.gz" classified-ads == ${PN} so it can be reduced to SRC_URI="https://github.com/operatornormal/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz https://github.com/operatornormal/${PN}/blob/graphics/preprocessed.tar.gz?raw=true -> ${PN}-graphics-${PV}.tar.gz" and even then both are still very long. You could make a new var to capture part of the string, something like REDUCE_VAR="operatornormal/${PN}" but that in itself is somewhat ugly. Above will suffice for now. 2. All test deps can be set in one single ( ): test? ( dev-libs/libgcrypt dev-qt/qttest sys-devel/gdb ) Note the indentation, simply a recommended norm. 3. # preprocessed graphics are unpacked into wrong directory # so lets move them into correct location: leaves me wondering why not shift them to the right place in the actual package, or just add them. Your call really. A more succinct alternative; mv ../ui/{turt-transparent-128x128.png,turt558.png} ui/ or seeing that's all there is mv ../ui/* ui/ and an ebuild writing rule has this require `|| die` since it an exe file in the installed system. 4. Doc build. This ought be shifted to the compile phase src_compile() { qt4-r2_src_compile use doc && sh -c "cd doc ; doxygen" } While it works, gentoo style writing would have it more like: src_compile() { qt4-r2_src_compile if use doc; then cd doc || die doxygen || die fi } or doc/doxygen || die So it's a protocol of ebuild writing style. The requirement of the `|| die` necessitates us of a full if then statement. 5. Test phase echo test on becomes 'einfo "test on"' and it is a courtesy msg, so it is optional cd test -> cd test || die cmds of `mv' require || die echo test done result = $result -> einfo "test done, result = $result" and again it is an optional courtesy msg. einfo is merely a wrapper of echo. 6. doc install. The helper func dohtml is to be deprecated. use doc && dohtml -r -> use doc && dodoc -r doc/doxygen.generated/html/ Any space in ebuilds such as dev-libs/qjson need be a tab space. The spaces in the ebuild fluctuate randomly between spaces and tabs. Look at the qatool repoman. It checks for syntax style and outputs style violations and others under the banner of qa. In my system I end up with RDEPEND.suspect 2 net-p2p/classified-ads/classified-ads-0.07.ebuild: 'test?' USE conditional in RDEPEND net-p2p/classified-ads/classified-ads-0.07.ebuild: 'app-doc/doxygen[dot]' dependency.missingslot 3 net-p2p/classified-ads/classified-ads-0.07.ebuild: RDEPEND: 'dev-libs/openssl' matches more than one slot, please specify an explicit slot and/or use the := or :* slot operator net-p2p/classified-ads/classified-ads-0.07.ebuild: RDEPEND: 'dev-libs/libgcrypt' matches more than one slot, please specify an explicit slot and/or use the := or :* slot operator net-p2p/classified-ads/classified-ads-0.07.ebuild: RDEPEND: 'dev-qt/qttest' matches more than one slot, please specify an explicit slot and/or use the := or :* slot operator ebuild.notadded 1 net-p2p/classified-ads/classified-ads-0.07.ebuild metadata.warning 1 net-p2p/classified-ads/metadata.xml: unused local USE-description: 'classified-ads' So RDEPEND="${DEPEND}" causes this trouble all the time. the content of doc? and test? are to be unique to DEPEND. Clearly distinguish runtime deps from build deps and have them listed in the ebuild accordingly. For now skip over the dependency.missingslot since it has status of a warning not a fatal error. The unused local USE-description: 'classified-ads' shows this use flag entry in metadata.xml is superfluous. Other than it's 'good'.
Created attachment 405698 [details] Classified ads ebuild file with latest corrections Ian Delaney wrote: > Now follows the critique, however.. No prob, thank you for you patience with my reading skills, or lack of.. :) > 1. The SRC_URI. It need be split to 2 lines. Ok. still looks kind of ugly. > 2. All test deps can be set in one single ( ): Ok. To silence repoman whining about slots in DEPENDS, I've specified slot 0 to some libraries there, still seems to be compiling without emerging any libraries for second time.. > 3. # preprocessed graphics are unpacked into wrong directory > # so lets move them into correct location: > > leaves me wondering why not shift them Not changed ; Long story but different linux distributions want bitmaps packaged differently and I'm here re-using the method from rpm packaging. Portage system seems to handle multiple source packages slightly differently when compared to rpmbuild ; I'd still like to use the same source package(s), so this is why I'm moving the files. Greased the copying part anyway a bit, there is no need to list individual files. > 4. Doc build. This ought be shifted to the compile phase Ok. > 5. Test phase Ok, or heavily modified. The "echo" parts were more or less debugging output for me while writing the script. > 6. doc install. The helper func dohtml is to be deprecated. Ok, now "dodoc" is used and seems to do its job. >In my system I end up with > > RDEPEND.suspect 2 .. Ok, now I have separate DEPEND/RDEPEND. Repoman is mostly quiet. Also changed metadata.xml slightly. Still not sure about contents about metadata.xml yet but if this ever gets included, the content is due to change then anyway..
Created attachment 405700 [details] Metadata for classified ads, with some corrections Here is also updated metadata.xml as repoman had issues with it.
SRC_URI; you can't always avoid all ugliness. Live with it. See I have made minor syntax touch ups / improvements. They are trivialities; The deps behind ' test? ' simply go in 1 per line. I re-ordered so the src_compile() appears prior to src_test(). make in `make || die` is a helper function which does not require the `|| die` Generally use of `die` doesn't require a "msg" but they're nice msgs so I left them. dodoc -r doc/doxygen.generated/html/*. The * is redundant. The '-r' will recursively sweep thru the /html folder. metadata.xml; The use flags "test, doc" are global flags in portage and need no entries. The only change was to remove the un-needed flag "classified-ads". I've included ~arm in KEYWORDS however I shall leave this open under IN_PROGRESS in case this is a carry over from a copy paste. You need to have personally runtested this in/on an arm board. If not say here and I shall delete it. *classified-ads-0.07 (29 Jun 2015) 29 Jun 2015; Ian Delaney <idella4@gentoo.org> +classified-ads-0.07.ebuild, +metadata.xml: new package, ebuild authored by upstream author with support from myself, added under the proxy-maint herd and author is set to proxy maintain his package via the herd. ebuild submitted via bug #548812
> The deps behind ' test? ' simply go in 1 per line. Very fine. > I re-ordered so the src_compile() appears prior to src_test(). Yes, > make in `make || die` is a helper function which does not require > the `|| die` > Generally use of `die` doesn't require a "msg" but they're nice > msgs so I left them. Well ; if they appear in output too.. or hopefully not as they're generally all error messages. > dodoc -r doc/doxygen.generated/html/*. The * is redundant. The > '-r' will recursively sweep thru the /html folder. Yes, > metadata.xml; The use flags "test, doc" are global flags in > portage and need no entries. The only change was to remove > the un-needed flag "classified-ads". Ah, misunderstanding. > I've included ~arm in KEYWORDS however I shall leave this > open under IN_PROGRESS in case this is a carry over from a > copy paste. You need to have personally runtested this in/on > an arm board. If not say here and I shall delete it. Yes, good point. I know the software *builds* on arm but I have not yet seen it run on actual arm board. So this is a question mark. Amd64 and 32-bit intel I have seen personally and know that they work so I'll take the arm away from version I'll store for future use until there is confirmed use from additional hw architectures ; there would potentially be half-dozen different architectures to support. > *classified-ads-0.07 (29 Jun 2015) > > 29 Jun 2015; Ian Delaney <idella4@gentoo.org> +classified-ads-0.07.ebuild, > +metadata.xml: > new package, ebuild authored by upstream author with support from myself, > added under the proxy-maint herd and author is set to proxy maintain his > package via the herd. ebuild submitted via bug #548812 Oh wow, thank you for everything. I'll need to copy the ebuild also back to version control in its current form.. ..also how does process continue regarding possible future releases? They also go through similar "new ebuild" ticket?
13 Jul 2015; Ian Delaney <idella4@gentoo.org> classified-ads-0.07.ebuild: remove keyword arm for now due to lack of required pre-testing (In reply to Antti Järvinen from comment #12) > Oh wow, thank you for everything. I'll need to copy the ebuild also > back to version control in its current form.. > yw. > ..also how does process continue regarding possible future releases? > They also go through similar "new ebuild" ticket? new ebuild is simply a category. Since it's now in portage it's no longer new. 1. To have further arches added to this ebuild, make a bug of a 'keyword request' type. Simply peruse other similar bugs in bugzilla and copy the style or syntax. Add a line or 2 to outline a rationale for arch teams to add the keywords to your package. CC me so I can CC arches or ask another dev to do for you. CC arches is restricted to those with dev status or with extended permissions. If you REALLY want these just ask and I can ask to get them added on your behalf. 2. For future releases, or bumps, simply make out a bug of type REQUEST in the textbox entitled 'Keywords:' Same deal; peruse bugzilla for request for version bumps and add the proxy-maint herd in CC. Any member of proxy-mainainters project can commit the bump for you.