Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   ArchLinux Pacman Development (http://www.linux-archive.org/archlinux-pacman-development/)
-   -   Status of "Splitting packages with makepkg" (http://www.linux-archive.org/archlinux-pacman-development/192347-status-splitting-packages-makepkg.html)

Jakub Schmidtke 11-12-2008 04:55 PM

Status of "Splitting packages with makepkg"
 
Hi.

I guess this is the right place to ask :)
What is the status of this feature? I have read discussions
from June and August, and some of the ideas look very interesting.
Is there anything going on with this?
Is there a way to help (as non dev/TU though)? :)


Jakub Schmidtke


_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

"Marc - A. Dahlhaus [ Administration | Westermann GmbH ]" 11-13-2008 09:57 AM

Status of "Splitting packages with makepkg"
 
Hello Jakub,

i'll try to cleanup my up to date patches against 3.2.1 and send
something until the next weekend. I also have to incorporate some of the
suggestions from the discussions back in August.

Am Mittwoch, den 12.11.2008, 12:55 -0500 schrieb Jakub Schmidtke:
> Hi.
>
> I guess this is the right place to ask :)
> What is the status of this feature? I have read discussions
> from June and August, and some of the ideas look very interesting.
> Is there anything going on with this?
> Is there a way to help (as non dev/TU though)? :)
>
>
> Jakub Schmidtke
>
>
> _______________________________________________
> pacman-dev mailing list
> pacman-dev@archlinux.org
> http://archlinux.org/mailman/listinfo/pacman-dev

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

Allan McRae 11-13-2008 10:34 AM

Status of "Splitting packages with makepkg"
 
Jakub Schmidtke wrote:

Hi.

I guess this is the right place to ask :)
What is the status of this feature? I have read discussions
from June and August, and some of the ideas look very interesting.
Is there anything going on with this?
Is there a way to help (as non dev/TU though)? :)


Jakub Schmidtke



I was taking the lead on getting this into makepkg but have been busy
with other things in the last couple of months. About the only thing I
have in my git branch is the prototype that was "decided on" (or
possibly the least rejected....)


See
http://dev.archlinux.org/~allan/gitweb/gitweb.cgi?p=pacman.git;a=commitdiff;h=11aaea52


Allan




_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

"Marc - A. Dahlhaus [ Administration | Westermann GmbH ]" 11-13-2008 02:27 PM

Status of "Splitting packages with makepkg"
 
Hello Allen,

the prototype has a little problem in case you give -L option to makepkg
as it is now:

As makepkg pipes the output of the build-function into tee, the
build-function gets executed in a sub-shell. Any changes of variables in
context of main-shell from inside build-function will not work in that
case. This leads to that we have to set the values of all
split-package-variables outside of the respective build-functions.

Am Donnerstag, den 13.11.2008, 21:34 +1000 schrieb Allan McRae:
> Jakub Schmidtke wrote:
> > Hi.
> >
> > I guess this is the right place to ask :)
> > What is the status of this feature? I have read discussions
> > from June and August, and some of the ideas look very interesting.
> > Is there anything going on with this?
> > Is there a way to help (as non dev/TU though)? :)
> >
> >
> > Jakub Schmidtke
> >
>
> I was taking the lead on getting this into makepkg but have been busy
> with other things in the last couple of months. About the only thing I
> have in my git branch is the prototype that was "decided on" (or
> possibly the least rejected....)
>
> See
> http://dev.archlinux.org/~allan/gitweb/gitweb.cgi?p=pacman.git;a=commitdiff;h=11aaea52
>
> Allan
>
>
>
>
> _______________________________________________
> pacman-dev mailing list
> pacman-dev@archlinux.org
> http://archlinux.org/mailman/listinfo/pacman-dev

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

Allan McRae 11-13-2008 04:05 PM

Status of "Splitting packages with makepkg"
 
Marc - A. Dahlhaus [ Administration | Westermann GmbH ] wrote:

Hello Allen,

the prototype has a little problem in case you give -L option to makepkg
as it is now:

As makepkg pipes the output of the build-function into tee, the
build-function gets executed in a sub-shell. Any changes of variables in
context of main-shell from inside build-function will not work in that
case. This leads to that we have to set the values of all
split-package-variables outside of the respective build-functions.




As I said, the implementation is still a bit away... The KDEmod guys
override the PKGBUILD variables the same way. I will look into what
they for logging.


Cheers,
Allan


_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

Allan McRae 11-13-2008 04:18 PM

Status of "Splitting packages with makepkg"
 
Allan McRae wrote:

Marc - A. Dahlhaus [ Administration | Westermann GmbH ] wrote:

Hello Allen,

the prototype has a little problem in case you give -L option to makepkg
as it is now:

As makepkg pipes the output of the build-function into tee, the
build-function gets executed in a sub-shell. Any changes of variables in
context of main-shell from inside build-function will not work in that
case. This leads to that we have to set the values of all
split-package-variables outside of the respective build-functions.




