From owner-freebsd-ports@freebsd.org Fri Dec 16 10:08:59 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3ADDDC77B0B for ; Fri, 16 Dec 2016 10:08:59 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 0CD781645 for ; Fri, 16 Dec 2016 10:08:58 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from Julian-MBP3.local (ppp121-45-230-194.lns20.per1.internode.on.net [121.45.230.194]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id uBGA8mVH055183 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Fri, 16 Dec 2016 02:08:51 -0800 (PST) (envelope-from julian@freebsd.org) Subject: Re: (In)Stability of the Quarterly Branch To: freebsd-ports@freebsd.org References: <3e7f94efc6428181a289742d7dd627df@acheronmedia.com> <2bd42508-a1f9-b0f2-e329-51af36604a45@toco-domains.de> From: Julian Elischer Message-ID: Date: Fri, 16 Dec 2016 18:08:43 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <2bd42508-a1f9-b0f2-e329-51af36604a45@toco-domains.de> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Dec 2016 10:08:59 -0000 On 15/12/2016 9:43 PM, Torsten Zuehlsdorff wrote: > On 15.12.2016 14:16, David Demelier wrote: [...] >> >> What I want: a ports tree that matches the FreeBSD version like >> OpenBSD. You have FreeBSD 11.0? You get a ports tree for that version >> specifically. No major update, no breaking changes. Just bug fixes. >> That will also simplify a lot FreeBSD ports by not having thousands of >> conditional checking the FreeBSD version. > > That what i really, really, really NOT want. I have regular problems > with our admins because of that. You want a specific version of an > software? No problem: just install a specific version of your > operation system. Need two of them, but they are not in this bundle? > To bad, than you need a new server. This is an daily-base scenario i > really don't want to port to FreeBSD. the problem I have is that on the one machine the UI people want node-x.y and the VM configuration people need boto-a.b, but boto-a.b and node-x.y don't exist at the same time in the ports tree and there is no snapshot of packages when they exist.. it's like saying "that dinosaur and this dinosaur never met because one was Jurassic and the other was Triassic. To make it worse the packages taken from different times insist on installing different versions of some other package, so I can't just take packages from different times (because they OVERSPECIFY their dependencies,, it may work but I don't get the chance because the install balks). So I'm left with compiling.. If I use poudriere I need otmake a synthetic tree with different revisions, bus the API for the ports tree moves so fast that often you cant; even do that because one requires mk/uses/python.mumble and theother wants some incompatible other change. So the problems I see are 1/ over specification of dependencies, leading to artificial requirements to upgrade things. 2/ leaf dependencies having too many options, leading to exponential fan-out of dependencies. 3/ API changes too frequent, and not enough care taken thinking about what happens if one needs to get a back-rev version of something. 4/ ports not always noticing when a dependency package is installed and compiling the dependency anyhow. here's an example; 'tracker' is a simple package. but requires the following makefiles to be in sync API wise. # Build dependencies TRACKER_DEP_PORTS:= devel/desktop-file-utils devel/gettext-tools devel/gmake graphics/gtk-update-icon-cache TRACKER_DEP_PORTS+= print/indexinfo textproc/intltool devel/gettext lang/perl5.20 lang/python27 graphics/poppler TRACKER_DEP_PORTS+= devel/gobject-introspection textproc/libxslt devel/pkgconf multimedia/gstreamer1-plugins TRACKER_DEP_PORTS+= devel/xdg-utils converters/o3read graphics/poppler-utils www/w3m TRACKER_DEP_PORTS+= devel/desktop-file-utils graphics/gtk-update-icon-cache multimedia/gstreamer1-plugin TRACKER_DEP_PORTS+= devel/dbus-glib mail/gmime26 sysutils/hal textproc/raptor sysutils/e2fsprogs TRACKER_DEP_PORTS+= misc/e2fsprogs-libuuid devel/icu multimedia/libmediaart devel/librest TRACKER_DEP_PORTS+= multimedia/totem-pl-parser audio/flac audio/libvorbis textproc/libcue TRACKER_DEP_PORTS+= audio/libogg audio/taglib graphics/poppler-glib graphics/libgxps TRACKER_DEP_PORTS+= devel/libgsf textproc/exempi textproc/wv graphics/libexif TRACKER_DEP_PORTS+= graphics/giflib graphics/png graphics/tiff devel/gettext-runtime TRACKER_DEP_PORTS+= accessibility/atk graphics/gdk-pixbuf2 devel/glib20 x11-toolkits/gtk30 TRACKER_DEP_PORTS+= textproc/libxml2 x11-toolkits/pango archivers/libarchive databases/sqlite3 TRACKER_DEP_PORTS+= devel/libffi devel/pcre converters/libiconv graphics/cairo devel/bison TRACKER_DEP_PORTS+= lang/python2 x11/libXext x11/libXrender x11/libX11 x11/libXinerama TRACKER_DEP_PORTS+= x11/libXi x11/libXrandr x11/libXcursor x11/libXfixes x11/libXdamage TRACKER_DEP_PORTS+= x11/libXcomposite x11-toolkits/libXt graphics/jasper graphics/jbigkit graphics/jpeg-turbo TRACKER_DEP_PORTS+= x11-fonts/fontconfig x11-fonts/libXft print/freetype2 print/harfbuzz x11-fonts/xorg-fonts-truetype TRACKER_DEP_PORTS+= x11-fonts/encodings misc/shared-mime-info misc/hicolor-icon-theme textproc/p5-XML-Parser security/libgcrypt TRACKER_DEP_PORTS+= multimedia/gstreamer1 misc/iso-codes devel/orc devel/dbus multimedia/v4l_compat TRACKER_DEP_PORTS+= sysutils/policykit devel/libvolume_id sysutils/consolekit misc/pciids sysutils/gnome_subr TRACKER_DEP_PORTS+= sysutils/dmidecode ftp/curl textproc/gtk-doc lang/vala security/ca_root_nss TRACKER_DEP_PORTS+= devel/libsoup-gnome multimedia/libquvi09 textproc/expat2 devel/cmake graphics/lcms2 TRACKER_DEP_PORTS+= graphics/openjpeg15 graphics/poppler-data graphics/libwmf accessibility/at-spi2-atk graphics/libepoxy TRACKER_DEP_PORTS+= graphics/colord print/cups x11-themes/adwaita-icon-theme textproc/xmlto x11/xprop TRACKER_DEP_PORTS+= x11/xset devel/boehm-gc TRACKER_DEP_PORTS+= misc/dejagnu x11/xcb-util-renderutil graphics/libGL graphics/libEGL x11/glproto TRACKER_DEP_PORTS+= x11/dri2proto x11/pixman x11/renderproto devel/xorg-macros x11/bigreqsproto TRACKER_DEP_PORTS+= x11/xcmiscproto x11/xextproto x11/xtrans x11/kbproto x11/inputproto TRACKER_DEP_PORTS+= x11-fonts/xf86bigfontproto x11/libXau x11/libXdmcp x11/xproto x11/libxcb TRACKER_DEP_PORTS+= devel/m4 x11/xineramaproto x11/fixesproto x11/randrproto x11/damageproto TRACKER_DEP_PORTS+= x11/compositeproto x11/libSM devel/nasm graphics/graphite2 x11-fonts/font-bh-ttf TRACKER_DEP_PORTS+= x11-fonts/font-misc-meltho x11-fonts/font-misc-ethiopic x11-fonts/mkfontscale x11-fonts/font-util x11-fonts/dejavu TRACKER_DEP_PORTS+= security/libgpg-error shells/bash misc/getopt textproc/docbook-xsl print/libpaper TRACKER_DEP_PORTS+= devel/libatomic_ops textproc/docbook-xml x11/libICE multimedia/libv4l TRACKER_DEP_PORTS+= lang/expect lang/tcl86 devel/libcheck x11/xcb-proto devel/libpthread-stubs TRACKER_DEP_PORTS+= x11/xcb-util devel/makedepend devel/libclc devel/llvm36 lang/gcc TRACKER_DEP_PORTS+= devel/binutils x11/presentproto x11/libXxf86vm x11/libxshmfence graphics/libdrm TRACKER_DEP_PORTS+= graphics/libglapi devel/libdevq graphics/gbm textproc/py-sphinx devel/jsoncpp TRACKER_DEP_PORTS+= devel/cmake-modules x11-fonts/mkfontdir x11-fonts/bdftopcf x11-fonts/libfontenc textproc/xmlcatmgr TRACKER_DEP_PORTS+= textproc/docbook textproc/xmlcharent textproc/docbook-sgml sysutils/polkit textproc/jade TRACKER_DEP_PORTS+= textproc/itstool textproc/rarian devel/libsoup TRACKER_DEP_PORTS+= devel/autoconf devel/automake lang/clang36 devel/libedit devel/ninja TRACKER_DEP_PORTS+= devel/py-Jinja2 textproc/py-docutils devel/py-six devel/py-setuptools27 devel/py-babel TRACKER_DEP_PORTS+= textproc/py-pygments textproc/py-sphinx_rtd_theme textproc/py-alabaster textproc/py-snowballstemmer math/gmp TRACKER_DEP_PORTS+= math/mpfr lang/gcc-ecj45 archivers/zip math/mpc x11/xf86vidmodeproto TRACKER_DEP_PORTS+= devel/libpciaccess x11/libXvMC devel/scons x11-fonts/libXfont textproc/iso8879 TRACKER_DEP_PORTS+= textproc/sdocbook-xml lang/spidermonkey170 textproc/py-libxml2 net/glib-networking multimedia/libquvi-scripts09 TRACKER_DEP_PORTS+= net/libproxy lang/lua52 accessibility/at-spi2-core devel/libtool graphics/libglesv2 TRACKER_DEP_PORTS+= graphics/argyllcms textproc/docbook-utils net/avahi-app security/gnutls x11-toolkits/libXmu TRACKER_DEP_PORTS+= x11-fonts/libXfontcache misc/help2man devel/autoconf-wrapper devel/automake-wrapper devel/py-setuptools TRACKER_DEP_PORTS+= devel/gmake-lite textproc/py-MarkupSafe devel/py-pytest devel/py-pytz textproc/py-pystemmer TRACKER_DEP_PORTS+= x11/videoproto x11/libXv x11-fonts/fontsproto devel/nspr devel/gsettings-desktop-schemas that's the fanout of makefiles that making 'tracker ' hits. and if anything goes wrong in any of that.. it stops.. so making a 'blended' system is really hard. yeah yeah "don't do that"... but it's not that simple in the real world. > > This is a good idea. But does not help everytime. Many rubygem based > ports build just fine, but fail afterwards. yeah > > Greetings, > Torsten > _______________________________________________ > freebsd-ports@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to > "freebsd-ports-unsubscribe@freebsd.org" >