Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 548272 - ODEPS in ebuids (declare option build/runtime deps) etc, but non required packages
Summary: ODEPS in ebuids (declare option build/runtime deps) etc, but non required pac...
Status: RESOLVED DUPLICATE of bug 373323
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: PMS/EAPI
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-30 17:15 UTC by Michael Lawrence
Modified: 2015-05-02 17:39 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild in html (qt4-fsarchiver-ODEPS-0.6.19.13.html,6.08 KB, text/html)
2015-04-30 17:40 UTC, Michael Lawrence
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Lawrence 2015-04-30 17:15:12 UTC
USER can call them in buy USE="" as normal if enabled 
IE zfs?  ( sys-fs/zfs ) however portage will use for QA or rev-dep rebuilds 
IE Install sshfuse and it will rebuild packages which can use it as an optional. if asked to , 

this is just a proposal/s for down the line for a few options to possibly make life easier 

iREC can recommend best flags to user ie a quick elog message to user these are best IUSE setings I find useful (free to do what ever) 


Reproducible: Didn't try

Steps to Reproduce:
I've included a sample ebuild in html and txt with some ideas , 
Actual Results:  
opdeps eclass for better optional depends handling and or QA checks, 
packages that add more usefulness to a given package but not required to use 

Expected Results:  

# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: necrose99 Exp $ proxy-maintainer 

 EAPI=5

 inherit qmake-utils versionator ODEPENDS , ?
inherit_propasl odeps eclass 

revdep-rebuild could graciuly rebuild when called against the optional depends when asked too. 
MY_P="${PN}-$(replace_version_separator 3 '-')"
MIN_PV="$(get_version_component_range 1-3)"

 DESCRIPTION="Qt4 frontend for fsarchiver"
 HOMEPAGE="http://qt4-fsarchiver.sourceforge.net/"
 SRC_URI="mirror://sourceforge/${PN}/source/${MY_P}.tar.gz"

 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"

 IUSE=""
 IREC="+onbydefault +btrfs +jfs +ntfs reiser4 +reiserfs +xfss +sshfs nfs samba"
### I rec, I RECOMEND like IUSE but more a suggestion for optimal experience ie elog for best optimal results in most cases, though not required… 

Portage offer with flags Y/N or M_inimal just use the basics.  Or Yes for optimal NO for basics, 

 

Portage: It’s highly recommended to Use these flags for best possible experience, though not required; do you agree: Y/N or M_inimal, or you can override with USE=”+your-flags”

 

If I had a fancy script to to re-bake app-admin/systemrescuecd I’d add damb near everything, with a lice cd option but that’s above my Ebuild skill level atm. 
  DEPEND="app-arch/xz-utils
     
     dev-libs/glib:2
     dev-libs/libgcrypt
     dev-libs/lzo
     >=sys-fs/e2fsprogs-1.41.4
     x11-libs/qt-core:4
     x11-libs/qt-gui:4"
     
           RDEPEND="${DEPEND}
 "
 RDEPEND="app-arch/bzip2
       app-arch/xz-utils
       dev-libs/libgcrypt:=
       dev-libs/lzo
       dev-qt/qtcore:4
       dev-qt/qtgui:4
       sys-apps/util-linux
       sys-fs/e2fsprogs
       sys-libs/zlib
       >=app-backup/fsarchiver-${MIN_PV}[lzma,lzo]"          

       Why odepends , I can declare them , if not installed user can USE="+flags " and pull in added features 
       though not required , it also perhaps might ease QA Frustrations. Of having to pound them into metadata.xml 
 ODEPENDS="  btrfs? ( sys-fs/btrfs-progs )
             sys-fs/jfsutils</pkg>
             sys-fs/ntfs3g[ntfsprogs]
             reiser4? ( sys-fs/reiser4progs )
             reiserfs? ( sys-fs/reiserfsprogs )
             xfs? ( sys-fs/xfsprogs )
             sshfs? ( sys-fs/sshfs-fuse )
             {samaba?  ( net-fs/samba )
             Or/else ( net-fs/smbnetfs )}  # for samba network I/O  support one or both at users choice}
             nfs? net-fs/nfs-utils"
             jfs? ( sys-fs/jfsutils )
             ntfs? ( sys-fs/ntfs3g[ntfsprogs] )

            zfs?  ( sys-fs/zfs )

S="${WORKDIR}/${PN}"

 src_prepare() {
       # fix .desktop file
       sed -i \
             -e '/Encoding/d' starter/"${PN}".desktop \
             || die "sed on qt4-fsarchiver.desktop failed"
       # fix icon installation location
       sed -i \
             -e "/icon.path/s:app-install/icons:${PN}:" "${PN}.pro" \
             || die "sed on ${PN}.pro failed"
 }

 src_compile() {
       eqmake4
 }

 src_install() {
       emake INSTALL_ROOT="${D}" install
       einstalldocs
 }

 pkg_postinst() {
       elog "optional dependencies: ${ODEPENDS}"
       elog "These packages will Add more functionality and usability but Are not Required, though can enhance your usability and capabilities with the tool"
 }
Comment 1 Michael Lawrence 2015-04-30 17:40:48 UTC
Created attachment 402316 [details]
ebuild in html

mainly this is a no hurry option for ebuild maintainers 
 FUGGLY metadata , officially my package supports nfs samba but unofficially 
if its a network file system on the backend that works ie Openafs 
etc its fair game if mounted as a filesystem , ftpfuse httpfuse etc , 
but i've just put in main ones , 

anyhow I was thinking off the top of my head ,  there has to be a cleaner way than the metadata.xml for optional flags , and to keep QA folks  happy too.

Anyhow its a Proposal for adding a specific cat in ebuilds for optional depends  IE samaba?  ( net-fs/samba ) though not required to build at least can offer them in a safe manor for more user choice. 
chances are most users have already , 

but on a FRESH install why not give them the option of adding in enhancements as a convenience ?

plus user can just call in ODEPS wanted , IE on a clean install etc. 

plus its less f'uggly than the metadata xml 
and at the very least if declared but not called for IUSE in a package portage happy repoman happy 
odeps="net-fs/samba
openssl gnutls etc " QA happy 
portage will know its an optional for QA useage less called into IUSE and will give 2 rats behinds less needed about ODEPS but for ELOG purposes/msg  and yup these package are optional bla bla make using "PAK-name-hear" all the bla bla better. 

anyhow its no big deal but was just a idea to kick about a bit. 


-----so fuggly.....---------------
<use>
<flag name='btrfs'>Enable support for <pkg>sys-fs/btrfs-progs</pkg></flag>
<flag name='jfs'>Enable support for<pkg>sys-fs/jfsutils</pkg></flag>
<flag name='ntfs'>Enable support for <pkg>sys-fs/ntfs3g[ntfsprogs]</pkg>
</use>
Comment 2 Ulrich Müller gentoo-dev 2015-05-02 17:39:23 UTC

*** This bug has been marked as a duplicate of bug 373323 ***