CommunityWeek/PackagingSession/IRCLog20090511
From openSUSE
[edit]
IRC Log 2009-05-11 (Monday)
[11:01:34] Topic You set the channel topic to "Communication is important. Talk to people. | CommunityWeek/PackagingSession | Build_Service/Tips_and_Tricks | paste to http://p.caboo.se/ or http://rafb.net/paste/ | SNAFU". [11:02:00] <mvyskocil> ok, so let start with a Packaging Session [11:02:07] <mvyskocil> who is interested? [11:02:36] <prusnak> me! [11:02:42] <ptr_uzl> me too... [11:03:28] <mvyskocil> prusnak, ptr_uzl: I don't think I can tell you anything new about packaging ;-) [11:03:30] <titu> me too [11:04:40] <mvyskocil> titu: it looks that you will get a private session, because you are only one interested person :) [11:05:03] <titu> mvyskocil: that would make it much better for me [11:05:28] <mvyskocil> titu: that's true :) [11:05:30] <prusnak> i think there are more, but they are too shy :) [11:05:47] <mvyskocil> prusnak: please don't be [11:05:59] <mvyskocil> prusnak: sorry, that was fault [11:06:20] <mvyskocil> please don't be shy, if you are interested, please tell it [11:06:30] <msebe> mvyskocil: i am also interested :) [11:06:34] <titu> prusnak: I agree. [11:06:54] <titu> here goes my private session :) [11:07:00] <mvyskocil> OK, so anyone except SUSE packager is interested? ;-) [11:07:32] <mvyskocil> because in oposite case we will work only on titu's problems ... [11:08:20] <mvyskocil> titu: so it looks that you're lucky. [11:08:38] <titu> if the session is logged, then may b others can read that [11:08:39] <CzP> well, I'm interested, but right now I'm happy if I'm able to follow passively the session [11:08:58] <nikanth> Actually a similar session is going on in #opensuse-gnome..and people are there I guess [11:09:22] <CzP> with a 3 weeks "old" baby no time for anyting right now... [11:09:24] <nikanth> including myself :) [11:09:33] <prusnak> nikanth: gnome session focuses on packaging gnome applications, this one is going to be more generic [11:10:14] <mvyskocil> OK, so I'd like to start with a brief intro - how to create package, submit it to OBS [11:10:25] <nikanth> prusnak, hmm yes.. I am interested [11:10:36] <mvyskocil> I expect that you have a Novell account, and osc configured [11:10:41] <nikanth> yes [11:10:45] * jays too [11:10:56] <mvyskocil> see CommunityWeek/PackagingSession [11:10:59] <mvyskocil> if not [11:11:00] <titu> yes [11:11:14] <mvyskocil> great [11:11:37] <mvyskocil> So we selected astyle: http://astyle.sourceforge.net/ as a good example [11:12:04] <mvyskocil> The first useful step is create a working dir [11:12:18] <mvyskocil> for example home:<login>/astyle [11:13:04] <mvyskocil> Then download a source tarball astyle_1.23_linux.tar.gz from home page [11:13:16] <mvyskocil> http://sourceforge.net/project/showfiles.php?group_id=2319&package_id=2282&release_id=661855 [11:14:09] <mvyskocil> And a skeleton of spec file [11:14:13] <mvyskocil> http://pack.suse.cz/mvyskocil/astyle.spec.skeleton [11:14:44] <mvyskocil> Can we continue? [11:15:00] <herby2> yes [11:15:11] <titu> yes [11:15:16] <nikanth> yes [11:15:39] <jays> yes [11:15:57] <mvyskocil> So rename astyle.spec.skeleton to astyle.spec and open it in your favourite editor [11:16:41] <mvyskocil> The skeleton includes all necessary fields and contains an MIT license [11:17:13] <mvyskocil> That means you give everyone permissons to use your spec - it's common for all packages in SUSE [11:17:28] <mvyskocil> Now fill a header of spec. The first 4 are obvious [11:17:45] <mvyskocil> Name: astyle [11:17:49] <mvyskocil> Version: 1.23 [11:17:52] <mvyskocil> Release: 1 [11:17:59] <mvyskocil> Summary: Source code indenter, formatter, and beautifier for the C, C++, C# and Java [11:18:47] <mvyskocil> The Group field must comfors to SUSE packaging Conventions [11:18:49] <nikanth> done [11:18:55] <mvyskocil> SUSE_Package_Conventions/RPM_Groups [11:19:24] <mvyskocil> But from my experience, it's hard to select a right one :) [11:19:58] <mvyskocil> In this case I selected [11:20:00] <mvyskocil> Group: Development/Tools/Other [11:20:01] <nikanth> Development/Tools/Other ? [11:20:06] <nikanth> :) [11:20:22] <jays> +1 [11:20:38] <mvyskocil> I don't know if anyone uses those Groups, so this is not so mandatory [11:21:00] <nikanth> can we leave it empty? [11:21:16] <mvyskocil> nikanth: unfortunatelly not, it must be filled [11:21:26] <nikanth> ok [11:21:36] <nadvornik> AFAIK you can browse the packages by groups in YaST [11:22:05] <mvyskocil> nadvornik: yes and smart GUI shows it, but I don't know if anyone uses it [11:22:16] <mvyskocil> nikanth: Productivity/Other is a safe default :) [11:22:39] <mvyskocil> The next field is License, which is important [11:22:57] <mvyskocil> see SUSE_Package_Conventions/RPM_Style#1.6._License_Tag [11:23:20] <mvyskocil> License is written on [11:23:20] <mvyskocil> http://astyle.sourceforge.net/license.html [11:23:33] <mvyskocil> or is included in license.html in tarball [11:23:44] <nikanth> GPLv3 [11:23:51] <mvyskocil> And in case of (L)GPL is necessary check a "or any later version" notice. [11:23:57] <nikanth> LGPL [11:24:08] <mvyskocil> Because GPLv2 and GPLv2 or later are different [11:24:15] <mvyskocil> License: LGPLv3 or later [11:24:45] <prusnak> are you sure about the 'or later' ? [11:25:01] <mvyskocil> prusnak: I found it in license.html in tarball [11:25:42] <mvyskocil> can we continue? [11:25:59] <titu> yes [11:26:09] <nikanth> yes [11:26:18] <mvyskocil> So URL: contains a home page of project [11:26:29] <mvyskocil> Url: http://astyle.sourceforge.net/ [11:27:04] <mvyskocil> The next Source field contains a name of source tarball, but please type this "magic" line [11:27:15] <mvyskocil> Source: %{name}_%{version}_linux.tar.gz [11:27:51] <mvyskocil> The %{name} and %{version} are RPM macros and contains the Name: and Version: fields [11:28:17] <mvyskocil> This is useful for updates, because you can change a Version: field only [11:28:54] <mvyskocil> The BuildRoot can be skipped, you can use a value from skeleton [11:29:16] <mvyskocil> Now you are in section BuildRequires. [11:29:30] <mvyskocil> It defines packages necessary for build. [11:29:42] <titu> this is important for dependency resolution [11:30:00] <mvyskocil> Some packages, like C compiler are installed by default, so you don't need to write them [11:30:33] <mvyskocil> As astyle needs c++ compiler, please type [11:30:38] <mvyskocil> BuildRequires: gcc-c++ [11:31:17] <mvyskocil> This causes an installation of that package to build directory [11:32:05] <mvyskocil> The next part is a %description, which contains some brief text about program [11:32:13] <mvyskocil> I wrote some few sentences [11:32:13] <mvyskocil> from project main page. [11:33:15] <titu> this shows up in yast description [11:33:17] <mvyskocil> So you have filled all necessary metada of you package. [11:33:27] <mvyskocil> titu: yes and in zypper info [11:33:38] <mvyskocil> Can I continue? [11:33:42] <titu> yes [11:33:42] <jays> yes [11:34:04] <mvyskocil> There are 4 main steps of packaging process [11:34:05] <nikanth> yes [11:34:15] <mvyskocil> 1.) %prep - prepare for build, that meas unpack, delete unecessary files, apply patches, ... [11:34:26] <mvyskocil> 2.) %build - build a binary [11:34:35] <mvyskocil> 3.) %install - install files [11:34:45] <mvyskocil> 4.) %clean - clean a build root [11:35:30] <mvyskocil> The first step is %prep - it contains a line with %setup macro [11:36:19] <mvyskocil> It can unpack a source tarball and do some other necessary things, so it's recommended to use it instead of tar [11:36:38] <mvyskocil> For astyle please type [11:36:43] <mvyskocil> %setup -q -n %{name} [11:37:05] <titu> -q ?? [11:38:01] <mvyskocil> -q means be quiet, so it supress a verbose mode of unpack programs [11:38:11] <jays> and "-n %{name}" ? [11:38:22] <mvyskocil> -n defines a name of top level directory [11:38:31] <prusnak> ... in tarball [11:38:38] <mvyskocil> prusnak: yes in tarball [11:39:28] <prusnak> %{name}-%{version} is default and majority of FOSS projects use this scheme, but astyle is an exception and has only %{name} as top-level dir in tarball [11:39:56] <ptr_uzl> FYI: documentation of %setup macro: http://www.rpm.org/max-rpm-snapshot/s1-rpm-inside-macros.html [11:40:24] <mvyskocil> and -q must be a first agrument of %setup [11:40:48] <mvyskocil> The next step is a %build [11:41:07] <mvyskocil> It [11:41:07] <mvyskocil> contains the instructions for build. Upstream authors includes [11:41:07] <mvyskocil> those instructions to archive, so you must find and read it. [11:41:41] <mvyskocil> So astyle/doc/install.html contains a steps for build of astyle under gcc [11:42:13] <mvyskocil> So type following lines to %build [11:42:19] <mvyskocil> export CXXFLAGS="%{optflags}" [11:42:24] <mvyskocil> cd buildgcc [11:42:29] <mvyskocil> make release [11:43:02] <mvyskocil> The first line exports a standard flags for c++ compiler [11:43:22] <mvyskocil> And because astyle don't use autotools, you must export it by hand [11:43:43] <mvyskocil> Second two lines are instructions for build [11:44:03] <mvyskocil> Can I continue? [11:44:16] <jays> these lines look different from other projects? isn't? [11:44:29] <mvyskocil> jays: yes, it's project specific [11:44:32] <jays> for e.g. we usually do configure, make? [11:44:53] <jays> I mean the ones following %build [11:45:06] <titu> probably because it doesn't use autotools as he said [11:45:13] <mvyskocil> jays: yes, but in rpm world we have %{configure} macro, which makes it easier [11:45:18] <prusnak> jays: correct, lots of projects use autotools, thus you use %configure; make in %build [11:45:48] <jays> ok, please go ahead.. [11:46:05] <mvyskocil> yes, astyle uses a hand written set of makefiles -different for g++, different for intel compiler, ... [11:46:20] <mvyskocil> The %install section installs a files [11:47:23] <mvyskocil> And the destination of a %{buildroot} [11:47:43] <mvyskocil> Sorry [11:47:53] <mvyskocil> The destination is a %{buildroot} [11:48:22] <mvyskocil> It's because packages are not built under root, so we don't have a permissions to use a real / [11:48:39] <mvyskocil> In this case type [11:48:44] <mvyskocil> install -d -m 0755 %{buildroot}/%{_bindir} [11:49:14] <mvyskocil> which creates a <buildroot>/usr/bin [11:49:36] <mvyskocil> and [11:49:39] <mvyskocil> install -m 0755 bin/%{name} %{buildroot}/%{_bindir} [11:50:15] <mvyskocil> This install a bin/astyle to <buildroot>/usr/bin/astyle with executable permissions [11:50:56] <mvyskocil> A %clean section should be skipped [11:51:09] <mvyskocil> (in this case, you can leave a content from skeleton) [11:51:32] <mvyskocil> The last section we must fill is a %files section, which is probably most unpopular [11:51:40] <mvyskocil> part of rpm packaging [11:52:13] <mvyskocil> In this section you must list every installed file your package contains [11:52:42] <mvyskocil> So type [11:52:44] <mvyskocil> %defattr(-,root,root,0755) [11:52:58] <mvyskocil> %doc doc/astyle.html doc/license.html [11:53:05] <mvyskocil> %{_bindir}/%{name} [11:53:36] <mvyskocil> The %defattr setup the default persmissions of installed files [11:53:59] <mvyskocil> Usage is %defattr(permission of files,owner,group,permission of directories) [11:54:18] <mvyskocil> And - means: leave permissions unchanged [11:54:35] <mvyskocil> %doc installs a documentation of package. At least a license file is mandatory! [11:55:06] <mvyskocil> The last line tells, that you have installed a /usr/bin/astyle [11:55:35] <mvyskocil> So we are now ready to build ... [11:55:40] <mvyskocil> Can I continue? [11:55:57] <nikanth> yes [11:56:01] <herby2> yes [11:56:01] <titu> yes [11:56:08] <mvyskocil> So type [11:56:21] <mvyskocil> osc build openSUSE_11.1 i586 [11:56:39] <mvyskocil> or anything else if you want to build package for your distribution/architecture [11:57:04] <mvyskocil> I use osc build openSUSE_Factory x86_64 for example [11:57:51] <mvyskocil> Has anyone a problem? [11:58:19] <jays> not an osc project.. [11:58:23] <jays> error [11:58:30] <mvyskocil> jays: sorry, my fault [11:58:36] <mvyskocil> I missed that part :( [11:59:09] <mvyskocil> So please go back - we need to setup your build project and package [11:59:53] <mvyskocil> Please be sure that you have a proper build repository enabled [12:00:14] <mvyskocil> So login to build.opensuse.org and click on Home project [12:00:26] <jays> ok [12:00:48] <mvyskocil> you can see a list of Build Repositories [12:01:10] <mvyskocil> You can add a new one using [Add Repository] [12:02:01] <mvyskocil> The next step is to add a new package [12:02:20] <mvyskocil> It could be done using webclient, but osc is much faster [12:02:47] <titu> yeah web client is slower, may be more today [12:03:00] <jays> how to add using osc? [12:03:05] <mvyskocil> Warning, the next command will execute the vim editor by default [12:03:25] <mvyskocil> If you are not familiar with it, you can use another one by [12:03:34] <mvyskocil> export EDITOR=mecedit [12:03:38] <mvyskocil> for example [12:03:46] <mvyskocil> *mcedit [12:04:05] <mvyskocil> So type osc meta pkg home:<login> hello -e [12:04:40] <mvyskocil> This opens some XML description - you can just delete a line with LONG DESCRIPTION and save it [12:04:55] <prusnak> maybe astyle instead of hello ? [12:05:09] <mvyskocil> prusnak: thanks, that comes from old example [12:05:23] <index01d1> :) [12:05:52] <mvyskocil> Now type osc init home:<login> astyle [12:06:10] <mvyskocil> and osc metafromspec - it updates a meta informations from specfile [12:06:51] <mvyskocil> Are yoy reade? [12:06:55] <mvyskocil> you? [12:07:26] <mvyskocil> If so, then type the osc build command as was mentioned before [12:07:36] <titu> ok [12:08:05] <mvyskocil> It creates a build root in /var/tmp/build-root, install all necessary packages and build the rpm package [12:08:27] <mvyskocil> If you will get some error, please tell it [12:09:28] <nadvornik> mvyskocil: maybe you could retype the commands sequence again in the correct order, for the log ;) [12:09:39] <nikanth> mvyskocil, can we do osc co instead of osc init? What is the difference? [12:10:34] <mvyskocil> nikanth: yes, it's basically the same [12:10:43] <nikanth> oh, ok [12:10:59] <mvyskocil> nikanth: and osc init --help tells You wouldn't normally use this command, so your approach is probably better [12:11:18] <mvyskocil> adrianS: can you tell more? [12:12:21] <mvyskocil> nadvornik: ok [12:12:24] <nikanth> mvyskocil, got it. it does a co and copies current dir/* inside package [12:12:49] <jays> hmm.. there seem to be a problem for me with osc metafromspec [12:13:08] <mvyskocil> jays: can you copy an error message? [12:13:20] <jays> Error: "/home/sjayaraman/work/pkgs/home:sjayaraman/astyle" is not an osc working copy. [12:13:33] <mvyskocil> jays: and did you osc init, or osc co? [12:13:40] <jays> osc init [12:14:00] <mvyskocil> what do you have in .osc/? [12:14:01] <jays> also I had added repository from web.. [12:14:13] <nikanth> osc init home:<name> astyle [12:14:16] <nikanth> right? [12:14:20] <mvyskocil> nikanth: yes [12:14:45] <yaloki> morning * [12:14:46] <nikanth> jays, are the files tar and spec copied inside the package dir? [12:14:57] <nikanth> else copy them [12:15:30] <mvyskocil> the osc working copy has a .ors directory [12:15:33] <mvyskocil> .osc [12:15:40] <nikanth> my build finished with some rpmlint errors [12:15:57] <mvyskocil> nikanth: yes, that is expected, I'll explain them asap [12:17:13] <mvyskocil> so are you ready to continue? [12:17:46] <titu> yes [12:17:46] <herby2> yes [12:18:00] <mvyskocil> jays: what about you? [12:18:50] <mvyskocil> Well, I'll continue [12:19:03] <jays> init doesn't seem to work.. osc checkout worked.. [12:19:22] <mvyskocil> jays: so metafromspec and build have worked? [12:19:27] <jays> osc build [12:19:27] <jays> Building astyle.spec for openSUSE_Factory/x86_64 [12:19:27] <jays> Getting buildinfo from server [12:19:27] <jays> wrong repo/arch? [12:19:53] <prusnak> jays: have you added openSUSE_Factory repository using webclient ? [12:20:01] <jays> nope [12:20:10] <mvyskocil> jays: then add it [12:20:52] <mvyskocil> jays: but if you want to create a package for your version of openSUSE, then write [12:21:09] <mvyskocil> osc build openSUSE_<version> <architecture> [12:21:22] <jays> yup, got it.. building on 11.1 [12:22:12] <mvyskocil> Well, so as you can see, your package has some errors and you must fixed them [12:22:45] <mvyskocil> The first one is from rpmlint called executable-docs [12:22:49] <nadvornik> da [12:23:01] <nadvornik> sorry [12:23:47] <mvyskocil> The documentation files in upstream tarball has an executable bit [12:24:03] <mvyskocil> But this is not what you want to have in your system installed [12:24:35] <mvyskocil> The easiest way how to fix it is use of %defattr [12:24:58] <mvyskocil> So change a %files section [12:25:07] <mvyskocil> %defattr(0644,root,root,0755) [12:25:07] <mvyskocil> %doc doc/astyle.html doc/license.html [12:25:07] <mvyskocil> %defattr(-,root,root,0755) [12:25:07] <mvyskocil> %{_bindir}/%{name} [12:25:43] <mvyskocil> Now all documentation files will have a standard 0644 permissions [12:26:35] <mvyskocil> But your package also contains an executable, so the second %defattr is necessary, unless you will get a non executable binary [12:27:10] <mvyskocil> The second problem is written above rpmlint error [12:27:26] <mvyskocil> I: File is compiled without RPM_OPT_FLAGS [12:27:58] <mvyskocil> That means, even if you have specified a standard flags, the astyle didn't use them [12:28:45] <mvyskocil> Fixing of this issue is complicated, because it expects some knowledge about make program [12:29:49] <nikanth> So do we need to untar and edit the Makefile [12:30:00] <mvyskocil> nikanth: yes, but not directly [12:30:08] <nikanth> oh [12:30:13] <gladiac> ? [12:30:15] <mvyskocil> rpm expects that you use a pristine tarball [12:30:35] <gladiac> to set the optflags you don't have to change the Makefile [12:30:36] <mvyskocil> so you cannot unpack the tarball, change something and reapck it [12:31:10] <mvyskocil> gladiac: in this case yes, because upstream Makefile don't use a CXXFLAGS variable [12:31:27] <gladiac> so it is a handwritten Makefile? [12:31:36] <mvyskocil> gladiac: yes [12:31:47] <gladiac> omg :) [12:31:49] <mvyskocil> The proper way is to create a patch [12:32:25] <mvyskocil> I recommend to install a quilt, which makes a patching easier [12:32:38] <nikanth> mvyskocil: ok, but without untaring?! [12:32:52] <prusnak> gladiac: we needed a non-standard package to show some common packaging pitfalls [12:33:21] <mvyskocil> nikanth: we must create a patch [12:33:32] <mvyskocil> So please install a quilt if we didn't have it [12:33:50] <mvyskocil> Then unpack a tarball using [12:33:51] <nikanth> mvyskocil, installed [12:33:57] <mvyskocil> quilt setup astyle.spec [12:34:18] <mvyskocil> This command executes a %prep of your spec file [12:34:32] <nikanth> oh! ok [12:34:42] <mvyskocil> Then cd astyle/ [12:34:57] <mvyskocil> and add a new patch [12:34:58] <mvyskocil> quilt new astyle-1.23-cxxflags.patch [12:35:03] <gladiac> alias q='quilt' helps to type less ;) [12:35:57] <mvyskocil> Then open a Makefile [12:36:02] <mvyskocil> quilt edit buildgcc/Makefile [12:36:41] <mvyskocil> it uses an EDITOR variable as osc did before [12:37:00] <mvyskocil> Now find ind a CBASEFLAGS definition on line 31 and add the $(CXXFLAGS) at the end [12:37:16] <mvyskocil> Save and quit from editor [12:37:36] <mvyskocil> Then refresh a patch [12:37:38] <mvyskocil> quilt refresh [12:37:50] <mvyskocil> cd ../ [12:37:56] <mvyskocil> cp astyle/patches/astyle-1.23-cxxflags.patch . [12:38:12] <mvyskocil> and return back to working dir and copy a patch [12:38:37] <mvyskocil> Then add it to spec file [12:39:00] <mvyskocil> Add a Patch0: astyle-1.23-cxxflags.patch befind the Source: [12:39:23] <mvyskocil> and the following line to the end of %prep [12:39:31] <mvyskocil> %patch0 -p1 -b .cxxflags [12:39:55] <mvyskocil> This line applies your patch and save a backup copy with suffix .cxxflags [12:40:18] <mvyskocil> Now rebuild it [12:42:06] <prusnak> titu: herby2: jays: are you following ? any problems ? [12:42:21] <titu> i am following [12:42:40] <titu> didnt have quilt. so slowed down a bit [12:42:44] <nikanth> built [12:42:44] <jays> I'm following but not trying it out.. as I have used quilt setup.. [12:43:23] <prusnak> you can again use %{name} and %{version} in %Patch0 line (Patch0: %{name}-%{version}-cxxflags.patch) [12:43:43] <nikanth> but I get a message "error: failed to stat /sys/kernel/debug: No such file or directory" [12:44:02] <nikanth> looks like chroot didnt have debugfs mounted ?! [12:44:20] <prusnak> nikanth: was the build successfull ? [12:44:29] <nikanth> prusnak, yes [12:44:38] <mvyskocil> nikanth: so you can ignore this [12:44:51] <nikanth> mvyskocil, ok :) [12:45:34] <mvyskocil> prusnak: I don't use macros in patches names, because it breaks vim's Ctrl+W f :) [12:45:38] <nikanth> just a warning astyle.x86_64: W: no-changelogname-tag [12:45:51] <mvyskocil> nikanth: yes and a changelog part is a last one [12:45:57] <nikanth> ok [12:46:08] <mvyskocil> so can I continue? [12:46:27] <titu> yes [12:46:32] <nikanth> yes [12:46:46] <mvyskocil> well, this step expects the latest osc and build packages [12:47:06] <mvyskocil> please follow those instructions [12:47:07] <mvyskocil> CommunityWeek/PackagingSession#Latest_copy_of_osc [12:47:39] <mvyskocil> if you don't have an osc 0.117 and build-2009.04.23 [12:48:22] <prusnak> you can check your versions with "rpm -q build osc" [12:48:40] <mvyskocil> For historical reasons SUSE uses a .changes file for tracking of changes, instead of %changelog [12:49:16] <mvyskocil> And the latest osc has a support for writing of it [12:49:32] <mvyskocil> So type osc vc and you might see something [12:49:42] <mvyskocil> 1 ------------------------------------------------------------------- [12:49:42] <mvyskocil> 2 Thu May 7 15:57:27 CEST 2009 - mvyskocil@suse.cz [12:49:42] <mvyskocil> 3 [12:49:42] <mvyskocil> 4 - [12:49:42] <mvyskocil> 5 [12:50:23] <nikanth> yes [12:50:43] <henne> its more then historical reasons. %changelog is not exact enough :) [12:51:08] <mvyskocil> there is some rules how to write a changelog [12:51:10] <mvyskocil> SUSE_Package_Conventions/Changelogs [12:51:20] <mvyskocil> henne: yes, that's true [12:51:34] <mvyskocil> In our case just write something like [12:51:42] <mvyskocil> Initial packaging of astyle 1.23 [12:51:46] <mvyskocil> and save a file [12:52:38] <mvyskocil> Now you are ready to commit your package into OBS [12:53:00] <mvyskocil> Add all files to version control [12:53:01] <mvyskocil> osc add astyle_1.23_linux.tar.bz2 astyle.spec astyle.changes astyle-1.23-cxxflags.patch [12:53:16] <mvyskocil> And commit them to BuildService [12:53:21] <mvyskocil> osc commit -m "Initial packaging of astyle 1.23" [12:54:39] <mvyskocil> Everyone commited his package to OBS? [12:55:28] <titu> will do it soon [12:55:43] <titu> i am working from a slow connection [12:55:52] <mvyskocil> titu: ok, not a problem [12:57:07] <nikanth> done [12:57:23] <mvyskocil> So that's all - now you have an rpm package for astyle, which conforms a SUSE packaging conventions [12:57:47] <mvyskocil> You know how to fix some problems in upstream code [12:58:32] <prusnak> it is best to contact upstream and to send them your patches/fixes [12:58:40] <mvyskocil> So I think that a Packaging Session is on the end [12:58:47] <titu> what changes are needed if we use the web client? in cases like mine, downloading source code takes long, so I prefer providing web client with the download url. [12:59:19] <adrianS> that will get supported also with osc quite soon [12:59:22] <mvyskocil> So if you have any question regarding your packages, feel free to ask [12:59:25] <adrianS> well, some weeks [12:59:45] <nikanth> mvyskocil, Thank you very much [12:59:54] <herby2> thanks [13:00:05] <titu> mvyskocil: thank you [13:00:17] <nikanth> thanks a lot, everyone [13:00:17] Topic You set the channel topic to "Communication is important. Talk to people. | Build_Service/News | Build_Service/Tips_and_Tricks | paste to http://p.caboo.se/ or http://rafb.net/paste/ | SNAFU". [13:01:01] <mvyskocil> nikanth, herby2, titu: thanks for your interest