As I said, the implementation is still a bit away... The KDEmod guys
override the PKGBUILD variables the same way. I will look into what
they for logging.


Testing with this script indicates to me that everything is fine...

test.sh:
#! /bin/bash

output="FOO"

build() {
output="BAR"
echo $output
}

echo $output
build 2>&1
build 2>&1 | tee buildlog


>./test.sh
FOO
BAR
BAR

> cat buildlog
BAR


So what exactly are you say is wrong?

Allan


_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

"Aaron Griffin" 11-13-2008 04:25 PM

Status of "Splitting packages with makepkg"
 
On Thu, Nov 13, 2008 at 11:18 AM, Allan McRae <allan@archlinux.org> wrote:
> Allan McRae wrote:
>>
>> Marc - A. Dahlhaus [ Administration | Westermann GmbH ] wrote:
>>>
>>> Hello Allen,
>>>
>>> the prototype has a little problem in case you give -L option to makepkg
>>> as it is now:
>>>
>>> As makepkg pipes the output of the build-function into tee, the
>>> build-function gets executed in a sub-shell. Any changes of variables in
>>> context of main-shell from inside build-function will not work in that
>>> case. This leads to that we have to set the values of all
>>> split-package-variables outside of the respective build-functions.
>>>
>>>
>>
>> As I said, the implementation is still a bit away... The KDEmod guys
>> override the PKGBUILD variables the same way. I will look into what they
>> for logging.
>
> Testing with this script indicates to me that everything is fine...
>
> test.sh:
> #! /bin/bash
>
> output="FOO"
>
> build() {
> output="BAR"
> echo $output
> }
>
> echo $output
> build 2>&1
> build 2>&1 | tee buildlog
>
>
>>./test.sh
> FOO
> BAR
> BAR
>
>> cat buildlog
> BAR
>
>
> So what exactly are you say is wrong?

I think the case he means is this:
test.sh:
#! /bin/bash
output="FOO"
build() {
output="BAR"
echo $output
}

echo $output
build 2>&1 | tee buildlog
echo $output
# end

./test.sh
FOO
BAR
FOO

Which, after thinking a little about it, is the way we want this to happen, yes?
_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

Allan McRae 11-13-2008 04:33 PM

Status of "Splitting packages with makepkg"
 
Aaron Griffin wrote:

On Thu, Nov 13, 2008 at 11:18 AM, Allan McRae <allan@archlinux.org> wrote:


Allan McRae wrote:


Marc - A. Dahlhaus [ Administration | Westermann GmbH ] wrote:


Hello Allen,

the prototype has a little problem in case you give -L option to makepkg
as it is now:

As makepkg pipes the output of the build-function into tee, the
build-function gets executed in a sub-shell. Any changes of variables in
context of main-shell from inside build-function will not work in that
case. This leads to that we have to set the values of all
split-package-variables outside of the respective build-functions.




As I said, the implementation is still a bit away... The KDEmod guys
override the PKGBUILD variables the same way. I will look into what they
for logging.


Testing with this script indicates to me that everything is fine...

test.sh:
#! /bin/bash

output="FOO"

build() {
output="BAR"
echo $output
}

echo $output
build 2>&1
build 2>&1 | tee buildlog




./test.sh


FOO
BAR
BAR



cat buildlog


BAR


So what exactly are you say is wrong?



I think the case he means is this:
test.sh:
#! /bin/bash
output="FOO"
build() {
output="BAR"
echo $output
}

echo $output
build 2>&1 | tee buildlog
echo $output
# end

./test.sh
FOO
BAR
FOO

Which, after thinking a little about it, is the way we want this to happen, yes?


I think, yes it is. From the KDEmod implementation, in the case where
we are not logging (and hence no tee) we need to revert the variables to
what they were before calling the build function.

Anyway, this will all become more apparent as I finish implementing it
(with heavy borrowing for all the patches floating around). The
implementation can be a bit more complex to accommodate a simpler
PKGBUILD as far as I am concerned. Few people look at makepkg, many
look at PKGBUILDs.


Allan



_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

"Aaron Griffin" 11-13-2008 04:49 PM

Status of "Splitting packages with makepkg"
 
