Discussion:
[Gnewsense-dev] gNewSense 5
Sam Geeraerts
2016-05-03 21:59:32 UTC
Permalink
I'm thinking about speeding up development for gNewSense 5 (and
beyond). I've assembled some thoughts [1] on the wiki. Other
ideas/comments are welcome.

[1] http://www.gnewsense.org/DevelopmentProjects/Gnewsense5
dww
2016-05-03 23:36:09 UTC
Permalink
Hello Sam,

I am glad Ucclia is out ( at least the time I spend freeing those
packages will not go to waste not to mention your time and that of
others ). Were you able to solve the build problem with Iceweasel?

It would be nice if some how we can automate the process of freeing
those packages but I guess it is practically impossible to avoid the
manual work. On the other hand that is probably the main set of tasks
in getting 5 out anyway? Let me know when work on 5 starts.

Dennis
Post by Sam Geeraerts
I'm thinking about speeding up development for gNewSense 5 (and
beyond). I've assembled some thoughts [1] on the wiki. Other
ideas/comments are welcome.
[1] http://www.gnewsense.org/DevelopmentProjects/Gnewsense5
_______________________________________________
gNewSense-dev mailing list
https://lists.nongnu.org/mailman/listinfo/gnewsense-dev
Bob Ham
2016-05-04 10:53:06 UTC
Permalink
Post by dww
Let me know when work on 5 starts.
It would seem that this thread *is* the start of the work on 5 :-) So:
it's started now :-)
d.4.n.1
2016-05-04 11:21:25 UTC
Permalink
_______________________________________________
gNewSense-dev mailing list
gNewSense-***@nongnu.org
https://lists.nongnu.org/mailman/listinfo/gnewsense-dev
Sam Geeraerts
2016-05-04 21:21:39 UTC
Permalink
Op Tue, 03 May 2016 19:36:09 -0400
Post by dww
Were you able to solve the build problem with Iceweasel?
I'm afraid not. I hope the mipsel builds will go smoother with gNewSense
5, but I doubt it.
Post by dww
It would be nice if some how we can automate the process of freeing
those packages but I guess it is practically impossible to avoid the
manual work. On the other hand that is probably the main set of tasks
in getting 5 out anyway? Let me know when work on 5 starts.
Finding out what needs to be modified and how can't be automated. What
can/should be automated is merging upstream changes when Debian does a
(security) update for a package.
dww
2016-05-05 03:17:23 UTC
Permalink
Hello Sam,

Even with the freedom changes is there not a way to make the source
changes and then help automate the process of generating all the files
needed for the repository? Perhaps there is just too much variation
between packages.

Do you know of a link to a decent primer on how to use pbuilder?

Also as a reminder I suggest sending a notification to DistroWatch about
4. They have the status of gNewSense as dormant.

Dennis
Post by Sam Geeraerts
Op Tue, 03 May 2016 19:36:09 -0400
Post by dww
Were you able to solve the build problem with Iceweasel?
I'm afraid not. I hope the mipsel builds will go smoother with gNewSense
5, but I doubt it.
Post by dww
It would be nice if some how we can automate the process of freeing
those packages but I guess it is practically impossible to avoid the
manual work. On the other hand that is probably the main set of tasks
in getting 5 out anyway? Let me know when work on 5 starts.
Finding out what needs to be modified and how can't be automated. What
can/should be automated is merging upstream changes when Debian does a
(security) update for a package.
_______________________________________________
gNewSense-dev mailing list
https://lists.nongnu.org/mailman/listinfo/gnewsense-dev
Sam Geeraerts
2016-05-06 07:21:08 UTC
Permalink
Op Wed, 04 May 2016 23:17:23 -0400
Post by dww
Even with the freedom changes is there not a way to make the source
changes and then help automate the process of generating all the files
needed for the repository? Perhaps there is just too much variation
between packages.
Building packages is usually not a problem (if the code compiles). It
can be automated given a VCS repo with the debian folder for each
package (like we have now) or a helper script per package (like
Trisquel).
Post by dww
Do you know of a link to a decent primer on how to use pbuilder?
The one on the Ubuntu wiki [1] is pretty good.
Post by dww
Also as a reminder I suggest sending a notification to DistroWatch
about 4. They have the status of gNewSense as dormant.
Done.

