From owner-freebsd-ports@FreeBSD.ORG Tue Apr 28 22:10:16 2015 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 743B0250 for ; Tue, 28 Apr 2015 22:10:16 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5984D1D61 for ; Tue, 28 Apr 2015 22:10:16 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.9/8.14.9) with ESMTP id t3SMAF98019582 for ; Tue, 28 Apr 2015 22:10:15 GMT (envelope-from bdrewery@freefall.freebsd.org) Received: (from bdrewery@localhost) by freefall.freebsd.org (8.14.9/8.14.9/Submit) id t3SMAFds019580 for ports@freebsd.org; Tue, 28 Apr 2015 22:10:15 GMT (envelope-from bdrewery) Received: (qmail 55935 invoked from network); 28 Apr 2015 17:10:13 -0500 Received: from unknown (HELO ?10.10.1.139?) (freebsd@shatow.net@10.10.1.139) by sweb.xzibition.com with ESMTPA; 28 Apr 2015 17:10:13 -0500 Message-ID: <55400546.6020407@FreeBSD.org> Date: Tue, 28 Apr 2015 17:10:14 -0500 From: Bryan Drewery Organization: FreeBSD User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Miroslav Lachman <000.fbsd@quip.cz> CC: FreeBSD Ports Subject: Re: poudriere-3.1.4 options not working as expected References: <553FFF5E.5070600@quip.cz> In-Reply-To: <553FFF5E.5070600@quip.cz> OpenPGP: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="smqldACHcuwjuiecx5DP9biQkjnobFoSo" X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Apr 2015 22:10:16 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --smqldACHcuwjuiecx5DP9biQkjnobFoSo Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 4/28/2015 4:45 PM, Miroslav Lachman wrote: > I am trying to set up own pkg repository for our servers. We have > different FreeBSD versions, arch and roles of servers, so I am in the > stage of finding common set of ports, options etc. >=20 > For example. We have "projectA" with 3 webservers with simmilar set o > installed ports and used options, but one of them is also mailserver - > so it have some additional ports. > Twho servers are on 10.1-RELEASE and the third is on 8.4-RELEASE >=20 > I created to files with list of origins: projectA and projectA-server3 > projectA is a list of common ports for all 3 servers > projectA-server3 is a list of additional ports for the third server - > mailserver >=20 I answered questions below but I think your approach is wrong. Just make 1 set / repository and use meta packages. See my blog http://blog.shatow.net/posts/2013-07-21-managing-role-based-freebsd-serve= rs-with-meta-packages-and-poudriere/ You would make a local/projectA meta package, local/projectB meta package, etc. Your bulk list would only have the top-level meta-packages.= The one downside is that this would be 1 set with the same options. > I configured options for common set "projectA" with command >=20 > # poudriere options -z projectA -p default -f > /usr/local/etc/poudriere.d/pkglists/projectA >=20 > This first problem is that it shows me dialogs for additional options > which I deselect in previous dialog. For example I configured > "memcached" without SASL, pecl-memcached without SASL, "libmemcached" > without SASL but it still asks me to configure Cyrus-SASL options >=20 [...] >=20 > So why poudriere options did ask me for cyrus-sasl option if it is not > needed and not built? The 'options' subcommand just calls 'make config-conditional' on the port and then 'make config-recursive' on it again so that this issue doesn't happen. Perhaps these commands are broken in the ports framework.= >=20 >=20 >=20 >=20 > The second problem is that I tried to combine two ports lists together > for projectA-server3 and set options for server3 this way: >=20 > # poudriere options -z projectA -p default -j 8_4_amd64 -f > /usr/local/etc/poudriere.d/pkglists/projectA-server3 >=20 > I was expecting this command to asks me for an options only for this > list of additional ports and it did. (stored in > 8_4_amd64-projectA-options) So far so good. >=20 > But I need to build all ports (from both lists) for this machine > (server3) because it is 8.4 and not 10.1, so I used command >=20 > # poudriere bulk -v -j 8_4_amd64 -z projectA -p default -f > /usr/local/etc/poudriere.d/pkglists/projectA -f > /usr/local/etc/poudriere.d/pkglists/projectA-server3 >=20 > I expected it to use common options from directory > poudriere.d/projectA-options and additional options from > poudriere.d/8_4_amd64-projectA-options but all packages not having > options in poudriere.d/8_4_amd64-projectA-options (but having them in > poudriere.d/projectA-options) were built with default options. >=20 > libmemcached was built with SASL >=20 > "options": { > "DEBUG": "off", > "DTRACE": "off", > "MEMASLAP": "on", > "SASL": "on", > "FNV64": "on", > "HSIEH": "off", > "MURMUR": "on" > } >=20 > After reading the docs on > https://fossil.etoilebsd.net/poudriere/doc/trunk/doc/poudriere.8.wiki#x= 437573746f6d206275696c64206f7074696f6e73 >=20 That site is not updated anymore. The current documentation is https://github.com/freebsd/poudriere/wiki/poudriere.8 > I expected poudriere to combine options from both directories together.= No, it won't do that. Each options dir is a specific set. It will never build _a set_ using _multiple sets_ configs and options. It will only use files from _that 1 set_. There is no sane way for Poudriere to do what you want. The 2 options dirs could easily conflict with each other. I recommend against trying to make this work and just making a new set. > Which it didn't and after reading the docs again and again... the word > "mounting" is what I overlooked on the first reading. So now I read it > as "only the first found options directory is mounted". >=20 Correct. > Is it possible to use some kind of union mount / unionfs to overlay all= > found directories according to CUSTOMISATION order? >=20 > And in the meantime - is it possible to use multiple -f for "poudriere > options" command? Yes, but again only 1 set will be used. So you have to make a '-z combined_set' and run options against that set. > As it is not written in docs, I didn't try it and > thought it is not possible and there is not need to use it if > directories are combined. > Because now I don't have a way to store options in > 8_4_amd64-projectA-options directory by one "poudriere options" command= =2E >=20 > Or am I doing something wrong? >=20 > Should I use symlinks from projectA-options to > 8_4_amd64-projectA-options for each port directory to share options > between these two build sets? Or copy them from common directory > (projectA-options) to the other (8_4_amd64-projectA-options)? > What is the best way to maintain this kind of configuration? >=20 > Thank you in advance and thanks for poudriere - really nice tool for > port builds! >=20 > Miroslav Lachman --=20 Regards, Bryan Drewery --smqldACHcuwjuiecx5DP9biQkjnobFoSo Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJVQAVGAAoJEDXXcbtuRpfP25IH/j0xvlGOQ3P0tPAWexI/F+p1 6RnLRPI+4zLYDAHw7DYw5EibkemZJST/J6gEcT7Gd85WZ5iX8urIfDH/6PMujtIg hlpoyYWceBnH/rUUg27WBVf/jF2YrbrtJw6hdiQ5ETk0xCXLLv37l/0jXy9QQT84 eO53L3ITE4A4DIZ7ztzha0+oc9K9x8lUR+Ef1JTYO47eNqooLoJODm7zO3og0zzS Y3E8MwA8kpi8LL7DVEqIVIkz9ylKN/ZY76eAwf86r73D3BlHnKHkJVHJjLrudG8U gQAQD3LIOw1fALpmSmYo2JCdPKp4Wy8ngrXG88wHl4io+1OsItu1Xi4kkR06WUA= =mqyu -----END PGP SIGNATURE----- --smqldACHcuwjuiecx5DP9biQkjnobFoSo--