diff -Nru asis-2019/debian/asis-programs.install asis-2019/debian/asis-programs.install --- asis-2019/debian/asis-programs.install 1970-01-01 00:00:00.000000000 +0000 +++ asis-2019/debian/asis-programs.install 2020-05-23 12:48:26.000000000 +0000 @@ -0,0 +1,8 @@ +tools/asistant/asistant usr/bin +tools/gnat2xml/gnat2xml usr/bin +tools/gnatcheck/gnatcheck usr/bin +tools/gnatelim/gnatelim usr/bin +tools/gnatmetric/gnatmetric usr/bin +tools/gnatpp/gnatpp usr/bin +tools/gnatstub/gnatstub usr/bin +tools/gnattest/gnattest usr/bin diff -Nru asis-2019/debian/asis-programs.manpages asis-2019/debian/asis-programs.manpages --- asis-2019/debian/asis-programs.manpages 1970-01-01 00:00:00.000000000 +0000 +++ asis-2019/debian/asis-programs.manpages 2020-05-23 12:48:26.000000000 +0000 @@ -0,0 +1 @@ +debian/man/* diff -Nru asis-2019/debian/changelog asis-2019/debian/changelog --- asis-2019/debian/changelog 2020-02-25 16:55:12.000000000 +0000 +++ asis-2019/debian/changelog 2020-12-13 15:17:53.000000000 +0000 @@ -1,3 +1,30 @@ +asis (2019-5) unstable; urgency=medium + + * Reupload to unstable for gnat-10 transition. + * Standards-Version: 4.5.1. + + -- Nicolas Boulenguez Sun, 13 Dec 2020 16:17:53 +0100 + +asis (2019-4) experimental; urgency=medium + + * Restrict versions of build dependencies, fixing the build of indirect + reverse dependencies in experimental where ALI versions do not change. + + -- Nicolas Boulenguez Mon, 16 Nov 2020 15:28:26 +0000 + +asis (2019-3) experimental; urgency=medium + + * Rebuild with gnat10. Rename lib and -dev accordingly. + * Maintain 3 tool lists instead of generating code. + * Debhelper 13. + * Pass build flags via the environment + * Move dh-ada-library to Build-Depends-Arch. + * Deduplicate examples. + * Tighten dependencies of autopkgtests. + * Drop obsolete Pre-Depends. + + -- Nicolas Boulenguez Sat, 23 May 2020 08:43:50 +0000 + asis (2019-2) unstable; urgency=medium * Reupload to unstable for gnat-9 transition. diff -Nru asis-2019/debian/control asis-2019/debian/control --- asis-2019/debian/control 2020-02-02 12:30:20.000000000 +0000 +++ asis-2019/debian/control 2020-12-13 15:17:52.000000000 +0000 @@ -4,25 +4,27 @@ Nicolas Boulenguez Section: libdevel Priority: optional -Standards-Version: 4.5.0 +Standards-Version: 4.5.1 Build-Depends: - debhelper-compat (= 12), - dh-sequence-ada-library, - gnat, gnat-9, + debhelper-compat (= 13), + gnat, gnat-10, # This line is parsed by debian/rules. - gprbuild (>= 2017), - libgnatcoll18-dev, - libgnatvsn9-dev, - libxmlada-input9-dev, - libxmlada-sax9-dev, - libxmlada-dom9-dev, - libxmlezout7-dev, + gprbuild (>= 2021.0.0.0778b109-2), + libgnat-util10-dev, + libgnatcoll19-dev (>= 21.0.0-2), + libxmlada-dom10-dev (>= 21.0.0), + libxmlada-input10-dev (>= 21.0.0), + libxmlada-sax10-dev (>= 21.0.0), + libxmlezout8-dev, +Build-Depends-Arch: + dh-ada-library (>= 7.2), + dh-sequence-ada-library, Rules-Requires-Root: no Vcs-Browser: https://salsa.debian.org/debian/asis Vcs-Git: https://salsa.debian.org/debian/asis.git Homepage: https://www.adacore.com/community -Package: libasis2019-dev +Package: libasis2019.1-dev # This line is parsed by debian/rules. Architecture: any Depends: ${ada:Depends}, ${misc:Depends} @@ -37,8 +39,8 @@ Package: asis-programs Architecture: any Section: devel -Depends: gnat, gnat-9, ${shlibs:Depends}, ${misc:Depends} -Recommends: libaunit19-dev +Depends: gnat, gnat-10, ${shlibs:Depends}, ${misc:Depends} +Recommends: libaunit20-dev Description: Ada Semantic Interface Specification (ASIS) example programs ASIS (Ada Semantic Interface Specification) lets you develop applications to walk through the sources of your Ada programs and examine the semantic @@ -55,12 +57,11 @@ * gnattest creates AUnit test skeletons and harness for a project (gnattest requires the libaunit development package to be installed) -Package: libasis2019 +Package: libasis2019.1 Architecture: any Section: libs Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Depends: gnat, gnat-9, ${shlibs:Depends}, ${misc:Depends} +Depends: gnat, gnat-10, ${shlibs:Depends}, ${misc:Depends} Description: Ada Semantic Interface Specification (ASIS) runtime library ASIS (Ada Semantic Interface Specification) lets you develop applications to walk through the sources of your Ada programs and examine the semantic diff -Nru asis-2019/debian/copyright asis-2019/debian/copyright --- asis-2019/debian/copyright 2019-10-29 13:34:50.000000000 +0000 +++ asis-2019/debian/copyright 2020-11-16 15:28:02.000000000 +0000 @@ -68,7 +68,7 @@ Files: debian/* Copyright: 2000-2014 Ludovic Brenta - 2013-2019 Nicolas Boulenguez + 2013-2020 Nicolas Boulenguez License: GPL-3+ License: GPL-3+ diff -Nru asis-2019/debian/patches/gnatprj_instead_of_gnat_sources.diff asis-2019/debian/patches/gnatprj_instead_of_gnat_sources.diff --- asis-2019/debian/patches/gnatprj_instead_of_gnat_sources.diff 2019-11-16 18:22:18.000000000 +0000 +++ asis-2019/debian/patches/gnatprj_instead_of_gnat_sources.diff 2020-05-23 12:48:26.000000000 +0000 @@ -1,4 +1,4 @@ -Description: Use packaged libgnatvsn instead of source copies. +Description: Use packaged libgnat_util instead of source copies. The name of this patch mentions gnatprj for historical reasons. Author: Nicolas Boulenguez Forwarded: not-needed @@ -9,7 +9,7 @@ -- -- ------------------------------------------------------------------------------ -+with "gnatvsn"; ++with "gnat_util"; with "common"; project Asis is diff -Nru asis-2019/debian/patches/link_tools_with_shared_asis.diff asis-2019/debian/patches/link_tools_with_shared_asis.diff --- asis-2019/debian/patches/link_tools_with_shared_asis.diff 2019-10-26 11:58:45.000000000 +0000 +++ asis-2019/debian/patches/link_tools_with_shared_asis.diff 2020-05-23 13:25:24.000000000 +0000 @@ -1,5 +1,5 @@ Description: link tools with ASIS shared library - Passing -XLIBRARY_KIND=dynamic lets the project build ASIS as a + Passing -Xsoversion= lets the project build ASIS as a shared library and link the tools with it. . The resulting project is not very readable because I attempt to avoid diff -Nru asis-2019/debian/patches/weak_version_check.diff asis-2019/debian/patches/weak_version_check.diff --- asis-2019/debian/patches/weak_version_check.diff 2019-10-26 11:58:45.000000000 +0000 +++ asis-2019/debian/patches/weak_version_check.diff 2020-05-23 12:48:26.000000000 +0000 @@ -1,7 +1,7 @@ Description: Check tree version, not compiler version. Do not check the version string of the compiler embedded in the tree files against Gnatvsn.Gnat_Version_String. Checking only the tree version number - (Tree_IO.ASIS_Version_Number, in libgnatvsn) is sufficient. + (Tree_IO.ASIS_Version_Number, in libgnat_util) is sufficient. Author: Ludovic Brenta Forwarded: no diff -Nru asis-2019/debian/README.source asis-2019/debian/README.source --- asis-2019/debian/README.source 2019-10-29 13:19:44.000000000 +0000 +++ asis-2019/debian/README.source 2020-11-16 15:34:02.000000000 +0000 @@ -1,35 +1,9 @@ -This documentation is shared by most Adacore packages. -Please replace PKG with asis. +AdaCore does not seem to update ASIS for GNAT anymore. -Upstream use three versioning schemes. -* Commercial releases are numbered YY.MINOR, - where YY contains the two last digits of the year (since 2017). -* Builds between 17.2 and 12.3 are numbered 12.3w (as wavefront). -* Every year, a GPL release without the GCC Runtime Library Exception - is numbered as gpl-20YY. -There is no ordering implied between gpl-20YY and any YY.MINOR. -Upstream history is visible at https://github.com/AdaCore/PKG/network. -The version number is always visible in first line of ./configure.in. +This package is based on the last version available at +https://www.adacore.com/community. -Debian packages are based on GPL releases. -The (upstream part of) the source version is 20YY (for historical reasons). -ALI and SO binary package versions as described in the Debian Ada -policy are consecutive integers (since 2018). -They are almost unrelated with upstream releases. +It has been repackaged with: +# mk-origtargz --repack --compression=xz --version=2019 ../asis-gpl-2019-src.tar.gz -When packaging a new version for Debian: - -Download GPL release pristine archive from the Homepage URL field in -the control file. Tracking upstream releases automatically is of -little interest, and quite hard as the website is modified each year. - -Repackage it without generated files. -# mk-origtargz --repack --compression=xz --version=YY ../PKG-gpl-YYYY-src.tar.gz - -The monotone repository at www.ada-france.org once used to track GPL -versions from the public part of the upstream CVS repository in a -branch named com.adacore.PKG, and the repackaged sources in a -branch named com.adacore.PKG.debian, but this seems redundant with -the public git repository now. - - -- Nicolas Boulenguez , Sat, 7 Sep 2019 08:03:04 +0200 + -- Nicolas Boulenguez , Mon, 16 Nov 2020 16:34:02 +0100 diff -Nru asis-2019/debian/rules asis-2019/debian/rules --- asis-2019/debian/rules 2019-12-17 11:37:56.000000000 +0000 +++ asis-2019/debian/rules 2020-11-16 15:26:50.000000000 +0000 @@ -1,7 +1,7 @@ #! /usr/bin/make -rf # Debian build script for asis # Copyright (c) 2003-2014 Ludovic Brenta -# Copyright (c) 2013-2019 Nicolas Boulenguez +# Copyright (c) 2013-2020 Nicolas Boulenguez # This build script is free software; you can redistribute it and/or # modify it under terms of the GNU General Public License as published @@ -23,6 +23,7 @@ /p;\ ' debian/control),$(eval $(line))) +DPKG_EXPORT_BUILDFLAGS := 1 DEB_BUILD_MAINT_OPTIONS := hardening=+all DEB_ADAFLAGS_MAINT_APPEND := -gnatfno -gnatwa -gnatVa DEB_LDFLAGS_MAINT_APPEND := -Wl,--no-undefined \ @@ -40,27 +41,17 @@ .PHONY: $(addprefix override_dh_auto_,configure build-arch build-indep test install clean) ###################################################################### -# Build dynamic and static versions of the library. -# Import the dynamic version of the library and build each tool. +# Build the dynamic library and tools. # Upstream Makefile does not allow to select tool, skip a static assistant, # or select gnat2xml mains. -ALL_TOOLS := \ - asistant gnat2xml gnatcheck gnatelim gnatmetric gnatpp gnatstub gnattest -# Only this selection will be built and installed. -TOOLS := $(ALL_TOOLS) - -# Building a tool will force the build of the shared libasis. -# build-factory will force the build of the static libasis. # The aggregate project increases performance, as gprbuild only parses # all projects once. -override_dh_auto_build-arch: dynamic_aggregate.gpr build-factory - gprbuild $< -p $(BUILDER_OPTIONS) \ - $(foreach v,ADAFLAGS LDFLAGS soversion,"-X$(v)=$($(v))") -override_dh_auto_clean:: dynamic_aggregate.gpr - gprclean $< -Xsoversion=$(soversion) - rm -f $< -dynamic_aggregate.gpr: - echo 'aggregate project dynamic_aggregate is for project_files use ($(foreach t,$(TOOLS),"tools/$(t)/$(t).gpr",) "asis.gpr");end dynamic_aggregate;' > $@ +tools_gpr := debian/tools.gpr + +override_dh_auto_build-arch: + gprbuild $(tools_gpr) -p $(BUILDER_OPTIONS) -Xsoversion=$(soversion) +override_dh_auto_clean:: + gprclean $(tools_gpr) -Xsoversion=$(soversion) ###################################################################### # The factory generated sources are required for both -arch (for @@ -71,10 +62,8 @@ factory_exe := $(factory_dir)/ada_trees-generate_factory factory_out := ada_trees-factory -.PHONY: build-factory -build-factory: - gprbuild $(factory_gpr) -p $(BUILDER_OPTIONS) \ - $(foreach v,ADAFLAGS LDFLAGS,"-X$(v)=$($(v))") +override_dh_auto_configure: + gprbuild $(factory_gpr) -p $(BUILDER_OPTIONS) $(factory_exe) mv -f $(factory_out).nb $(factory_dir)/$(factory_out).adb mv -f $(factory_out).ns $(factory_dir)/$(factory_out).ads @@ -90,9 +79,8 @@ xsd_exe := LD_LIBRARY_PATH=lib-dynamic $(xsd_dir)/gnat2xsd ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS))) -override_dh_auto_build-indep: build-factory - gprbuild $(xsd_gpr) $(xsd_main) -p $(BUILDER_OPTIONS) \ - $(foreach v,ADAFLAGS LDFLAGS,"-X$(v)=$($(v))") +override_dh_auto_build-indep: + gprbuild $(xsd_gpr) $(xsd_main) -p $(BUILDER_OPTIONS) $(xsd_exe) > $(xsd_dir)/ada-schema.xsd $(xsd_exe) --compact > $(xsd_dir)/ada-schema.compact.xsd endif @@ -101,18 +89,19 @@ rm -f $(xsd_dir)/ada-schema.xsd $(xsd_dir)/ada-schema.compact.xsd ###################################################################### -.PHONY: override_dh_install -override_dh_install: - dh_install --package=asis-programs $(foreach t,$(TOOLS),tools/$(t)/$(t)) usr/bin - dh_install --remaining-packages - -.PHONY: override_dh_installman -override_dh_installman: - dh_installman --package=asis-programs $(foreach t,$(TOOLS),debian/man/$(t).1) - dh_installman --remaining-packages +examples := debian/asis-doc/usr/share/doc/asis-doc/examples -###################################################################### -.PHONY: override_dh_installexamples override_dh_installdocs -override_dh_installexamples override_dh_installdocs: override_%: - $* --package=asis-doc --doc-main-package=asis-programs - $* --remaining-packages +.PHONY: override_dh_installexamples +override_dh_installexamples: + dh_installexamples --package=asis-doc --doc-main-package=asis-programs + # Replace duplicate files with relative symlinks, except during -arch builds. + if test -d $(examples); then \ + rdfind -makeresultsfile false -makesymlinks true $(examples) && \ + symlinks -r -s -c $(examples); \ + fi + dh_installexamples --remaining-packages + +.PHONY: override_dh_installdocs +override_dh_installdocs: + dh_installdocs --package=asis-doc --doc-main-package=asis-programs + dh_installdocs --remaining-packages diff -Nru asis-2019/debian/tests/control asis-2019/debian/tests/control --- asis-2019/debian/tests/control 2019-10-26 11:58:45.000000000 +0000 +++ asis-2019/debian/tests/control 2020-05-23 12:48:26.000000000 +0000 @@ -1,2 +1,4 @@ -Tests: link-with-shared parse-source +Tests: parse-source + +Tests: link-with-shared Depends: @, gprbuild diff -Nru asis-2019/debian/tools.gpr asis-2019/debian/tools.gpr --- asis-2019/debian/tools.gpr 1970-01-01 00:00:00.000000000 +0000 +++ asis-2019/debian/tools.gpr 2020-05-23 12:48:26.000000000 +0000 @@ -0,0 +1,12 @@ +aggregate project Tools is + for project_files use + ("../asis.gpr", + "../tools/asistant/asistant.gpr", + "../tools/gnat2xml/gnat2xml.gpr", + "../tools/gnatcheck/gnatcheck.gpr", + "../tools/gnatelim/gnatelim.gpr", + "../tools/gnatmetric/gnatmetric.gpr", + "../tools/gnatpp/gnatpp.gpr", + "../tools/gnatstub/gnatstub.gpr", + "../tools/gnattest/gnattest.gpr"); +end Tools;