[1] https://wiki.ubuntu.com/PbuilderHowto
dww
2016-05-07 00:13:48 UTC
Permalink
Post by Sam Geeraerts
Op Wed, 04 May 2016 23:17:23 -0400
Post by dww
Even with the freedom changes is there not a way to make the source
changes and then help automate the process of generating all the files
needed for the repository? Perhaps there is just too much variation
between packages.
Building packages is usually not a problem (if the code compiles). It
can be automated given a VCS repo with the debian folder for each
package (like we have now) or a helper script per package (like
Trisquel).
Would it be possible to extend the framework whereby the developer can
fill out a data file based on a template. A script would read the file
and attempt to create and modify appropriate files needed to update the
package and then build it.

I imagine there would be many cases where this would not work
completely. So there would still be manual inspection and reworking.

Dennis
Sam Geeraerts
2016-05-07 22:14:56 UTC
Permalink
Op Fri, 06 May 2016 20:13:48 -0400
Post by dww
Would it be possible to extend the framework whereby the developer can
fill out a data file based on a template. A script would read the
file and attempt to create and modify appropriate files needed to
update the package and then build it.
I imagine there would be many cases where this would not work
completely. So there would still be manual inspection and reworking.
That would lower the barrier for contributions a lot. I fear that
upstream packages and our modifications to them are too diverse to make
this possible, but I welcome you to look at our patches in Ucclia to
try and find some patterns that would lend themselves to this approach.
dww
2016-05-13 01:14:28 UTC
Permalink
I will try and see if I can develop something useful. I guess BASH
script would be best or should I try PERL?

Also see, https://bugs.kde.org/show_bug.cgi?id=356326, finally getting
some action on the kdeparser licensing issue.

Dennis
Post by Sam Geeraerts
Op Fri, 06 May 2016 20:13:48 -0400
Post by dww
Would it be possible to extend the framework whereby the developer can
fill out a data file based on a template. A script would read the
file and attempt to create and modify appropriate files needed to
update the package and then build it.
I imagine there would be many cases where this would not work
completely. So there would still be manual inspection and reworking.
That would lower the barrier for contributions a lot. I fear that
upstream packages and our modifications to them are too diverse to make
this possible, but I welcome you to look at our patches in Ucclia to
try and find some patterns that would lend themselves to this approach.
_______________________________________________
gNewSense-dev mailing list
https://lists.nongnu.org/mailman/listinfo/gnewsense-dev
Bob Ham
2016-05-04 10:51:14 UTC
Permalink
Post by Sam Geeraerts
I'm thinking about speeding up development for gNewSense 5 (and
beyond). I've assembled some thoughts [1] on the wiki. Other
ideas/comments are welcome.
Go back to Builder style of development?
Definitely. The fact that Ucclia packages were manually developed was a
massive turn off for helping.
Post by Sam Geeraerts
Code repository contains helper scripts instead of patches.
For Trisquel it contains both, e.g.

https://devel.trisquel.info/trisquel/package-helpers/blob/belenos/helpers/DATA/fop/replace-sRGB-profile.patch
https://devel.trisquel.info/trisquel/package-helpers/blob/belenos/helpers/make-fop

where the helper script applies a patch. There's quite a few of those.
Post by Sam Geeraerts
Could only be used for 1 distro at a time.
I don't understand this. Do you mean you want to bring packages from
more than one upstream, like Debian and Ubuntu?

Perhaps it would be a good idea to be very clear here about what the
goal of gNewSense is. Would you care to share what your personal goals
are with gNewSense, Sam? And for that matter, anyone else looking to
help?

Personally, what I want is a version of Debian modified to adhere to the
FSF's Free System Distribution Guidelines, nothing more. It doesn't
make sense to me to do anything beyond bringing a non-FSDG-compliant
distro into compliance and making it presentable. From the perspective
of software freedom, it seems like there are bigger fish to fry.
Post by Sam Geeraerts
Packages that need changes to binary content (like openoffice.org in
gNewSense 2) are very hard or impossible to handle.
Could you explain a little more about this, particular why it's
difficult to handle? Do you know how Trisquel have dealt with this
problem?
Post by Sam Geeraerts
we want to include software that is not (yet) in Debian, but which is
very useful to free software users.
Could you give an example of such software? Personally, I'm happy to
live with Debian's slow releases. That's one of the consequences of
Debian's high quality and I'm happy to live with it. If I wanted more
up-to-date software, I'd just use Trisquel :-)

That said, I can see that there may exist a need to integrate
gNewSense-specific packages or have updated packages. However, that
seems simply like a technical problem for the build system.

I had a look at Trisquel's system a while back and it's not rocket
science. There's no reason we can't make it do whatever we want.


One question I have is: does gNewSense have builder machines running
pbuilder or whatever? In fact, is there any information about
gNewSense's infrastructure anywhere? I couldn't find anything on the
wiki.

