Re: [rsyslog] unit tests: linking problem - help requested

2014-11-07 Thread singh.janmejay
I spent an hour looking at this today.

This:

gcc -std=gnu99 -g3 -ggdb -export-dynamic -o rt_init
../tools/rsyslogd-smtradfile.o ../tools/rsyslogd-pidfile.o
../tools/rsyslogd-iminternal.o ../tools/rsyslogd-omfile.o
../tools/rsyslogd-pmrfc3164.o ../tools/rsyslogd-omfwd.o
../tools/rsyslogd-omshell.o ../tools/rsyslogd-omdiscard.o
../tools/rsyslogd-syslogd.o ../tools/rsyslogd-smfwd.o
../tools/rsyslogd-smfile.o ../tools/rsyslogd-omusrmsg.o
../tools/rsyslogd-smtradfwd.o ../tools/rsyslogd-ompipe.o
../tools/rsyslogd-pmrfc5424.o rt_init-rt-init.o rt_init-runtime-dummy.o -lz
-lpthread -L../grammar/.libs -lgrammar
-L/home/janmejay/projects/flipkart/rsyslog/liblogging/../install.dir/lib
-llogging-stdlog -L../runtime/.libs -lrsyslog
-L/home/janmejay/projects/flipkart/rsyslog/install.dir/lib -lestr -ljson-c
-luuid -L../runtime/.libs -lrsyslog -L../grammar/.libs -lgrammar -ldl

run from tests dir, seems to do fine except for symbols defined in
tools/rsyslogd.c.

I basically took what make was running, and started running it myself
directly using gcc to decrease the time required to test my changes
(modifying automake file and running was too long for quickly iterating on
this).

But the basic change I did was reorderd to bring rsyslog and grammer to the
end. At that point it wanted functions such as modInitFile, modInitPipe
etc, which were defined by various files in tools dir. So I just picked up
all *.o files except rsyslogd-rsyslogd.o (which has another main, which
messes up the linker. Also added -ldl for dl* functions.

Now rsyslogd-syslogd.o wants symbols like forkRsyslog, which are defined in
rsyslogd.c, so we basically need to separate main (and other functions that
only main will want) out to a separate file, so we can make syslogd.o happy.


On Mon, Nov 3, 2014 at 2:38 PM, Rainer Gerhards rgerha...@hq.adiscon.com
wrote:

 Hi all,

 after the discussion on unit tests I tried to add some. Some years ago, we
 had a very small set of unit tests. These (two actually) were really
 almost nothing, BUT a skeleton to build better ones. And this skeleton I
 wanted to use, as it covers the initialization of the runtime (test
 rt_init).

 Unfortunately, I don't get them even to link. IIRC, that was also the
 reason why they were removed from the testbench some time ago. I've tried
 for several hours now and googled a lot, but I can't find a solution to
 make them build. So any help would be appreciated.

 The code is available in branch

   https://github.com/rsyslog/rsyslog/tree/master-unittests

 When I try to build the rt_init test, I get this:

 rger@ubuntu1404esp:~/proj/rsyslog/tests$ make rt_init
   CCLD rt_init
 /usr/bin/ld: ../runtime/.libs/librsyslog.a(librsyslog_la-msg.o): undefined
 reference to symbol 'pthread_rwlock_wrlock@@GLIBC_2.2.5'
 /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing
 from command line
 collect2: error: ld returned 1 exit status
 make: *** [rt_init] Error 1

 After what I could find out, this seems to be related to the order of
 -lpthread in the linker options. That's because the gnu linker is
 order-dependent. In theory, this should be fixable by moving -lpthread to
 the end of the linker libs. If I do that, I get a myriad of unresolved
 externals for the rsyslog runtime library. I than begun putting libs in
 different orders in the linker call, but I always get one error or the
 other.

 The interesting thing is that rsyslogd itself builds **successfully** with
 the **same** linker options in the **same** order. I even tried to move
 rt_init out of the tests directory into tools, where syslogd resides, and
 add rt_init to that Makefile. Again, rsyslogd builds, but rt_init fails.

 Quite honestly, I don't have any more idea. And the bad thing is that if I
 can't get rt_init to build, I probably cannot write any unit test at all
 (because most, especially those that do notable work, require the rsyslog
 runtime to be initialized).

 Help with this problem would be deeply appreciated. Again, it's a blocker
 for any unit test.

 Thanks,
 Rainer
 ___
 rsyslog mailing list
 http://lists.adiscon.net/mailman/listinfo/rsyslog
 http://www.rsyslog.com/professional-services/
 What's up with rsyslog? Follow https://twitter.com/rgerhards
 NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
 of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
 DON'T LIKE THAT.




-- 
Regards,
Janmejay
http://codehunk.wordpress.com
___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] unit tests: linking problem - help requested

