Re: [opensuse-buildservice] Colons considered harmful: escaping LD_LIBRARY_PATH in OBS projects
Brandon Philips wrote:
Of course we need to figure out how many people have dots in their usernames but that could be worked around somehow.
Usernames are not a problem in this case, but we have a lots of projects that contain dot (with a good reason) like openSUSE:11.0 or Java:jpackage-5.0 -- Best Regards / S pozdravom, Pavol RUSNAK SUSE LINUX, s.r.o Package Maintainer Lihovarska 1060/12 PGP 0xA6917144 19000 Praha 9, CR prusnak[at]suse.cz http://www.suse.cz -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 02:07 Mon 22 Dec 2008, Pavol Rusnak wrote:
Brandon Philips wrote:
Of course we need to figure out how many people have dots in their usernames but that could be worked around somehow.
Usernames are not a problem in this case, but we have a lots of projects that contain dot (with a good reason) like openSUSE:11.0 or Java:jpackage-5.0
Right, but does the dot ever need to be interpreted in a special way?! Besides the strange "folders for http mirrors" thing: which I still don't understand. Cheers, Brandon -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Sorry- resend due to using not subscribed email address. On 20:19 Sun 21 Dec 2008, Brandon Philips wrote:
On 02:07 Mon 22 Dec 2008, Pavol Rusnak wrote:
Brandon Philips wrote:
Of course we need to figure out how many people have dots in their usernames but that could be worked around somehow.
Usernames are not a problem in this case, but we have a lots of projects that contain dot (with a good reason) like openSUSE:11.0 or Java:jpackage-5.0
Right, but does the dot ever need to be interpreted in a special way?! Besides the strange "folders for http mirrors" thing: which I still don't understand.
Ping? I almost forgot about this thread due to the holidays. Despite the new year: It is still a bug. And we need a solution. :D Cheers, Brandon -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Brandon Philips wrote:
Ping? I almost forgot about this thread due to the holidays.
Despite the new year: It is still a bug. And we need a solution. :D
I suggested a comma which does not interfere with anything AFAIK. Creating patch for OSC is a matter of minutes and I can push it anytime. The only thing we need is to agree on the solution. -- Best Regards / S pozdravom, Pavol RUSNAK SUSE LINUX, s.r.o Package Maintainer Lihovarska 1060/12 PGP 0xA6917144 19000 Praha 9, CR prusnak[at]suse.cz http://www.suse.cz -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 11:10 Tue 06 Jan 2009, Pavol Rusnak wrote:
Brandon Philips wrote:
Ping? I almost forgot about this thread due to the holidays.
Despite the new year: It is still a bug. And we need a solution. :D
I suggested a comma which does not interfere with anything AFAIK. Creating patch for OSC is a matter of minutes and I can push it anytime. The only thing we need is to agree on the solution.
I am concerned that using such an exotic seperator will just create problems in another library, script, or language. Limiting the use of characters to the most portable subset of POSIX filenames: A–Za–z0–9._- would be a pragmatic choice. On 20:19 Sun 21 Dec 2008, Brandon Philips wrote:
On 02:07 Mon 22 Dec 2008, Pavol Rusnak wrote:
Brandon Philips wrote:
Of course we need to figure out how many people have dots in their usernames but that could be worked around somehow.
Usernames are not a problem in this case, but we have a lots of projects that contain dot (with a good reason) like openSUSE:11.0 or Java:jpackage-5.0
Right, but does the dot ever need to be interpreted in a special way?! Besides the strange "folders for http mirrors" thing: which I still don't understand.
Could someone please address why OBS must have a unique seperator? Surely removing this assumption should be possible with all of the XML metadata and .osc/{_project,_package} files about. Thanks, Brandon -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Tuesday 06 of January 2009 18:04:30 Brandon Philips wrote:
On 11:10 Tue 06 Jan 2009, Pavol Rusnak wrote:
Brandon Philips wrote:
Ping? I almost forgot about this thread due to the holidays.
Despite the new year: It is still a bug. And we need a solution. :D
I suggested a comma which does not interfere with anything AFAIK. Creating patch for OSC is a matter of minutes and I can push it anytime. The only thing we need is to agree on the solution.
I am concerned that using such an exotic seperator will just create problems in another library, script, or language. Limiting the use of characters to the most portable subset of POSIX filenames: A–Za–z0–9._- would be a pragmatic choice.
Well, problem is, that those names are allowed in a name of projects, or packages. There are projects like home:-miska-, home:a_jaeger, Java:jpackage-1.7, (or something like Gnome_Community+OpenSUSE_Factory) and defining any of these character as a new separator will brings a lot of problems. I still recommends to use a normal directory structure after checkout (this don't need any changes on server side): osc co home:foo pkg -- > home/foo/pkg/pkg.spec osc co home:bar pkg ---> home/bar/pkg/pkg.spec osc co home:bar:subbar pkg ---> home/bar/subbar/pkg/pkg.spec Not needed to use an exotic separator, not needed to do huge rename of projects, ... . And osc could have a -r/--recursive option to work on all projects, or just with a current one (for example for osc up). It's easy to decide, if the current directory is a package dir, or a project one (just take a look into .osc/). Only one constraint is project cannot contains package and a subproject with a same name. But this shouldn't be a huge problem, I hope ;-).
On 20:19 Sun 21 Dec 2008, Brandon Philips wrote:
On 02:07 Mon 22 Dec 2008, Pavol Rusnak wrote:
Brandon Philips wrote:
Of course we need to figure out how many people have dots in their usernames but that could be worked around somehow.
Usernames are not a problem in this case, but we have a lots of projects that contain dot (with a good reason) like openSUSE:11.0 or Java:jpackage-5.0
Right, but does the dot ever need to be interpreted in a special way?! Besides the strange "folders for http mirrors" thing: which I still don't understand.
Could someone please address why OBS must have a unique seperator? Surely removing this assumption should be possible with all of the XML metadata and .osc/{_project,_package} files about.
Maybe the syncing of existing structure is better, because admin can decide to - sync only project:foo, but without subprojects - and do not need to read and parse the .osc directory. Or someone loves colons, so he has used colons in OBS :). But on a packagers side this causes in problems, so I suppose that use of colons on server side (names, repository paths, ...) is OK, but on a packager side could be changed to the directory structure. Regards Michal Vyskocil -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Jan 07, 09 08:25:00 +0100, Michal Vyskocil wrote:
I still recommends to use a normal directory structure after checkout (this don't need any changes on server side):
osc co home:foo pkg -- > home/foo/pkg/pkg.spec osc co home:bar pkg ---> home/bar/pkg/pkg.spec osc co home:bar:subbar pkg ---> home/bar/subbar/pkg/pkg.spec
Yes, this is best for representing the structure in a filesystem.
Not needed to use an exotic separator, not needed to do huge rename of projects, ... . And osc could have a -r/--recursive option to work on all projects, or just with a current one (for example for osc up). It's easy to decide, if the current directory is a package dir, or a project one (just take a look into .osc/).
Good point!
Only one constraint is project cannot contains package and a subproject with a same name. But this shouldn't be a huge problem, I hope ;-).
Well, this would need a policy, saying, that you cannot create subproject home:bar:subbar if there is a package subbar in project home:bar and vice versa you cannot create package subbar in home:bar if there is a subproject home:bar:subbar. Otherwise we get: osc co home:bar subbar ---> home/bar/subbar/subbar.spec osc co home:bar:subbar pkg ---> home/bar/subbar/pkg/pkg.spec ... strange mixed contents ... Theoretically, it should be possible for osc to handle this correctly. We don't allow directories in packages, do we? cheers, Jw. -- o \ Juergen Weigert paint it green! __/ _=======.=======_ <V> | jw@suse.de (not a debating __/ _---|____________\/ \ | 0911 74053-508 excercise.) __/ (____/ /\ (/) | _____________________________/ _/ \_ vim:set sw=2 wm=8 SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Juergen Weigert wrote:
Yes, this is best for representing the structure in a filesystem.
I'm not really sure. Real-life example: Project devel-tools contains cflow, dwarves, exmap packages. It also contains subprojects devel:tools:building, devel:tools:compiler, devel:tools:scm. If you checkout the whole tree, you'll end with this structure: /devel/tools/building /devel/tools/cflow /devel/tools/compiler /devel/tools/dwarves /devel/tools/exmap /devel/tools/scm Even if the policy (package name != subproject name) is not broken, it is very hard to tell if compiler is subproject or package. You have to go two levels deeper to tell that (dir/.osc). -- Best Regards / S pozdravom, Pavol RUSNAK SUSE LINUX, s.r.o Package Maintainer Lihovarska 1060/12 PGP 0xA6917144 19000 Praha 9, CR prusnak[at]suse.cz http://www.suse.cz -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Wednesday 07 of January 2009 14:39:35 Pavol Rusnak wrote:
Juergen Weigert wrote:
Yes, this is best for representing the structure in a filesystem.
I'm not really sure. Real-life example:
Project devel-tools contains cflow, dwarves, exmap packages. It also contains subprojects devel:tools:building, devel:tools:compiler, devel:tools:scm. If you checkout the whole tree, you'll end with this structure:
/devel/tools/building /devel/tools/cflow /devel/tools/compiler /devel/tools/dwarves /devel/tools/exmap /devel/tools/scm
Even if the policy (package name != subproject name) is not broken, it is very hard to tell if compiler is subproject or package. You have to go two levels deeper to tell that (dir/.osc).
I suppose maintainer of that project knows, what is a subproject of the project (and I considered these large complicated subprojects structure in OBS harmful too ;-)), so it's not a big problem in most of cases. Novice will have to look at .osc, or we can write something like osc lsprojects, which lists the projects from current directory. Michal Vyskocil -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Thu, Jan 08, 2009 at 09:32:30AM +0100, Michal Vyskocil wrote:
On Wednesday 07 of January 2009 14:39:35 Pavol Rusnak wrote:
Juergen Weigert wrote:
Yes, this is best for representing the structure in a filesystem.
I'm not really sure. Real-life example:
Project devel-tools contains cflow, dwarves, exmap packages. It also contains subprojects devel:tools:building, devel:tools:compiler, devel:tools:scm. If you checkout the whole tree, you'll end with this structure:
/devel/tools/building /devel/tools/cflow /devel/tools/compiler /devel/tools/dwarves /devel/tools/exmap /devel/tools/scm
I really like the proposal to simply always checkout with s/:/\//. I suppose that the .osc/ dir in each directory can tell if the dir is a project or a package. You could simply use this suggestion with one small tweak. For projects where a subproject and a package collide in the namespace, simply disambiguate them with prefixes or suffixes. Here is one example, given pkgA, pkgB, pkgC and subprojects prjA, prjB, pkgC. /home/michael_e_brown/pkgA/ /home/michael_e_brown/pkgB/ /home/michael_e_brown/pkg-pkgC/ /home/michael_e_brown/prjA/ /home/michael_e_brown/prjB/ /home/michael_e_brown/prj-pkgC/ Or, using a suffix: /home/michael_e_brown/pkgA/ /home/michael_e_brown/pkgB/ /home/michael_e_brown/pkgC.pkg/ /home/michael_e_brown/prjA/ /home/michael_e_brown/prjB/ /home/michael_e_brown/pkgC.prj/ Or, using suffixes for everything (which I'm not in favor of, but it has a certain symmetry). /home/michael_e_brown/pkgA.pkg/ /home/michael_e_brown/pkgB.pkg/ /home/michael_e_brown/pkgC.pkg/ /home/michael_e_brown/prjA.prj/ /home/michael_e_brown/prjB.prj/ /home/michael_e_brown/pkgC.prj/ -- Michael
On 08:25 Wed 07 Jan 2009, Michal Vyskocil wrote:
On Tuesday 06 of January 2009 18:04:30 Brandon Philips wrote:
On 11:10 Tue 06 Jan 2009, Pavol Rusnak wrote:
Brandon Philips wrote:
Ping? I almost forgot about this thread due to the holidays.
Despite the new year: It is still a bug. And we need a solution. :D
I suggested a comma which does not interfere with anything AFAIK. Creating patch for OSC is a matter of minutes and I can push it anytime. The only thing we need is to agree on the solution.
I am concerned that using such an exotic seperator will just create problems in another library, script, or language. Limiting the use of characters to the most portable subset of POSIX filenames: A–Za–z0–9._- would be a pragmatic choice.
Well, problem is, that those names are allowed in a name of projects, or packages. There are projects like home:-miska-, home:a_jaeger, Java:jpackage-1.7, (or something like Gnome_Community+OpenSUSE_Factory) and defining any of these character as a new separator will brings a lot of problems.
What type of problems? Thanks, Brandon -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Brandon Philips wrote:
What type of problems?
I guess Michal is referring to decreased readability, e.g. openSUSE.11.1.Contrib (openSUSE:11.1:Contrib) home--miska- (home:-miska-) home_a_jaeger (home:a_jaeger) -- Best Regards / S pozdravom, Pavol RUSNAK SUSE LINUX, s.r.o Package Maintainer Lihovarska 1060/12 PGP 0xA6917144 19000 Praha 9, CR prusnak[at]suse.cz http://www.suse.cz -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 18:22 Wed 07 Jan 2009, Pavol Rusnak wrote:
Brandon Philips wrote:
What type of problems?
I guess Michal is referring to decreased readability, e.g.
openSUSE.11.1.Contrib (openSUSE:11.1:Contrib)
In autobuild these version numbers were collapsed down to a numeric string: openSUSE111 That could be a solution. But, there are other projects using version numbers: https://build.opensuse.org/project/list_all?projectsearch=. Or we could start requiring cute codenames ;) openSUSE.BeardedDragon.Contrib
home--miska-
--miska- is one of just three users that have - at the beginning or end. Perhaps these users should be punished for their choice ;) Besides home projects there are only 55 projects[1] that have dahses and they look pretty reasonable with s/:/-/g DISCONTINUED-SUSE-SL-10.1-NonFree FATE-dbxml-2.4 GNOME-Evolution-sle11-unofficial GNOME-test-updates GNOME-test-updates-10.3 Java-jpackage-1.7 Java-jpackage-5.0 KDE-KDE4-Factory-Extra-Apps KDE-KDE4-STABLE-Extra-Apps KDE-KDE4-UNSTABLE-Extra-Apps Kernel-linux-next LSB-Spec-3.1 network-samba-tng OpenSync-OpenSync-0.2x Thoughts? Perhaps we should post this on another list to get more feedback? Cheers, Brandon [1] https://build.opensuse.org/project/list_all?projectsearch=- -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Wednesday 07 of January 2009 18:16:22 Brandon Philips wrote:
Well, problem is, that those names are allowed in a name of projects, or packages. There are projects like home:-miska-, home:a_jaeger, Java:jpackage-1.7, (or something like Gnome_Community+OpenSUSE_Factory) and defining any of these character as a new separator will brings a lot of problems.
What type of problems?
In the worst case two different project should be stored in same directory, but I talked about a readability of the result. And having a different separator on the server and client side is little bit confusing. But you're right, that 'problem' is not the best term :) Michal Vyskocil -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Being able to have the -r/--recursive flag would be nice. On our internal OBS we have many release subprojects, foo:1.0, foo:1.1, foo:2.0. It would be nice to be able to check out all subprojects of foo sometimes. It would also be nice if when looking at project foo's webpage it actually had links to all its immediate child subprojects instead of having to go to List All Projects. If I can create a subproject from the project webpage I should be able to see the projects I created there too. On Wed, 2009-01-07 at 08:25 +0100, Michal Vyskocil wrote:
On Tuesday 06 of January 2009 18:04:30 Brandon Philips wrote:
On 11:10 Tue 06 Jan 2009, Pavol Rusnak wrote:
Brandon Philips wrote:
Ping? I almost forgot about this thread due to the holidays.
Despite the new year: It is still a bug. And we need a solution. :D
I suggested a comma which does not interfere with anything AFAIK. Creating patch for OSC is a matter of minutes and I can push it anytime. The only thing we need is to agree on the solution.
I am concerned that using such an exotic seperator will just create problems in another library, script, or language. Limiting the use of characters to the most portable subset of POSIX filenames: A–Za–z0–9._- would be a pragmatic choice.
Well, problem is, that those names are allowed in a name of projects, or packages. There are projects like home:-miska-, home:a_jaeger, Java:jpackage-1.7, (or something like Gnome_Community+OpenSUSE_Factory) and defining any of these character as a new separator will brings a lot of problems.
I still recommends to use a normal directory structure after checkout (this don't need any changes on server side):
osc co home:foo pkg -- > home/foo/pkg/pkg.spec osc co home:bar pkg ---> home/bar/pkg/pkg.spec osc co home:bar:subbar pkg ---> home/bar/subbar/pkg/pkg.spec
Not needed to use an exotic separator, not needed to do huge rename of projects, ... . And osc could have a -r/--recursive option to work on all projects, or just with a current one (for example for osc up). It's easy to decide, if the current directory is a package dir, or a project one (just take a look into .osc/).
Only one constraint is project cannot contains package and a subproject with a same name. But this shouldn't be a huge problem, I hope ;-).
On 20:19 Sun 21 Dec 2008, Brandon Philips wrote:
On 02:07 Mon 22 Dec 2008, Pavol Rusnak wrote:
Brandon Philips wrote:
Of course we need to figure out how many people have dots in their usernames but that could be worked around somehow.
Usernames are not a problem in this case, but we have a lots of projects that contain dot (with a good reason) like openSUSE:11.0 or Java:jpackage-5.0
Right, but does the dot ever need to be interpreted in a special way?! Besides the strange "folders for http mirrors" thing: which I still don't understand.
Could someone please address why OBS must have a unique seperator? Surely removing this assumption should be possible with all of the XML metadata and .osc/{_project,_package} files about.
Maybe the syncing of existing structure is better, because admin can decide to - sync only project:foo, but without subprojects - and do not need to read and parse the .osc directory. Or someone loves colons, so he has used colons in OBS :).
But on a packagers side this causes in problems, so I suppose that use of colons on server side (names, repository paths, ...) is OK, but on a packager side could be changed to the directory structure.
Regards Michal Vyskocil -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (6)
-
Brandon Philips
-
Juergen Weigert
-
Luke Imhoff
-
Michael E Brown
-
Michal Vyskocil
-
Pavol Rusnak