Cheers,

Bob
Sam Geeraerts
2016-05-04 22:49:14 UTC
Permalink
Op Wed, 04 May 2016 11:51:14 +0100
Post by Bob Ham
Definitely. The fact that Ucclia packages were manually developed
was a massive turn off for helping.
Understandable. The main reason to go manual was the trouble we had
with the openoffice.org package. It also seemed a cleaner approach.
Post by Bob Ham
Post by Sam Geeraerts
Code repository contains helper scripts instead of patches.
For Trisquel it contains both, e.g.
https://devel.trisquel.info/trisquel/package-helpers/blob/belenos/helpers/DATA/fop/replace-sRGB-profile.patch
https://devel.trisquel.info/trisquel/package-helpers/blob/belenos/helpers/make-fop
where the helper script applies a patch. There's quite a few of those.
Patches are a more common way of sharing changes than modifying
scripts. Debian likes to know about the patches in its derivatives [1].
Post by Bob Ham
Post by Sam Geeraerts
Could only be used for 1 distro at a time.
I don't understand this. Do you mean you want to bring packages from
more than one upstream, like Debian and Ubuntu?
The terminology in Debian is a bit confusing sometimes. By distribution
[2] I mean a particular major version, e.g. Ucclia. When we used
Builder for gNS 2 we could only work on DeltaH because the
configuration allowed only 1 codename, 1 upstream, 1 blacklist etc. And
multiple instances of Builder would clobber each other.
Post by Bob Ham
Perhaps it would be a good idea to be very clear here about what the
goal of gNewSense is. Would you care to share what your personal
goals are with gNewSense, Sam? And for that matter, anyone else
looking to help?
Personally, what I want is a version of Debian modified to adhere to
the FSF's Free System Distribution Guidelines, nothing more. It
doesn't make sense to me to do anything beyond bringing a
non-FSDG-compliant distro into compliance and making it presentable.
From the perspective of software freedom, it seems like there are
bigger fish to fry.
That's the biggest part of it. But ideally we would also include new
developments or improved configuration with respect to freedom and
privacy. I'm thinking of software like Ring [3] and support for new
libre file formats. But this might lead us in the the messy realm of
backports.
Post by Bob Ham
Post by Sam Geeraerts
Packages that need changes to binary content (like openoffice.org in
gNewSense 2) are very hard or impossible to handle.
Could you explain a little more about this, particular why it's
difficult to handle? Do you know how Trisquel have dealt with this
problem?
IIRC, the openoffice.org source package was made up of several archives
and at least 1 of those contained several archives that in turn
contained archives that contained Uuencoded archives. Doing all the
unpacking and repacking in the helper script is not a problem, but if
you modify a file within an archive then the resulting diff is binary
(because it diffs the archive and not it's contents). The dpkg scripts
choked on that. In the end I did the repackaging manually. That worked,
but it meant that we had to let Builder include the package as a
package. And so we needed to have the whole openoffice.org source
package in the data folder in VCS. Pushing that to Savannah would not
have been very nice, so we had to move our VCS repo to our own server.

All that took quite a bit of figuring out and testing. And of course
that kind of mess always happens to the packages with huge build times.
That contributed quite a number of days to our current release lag. If
I ever have to do that again, I quit.
Post by Bob Ham
Post by Sam Geeraerts
we want to include software that is not (yet) in Debian, but which
is very useful to free software users.
Could you give an example of such software? Personally, I'm happy to
live with Debian's slow releases. That's one of the consequences of
Debian's high quality and I'm happy to live with it. If I wanted more
up-to-date software, I'd just use Trisquel :-)
See examples above. If the FSF announce some awesome news about how
free software users can now finally access some data format (think
Gnash, libdvdcss) or about a new threat to freedom (think LibreJS) then
it would be nice to have it supported in the recommended distributions.
Post by Bob Ham
One question I have is: does gNewSense have builder machines running
pbuilder or whatever? In fact, is there any information about
gNewSense's infrastructure anywhere? I couldn't find anything on the
wiki.
Karl once wrote a bit of that [4], [5]. Although the rebuildd setup
broke and I invoke pbuilder manually now.

[1] https://wiki.debian.org/Derivatives/Census/gNewSense, patches repo
(not filled because we don't have 1 repo for patches)
[2] https://wiki.debian.org/Glossary#distribution
[3] https://ring.cx/en
[4] http://www.gnewsense.org/DevelopmentTeam/NewStyleBuildds
[5] http://www.gnewsense.org/kgoetz/RebuilddSetup
Loading...