2014-11-07 Thread Rainer Gerhards
2014-11-07 10:51 GMT+01:00 singh.janmejay singh.janme...@gmail.com:

 I spent an hour looking at this today.

 This:

 gcc -std=gnu99 -g3 -ggdb -export-dynamic -o rt_init
 ../tools/rsyslogd-smtradfile.o ../tools/rsyslogd-pidfile.o
 ../tools/rsyslogd-iminternal.o ../tools/rsyslogd-omfile.o
 ../tools/rsyslogd-pmrfc3164.o ../tools/rsyslogd-omfwd.o
 ../tools/rsyslogd-omshell.o ../tools/rsyslogd-omdiscard.o
 ../tools/rsyslogd-syslogd.o ../tools/rsyslogd-smfwd.o
 ../tools/rsyslogd-smfile.o ../tools/rsyslogd-omusrmsg.o
 ../tools/rsyslogd-smtradfwd.o ../tools/rsyslogd-ompipe.o
 ../tools/rsyslogd-pmrfc5424.o rt_init-rt-init.o rt_init-runtime-dummy.o -lz
 -lpthread -L../grammar/.libs -lgrammar
 -L/home/janmejay/projects/flipkart/rsyslog/liblogging/../install.dir/lib
 -llogging-stdlog -L../runtime/.libs -lrsyslog
 -L/home/janmejay/projects/flipkart/rsyslog/install.dir/lib -lestr -ljson-c
 -luuid -L../runtime/.libs -lrsyslog -L../grammar/.libs -lgrammar -ldl

 run from tests dir, seems to do fine except for symbols defined in
 tools/rsyslogd.c.

 I basically took what make was running, and started running it myself
 directly using gcc to decrease the time required to test my changes
 (modifying automake file and running was too long for quickly iterating on
 this).


