Pacman

Historical bug tracker for the Pacman package manager.

The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues

This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
Tasklist

FS#28255 - parseconfig breaks on pipes/process substitution

Attached to Project: Pacman
Opened by Chris van Dijk (quigybo) - Saturday, 04 February 2012, 22:50 GMT
Last edited by Andrew Gregory (andrewgregory) - Wednesday, 21 January 2015, 14:41 GMT
Task Type Bug Report
Category General
Status Closed
Assigned To Andrew Gregory (andrewgregory)
Architecture All
Severity Low
Priority Normal
Reported Version 4.0.1
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Summary and Info:
Prior to 73c74355, one could use process substitution when specifying an alternate config file. Pacman now however reads the config file in two passes, which breaks when reading from pipes (such as those created by bash during process substitution).

Using process substitution is useful as one can modify the config file on the fly as needed for certain operations, for an example of usage see this post [1] (and the associated thread for more info on why it is necessary).

Steps to Reproduce:
$ pacman --debug -Ss foo --config <(cat /etc/pacman.conf)

[1] https://bbs.archlinux.org/viewtopic.php?pid=817847#p817847
This task depends upon

Closed by  Andrew Gregory (andrewgregory)
Wednesday, 21 January 2015, 14:41 GMT
Reason for closing:  Fixed
Additional comments about closing:  https://projects.archlinux.org/pacman.gi t/commit/?id=7ed0d60a0db26e8ac2224196b3a 629676a0b9c21
Comment by Dan McGee (toofishes) - Tuesday, 07 February 2012, 04:36 GMT
Does everything l33t have to be a bash one-liner?

sed -e 'dsakfhoadsipfho' /etc/pacman.conf > /tmp/pacman.conf
pacman -Ss foo --config /tmp/pacman.conf
rm /tmp/pacman.conf

Won't be fixing this, sorry. Patches welcome if you want to really deal with a recursive include-based parser though and make it not insane.

Loading...