From 85a8f173a8694f7bc40a4658b3bdce87eb54234a Mon Sep 17 00:00:00 2001 From: "Alejandro R. Mosteo" Date: Sun, 11 Feb 2018 04:31:44 +0100 Subject: [PATCH] apt repos --- deps/semver | 2 +- deps/simple_logging | 2 +- src/alire-index.adb | 2 +- src/alire-repositories-apt.adb | 15 +++++++++++++++ src/alire-repositories-apt.ads | 19 +++++++++++++++++++ 5 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 src/alire-repositories-apt.adb create mode 100644 src/alire-repositories-apt.ads diff --git a/deps/semver b/deps/semver index 95d9d6c9..92af9d62 160000 --- a/deps/semver +++ b/deps/semver @@ -1 +1 @@ -Subproject commit 95d9d6c99cac5897c5ea4a4b4fdeb62b80cefcbb +Subproject commit 92af9d62a20124ef57b7f46b7ee5dd8738ad0482 diff --git a/deps/simple_logging b/deps/simple_logging index 1ec5e696..81a00b83 160000 --- a/deps/simple_logging +++ b/deps/simple_logging @@ -1 +1 @@ -Subproject commit 1ec5e69603083b492cefbe5770ce8793af8d3c56 +Subproject commit 81a00b835cc84a74e7008015623bce018b2fa72a diff --git a/src/alire-index.adb b/src/alire-index.adb index b22b8a7f..55a0dbd6 100644 --- a/src/alire-index.adb +++ b/src/alire-index.adb @@ -19,7 +19,7 @@ package body Alire.Index is Depends_On) do if Releases.Contains (Rel) then - Log ("Attempt to register duplicate versions: " & Rel.Milestone_Image); + Log ("Attempt to register duplicate versions: " & Rel.Milestone_Image, Warning); else Releases.Insert (Rel); end if; diff --git a/src/alire-repositories-apt.adb b/src/alire-repositories-apt.adb new file mode 100644 index 00000000..cbac96bc --- /dev/null +++ b/src/alire-repositories-apt.adb @@ -0,0 +1,15 @@ +with Alire.OS_Lib; + +package body Alire.Repositories.Apt is + + -------------- + -- Checkout -- + -------------- + + overriding procedure Checkout (R : Repository; Id : Release_Id; Folder : String) is + pragma Unreferenced (R, Folder); + begin + OS_Lib.Spawn ("sudo", "apt install " & Id); + end Checkout; + +end Alire.Repositories.Apt; diff --git a/src/alire-repositories-apt.ads b/src/alire-repositories-apt.ads new file mode 100644 index 00000000..e231898d --- /dev/null +++ b/src/alire-repositories-apt.ads @@ -0,0 +1,19 @@ +package Alire.Repositories.Apt is + + type Repository (<>) is new Repositories.Repository with private; + + Repo : constant Repository; + + overriding function Image (Repo : Repository) return String; + + overriding procedure Checkout (R : Repository; Id : Release_Id; Folder : String); + +private + + type Repository is new Repositories.Repository with null record; + + Repo : constant Repository := (Repositories.Repository with null record); + + function Image (Repo : Repository) return String is ("aptlocal"); + +end Alire.Repositories.Apt;