thanks


 But the basic change I did was reorderd to bring rsyslog and grammer to the
 end. At that point it wanted functions such as modInitFile, modInitPipe
 etc, which were defined by various files in tools dir. So I just picked up
 all *.o files except rsyslogd-rsyslogd.o (which has another main, which
 messes up the linker. Also added -ldl for dl* functions.


do you have any idea how I can do this in autoconf so that I can integrate
it into the build system?

Rainer

 Now rsyslogd-syslogd.o wants symbols like forkRsyslog, which are defined in
 rsyslogd.c, so we basically need to separate main (and other functions that
 only main will want) out to a separate file, so we can make syslogd.o
 happy.


 On Mon, Nov 3, 2014 at 2:38 PM, Rainer Gerhards rgerha...@hq.adiscon.com
 wrote:

  Hi all,
 
  after the discussion on unit tests I tried to add some. Some years ago,
 we
  had a very small set of unit tests. These (two actually) were really
  almost nothing, BUT a skeleton to build better ones. And this skeleton I
  wanted to use, as it covers the initialization of the runtime (test
  rt_init).
 
  Unfortunately, I don't get them even to link. IIRC, that was also the
  reason why they were removed from the testbench some time ago. I've tried
  for several hours now and googled a lot, but I can't find a solution to
  make them build. So any help would be appreciated.
 
  The code is available in branch
 
https://github.com/rsyslog/rsyslog/tree/master-unittests
 
  When I try to build the rt_init test, I get this:
 
  rger@ubuntu1404esp:~/proj/rsyslog/tests$ make rt_init
CCLD rt_init
  /usr/bin/ld: ../runtime/.libs/librsyslog.a(librsyslog_la-msg.o):
 undefined
  reference to symbol 'pthread_rwlock_wrlock@@GLIBC_2.2.5'
  /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing
  from command line
  collect2: error: ld returned 1 exit status
  make: *** [rt_init] Error 1
 
  After what I could find out, this seems to be related to the order of
  -lpthread in the linker options. That's because the gnu linker is
  order-dependent. In theory, this should be fixable by moving -lpthread to
  the end of the linker libs. If I do that, I get a myriad of unresolved
  externals for the rsyslog runtime library. I than begun putting libs in
  different orders in the linker call, but I always get one error or the
  other.
 
  The interesting thing is that rsyslogd itself builds **successfully**
 with
  the **same** linker options in the **same** order. I even tried to move
  rt_init out of the tests directory into tools, where syslogd resides, and
  add rt_init to that Makefile. Again, rsyslogd builds, but rt_init fails.
 
  Quite honestly, I don't have any more idea. And the bad thing is that if
 I
  can't get rt_init to build, I probably cannot write any unit test at all
  (because most, especially those that do notable work, require the rsyslog
  runtime to be initialized).
 
  Help with this problem would be deeply appreciated. Again, it's a blocker
  for any unit test.
 
  Thanks,
  Rainer
  ___
  rsyslog mailing list
  http://lists.adiscon.net/mailman/listinfo/rsyslog
  http://www.rsyslog.com/professional-services/
  What's up with rsyslog? Follow https://twitter.com/rgerhards
  NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
  of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
  DON'T LIKE THAT.
 



 --
 Regards,
 Janmejay
 http://codehunk.wordpress.com
 ___
 rsyslog mailing list
 http://lists.adiscon.net/mailman/listinfo/rsyslog
 http://www.rsyslog.com/professional-services/
 What's up with rsyslog? 

[rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread Rainer Gerhards
Hi all,

based on recent discussion ([1] is a good entry point), it looks like there
is consensus that feature-branch commits shall be squashed before merging
them into master. This is a bit bad for me because in almost all cases I
like the ability to see the interim steps that lead to a feature in
question (for bisect, but also to better understand what was going on). I
have also discussed this with my peers in Adiscon and they also prefer the
way it currently is.

To satisfy both requirements, we have now setup an internal git for Adiscon
use. Our plan is to have a parallel adiscon-master branch inside that repo,
which will contain every detail. Its master branch will mirror the public
git and contain squashed commits.

We now have contributions from Adiscon (including me) and others. Those
from Adiscon will be done in feature branches, with detail commits and be
merged into the adiscon-master branch (so that it contains all details).
Then, I will squash the feature branch into a single commit and merge that
into master. So far, so good.

But now we also have non-Adiscon contributions. A current example is [2].
One question is if they must be squashed as well? Let's assume this is not
the case for whatever reason. So I merge them directly into master. Then,
to keep my actual working tree up to date, I need to cherry-pick them into
adiscon-master. This is where I am a bit hesitant, because of the manual
action. I fear that the master and adiscon-master branches may begin to
diverge, and be it through a simple mistake.

So maybe it is better to merge pull requests into new feature branches, and
then work as usual: merge feature branch into adiscon-master, squash
feature branch, then merge it as single commit into master.

To sum up: I would like to have two branches, the private one with all
detail information, the public one minus those commits that are considered
distracting. What is the best way to achieve this goal?

Feedback appreciated,
Rainer

[1] http://lists.adiscon.net/pipermail/rsyslog/2014-November/038883.html
[2] https://github.com/rsyslog/rsyslog/pull/147
___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread singh.janmejay
Rainer,

Do we really need to squash? Why not just keep it simple and merge changes
as they come? Its so much better for looking at exactly how/why things are
the way they are.

No rebase, no rewrites of history etc, just the simple commit and merge.

--
Regards,
Janmejay

PS: Please blame the typos in this mail on my phone's uncivilized soft
keyboard sporting it's not-so-smart-assist technology.

On Nov 7, 2014 4:57 PM, Rainer Gerhards rgerha...@hq.adiscon.com wrote:

 Hi all,

 based on recent discussion ([1] is a good entry point), it looks like there
 is consensus that feature-branch commits shall be squashed before merging
 them into master. This is a bit bad for me because in almost all cases I
 like the ability to see the interim steps that lead to a feature in
 question (for bisect, but also to better understand what was going on). I
 have also discussed this with my peers in Adiscon and they also prefer the
 way it currently is.

 To satisfy both requirements, we have now setup an internal git for Adiscon
 use. Our plan is to have a parallel adiscon-master branch inside that repo,
 which will contain every detail. Its master branch will mirror the public
 git and contain squashed commits.

 We now have contributions from Adiscon (including me) and others. Those
 from Adiscon will be done in feature branches, with detail commits and be
 merged into the adiscon-master branch (so that it contains all details).
 Then, I will squash the feature branch into a single commit and merge that
 into master. So far, so good.

 But now we also have non-Adiscon contributions. A current example is [2].
 One question is if they must be squashed as well? Let's assume this is not
 the case for whatever reason. So I merge them directly into master. Then,
 to keep my actual working tree up to date, I need to cherry-pick them into
 adiscon-master. This is where I am a bit hesitant, because of the manual
 action. I fear that the master and adiscon-master branches may begin to
 diverge, and be it through a simple mistake.

 So maybe it is better to merge pull requests into new feature branches, and
 then work as usual: merge feature branch into adiscon-master, squash
 feature branch, then merge it as single commit into master.

 To sum up: I would like to have two branches, the private one with all
 detail information, the public one minus those commits that are considered
 distracting. What is the best way to achieve this goal?

 Feedback appreciated,
 Rainer

 [1] http://lists.adiscon.net/pipermail/rsyslog/2014-November/038883.html
 [2] https://github.com/rsyslog/rsyslog/pull/147
 ___
 rsyslog mailing list
 http://lists.adiscon.net/mailman/listinfo/rsyslog
 http://www.rsyslog.com/professional-services/
 What's up with rsyslog? Follow https://twitter.com/rgerhards
 NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
 of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
 DON'T LIKE THAT.

___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread Rainer Gerhards
2014-11-07 12:35 GMT+01:00 singh.janmejay singh.janme...@gmail.com:

 Rainer,

 Do we really need to squash? Why not just keep it simple and merge changes
 as they come? Its so much better for looking at exactly how/why things are
 the way they are.

 No rebase, no rewrites of history etc, just the simple commit and merge.


well, I don't need all of that overhead. But from the other thread it
looked like folks wanted it and nobody said anything else...

Rainer

 --
 Regards,
 Janmejay

 PS: Please blame the typos in this mail on my phone's uncivilized soft
 keyboard sporting it's not-so-smart-assist technology.

 On Nov 7, 2014 4:57 PM, Rainer Gerhards rgerha...@hq.adiscon.com
 wrote:

  Hi all,
 
  based on recent discussion ([1] is a good entry point), it looks like
 there
  is consensus that feature-branch commits shall be squashed before merging
  them into master. This is a bit bad for me because in almost all cases I
  like the ability to see the interim steps that lead to a feature in
  question (for bisect, but also to better understand what was going on). I
  have also discussed this with my peers in Adiscon and they also prefer
 the
  way it currently is.
 
  To satisfy both requirements, we have now setup an internal git for
 Adiscon
  use. Our plan is to have a parallel adiscon-master branch inside that
 repo,
  which will contain every detail. Its master branch will mirror the public
  git and contain squashed commits.
 
  We now have contributions from Adiscon (including me) and others. Those
  from Adiscon will be done in feature branches, with detail commits and be
  merged into the adiscon-master branch (so that it contains all details).
  Then, I will squash the feature branch into a single commit and merge
 that
  into master. So far, so good.
 
  But now we also have non-Adiscon contributions. A current example is [2].
  One question is if they must be squashed as well? Let's assume this is
 not
  the case for whatever reason. So I merge them directly into master. Then,
  to keep my actual working tree up to date, I need to cherry-pick them
 into
  adiscon-master. This is where I am a bit hesitant, because of the manual
  action. I fear that the master and adiscon-master branches may begin to
  diverge, and be it through a simple mistake.
 
  So maybe it is better to merge pull requests into new feature branches,
 and
  then work as usual: merge feature branch into adiscon-master, squash
  feature branch, then merge it as single commit into master.
 
  To sum up: I would like to have two branches, the private one with all
  detail information, the public one minus those commits that are
 considered
  distracting. What is the best way to achieve this goal?
 
  Feedback appreciated,
  Rainer
 
  [1] http://lists.adiscon.net/pipermail/rsyslog/2014-November/038883.html
  [2] https://github.com/rsyslog/rsyslog/pull/147
  ___
  rsyslog mailing list
  http://lists.adiscon.net/mailman/listinfo/rsyslog
  http://www.rsyslog.com/professional-services/
  What's up with rsyslog? Follow https://twitter.com/rgerhards
  NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
  of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
  DON'T LIKE THAT.
 
 ___
 rsyslog mailing list
 http://lists.adiscon.net/mailman/listinfo/rsyslog
 http://www.rsyslog.com/professional-services/
 What's up with rsyslog? Follow https://twitter.com/rgerhards
 NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
 of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
 DON'T LIKE THAT.

___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] Feedback Request: do we still need -devel versions?

2014-11-07 Thread singh.janmejay
I don't think squashing is a good idea. Feature branches are good for
keeping half baked work away from release ready branch. But feature-branch
+ merge is good enough for that. History is kept for a reason, disturbing
it, even within a feature kills detailed information about why things are
the way they are.

Atleast personally, I never felt any pain because of merge commits. I find
it all the more useful because it gives out exactly how commits were
formed, what has been tried, what bugs have been fixed, which patch broke
something etc.

Can we please keep the tree as is?

--
Regards,
Janmejay

PS: Please blame the typos in this mail on my phone's uncivilized soft
keyboard sporting it's not-so-smart-assist technology.

On Nov 7, 2014 3:05 AM, Michael Biebl mbi...@gmail.com wrote:

 2014-11-06 14:02 GMT+01:00 Thomas D. whi...@whissi.de:
  What's my problem:
 
  Reading a commit log like
 
  - Merge branch 'v8-stable'
  - Merge branch 'v8-stable'
  - Merge branch 'v7-stable' into v8-stable
  - Merge branch 'v8-stable'
  - Merge branch 'v8-stable'
  - Merge branch 'v8-stable'
  - Merge branch 'master' of https://github.com/rsyslog/rsyslog
  - Merge branch 'v8-stable'
  - Merge branch 'v8-stable'
  - Merge branch 'v7-stable'
  - Merge branch 'v8-stable'
 
  is not very helpful. Nobody understands what's going on.


 Wouldn't git log --no-merges solve your problem?
 ___
 rsyslog mailing list
 http://lists.adiscon.net/mailman/listinfo/rsyslog
 http://www.rsyslog.com/professional-services/
 What's up with rsyslog? Follow https://twitter.com/rgerhards
 NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
 of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
 DON'T LIKE THAT.

___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread Brian Knox
I'm in favor of the process being as simple as possible.  The more work and
thought that has to be put into dealing with pull requests, the more likely
either work will get slowed down, or someone will make a mistake.

I feel like if I want to squash, etc I can just do that on branches on my
own fork, and then send the cleaned up version back to you.  I don't feel
like you should have to deal with squashing my commits.  I also don't have
a problem personally with seeing the merge messages.

On Fri, Nov 7, 2014 at 6:39 AM, Rainer Gerhards rgerha...@hq.adiscon.com
wrote:

 2014-11-07 12:35 GMT+01:00 singh.janmejay singh.janme...@gmail.com:

  Rainer,
 
  Do we really need to squash? Why not just keep it simple and merge
 changes
  as they come? Its so much better for looking at exactly how/why things
 are
  the way they are.
 
  No rebase, no rewrites of history etc, just the simple commit and merge.
 
 
 well, I don't need all of that overhead. But from the other thread it
 looked like folks wanted it and nobody said anything else...

 Rainer

  --
  Regards,
  Janmejay
 
  PS: Please blame the typos in this mail on my phone's uncivilized soft
  keyboard sporting it's not-so-smart-assist technology.
 
  On Nov 7, 2014 4:57 PM, Rainer Gerhards rgerha...@hq.adiscon.com
  wrote:
 
   Hi all,
  
   based on recent discussion ([1] is a good entry point), it looks like
  there
   is consensus that feature-branch commits shall be squashed before
 merging
   them into master. This is a bit bad for me because in almost all cases
 I
   like the ability to see the interim steps that lead to a feature in
   question (for bisect, but also to better understand what was going
 on). I
   have also discussed this with my peers in Adiscon and they also prefer
  the
   way it currently is.
  
   To satisfy both requirements, we have now setup an internal git for
  Adiscon
   use. Our plan is to have a parallel adiscon-master branch inside that
  repo,
   which will contain every detail. Its master branch will mirror the
 public
   git and contain squashed commits.
  
   We now have contributions from Adiscon (including me) and others. Those
   from Adiscon will be done in feature branches, with detail commits and
 be
   merged into the adiscon-master branch (so that it contains all
 details).
   Then, I will squash the feature branch into a single commit and merge
  that
   into master. So far, so good.
  
   But now we also have non-Adiscon contributions. A current example is
 [2].
   One question is if they must be squashed as well? Let's assume this is
  not
   the case for whatever reason. So I merge them directly into master.
 Then,
   to keep my actual working tree up to date, I need to cherry-pick them
  into
   adiscon-master. This is where I am a bit hesitant, because of the
 manual
   action. I fear that the master and adiscon-master branches may begin to
   diverge, and be it through a simple mistake.
  
   So maybe it is better to merge pull requests into new feature branches,
  and
   then work as usual: merge feature branch into adiscon-master, squash
   feature branch, then merge it as single commit into master.
  
   To sum up: I would like to have two branches, the private one with all
   detail information, the public one minus those commits that are
  considered
   distracting. What is the best way to achieve this goal?
  
   Feedback appreciated,
   Rainer
  
   [1]
 http://lists.adiscon.net/pipermail/rsyslog/2014-November/038883.html
   [2] https://github.com/rsyslog/rsyslog/pull/147
   ___
   rsyslog mailing list
   http://lists.adiscon.net/mailman/listinfo/rsyslog
   http://www.rsyslog.com/professional-services/
   What's up with rsyslog? Follow https://twitter.com/rgerhards
   NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a
 myriad
   of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
   DON'T LIKE THAT.
  
  ___
  rsyslog mailing list
  http://lists.adiscon.net/mailman/listinfo/rsyslog
  http://www.rsyslog.com/professional-services/
  What's up with rsyslog? Follow https://twitter.com/rgerhards
  NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
  of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
  DON'T LIKE THAT.
 
 ___
 rsyslog mailing list
 http://lists.adiscon.net/mailman/listinfo/rsyslog
 http://www.rsyslog.com/professional-services/
 What's up with rsyslog? Follow https://twitter.com/rgerhards
 NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
 of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
 DON'T LIKE THAT.

___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE 

Re: [rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread Paul Freeman (Core Internet)

On 2014-11-07 12:21, Brian Knox wrote:

I'm in favor of the process being as simple as possible.


indeed



I feel like if I want to squash, etc I can just do that on branches 
on my
own fork, and then send the cleaned up version back to you.  I don't 
feel

like you should have to deal with squashing my commits.


+1 to that :)
___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread Tomas Heinrich

On 11/07/14 12:27, Rainer Gerhards wrote:

Hi all,


Hello Rainer,


based on recent discussion ([1] is a good entry point), it looks like there
is consensus that feature-branch commits shall be squashed before merging
them into master.


Before implementing such a change, please give it some more time for 
people to comment and think it through. This is a big change and 
shouldn't be rushed.



This is a bit bad for me because in almost all cases I
like the ability to see the interim steps that lead to a feature in
question (for bisect, but also to better understand what was going on). I
have also discussed this with my peers in Adiscon and they also prefer the
way it currently is.


I think it's better to have changes split up into smaller cohesive 
chunks (that also don't break compilation, functionality, are well 
documented in the commit message and are generally tidied up).
Having the history more granular helps understanding why what happened 
where - I personally do that _a lot_. Squashing makes for tidier history 
but also obfuscates it. Having smaller commits makes reverting changes 
easier.


That said, I also do a lot of git-blame-ing and getting through the 
thick graph of merges isn't fun either.



To satisfy both requirements, we have now setup an internal git for Adiscon
use. Our plan is to have a parallel adiscon-master branch inside that repo,
which will contain every detail. Its master branch will mirror the public
git and contain squashed commits.


Please don't. :]
Having multiple branches with the same content but different histories 
would bring confusion; directly or indirectly.



We now have contributions from Adiscon (including me) and others. Those
from Adiscon will be done in feature branches, with detail commits and be
merged into the adiscon-master branch (so that it contains all details).
Then, I will squash the feature branch into a single commit and merge that
into master. So far, so good.



But now we also have non-Adiscon contributions. A current example is [2].
One question is if they must be squashed as well?


As Brian similarly noted in a previous email, I don't think it's a good 
idea to squash on the receiving side.
I edit and rebase commits all the time before submitting them for 
inclusion. If I've dissected the change into couple of patches, It's 
because I think there's a reason for it. If we'll decide to make it a 
policy to squash everything before inclusion, I'll send a single patch - 
no need for upstream to do that.


I have this luxury of rewriting my changes because I work in a private 
branch. Since you push your changes early and often, rebasing (editing, 
squashing) might be problematic - unless it is made a policy that there 
are no guaranties about what happens in a feature branch.


Tomas

___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread Rainer Gerhards
2014-11-07 15:55 GMT+01:00 Tomas Heinrich thein...@redhat.com:

 On 11/07/14 12:27, Rainer Gerhards wrote:

 Hi all,


 Hello Rainer,

  based on recent discussion ([1] is a good entry point), it looks like
 there
 is consensus that feature-branch commits shall be squashed before merging
 them into master.


 Before implementing such a change, please give it some more time for
 people to comment and think it through. This is a big change and shouldn't
 be rushed.


Thanks. I had the (obviously wrong) idea that no voices meant people were
happy with it -- especially as that other thread received a lot of comments
initially. But probably most folks got bored when it got longer and longer
(understandable now that I think about it), so this probably didn't mean
many are fine with the direction. My bad not to think about this.

I'll post another pending policy change from that thread (not yet
finalized), but I'll do that with a fresh posting so that it doesn't get
buried in this thread ;)

 This is a bit bad for me because in almost all cases I
 like the ability to see the interim steps that lead to a feature in
 question (for bisect, but also to better understand what was going on). I
 have also discussed this with my peers in Adiscon and they also prefer the
 way it currently is.


 I think it's better to have changes split up into smaller cohesive chunks
 (that also don't break compilation, functionality, are well documented in
 the commit message and are generally tidied up).
 Having the history more granular helps understanding why what happened
 where - I personally do that _a lot_. Squashing makes for tidier history
 but also obfuscates it.


