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

Re: managing source packages



Hi Michal,

Am 2008-06-04 16:18:11, schrieb Michal Kapalka:
> 1. Installing/building dependencies
> 
> Say, I want to build a package pkg1. Usually, "apt-get build-dep pkg1"
> will install all dependencies. However, apt-get will fail if one of
> them, say pkg2, is not in "stable". Then, I have to install dependencies
> of pkg2, build pkg2 itself, and possibly do so recursively with

You have not to

> dependencies of pkg2 (and it took me hours when I tried that with
> texlive...). It would be nice if "apt-get" (or some other tool) would
> just try to resolve that itself, e.g., write "I need to install packages
> pkgA, pkgB from Etch, and build+install source packages pkgTestingA,
> pkgTestingB from Lenny. Do you want to continue? [Y/N]".

The right thing is to

apt-get source <package>
${EDIT} ./package*.dsc

   -> downgrade builddepends

${EDIT} package-X-Y-Z/debian/control

    -> correct Depends:

cd package-X-Y-Z/

dpkg-buildpackage -rfakeroot

> 2. Keeping packages up to date
> 
> Is there any way of automatic updating of packages built from source
> "debs"? It would be nice to have something like "apt-get source-update".

No, you should code a script which do autobuilding with:

1)  subscribing to <debian-devel-change@l.d.o>
2)  create a package list of your interests
3)  if an appropriated message comes in, let the script download it
    automaticaly
4)  build it in a pure Stable-pbuilder
5)  If errors occure inform ${YOU}
    a)  If there is an error, create a controllscript which solve the
        problems by editing the dsc and debian/control files before
        building and it will be called the next time the autobuilder
        run
    b)  If there was an error, reinject the message of the failed
        package to let it build again...

6)  push the package into a local debian-miror and run dpkg-ftparchive

Now you can use

    deb http://localhost/debian-backports stable main
and
    apt-get update
    apt-get install <package>
 
> 3. Removing (build) dependencies
> 
> Say, I installed a package pkg1 from source "debs". I needed to install
> pkg2 as a dependency of pkg1, and pkg3 as a build-time dependency of
> pkg1. Is there any way to remove pkg2 and pkg3 when pkg1 is,
> respectively, removed or built?

Do not do this.  Downgrade the Builddepencies versions carefuly.
If thre are NEW packages which do not exist in Stable, try to remove it
and IF it compiles, try the program, if you get errors, PRE-Build this
package and install it.
 
> I have heard that "aptitude" might have some of those features in the
> future, and I can try to write scripts that solve the problem. But if
> there already is a viable solution, I will not "reinvent the wheel".

I am running "tdautobuilder" but currently I can only say: "It works for
me."  I am working on it since it is more complicate as it seems.

Thanks, Greetings and nice Day
    Michelle Konzack
    Systemadministrator
    24V Electronic Engineer
    Tamay Dogan Network
    Debian GNU/Linux Consultant


-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/
##################### Debian GNU/Linux Consultant #####################
Michelle Konzack   Apt. 917                  ICQ #328449886
+49/177/9351947    50, rue de Soultz         MSN LinuxMichi
+33/6/61925193     67100 Strasbourg/France   IRC #Debian (irc.icq.com)

Attachment: signature.pgp
Description: Digital signature


Reply to: