Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Remove options from poudriere option files for ports which were removed in the port

92 views
Skip to first unread message

Matthias Fechner

unread,
Jul 1, 2016, 6:18:54 AM7/1/16
to
Dear all,

it seems that poudriere can only add new options to its own options
tracking, but cannot remove options that where removed from the Makefile
of the port.

Concrete example is for mail/postfix

The option SPF was removed (2016-02-28):
https://www.freshports.org/mail/postfix/

But if I execute:
poudriere options -j 103amd64 -f 103amd64-pkglist

it will not remove the option from the options file:
103amd64-options/mail_postfix/options

Is there a possibility to clean up all the option files without starting
again at zero with:
poudriere options -c -j 103amd64 -f 103amd64-pkglist

Thanks.


Gruß
Matthias

--

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the universe trying to
produce bigger and better idiots. So far, the universe is winning." --
Rich Cook


_______________________________________________
freebs...@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-port...@freebsd.org"

Kimmo Paasiala

unread,
Jul 1, 2016, 6:40:14 AM7/1/16
to
On Fri, Jul 1, 2016 at 1:17 PM, Matthias Fechner <ide...@fechner.net> wrote:
> Dear all,
>
> it seems that poudriere can only add new options to its own options
> tracking, but cannot remove options that where removed from the Makefile
> of the port.
>
> Concrete example is for mail/postfix
>
> The option SPF was removed (2016-02-28):
> https://www.freshports.org/mail/postfix/
>
> But if I execute:
> poudriere options -j 103amd64 -f 103amd64-pkglist
>
> it will not remove the option from the options file:
> 103amd64-options/mail_postfix/options
>
> Is there a possibility to clean up all the option files without starting
> again at zero with:
> poudriere options -c -j 103amd64 -f 103amd64-pkglist
>
> Thanks.
>
>
> Gruß
> Matthias
>

This is not a feature/bug of poudriere but of the ports system itself.
There's no tracking of obsoleted or removed options and no clever
methods to clean them up. It's only when you remove the options with
'make rmconfig' and rewrite them again trough the options dialog the
obsoleted ones will be gone.

-Kimmo

Miroslav Lachman

unread,
Jul 1, 2016, 6:47:48 AM7/1/16
to
Matthias Fechner wrote on 07/01/2016 12:17:
> Dear all,
>
> it seems that poudriere can only add new options to its own options
> tracking, but cannot remove options that where removed from the Makefile
> of the port.
>
> Concrete example is for mail/postfix
>
> The option SPF was removed (2016-02-28):
> https://www.freshports.org/mail/postfix/
>
> But if I execute:
> poudriere options -j 103amd64 -f 103amd64-pkglist
>
> it will not remove the option from the options file:
> 103amd64-options/mail_postfix/options
>
> Is there a possibility to clean up all the option files without starting
> again at zero with:
> poudriere options -c -j 103amd64 -f 103amd64-pkglist


I don't think it's worth the effort. The old no longer existent options
stored in the options files are harmless and simply unused by the ports
Makefile. The options files are not intended to be user editable /
viewable. The old options will be removed when some changes will be saved.

And I am not sure that this is a problem of poudriere. I think it's
rather issue in ports options framework. Isn't it?

Miroslav Lachman

Michelle Sullivan

unread,
Jul 1, 2016, 9:38:51 AM7/1/16
to
Miroslav Lachman wrote:
>
>
> I don't think it's worth the effort. The old no longer existent
> options stored in the options files are harmless and simply unused by
> the ports Makefile. The options files are not intended to be user
> editable / viewable. The old options will be removed when some changes
> will be saved.

Most of the time you are correct... however there is a gotcha.. Select a
non default option, maintainer renames the option, suddenly subsequent
packages are build without the option.. Not so much of a problem until
you're talking about something like OpenSSL from Ports and OpenLDAP
client and GSSAPI in some mix and match and one option suddently changes
and some other dependent port is fundamentally changed where a security
issue occurs and the new package is installed without the poor b******d
looking after the machine realising that on reboot, apache is going to
break, sudo is going to bread, access to postgresql is going to break
etc etc etc... (I'm quoting some random sh*te mixed with experience here
- as don't remember the exact details but I got caught - fortunately in
my dev environment rather than prod, but you can be certain some will
just deploy and get nailed... remote access only via SSH and no SU on
non console etc..)

>
> And I am not sure that this is a problem of poudriere. I think it's
> rather issue in ports options framework. Isn't it?
Correct (but also poudriere wouln't get the change either.)


--
Michelle Sullivan
http://www.mhix.org/

Matthias Fechner

unread,
Jul 1, 2016, 12:34:05 PM7/1/16
to
Am 01.07.2016 um 12:39 schrieb Kimmo Paasiala:
> This is not a feature/bug of poudriere but of the ports system itself.
> There's no tracking of obsoleted or removed options and no clever
> methods to clean them up. It's only when you remove the options with
> 'make rmconfig' and rewrite them again trough the options dialog the
> obsoleted ones will be gone.

thanks a lot.

So I just keep to option files, as I do not really care what is in there.
Poudriere is handling new optioins nicely.

Thanks for explanation!

Gruß
Matthias

--

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the universe trying to
produce bigger and better idiots. So far, the universe is winning." --
Rich Cook

_______________________________________________

John Marino

unread,
Jul 3, 2016, 8:26:36 PM7/3/16
to
Kimmo Paasiala <kpaasial <at> gmail.com> writes:

>
> On Fri, Jul 1, 2016 at 1:17 PM, Matthias Fechner <idefix <at>
fechner.net> wrote:
> > Dear all,
> >
> > it seems that poudriere can only add new options to its own options
> > tracking, but cannot remove options that where removed from the
Makefile
> > of the port.
> >
> > Concrete example is for mail/postfix
> >
> > The option SPF was removed (2016-02-28):
> > https://www.freshports.org/mail/postfix/
> >
> > But if I execute:
> > poudriere options -j 103amd64 -f 103amd64-pkglist
> >
> > it will not remove the option from the options file:
> > 103amd64-options/mail_postfix/options
> >
> > Is there a possibility to clean up all the option files without
starting
> > again at zero with:
> > poudriere options -c -j 103amd64 -f 103amd64-pkglist
> >
> > Thanks.
> >
> >
> > Gruß
> > Matthias

> >
>
> This is not a feature/bug of poudriere but of the ports system itself.
> There's no tracking of obsoleted or removed options and no clever
> methods to clean them up. It's only when you remove the options with
> 'make rmconfig' and rewrite them again trough the options dialog the
> obsoleted ones will be gone.

This is incorrect. There is a clever method available to clean these
up. There is a script at Tools/scripts/redundant-opt-files.sh that is
used to identify saved options that are identical to the default
options. It also identifies option files for ports that don't exist.
You can remove all the obsolete and redundant options files in a single
command, e.g. "/usr/ports/Tools/scripts/redundant-opt-files.sh | xargs
rm -rf" which I think is pretty clever. But then again, I am biased.

John


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

John Marino

unread,
Jul 3, 2016, 8:32:04 PM7/3/16
to

Hmm, I may have misunderstood what Matthias was asking for. While
Poudriere will not identify bad saved options files, ports-mgmt/synth
will do this.

One way to leverage this is to install synth and run "synth status
everything" and all bad options files will be identified (printed to
screen).

Kevin Oberman

unread,
Jul 4, 2016, 1:06:24 PM7/4/16
to

Is this new? Using synth-1.41 I get "Invalid port origin: everything".
--
Kevin Oberman, Part time kid herder and retired Network Engineer
E-mail: rkob...@gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683

John Marino

unread,
Jul 4, 2016, 4:04:12 PM7/4/16
to
On 7/4/2016 12:06, Kevin Oberman wrote:
> On Sun, Jul 3, 2016 at 5:31 PM, John Marino <free...@marino.st
> <mailto:free...@marino.st>> wrote:
>
> On 7/3/2016 19:26, John Marino wrote:
>
> Kimmo Paasiala <kpaasial <at> gmail.com <http://gmail.com>> writes:
>
>
> On Fri, Jul 1, 2016 at 1:17 PM, Matthias Fechner <idefix <at>
>

sorry, the correct invocation is "synth status-everything". There is a
man page (man 1 synth) as well.

John

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________

Matthias Fechner

unread,
Jul 5, 2016, 11:37:44 AM7/5/16
to
Am 04.07.2016 um 22:03 schrieb John Marino:
> sorry, the correct invocation is "synth status-everything". There is
> a man page (man 1 synth) as well.

thanks for this tip.

As I have to check my poudriere build environment (I do not build my
packages locally) I tried the following:
poudriere testport -j 103amd64 -i -o ports-mgmt/synth

This will compile the port, install it in a jail and will give me an
interactive console in this jail.

If I try to execute synth I get:
mount: tmpfs: Operation not permitted

raised REPLICANT.SCENARIO_UNEXPECTED : /sbin/mount -t tmpfs tmpfs
/usr/obj/synth-live/SL09 => failed with code 1

I think running synth from a jail is not supported?

Gruß
Matthias

--

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the universe trying to
produce bigger and better idiots. So far, the universe is winning." --
Rich Cook

_______________________________________________

John Marino

unread,
Jul 5, 2016, 12:26:43 PM7/5/16
to
On 7/5/2016 10:36, Matthias Fechner wrote:
> Am 04.07.2016 um 22:03 schrieb John Marino:
>> sorry, the correct invocation is "synth status-everything". There is
>> a man page (man 1 synth) as well.
>
> thanks for this tip.
>
> As I have to check my poudriere build environment (I do not build my
> packages locally) I tried the following:
> poudriere testport -j 103amd64 -i -o ports-mgmt/synth
>
> This will compile the port, install it in a jail and will give me an
> interactive console in this jail.
>
> If I try to execute synth I get:
> mount: tmpfs: Operation not permitted
>
> raised REPLICANT.SCENARIO_UNEXPECTED : /sbin/mount -t tmpfs tmpfs
> /usr/obj/synth-live/SL09 => failed with code 1
>
> I think running synth from a jail is not supported?
>

It is supported. See the FAQ at:
https://github.com/jrmarino/synth#synth-fails-when-i-run-it-inside-a-jail--what-can-i-do

Regards,
John


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

John Marino

unread,
Jul 5, 2016, 3:46:02 PM7/5/16
to
On 7/5/2016 11:26, John Marino wrote:
> On 7/5/2016 10:36, Matthias Fechner wrote:
>> Am 04.07.2016 um 22:03 schrieb John Marino:
>>> sorry, the correct invocation is "synth status-everything". There is
>>> a man page (man 1 synth) as well.
>>
>> thanks for this tip.
>>
>> As I have to check my poudriere build environment (I do not build my
>> packages locally) I tried the following:
>> poudriere testport -j 103amd64 -i -o ports-mgmt/synth
>>
>> This will compile the port, install it in a jail and will give me an
>> interactive console in this jail.
>>
>> If I try to execute synth I get:
>> mount: tmpfs: Operation not permitted
>>
>> raised REPLICANT.SCENARIO_UNEXPECTED : /sbin/mount -t tmpfs tmpfs
>> /usr/obj/synth-live/SL09 => failed with code 1
>>
>> I think running synth from a jail is not supported?
>>
>
> It is supported. See the FAQ at:
> https://github.com/jrmarino/synth#synth-fails-when-i-run-it-inside-a-jail--what-can-i-do
>

By the way, you don't need to run Synth inside a poudriere jail. Just
configure synth to use the same jail as poudriere with "synth configure"
command, and the same ports db too.

I don't know what you are even trying to accomplish by running it inside
poudriere. I thought you were trying to validate your the saved options
on your poudriere ports, and you don't need poudriere for that.
0 new messages