That's my prime concern.


 Having smaller commits makes reverting changes easier.

 That said, I also do a lot of git-blame-ing and getting through the thick
 graph of merges isn't fun either.


more on that in the upcoming thread (not necessarily today, have some
appointments soon).



  To satisfy both requirements, we have now setup an internal git for
 Adiscon
 use. Our plan is to have a parallel adiscon-master branch inside that
 repo,
 which will contain every detail. Its master branch will mirror the public
 git and contain squashed commits.


 Please don't. :]
 Having multiple branches with the same content but different histories
 would bring confusion; directly or indirectly.


  We now have contributions from Adiscon (including me) and others. Those
 from Adiscon will be done in feature branches, with detail commits and be
 merged into the adiscon-master branch (so that it contains all details).
 Then, I will squash the feature branch into a single commit and merge that
 into master. So far, so good.


  But now we also have non-Adiscon contributions. A current example is [2].
 One question is if they must be squashed as well?


 As Brian similarly noted in a previous email, I don't think it's a good
 idea to squash on the receiving side.
 I edit and rebase commits all the time before submitting them for
 inclusion. If I've dissected the change into couple of patches, It's
 because I think there's a reason for it. If we'll decide to make it a
 policy to squash everything before inclusion, I'll send a single patch - no
 need for upstream to do that.


