debian/0000755000000000000000000000000012256131313007163 5ustar debian/apt-cudf.postinst0000644000000000000000000000033312251424416012476 0ustar #!/bin/sh set -e # Will be invoked both at apt-cudf configuration time and each time the trigger # monitoring CUDF solver dir (usually /usr/share/cudf/solvers/) is activated. # update-cudf-solvers #DEBHELPER# exit 0 debian/dose-distcheck.manpages0000644000000000000000000000003012251424416013566 0ustar doc/manpages/distcheck.1debian/apt-cudf.README.Debian0000644000000000000000000000534012251424416012734 0ustar Packaging CUDF solvers in Debian ================================ Each CUDF solver should ship a "CUDF solver specification" file under `/usr/share/cudf/solvers/`, describing how to invoke the solver and its compatibility level with the CUDF standard. A precise description of the (very simple) CUDF solver specification format can be found in the `README.cudf-solvers` file in the "apt-cudf" package. Integration with APT ==================== APT can talk to external solvers by the means of the External Dependency Solver Protocol (EDSP). To reduce the burden on APT implementors and dependencies over specific features of the CUDF standard, the EDSP protocol is closer to typical APT syntaxes than to CUDF. Therefore, some plumbing is needed to use native CUDF solvers as external (EDSP-based) solvers for APT. The apt-cudf package provides such plumbing. The architecture is as follows: EDSP CUDF APT <--------> apt-cudf <--------> CUDF solver APT invokes apt-cudf as its external solver, which in turns invoke a proper CUDF solver. In such pipeline, apt-cudf plays man in the middle and performs the needed translations. The default directories where APT and apt-cudf look for solvers are as follows: - APT looks for (EDSP) solver *executables* into `/usr/lib/apt/solvers/` - apt-cudf looks for (CUDF) solver *specifications* into `/usr/share/cudf/solvers/` CUDF solvers can reside anywhere they please, as long as there is a CUDF solver specification pointing to them under `/usr/share/cudf/solvers/` (see Section above). For each CUDF solver that should be used as an external APT solver a (symbolic) link pointing to `/usr/bin/apt-cudf` must exist under `/usr/lib/apt/solvers/`. Upon invocation, apt-cudf will use the link name to lookup the corresponding CUDF solver specification. Trigger ------- The apt-cudf package comes with a trigger that monitors the `/usr/share/cudf/solvers/` directory for the installation of CUDF solver specifications. Upon activation, the trigger creates a symbolic link under `/usr/lib/apt/solvers`. Therefore: - If you are packaging a CUDF solver and would like it to be used as an external solver for APT, you don't have to do anything special (besides installing a proper CUDF solver specification for it under `/usr/share/cudf/solvers/`). Please note however that it will be usable as an external solver for APT only upon installation of the "apt-cudf" package. If your CUDF solver is specifically meant for apt, consider a Depends or a Recommends on apt-cudf. - If you want to use a CUDF solver as an external solver for APT, you just have to install the "apt-cudf" package. -- Stefano Zacchiroli , Fri, 10 Jun 2011 17:30:30 +0200 debian/dose3-copyright0000644000000000000000000000752012251424416012141 0ustar algo: ===== bench.ml: 2010 Pietro Abate 2010 Mancoosi Project LGPL >=3 with linking exception defaultgraphs.ml, depsolver_int.ml, depsolver.ml[i], diagnostic_int.ml, diagnostic.ml, strongconflicts_int.ml, strongconflicts.ml, strongdeps_int.ml, strongdeps.ml, tests.ml 2009 Pietro Abate 2009 Mancoosi Project same licence dominators.ml 2009-2010 Pietro Abate and Jaap Boender 2009-2010 Mancoosi Project same licence predications.ml[i] 2009,2010 Pietro Abate same licence statistics.ml 2008 Stefano Zacchiroli and * Jaap Boender and * Pietro Abate GPL !!!! but this is being changed upstream ========================================================================== applications: ============= boilerplates/boilerplate.ml: Pietro Abate LGPL >=3 with linking exception ceve.ml: 2009-10 Pietro Abate Jaap Boender 2009-10 Mancoosi Project same licence deb-buildcheck.ml, distcheck.ml, smallworld.ml, strong-deps.ml: 2009 Pietro Abate 2009 Mancoosi Project strong-conflicts.ml: 2009-2010 Jaap Boender 2009-2010 Mancoosi Project test.ml: 2010 Pietro Abate 2010 Mancoosi Project =========================================================================== common: ======= cudfAdd.ml, 2009 Pietro Abate 2009 Mancoosi Project edosSolver.ml[i]: 2005-2009 Jérôme Vouillon extBenchmark.ml[i]: 2010 Pietro Abate 2010 Mancoosi Project input.ml[i]. mdf.ml. tests.ml: 2009 Pietro Abate 2009 Mancoosi Project minisatSolver.ml ?????? url.ml[i]: GPL !!!! util.ml[i]: 2009 Part of the following code is borrowed from Cduce. Copyright: Alain Frisch (this has been removed upstream) util.mli: (C) 2009 Pietro Abate 2009 Mancoosi Project LGPL3+ (same licence as the rest) ========================================================================== db: === backend.ml,idbr.ml, pgsql.ml, sql.ml[i]: 2009 Pietro Abate 2009 Mancoosi Project LGPL3+ sqlite/sqlitext/connection.h: Copyright (C) 2004-2006 Gerhard Häring special licence (no problem) other files in sqlite: ?????? ========================================================================== deb: ==== apt.ml, debcudf.ml[i], debutil.ml, format822.ml, packages.ml, release.ml, sources.ml, tests.ml 2009 Pietro Abate 2009 Mancoosi Project bench.ml: 2010 Pietro Abate 2010 Mancoosi Project evolution.ml: 2011 Pietro Abate 2011 Mancoosi Project architecture.ml[i] 2010 Ralf Treinen version.ml: 2009 Jaap Boender version.mli: 2009 Pietro Abate 2009 Mancoosi Project LGPL3+ ========================================================================== eclipse ======= eclipsecudf.ml, packages.ml, version.ml 2009 Pietro Abate 2009 Mancoosi Project LGPL3+ ========================================================================== rpm === hdlist.ml, librpm_stubs.cm myocamlbuild.ml, packages.ml, rpmcudf.ml, tests.ml, version.ml 2009 Pietro Abate 2009 Mancoosi Project LGPL3+ ========================================================================== myocamlbuild: (* Copyright (C) 2009 Pietro Abate *) LGPL3+, linking exc ======================================================================= debian/dose-extra.install0000644000000000000000000000010112251424416012622 0ustar usr/bin/dose-ceve usr/bin/dose-outdated usr/bin/dose-challenged debian/apt-cudf.conf0000644000000000000000000000074312251424416011545 0ustar solver: mccs-cbc , mccs-lpsolve upgrade: -lex[-new,-removed,-notuptodate] dist-upgrade: -lex[-notuptodate,-new] install: -lex[-removed,-changed] remove: -lex[-removed,-changed] trendy: -lex[-removed,-notuptodate,-unsat_recommends,-new] paranoid: -lex[-removed,-changed] solver: * upgrade: -new,-removed,-notuptodate dist-upgrade: -notuptodate,-new install: -removed,-changed remove: -removed,-changed trendy: -removed,-notuptodate,-unsat_recommends,-new paranoid: -removed,-changed debian/copyright0000644000000000000000000000473412251424416011132 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: dose Upstream-Contact: Pietro Abate Source: https://gforge.inria.fr/projects/dose/ Files: * Copyright: © 2009-2012 Pietro Abate License: LGPL-3+ Files: deb/format822.ml Copyright: © 2005-2009 Jérôme Vouillion, Stefano Zacchiroli, Pietro Abate License: LGPL-3+ Files: algo/statistics.ml Copyright: © 2008 Jaap Boender, Stefano Zacchiroli, Pietro Abate License: LGPL-3+ Files: common/edosSolver.ml common/edosSolver.mli Copyright: © 2005-2009 Jérôme Vouillion License: LGPL-3+ Files: common/util.ml Copyright: © 2009 Alain Frish, Pietro Abate License: LGPL-3+ Files: common/url.ml common/url.mli deb/version.ml Copyright: © 2011 Ralf Treinen License: LGPL-3+ Files: debian/update-cudf-solvers Copyright: © 2011 Stefano Zacchiroli License: LGPL-3+ Files: debian/* Copyright: © 2011, 2012 Ralf Treinen, Stefano Zacchiroli License: LGPL-3+ Files: db/sqlite/sqlitext/connection.h Copyright: (C) 2004-2006 Gerhard Häring License: connection-licence License: LGPL-3+ This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. A special linking exception to the GNU Lesser General Public License applies to this library, see the COPYING file for more information. . On Debian systems, the complete text of the latest GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL'. License: connection-licence This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. . Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: . 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. debian/dose-distcheck.install0000644000000000000000000000002712251424416013447 0ustar usr/bin/dose-distcheck debian/apt-cudf.manpages0000644000000000000000000000015712251424416012412 0ustar doc/manpages/apt-cudf.1 doc/manpages/apt-cudf.conf.5 doc/manpages/apt-cudf-get.8 debian/update-cudf-solvers.8 debian/dose-builddebcheck.manpages0000644000000000000000000000003212251424416014377 0ustar doc/manpages/buildcheck.1 debian/changelog0000644000000000000000000002534212256131313011043 0ustar dose3 (3.1.3-7build1) trusty; urgency=medium * Rebuild for ocaml-4.01. -- Matthias Klose Mon, 23 Dec 2013 22:01:47 +0000 dose3 (3.1.3-7) unstable; urgency=low * patch ocaml-4.1-zip: fix _tags.in to avoid multiple pp options (closes: #731701). -- Ralf Treinen Mon, 09 Dec 2013 21:32:31 +0100 dose3 (3.1.3-6) unstable; urgency=low * patch ocaml-4.1: fix FTBFS with ocaml 4.01. Thanks a lot to Pietro Abate for his help (closes: #731277) * Standards-version 3.9.5 (no change) -- Ralf Treinen Fri, 06 Dec 2013 20:23:42 +0100 dose3 (3.1.3-5) unstable; urgency=low * debian/rules: "make clean" only when Makefile.config exists (closes: #723864) -- Ralf Treinen Fri, 20 Sep 2013 21:19:25 +0200 dose3 (3.1.3-4) unstable; urgency=low * migrate doc/manpages/ceve.pod to the stricter format of pod2man from perl 5.18.1 (closes: #719866). -- Ralf Treinen Fri, 16 Aug 2013 18:52:15 +0200 dose3 (3.1.3-3) unstable; urgency=low * upload to unstable -- Ralf Treinen Tue, 07 May 2013 20:41:52 +0200 dose3 (3.1.3-2) experimental; urgency=low * Fix FTBFS on architectures not supporting dynamic loading: - new patch configure-dynlink, provided by Mehdi Dogguy - debian/control: add build-dependency on automake, autoconf - debian/rules: dh_auto_configure calls aclocal and autoconf -- Ralf Treinen Sun, 20 Jan 2013 17:34:42 +0100 dose3 (3.1.3-1) experimental; urgency=low * New upstream version. This version fixes the invocation of the clean target in doc/ makefiles (closes: #687651). * debian/{watch.copyright}: new location of upstream on gforge.inria.fr * dropped patches: - version-3.0.2 since upstream got the version right. - multiarch-conflicts (fixed by upstream) - apt-cudf-pinning (fixed by upstream) - builddebcheck-manpage (fixed by upstream) * we dont't have to call aclocal and autoconf any more (since patch version-3.0.2 has been dropped), drop them from debian/rules and from the build-dependencies. * refreshed patch binaries-prefix-edos for the new upstream version (closes: #687576). * debian/rules, debian/dose-distcheck.{docs,doc-base}: the directory doc/debcheck-primer has been renamed to doc/debcheck.primer * patch doc-makefile-html: do not generate html version of man pages * Standards-Version 3.9.4 (no change). -- Ralf Treinen Sun, 13 Jan 2013 21:57:55 +0100 dose3 (3.0.2-3) unstable; urgency=low * Upload to unstable. -- Ralf Treinen Wed, 03 Oct 2012 19:25:40 +0200 dose3 (3.0.2-2) experimental; urgency=low * Patch multiarch-conflicts: fix the translation of conflicts in case of multiarchs, a conflict on package p has to apply to p of all possible architectures. (closes: #685171). Patch extracted from the 3.0.2-hotfix branch of the upstream git repository (commit a2f69265323d8cead088eeee2a731db582d3cc81). Thanks to Pietro Abate for having fixed this. * Patch apt-cudf-pinning: Fix version numbers in the package installation requests in the translation process from EDSP to CUDF (closes: #687643). Thanks to Pietro Abate for the patch! * Patch builddebcheck-manpage: Fix architecture options in the dose-builddebcheck manpage (closes: #680271). -- Ralf Treinen Wed, 26 Sep 2012 17:21:15 +0200 dose3 (3.0.2-1) unstable; urgency=low * New upstream version: - Remove patch manpage-distcheck which has been applied upstream * debian/copyright: - fix continuation lines in the paragraph for connection-licence. - fix typo Licence -> License * debian/rules: in clean target, remove doc/debcheck-primer/version.tex since it should be generated. * fix the version number that upstream forgot to bump: - add patch version-3.0.2 - add automake and autoconf to build-dependencies - call aclocal and autconf in the configure target of debian/rules -- Ralf Treinen Wed, 27 Jun 2012 11:24:15 +0200 dose3 (3.0.1-1) unstable; urgency=low * New upstream version * Remove patch manpages-section5 which has been applied by upstream * Install upstream's version of apt-cudf-get script and manpage, drop our version in debian/ * Patch manpage-distcheck: some improvements to distcheck manpage. * debian/copyright: - put files paragraph with more general file pattern first - add BSD-ish license for db/sqlite/sqlitext/connection.h (thanks to Ansgar Burchardt for the remark). -- Ralf Treinen Sun, 17 Jun 2012 19:58:39 +0200 dose3 (2.9.17-1) unstable; urgency=low * New upstream version. - refreshed patch binaries-prefix-edos * New file debian/apt-cudf.conf, install into /etc * debian/apt-cudf.manpages: install apt-cudf.conf * patch manpages-section5: apt-cudf.conf manpage is section 5 not 1 * debian/rules: deactivate dh_auto_test for now as the upstream tarball does not contain the necessary data for the tests. * New file debian/apt-cudf-get, install into /usr/bin * Write a manpage for apt-cudf-get, install in the apt-cudf package. -- Ralf Treinen Thu, 31 May 2012 22:35:14 +0200 dose3 (2.9.15-1) unstable; urgency=low * New upstream version. This version fixes a bug in the printing of debian package versions (closes: #665378) * Remove patch dont-strip-bytecode, now integrated by upstream. -- Ralf Treinen Fri, 30 Mar 2012 15:29:07 +0200 dose3 (2.9.14-3) unstable; urgency=low * fix a typo in long description of dose-extra * put an empty directory /usr/lib/apt/solvers into the apt-cudf package so that dpkg knows it has to remove it on package removal. (closes: #664860) -- Ralf Treinen Wed, 21 Mar 2012 21:00:31 +0100 dose3 (2.9.14-2) unstable; urgency=low * patch dont-strip-bytecode: install must not try to strip executables when compilation to bytecode. Fixes an FTBFS on architectures with compilation to bytecode. -- Ralf Treinen Sat, 17 Mar 2012 19:24:48 +0100 dose3 (2.9.14-1) unstable; urgency=low * New upstream version - ported patch binaries-prefix-edos to the new upstream version * debian/control: add {$perl:Depends} to dependencies of apt-cudf (closes: Bug#659834) * debian/control: use Conflicts and Removes to remove old versions of binary packages from before the renaming: - dose-distcheck conflicts with dose3-distcheck - dose-builddebcheck conflicts with dose3-builddebcheck * Rename ceve to dose-ceve (binary and manpage) * Standards-Version 3.9.3 - debian/copyright: machine readable format 1.0 * package libdose3-ocaml: only install files dll*stubs.so * build and install the debcheck primer: - debian/control: add build-dependency on hevea, texlive-latex-base, texlive-latex-extra - debian/rules: compile the primer - add debian/dose-distchecks.{docs, doc-base} -- Ralf Treinen Fri, 16 Mar 2012 19:31:34 +0100 dose3 (2.9.13-1) experimental; urgency=low * New upstream release - now almost ready for sid! * The ceve package has disappeared, we have instead now a new package dose-extra that contains all tools that do not deserve their own package (for the moment: ceve, outdated, challenged). * Packages for distcheck and builddebcheck have prefix dose- now. Binaries (except ceve and apt-cudf) also have prefix dose. * debian/rules: - configuration option --with-rpm has become --with-rpm4 - upstream has fixed installation of algo.a, we can now remove our own hack in override_auto_install. * debian/control: - The apt-cudf package now depends first on aspcud before the virtual package cudf-solver - add ${shlibs:Depends} to dependencies of libdose3-ocaml-dev - Bump build-dependency on cudf to 0.6.2 - Added build-dependency on perl needed for building the manpages using pod2man, and on graphviz which is needed to build the dependency graph of modules in the documentation. * generate documentation with ocamldoc (make doc) and install it in the libdose3-ocaml-dev package. Add an doc-base entry for the documentation. * debian/copyright: update (files common/url.ml, deb/version.ml) -- Ralf Treinen Tue, 07 Feb 2012 21:41:12 +0100 dose3 (2.9.8-1) experimental; urgency=low [ Stefano Zacchiroli ] * New upstream release - first release shipping apt-cudf * new binary package: apt-cudf - provides glue among CUDF solvers and EDSP (i.e. APT's native) external solvers - new helper update-cudf-solvers, to be invoked at each new installation of CUDF solvers, to bind them to APT - set up trigger monitoring /usr/share/cudf/solvers/; it will invoke update-cudf-solvers at each change * debian/copyright: add coverage of packaging work, singling out update-cudf-solvers -- Stefano Zacchiroli Sun, 12 Jun 2011 09:37:58 +0200 dose3 (2.9.4-2) experimental; urgency=low * Attempt to install algo.{a,o} only when they exist. This should fix compilation of the package on non-native architectures. (closes: #627283) -- Ralf Treinen Sat, 04 Jun 2011 10:39:54 +0200 dose3 (2.9.4-1) experimental; urgency=low * New upstream release. This release solves an issue with spuriously exported modules that blocked resolution of #627274. * Install all of usr/lib/ocaml/dose3 in the -dev package (closes: #627274) * Remove patch ignore-experimental since this is fixed upstream now. * Bump version on build-dependency libcudf-ocaml-dev. * Add a binary package libdose3-ocaml for the runtime stub libraries. * debian/rules: install _build/algo/algo.{a,o}. -- Ralf Treinen Thu, 02 Jun 2011 11:25:57 +0200 dose3 (2.9.3-2) experimental; urgency=low * use debian/libdose3-ocaml-dev.install (instead of ..install.in) * install in the libdose3-ocaml-dev package more files (*.mli, *.cmi, *.a, *.o) from usr/lib/ocaml/dose3. * Recompile against librpm 4.9.0 -- Ralf Treinen Mon, 23 May 2011 08:07:08 +0200 dose3 (2.9.3-1) experimental; urgency=low * Initial upload (closes: #587521) * New upstream release. This release resolves the problems with the copyright of some of the files. In particular, common/url.ml has been rewritten from scratch. * Standards-Version 3.9.2 (no change) * debian/control: remove redundant Section entry for libdose3-ocaml-dev. * Drop patch manpages since fixed by upstream. * Patch ignore-experimental: remove references to experimental directory which does not exist in the released tarball. -- Ralf Treinen Sun, 15 May 2011 19:12:44 +0200 debian/libdose3-ocaml-dev.docs0000644000000000000000000000002412251424416013406 0ustar _build/dose3.docdir debian/update-cudf-solvers0000755000000000000000000001331612251424416013015 0ustar #!/usr/bin/perl -w # # update-cudf-solvers: register available CUDF solvers and bind them to APT # # Copyright: © Stefano Zacchiroli 2011 # License: GNU Lesser General Public License, version 3 or above use strict; use File::Basename; use File::Path qw(make_path); use Getopt::Long; use Pod::Usage; # configuration my $cudf_dir = "/usr/share/cudf/solvers"; my $edsp_dir = "/usr/lib/apt/solvers"; my $apt_cudf = "/usr/bin/apt-cudf"; # globals my $debug = 0; my $help_action = 0; my $list_action = 0; my $remove_action = 0; sub warning($) { my ($msg) = @_; print STDERR "update-cudf-solvers: W: $msg\n"; } sub debug($) { my ($msg) = @_; print STDERR "update-cudf-solvers: I: $msg\n" if $debug; } sub die_usage() { my %podflags = ( "verbose" => 1, "exitval" => 2 ); pod2usage(%podflags); } sub shallow_find($) { my ($dir, $pred) = @_; my @found = (); foreach my $f (`find $dir -maxdepth 1 -mindepth 1 -type f -o -type l`) { chomp $f; push @found, basename $f; } return @found; } # check whether a given EDSP solver path originates from a CUDF solver sub is_cudf_solver($) { my ($path) = @_; return (-l $path && readlink($path) eq $apt_cudf); } # install: act on new CUDF solvers; make them available as EDSP solvers sub install_new($$) { my ($cudf_solvers, $edsp_solvers) = @_; foreach my $cudf_name (@$cudf_solvers) { my $edsp_solver = "$edsp_dir/$cudf_name"; next if is_cudf_solver($edsp_solver); if (-e $edsp_solver || -l $edsp_solver) { # either existing non CUDF solver or dangling symlink warning "refuse to overwrite $edsp_solver with a symlink to $apt_cudf, skipping"; } else { # file exists, but doesn't point to apt-cudf debug "symlink $edsp_solver to $apt_cudf"; symlink $apt_cudf, $edsp_solver or warning "cannot symlink $edsp_solver to $apt_cudf, skipping"; } } } # garbage collection: act on old EDSP solvers; get rid of them sub remove_old($$) { my ($cudf_solvers, $edsp_solvers) = @_; foreach my $edsp_name (@$edsp_solvers) { my $edsp_solver = "$edsp_dir/$edsp_name"; next unless is_cudf_solver($edsp_solver); if (! grep {"$_" eq "$edsp_name"} @$cudf_solvers) { # EDSP && CUDF solver, no longer existing debug "unlink (gone) $edsp_solver"; unlink $edsp_solver or warning "cannot unlink $edsp_solver, skipping"; } } } # remove all EDSP solvers originating from CUDF solvers sub remove_all($$) { my ($cudf_solvers, $edsp_solvers) = @_; foreach my $edsp_name (@$edsp_solvers) { my $edsp_solver = "$edsp_dir/$edsp_name"; if (is_cudf_solver($edsp_solver)) { unlink $edsp_solver or warning "cannot unlink $edsp_solver, skipping"; } } } sub main() { my $getopt = GetOptions( "d|debug" => \$debug, "h|help" => \$help_action, "l|list" => \$list_action, "r|remove" => \$remove_action, ); die_usage if (! $getopt || $help_action); -d $edsp_dir or make_path($edsp_dir, { mode => 0755 }); my @cudf_solvers = shallow_find($cudf_dir); my @edsp_solvers = shallow_find($edsp_dir); if ($debug) { foreach my $s (@cudf_solvers) { debug "found cudf solver: $s"; } foreach my $s (@edsp_solvers) { debug "found edsp solver: $s"; } } if ($list_action) { foreach my $s (@cudf_solvers) { print "cudf: $s\n"; } foreach my $s (@edsp_solvers) { print "edsp: $s\n"; } } elsif ($remove_action) { remove_all(\@cudf_solvers, \@edsp_solvers); } else { install_new(\@cudf_solvers, \@edsp_solvers); remove_old(\@cudf_solvers, \@edsp_solvers); } exit 0; } main(); __END__ =head1 NAME update-cudf-solvers - register available CUDF solvers as APT external solvers =head1 SYNOPSIS =over =item B [I