[pacman-dev] [PATCH] makepkg: enable passing PKGBUILD from pipe

Allan McRae allan at archlinux.org
Wed Oct 29 00:13:23 EDT 2008


Dan McGee wrote:
> On Tue, Oct 28, 2008 at 10:13 PM, Allan McRae <allan at archlinux.org> wrote:
>   
>> Dan McGee wrote:
>>     
>>> On Tue, Oct 28, 2008 at 7:07 AM, Allan McRae <allan at archlinux.org> wrote:
>>>
>>>       
>>>> Do not attemp to update pkgver/pkgrel when reading a SCM based PKGBUILD
>>>> from a pipe.  Fixes FS#9187.
>>>>
>>>>         
>>> So the patch makes sense, but I'm not quite seeing that it is this easy.
>>>
>>> dmcgee at galway /tmp/test
>>> $ ls
>>>
>>> dmcgee at galway /tmp/test
>>> $ ls ../
>>> PKGBUILD                                         ssh-RWLFkm5100
>>>
>>> dmcgee at galway /tmp/test
>>> $ makepkg < ../PKGBUILD
>>> ==> ERROR: PKGBUILD does not exist.
>>>
>>>       
>> Well, it gets us part of the way there...   "makepkg -p /dev/stdin <
>> ../PKGBUILD" now works which was the example given in the bug report.  You
>> can just remove the "Fixes FS#" comment for the time being.
>>     
>
> Ahh yeah, I forgot about that rather crazy example. The patch is
> worthwhile anyway, so I will apply it.
>   

Adding this fixes reading from a pipe properly...

 if [ ! -f "$BUILDSCRIPT" ]; then
-    error "$(gettext "%s does not exist.")" "$BUILDSCRIPT"
-    exit 1
+    if [ -t 0 ]; then
+        error "$(gettext "%s does not exist.")" "$BUILDSCRIPT"
+        exit 1
+    else
+        # PKGBUILD passed through a pipe
+        BUILDSCRIPT=/dev/stdin
+    fi
 fi


Do you want an altered version of the previous patch or a new patch?

Allan





More information about the pacman-dev mailing list