denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] Help Needed


From: Andreas Schneider
Subject: Re: [Denemo-devel] Help Needed
Date: Tue, 10 Dec 2013 16:33:51 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20131104 Icedove/17.0.10

A package itself is nothing more than an archive of files (which will be
installed with absolute path) bundled with some information (e.g.
package name, version, description, dependencies, etc.). So you need
root privileges to *install* it (not only to put the files in their
locations, but also to change the package database), but not for
*building* it. A package installs system-wide by definition;
theoretically one could build a package that contains files in
/home/somename so that it is not available system-wise (although that
violates the file hierarchy standard), but that would make no sense at all.

For a user, it would be very useful to have the build information in
Denemo, i.e. the denemo.spec file for RPM or the debian directory with
its contents (control, rules, changelog, etc.) for dpkg. With these, the
user can build a package (or several packages if it is split) by
invoking a simple script (and does not need any privileges for that).
Dependencies are automatically determined by the build system (e.g. by
checking which libraries the executable is linked against), so you don't
need to update the scripts when a library version changes or you use
another library. If I unserstand it correctly, binary/noarch files are
just another name for packages which can be installed with the package
manager.

You could also automate package buidling on your server, similar to the
test suite. So you could easily provide packages for the current git
version / stable version, which users could substitute for the ancient
ones contained in distributions.

Andreas


Am 10.12.2013 15:49, schrieb Richard Shann:
> On Tue, 2013-12-10 at 13:35 +0100, Edgar Aichinger wrote:
>> Am Dienstag, 10. Dezember 2013, 09:30:23 schrieb Richard Shann:
>>> On Fri, 2013-12-06 at 17:56 +0100, Andreas Schneider wrote:
>>>> but on master the Debian package is now built without
>>>> problems 
>>>
>>> Could someone educate me about what this means? Does this mean that we
>>> could post up a Debian package which anyone on a compatible distro could
>>> apt-get install and have a chance of getting something working?
>>>
>>> What is the procedure for generating the Debian package. (And, what
>>> about the OpenSuse package that has been built, how is that different
>>> and could we usefully host it?).
>>
>> openSUSE uses RPM as package format, which is organized a bit differently: 
>> with rpm itself you collect what's needed - the source tarball, patches, 
>> possibly icon and .desktop files, and put them to specific places in a 
>> directory 
>> SOURCES/ under /usr/src/packages(SUSE) or /usr/src/redhat (Fedora). Then 
>> you have to write a text file that controls the package build, call it 
>> <packagename>.spec and put that into SPECS/ in that same tree. 
>> Running "rpmbuild -ba" on a .spec file will then result in binary/noarch 
> 
> What could a user do with these binary/noarch files ? (I have no
> experience with this sort of thing - it came as a surprise to me that
> the LilyPond site had a script with binaries embedded that would install
> an entire file hierarchy beneath your home directory with all the needed
> libraries and executables to run LilyPond).
>  I understand that this package creation is something different -
> perhaps that the binary within the package can only usefully be placed
> in /usr/bin or some such, i.e. requires root permissions - or indeed can
> only usefully be placed there by a program like apt-get that takes care
> of installing other stuff, of if not perhaps requires the relevant
> runtime packages (libfluidsynth ...) to be installed in the system.
> 
> Hmm, I can see that I am wallowing in uncertainty here - is there
> something that we can do that would enable users with a specific distro
> to run a command or two that we could give on the dememo.org website
> that would install them a version of Denemo that we have built for that
> distro? Or is the dependency thing so bad that they would frequently
> have conflicting requirements from other packages they have installed?
> Is there no way to tell a package manager to install a package just for
> the current user?
> 
> 
>> and source .rpm files
>>
>> I'm using the Open Build Service though, because it gives me many advantages.
>> It builds on the remote build farm, can deliver packages for all supported 
>> openSUSE 
>> versions, even for several other distributions, and anyone using my home 
>> repository
>> can update using his/her distro package management tools, as soon as the 
>> build 
>> service publishes the binaries.
> 
> Eloi - is this the same sort of thing as the one you have set up
> (travis)?
> 
> Richard
> 
> 
> 
> _______________________________________________
> Denemo-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/denemo-devel
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]