Yeah, that was along the lines that we used successfully for many years. I
appreciate that extra information as it helps me understand what's going on
(thus at least I don't wanted to loose it). From that other thread, I got
the strong impression that features requiring more than one commit are no
longer preferred.

I have this luxury of rewriting my changes because I work in a private
 branch. Since you push your changes early and often, rebasing (editing,
 squashing) might be problematic - unless it is made a policy that there are
 no guaranties about what happens in a feature branch.


Well, I now also have the Adiscon private repository and e.g. the testbench
changes are now only in there (it was my testbed to see which problems come
up with that approach). But I've already seen how this affects my workflow,
as I am no longer able to point people to the code as it develops (there
was a concrete case yesterday with a broken testbench test).

So far, I tried to do everything in public and not be ashamed of the
sometimes dumb errors I made and that manifest in git history. I admit that
I  make trivial changes directly to master and every now and then
(seldom, but happend), I screwed up and got master to fail building. Not
sure, though, if that would have been any better if I create a new branch,
apply change, merge new branch, delete it - all within 5 minutes. This
sounds a little bit overboard to me.

From what I got in this thread it looks like more people are in favor of
granular commits than the fat ones. I am still listening to voices, but
giving the current state, I won't change the way I do commits.

Rainer
___
rsyslog mailing list

[rsyslog] potential policy change: fixes for unsupported versions

2014-11-07 Thread Rainer Gerhards
Hi,

just to bring out another potential policy change to the full bright light:
There was discussion that in order to tidy up commit log, I should no
longer merge up branches. As I don't have the time to do manually what
currently git does for me, this means I will stop providing fixes for
versions other than the currently supported one (8.4.2 at the moment).

When I discussed this in Adiscon internally, we saw quite some advantage
for us as well: if the unsupported versions are really unsupported, people
hopefully would be more likely to update to the current versions. Also, it
means a bit of less work for me, which frees up a little bit of resources.

I honestly do not know how many folks at all really depend on e.g.
v7-stable. My impression is that many, if not most, distros tend to base on
a then-current version and apply patches to this baseline.

So my question is: do we need to keep fixing the old stuff ... or can we
really abandon that?

Feedback is highly appreciated.

Thanks,
Rainer
___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


[rsyslog] Using TLS to send remote logs on v7

2014-11-07 Thread Andrew Ruch
Hello,

I'm attempting to get remote logging using TLS to work on my RHEL 6.6
systems using the new rsyslog7 packages. Currently, I can't seem to
get the client to send it's logs encrypted. This is probably just an
error in my rsyslog.conf file, but I also tried installing rsyslog
8.4.2 on the client and everything works fine. Also note that these
are the same certificates that were being used when doing remote TLS
logging using rsyslog v5 so I don't think it's a certificate problem.
Below is my client config file. Does anyone see any syntax problems
with why this would work on v8 but not v7.



# rsyslog v7 configuration file (client)

 GLOBAL DIRECTIVES 

$umask 

# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf

# Working directory for spooling and file monitoring
$WorkDirectory /var/lib/rsyslog

# Create files with proper permissions
$FileCreateMode 0600

# Set the message size to 32k (up from 2k default)
$MaxMessageSize 32768

 MODULES 

module( load=imuxsock ) # provides support for local system logging
(e.g. via logger command)
module( load=imklog )   # provides kernel logging support
(previously done by rklogd)

 NETSTREAM DRIVER 
# Use gtls for ssl, ptcp for non ssl
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/trust.pem
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/cert.pem
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/key.pem

 RULES 

# All info and Auditd messages
*.info;local0.* action(
template=RSYSLOG_SyslogProtocol23Format
name=localfwd
type=omfwd

action.resumeRetryCount=-1

target=172.16.0.201
port=10514
protocol=tcp

TCP_Framing=octet-counted

queue.filename=localfwd

queue.size=100

queue.type=Disk

queue.saveonshutdown=on

StreamDriver=gtls

StreamDriverMode=1

StreamDriverAuthMode=x509/certvalid
  )

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;local0.none;mail.none;authpriv.none;cron.none
action(type=omfile file=/var/log/messages)

# The authpriv file has restricted access.
authpriv.*
action(type=omfile file=/var/log/secure)

# Log all the mail messages in one place.
mail.*
action(type=omfile file=/var/log/maillog)

# Log cron stuff
cron.*
action(type=omfile file=/var/log/cron)

# Everybody gets emergency messages
*.emerg;local0.none
action(type=omusrmsg users=*)

# Save news errors of level crit and higher in a special file.
uucp,news.crit
action(type=omfile file=/var/log/spooler)

# Save boot messages also to boot.log
local7.*
action(type=omfile file=/var/log/boot.log)





Thanks,
Andrew Ruch
___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread David Lang

I feel the same way, feature branches should not be squashed.

David Lang

On Fri, 7 Nov 2014, singh.janmejay wrote:


Rainer,

Do we really need to squash? Why not just keep it simple and merge changes
as they come? Its so much better for looking at exactly how/why things are
the way they are.

No rebase, no rewrites of history etc, just the simple commit and merge.

--
Regards,
Janmejay

PS: Please blame the typos in this mail on my phone's uncivilized soft
keyboard sporting it's not-so-smart-assist technology.

On Nov 7, 2014 4:57 PM, Rainer Gerhards rgerha...@hq.adiscon.com wrote:


Hi all,

based on recent discussion ([1] is a good entry point), it looks like there
is consensus that feature-branch commits shall be squashed before merging
them into master. This is a bit bad for me because in almost all cases I
like the ability to see the interim steps that lead to a feature in
question (for bisect, but also to better understand what was going on). I
have also discussed this with my peers in Adiscon and they also prefer the
way it currently is.

To satisfy both requirements, we have now setup an internal git for Adiscon
use. Our plan is to have a parallel adiscon-master branch inside that repo,
which will contain every detail. Its master branch will mirror the public
git and contain squashed commits.

We now have contributions from Adiscon (including me) and others. Those
from Adiscon will be done in feature branches, with detail commits and be
merged into the adiscon-master branch (so that it contains all details).
Then, I will squash the feature branch into a single commit and merge that
into master. So far, so good.

But now we also have non-Adiscon contributions. A current example is [2].
One question is if they must be squashed as well? Let's assume this is not
the case for whatever reason. So I merge them directly into master. Then,
to keep my actual working tree up to date, I need to cherry-pick them into
adiscon-master. This is where I am a bit hesitant, because of the manual
action. I fear that the master and adiscon-master branches may begin to
diverge, and be it through a simple mistake.

So maybe it is better to merge pull requests into new feature branches, and
then work as usual: merge feature branch into adiscon-master, squash
feature branch, then merge it as single commit into master.

To sum up: I would like to have two branches, the private one with all
detail information, the public one minus those commits that are considered
distracting. What is the best way to achieve this goal?

Feedback appreciated,
Rainer

[1] http://lists.adiscon.net/pipermail/rsyslog/2014-November/038883.html
[2] https://github.com/rsyslog/rsyslog/pull/147
___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
DON'T LIKE THAT.


___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.


Re: [rsyslog] can someone lend me a hand on git procedure

2014-11-07 Thread David Lang

I'm in favor of the process being as simple as possible.  The more work and
thought that has to be put into dealing with pull requests, the more likely
either work will get slowed down, or someone will make a mistake.

I feel like if I want to squash, etc I can just do that on branches on my
own fork, and then send the cleaned up version back to you.  I don't feel
like you should have to deal with squashing my commits.  I also don't have
a problem personally with seeing the merge messages.


I think that the patch creator (in the feature branch) should do whatever 
squashing, rebaseing, etc is desired before the patch is sent upstream.


If it's a small change, it may make sense to go ahead and alter the history 
before it's merged, but this shouldn't be a matter of make it one branch, but 
rather with 20-20 hindsight, this is the ideal series of patches to implement 
this feature where you trim out false starts, bugs that you later fix, etc. 
Especially if there is a large change, it's valuable to see the steps in the 
change individually rather than just having everything combined into one massive 
patch.


David Lang



On Fri, Nov 7, 2014 at 6:39 AM, Rainer Gerhards rgerha...@hq.adiscon.com
wrote:


2014-11-07 12:35 GMT+01:00 singh.janmejay singh.janme...@gmail.com:


Rainer,

Do we really need to squash? Why not just keep it simple and merge

changes

as they come? Its so much better for looking at exactly how/why things

are

the way they are.

No rebase, no rewrites of history etc, just the simple commit and merge.



well, I don't need all of that overhead. But from the other thread it
looked like folks wanted it and nobody said anything else...

Rainer


--
Regards,
Janmejay

PS: Please blame the typos in this mail on my phone's uncivilized soft
keyboard sporting it's not-so-smart-assist technology.

On Nov 7, 2014 4:57 PM, Rainer Gerhards rgerha...@hq.adiscon.com
wrote:


Hi all,

based on recent discussion ([1] is a good entry point), it looks like

there

is consensus that feature-branch commits shall be squashed before

merging

them into master. This is a bit bad for me because in almost all cases

I

like the ability to see the interim steps that lead to a feature in
question (for bisect, but also to better understand what was going

on). I

have also discussed this with my peers in Adiscon and they also prefer

the

way it currently is.

To satisfy both requirements, we have now setup an internal git for

Adiscon

use. Our plan is to have a parallel adiscon-master branch inside that

repo,

which will contain every detail. Its master branch will mirror the

public

git and contain squashed commits.

We now have contributions from Adiscon (including me) and others. Those
from Adiscon will be done in feature branches, with detail commits and

be

merged into the adiscon-master branch (so that it contains all

details).

Then, I will squash the feature branch into a single commit and merge

that

into master. So far, so good.

But now we also have non-Adiscon contributions. A current example is

[2].

One question is if they must be squashed as well? Let's assume this is

not

the case for whatever reason. So I merge them directly into master.

Then,

to keep my actual working tree up to date, I need to cherry-pick them

into

adiscon-master. This is where I am a bit hesitant, because of the

manual

action. I fear that the master and adiscon-master branches may begin to
diverge, and be it through a simple mistake.

So maybe it is better to merge pull requests into new feature branches,

and

then work as usual: merge feature branch into adiscon-master, squash
feature branch, then merge it as single commit into master.

To sum up: I would like to have two branches, the private one with all
detail information, the public one minus those commits that are

considered

distracting. What is the best way to achieve this goal?

Feedback appreciated,
Rainer

[1]

http://lists.adiscon.net/pipermail/rsyslog/2014-November/038883.html

[2] https://github.com/rsyslog/rsyslog/pull/147
___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a

myriad

of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
DON'T LIKE THAT.


___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
DON'T LIKE THAT.


___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog

Re: [rsyslog] potential policy change: fixes for unsupported versions

2014-11-07 Thread David Lang

On Fri, 7 Nov 2014, Rainer Gerhards wrote:


Hi,

just to bring out another potential policy change to the full bright light:
There was discussion that in order to tidy up commit log, I should no
longer merge up branches. As I don't have the time to do manually what
currently git does for me, this means I will stop providing fixes for
versions other than the currently supported one (8.4.2 at the moment).

When I discussed this in Adiscon internally, we saw quite some advantage
for us as well: if the unsupported versions are really unsupported, people
hopefully would be more likely to update to the current versions. Also, it
means a bit of less work for me, which frees up a little bit of resources.

I honestly do not know how many folks at all really depend on e.g.
v7-stable. My impression is that many, if not most, distros tend to base on
a then-current version and apply patches to this baseline.

So my question is: do we need to keep fixing the old stuff ... or can we
really abandon that?


My opinion.

bugfixes that have no work-around may be reasonable to add to the last version 
before the current one, but going back further than that, or including fixes for 
bugs that can be worked around is doing too much work.


maintaining an old version with the idea of only incorporating bugfixes to it 
over time is a lot of work, and it's fairly error prone (not to mention the 
ongoing debate as to what types of changes are safe to backport). Maintinance of 
such trees should be handed off from the main maintainer to someone who has 
interest in doing all this work. In the cae of rsyslog, the distros are doing 
some version of this. It may be reasonable for the distro maintainers to step up 
and maintain offical 'stable' versions for a while (hopefully getting some 
standardization beween the distros so they can share the work)


But for this we really need feedback from the distro maintainers.

David Lang
___
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.