On Thu, Nov 13, 2008 at 11:33 AM, Allan McRae <allan@archlinux.org> wrote:
> Aaron Griffin wrote:
>>
>> On Thu, Nov 13, 2008 at 11:18 AM, Allan McRae <allan@archlinux.org> wrote:
>>
>>>
>>> Allan McRae wrote:
>>>
>>>>
>>>> Marc - A. Dahlhaus [ Administration | Westermann GmbH ] wrote:
>>>>
>>>>>
>>>>> Hello Allen,
>>>>>
>>>>> the prototype has a little problem in case you give -L option to
>>>>> makepkg
>>>>> as it is now:
>>>>>
>>>>> As makepkg pipes the output of the build-function into tee, the
>>>>> build-function gets executed in a sub-shell. Any changes of variables
>>>>> in
>>>>> context of main-shell from inside build-function will not work in that
>>>>> case. This leads to that we have to set the values of all
>>>>> split-package-variables outside of the respective build-functions.
>>>>>
>>>>>
>>>>>
>>>>
>>>> As I said, the implementation is still a bit away... The KDEmod guys
>>>> override the PKGBUILD variables the same way. I will look into what
>>>> they
>>>> for logging.
>>>>
>>>
>>> Testing with this script indicates to me that everything is fine...
>>>
>>> test.sh:
>>> #! /bin/bash
>>>
>>> output="FOO"
>>>
>>> build() {
>>> output="BAR"
>>> echo $output
>>> }
>>>
>>> echo $output
>>> build 2>&1
>>> build 2>&1 | tee buildlog
>>>
>>>
>>>
>>>>
>>>> ./test.sh
>>>>
>>>
>>> FOO
>>> BAR
>>> BAR
>>>
>>>
>>>>
>>>> cat buildlog
>>>>
>>>
>>> BAR
>>>
>>>
>>> So what exactly are you say is wrong?
>>>
>>
>> I think the case he means is this:
>> test.sh:
>> #! /bin/bash
>> output="FOO"
>> build() {
>> output="BAR"
>> echo $output
>> }
>>
>> echo $output
>> build 2>&1 | tee buildlog
>> echo $output
>> # end
>>
>> ./test.sh
>> FOO
>> BAR
>> FOO
>>
>> Which, after thinking a little about it, is the way we want this to
>> happen, yes?
>
> I think, yes it is. From the KDEmod implementation, in the case where we
> are not logging (and hence no tee) we need to revert the variables to what
> they were before calling the build function.
> Anyway, this will all become more apparent as I finish implementing it (with
> heavy borrowing for all the patches floating around). The implementation can
> be a bit more complex to accommodate a simpler PKGBUILD as far as I am
> concerned. Few people look at makepkg, many look at PKGBUILDs.

Hell, you might be able to cheat.
LOGFILE=/dev/null
# if -L is specified, set LOGFILE to something else
and always run:
build() 2>&1 | tee $LOGFILE

Bam, now variables are reset automatically. Just make sure you comment
that nicely 8)
_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

Allan McRae 11-14-2008 02:48 AM

Status of "Splitting packages with makepkg"
 
Aaron Griffin wrote:

On Thu, Nov 13, 2008 at 11:33 AM, Allan McRae <allan@archlinux.org> wrote:


Aaron Griffin wrote:


On Thu, Nov 13, 2008 at 11:18 AM, Allan McRae <allan@archlinux.org> wrote:



Allan McRae wrote:



Marc - A. Dahlhaus [ Administration | Westermann GmbH ] wrote:



Hello Allen,

the prototype has a little problem in case you give -L option to
makepkg
as it is now:

As makepkg pipes the output of the build-function into tee, the
build-function gets executed in a sub-shell. Any changes of variables
in
context of main-shell from inside build-function will not work in that
case. This leads to that we have to set the values of all
split-package-variables outside of the respective build-functions.





As I said, the implementation is still a bit away... The KDEmod guys
override the PKGBUILD variables the same way. I will look into what
they
for logging.



Testing with this script indicates to me that everything is fine...

test.sh:
#! /bin/bash

output="FOO"

build() {
output="BAR"
echo $output
}

echo $output
build 2>&1
build 2>&1 | tee buildlog





./test.sh



FOO
BAR
BAR




cat buildlog



BAR


So what exactly are you say is wrong?



I think the case he means is this:
test.sh:
#! /bin/bash
output="FOO"
build() {
output="BAR"
echo $output
}

echo $output
build 2>&1 | tee buildlog
echo $output
# end

./test.sh
FOO
BAR
FOO

Which, after thinking a little about it, is the way we want this to
happen, yes?


I think, yes it is. From the KDEmod implementation, in the case where we
are not logging (and hence no tee) we need to revert the variables to what
they were before calling the build function.
Anyway, this will all become more apparent as I finish implementing it (with
heavy borrowing for all the patches floating around). The implementation can
be a bit more complex to accommodate a simpler PKGBUILD as far as I am
concerned. Few people look at makepkg, many look at PKGBUILDs.



Hell, you might be able to cheat.
LOGFILE=/dev/null
# if -L is specified, set LOGFILE to something else
and always run:
build() 2>&1 | tee $LOGFILE

Bam, now variables are reset automatically. Just make sure you comment
that nicely 8)


Very nice idea. That will clean up the whole split package patches nicely.

Allan


_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev


All times are GMT. The time now is 06:49 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.